TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8168 NANDFLASH启动的问题

我们在合众达(Seed)的DVS8168开发板(与TI的evm816x很相似)基础上裁剪了一块8168板子,板子情况如下:
去掉了SATA接口、SERDES CLOSCKS、PCIe接口,
CPU采用的是TMS320DM8168CCYG,
DDR由8片K4B2G0846D(共2GB)换成了4片MT41K128M16JT(共1GB),DDR已用DM816x_C6A816x_AM389x_EMIF4_Register_Settings重新设置了寄存器参数,并且在u-

boot中也做了相应修改。
硬件部分在CCS下用evm816x_BSL做了测试,都能通过。
我们采用了NANDFLASH启动方式,用的是Seed提供的SDK包(DVRRDK_02.00.00.23)中的u-boot和内核程序,这部分程序是在TI的linux-psp-dvr-04.00.01.13上做了一些修改。
现在的问题是u-boot能正常启动,但加载Linux内核时就卡在Starting kernel …动不了了。以下是u-boot的启动信息和加载内核时的参数设置。应该是用的UART0

,波特率也是对的。

我们刚开始接触Linux内核,请问这个问题可能是由什么造成的?应该如何入手调试解决?会不会是由于DDR由2GB换成了1GB引起的?u-boot下为什么显示DRAM:  2
GiB?我们应该修改哪部分的代码?

U-Boot 2010.06 (Jul 25 2016 – 01:00:13)                                         
                                                                                
TI8168-GP rev 2.1                                                               
                                                                                
ARM clk: 930MHz                                                                 
DDR clk: 796MHz                                                                 
HDVICP clk: 504MHz                                                              
L3 Fast clk: 465MHz                                                             
HDVPSS clk: 232MHz                                                              
Ducati M3 clk: 232MHz                                                           
                                                                                
I2C:   ready                                                                    
DRAM:  2 GiB                                                                    
NAND:  HW ECC Hamming Code selected                                             
256 MiB                                                                         
:,;;:;:;;;;;;;;r;;:,;;:;:;;;;;;;;:,;;:;:;;;;;;;;:,;;:;:;;;;;;;;:;;;;;;;;:,;;:;:;,;:::;;;;r;;;rssiSiS552X5252525259GX2X9hX9X9XX2325S55252i5:,;;:;:;;;;;;;;:,;;:;:;;;;;;;rrssSsS52S22h52299GGAAMHMM#BBH#B#HMM#HMBA&&XX2255S2S5Si:,;;:;:;;;;;;;;;:;;r;;rsrrriiXS5S329&A&MH#BMB#A&9XXA252GXiSXX39AAMMMBB&G22S5i2SSiiiisi:,;;:;:;;;;;;r;rr2iisiih393HB#B#AA99i22irrrX3X52AGsisss2Xii2299HBMA&X2S5S5iSiisSsi:,;;:r:r;rrsrsihXSi2&##MHB&Ahh3AGHGA9G9h&#H##@@@##MAMMXXX9SSS29&&HGGX2i5iisiiisisi:,;;rrrrsSiiiA&ABH&A9GAGhAhBAMHA9HM@@@@@@@@@@@@@@@@@@@HHhAh2S2SX9&Gh22SSiisiiisiir:rrssisiS2XM##&h3AGAX&3GG3Ssr5H@M#HM2; ;2X&&&MHMB###GBB#B&XXSSs529XX55iSsisisir;rsrisSi2XHAhX99A3XXG&&XS;:,rH#HGhAS   @@@@3rs2XBM@@A552&&AHA2XiisSS252SSsisSsr;issi5S22&&3iSSX292&hXsr;;:;h@&G339&S9@@@@2@MA&9&HB##Xris29ABMAAX2ir;rsSi5iss5rrsSi2XhG&9GXh399&X99i;;;;;;r#H&293H9X#@@@@@@@B&9GhAH@XrrsrsiXABHB&HG2rr;rrSiSi;:rsisS599&AA9XG&3A35r;:::;,;BMh&&2iX5A@@@@@@@&392X5GB2;;;r;iSX393A##A&Xi:::rsi;:rss552222X553&XHMhir;;::,:,h#HhGSXhG3#@@@@#AXXS2XAHA;::;;;;ss55XShBA3239r:,;;r;ii2S5SSi2i53hirsh2srr::,,,,;MMXX359&Ah3h&Si59SX99A#i:,::::;;sri2,.2r;:SGAr;,:;:;rrrrssiriXGSi::shs;;;,,,:,,rBBA9h5s5h5iS5isi2SAHB5:,,,:::;rrs5&SrisSX5Srrr:,;,r;;;;rsriSSrrrr;;5Xrr;;,:,,.,;9AA2SsisS5323XXXG9&i:.,,::;;r;;;srrrrrr;;:;:::::,;r;r;rrissrrr;:;::;s;;;;,:,,..,r293h222hXXAAGGGX;:,,,:,:,::;:;::,:,,,,…,,,,;,;;;;rrrrrrrrirr;,.,,:::::::,,,,.,;SX&ABAB2hhXir:,,.,,.,,:,,,,..,,,..,..,,,..::.:;:;;;:;;;;r;rrs;:.. ,,:::::,:,:,,.::rrsrr;;,,…….,..,….,,,,,,,…,.,,:,:.:::,::::::;;r;rrr;:…….,.,.,,:::,,……………,,::.,,,,:,::,,:,:,,,:,;:,.::,:,,,,,;;;;;;;;r;;::,…………………………;;;:;::::,:::::::,:,:,,,: ,,:,,,,,,,,,,,,,:;rrr;;:;,,,,,,,::,.,.:.,.,;s,:;;;;:;:;;;;;::::,:::,:::,:,:,:,.,,,,,,,…,,.,,………………………………:,…………:,,,:,:,,,,,                                                                                
MMC:   OMAP SD/MMC: 0                                                           
Net:   Detected MACID:88:c2:55:8a:d1:8e                                         
Ethernet PHY: GENERIC @ 0x01                                                    
DaVinci EMAC                                                                    
Hit any key to stop autoboot:  0                                                
                                                                                
NAND read: device 0 offset 0x580000, size 0x260000                              
 2490368 bytes read: OK                                                         
## Booting kernel from Legacy Image at 81000000 …                             
   Image Name:   Linux-2.6.37                                                   
   Image Type:   ARM Linux Kernel Image (uncompressed)                          
   Data Size:    2435192 Bytes = 2.3 MiB                                        
   Load Address: 80008000                                                       
   Entry Point:  80008000                                                       
   Verifying Checksum … OK                                                    
   Loading Kernel Image … OK                                                  
OK                                                                              
                                                                                
Starting kernel …                                                             

SEED-DVS8168_v1.0#print                                                         
baudrate=115200                                                                 
autoload=no                                                                     
verify=yes                                                                      
bootfile=uImage                                                                 
ramdisk_file=ramdisk.gz                                                         
loadaddr=0x81000000                                                             
script_addr=0x80900000                                                          
loadbootscript=fatload mmc 0 ${script_addr} boot.scr                            
bootscript= echo Running bootscript from MMC/SD to set the ENV…; source ${scr}
ethaddr=88:c2:55:8a:d1:8e                                                       
ethact=DaVinci EMAC                                                             
bootdelay=10                                                                    
filesize=2528B8                                                                 
fileaddr=81000000                                                               
gatewayip=192.168.0.1                                                           
netmask=255.255.255.0                                                           
ipaddr=192.168.0.180                                                            
serverip=192.168.0.113                                                          
bootcmd=nand read 0x81000000 0x00580000 0x260000;bootm 0x81000000               
bootargs=mem=116M console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.0.113:/o0
stdin=serial                                                                    
stdout=serial                                                                   
stderr=serial                                                                   
ver=U-Boot 2010.06 (Jul 25 2016 – 01:00:13)                                     
                                                                                
Environment size: 814/8188 bytes                                                

Chris Meng:

Michael,

请问uboot里面的LISA相关配置是否有修改?

下面的论坛讨论可以参考一下:

https://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/717/t/392710

Chris Meng:

回复 Chris Meng:

Michael,

关于uboot里面显示的DDR的大小,请尝试修改\u-boot-dvr-rdk\include\configs\里面类似ti8168_evm.h的头文件的下面的信息:

/** * Physical Memory Map */#define CONFIG_NR_DRAM_BANKS        2        /* we have 2 banks of DRAM */#define PHYS_DRAM_1            0x80000000    /* DRAM Bank #1 */#define PHYS_DRAM_1_SIZE        0x20000000    /* 512 MB */#define PHYS_DRAM_2            0xC0000000    /* DRAM Bank #2 */#define PHYS_DRAM_2_SIZE        0x20000000    /* 512 MB */

Michael Xu3:

回复 Chris Meng:

Chris,谢谢你的回复。

我们的确没有修改LISA配置,昨天将u-boot的ti8168_evm.h修改为

#define CONFIG_NR_DRAM_BANKS  2  /* we have 2 banks of DRAM */#define PHYS_DRAM_1   0x80000000 /* DRAM Bank #1 */#define PHYS_DRAM_1_SIZE  0x20000000 /* 512 MB */#define PHYS_DRAM_2   0xA0000000 /* DRAM Bank #2 */#define PHYS_DRAM_2_SIZE  0x20000000 /* 512 MB */

将evm.h中的LISA配置修改为2个Section,每个Section 512MB,128B交织模式:

 __raw_writel(0x0, DMM_LISA_MAP__0); __raw_writel(0x0, DMM_LISA_MAP__1); __raw_writel(0x80540300, DMM_LISA_MAP__2); __raw_writel(0xA0540310, DMM_LISA_MAP__3);

不知道参数设置是否正确,现在的现象跟原来还是一样,卡在Starting kernel … 不动。

内核启动参数,我们设的是:

setenv bootargs 'mem=116M console=ttyO0,115200n8 root=/dev/nfs nfsroot=192.168.0.113:/opt/DVRRDK_02.00.00.23/target/rfs ip=192.168.0.180:192.168.0.113:192.168.0.1:255.255.255.0::eth0:off vram=20M notifyk.vpssm3_sva=0xbfd00000'

不知道哪里有问题?

Chris Meng:

回复 Michael Xu3:

Michael,

请问在rules.make里面你是否配置的是DDR_MEM := DDR_MEM_1024M?

Michael Xu3:

回复 Chris Meng:

我查了一下,rules.make在DVRRDK_02.00.00.23/dvr_rdk目录下,我们没有修改过dvr_rdk目录里的任何东西,感觉跟linux内核没有关系,rules.make里面原来就是配置的是DDR_MEM_1024M

Michael Xu3:

还有一个奇怪的问题:我们总共做了两块板,另一块板,每次用nand-flash-writer.out重新烧写u-boot到nand flash后,u-boot可以正常启动,而且今天调试后可以加载linux内核了,但到USB HID core driver时就挂了,附件是加载信息。但这块板子有个奇怪的问题,烧写flash后,只要闲置几分钟,u-boot就启动不起来,只能显示很少的字符,比如

U-Boot 2010.06 (Aug 17 2016 – 21:39:24)                                         TI8168-GP rev 2.1                                                               ARM clk: 930MH?                                                                 

这是不是flash有问题?

Chris Meng:

回复 Michael Xu3:

Michael,

如你使用串口下载uboot,是否有类似的问题?如果也有,就可以排除flash的问题,而考虑DDR的稳定性。

你是否有尝试降低DDR频率测试过?

Michael Xu3:

回复 Chris Meng:

Chris,如何用串口下载uboot?Ti有没有提供针对8168的串口烧写工具啊?能不能给个链接,谢谢!

Chris Meng:

回复 Michael Xu3:

Michael,

PG2.x的芯片才能使用串口下载uboot,请参考uboot guide:

http://processors.wiki.ti.com/index.php/TI81XX_PSP_UBOOT_User_Guide#U-Boot_UART_support

Michael Xu3:

回复 Chris Meng:

Chris,

今天对上次能加载内核的那块板改变DDR频率进行测试,频率降为400MHz和531MHz,u-boot启动不起来, 频率降为675MHz,现象跟796MHz一样,刚用CCS下载完u-boot,可以正常启动并加载内核,断电几分钟后,启动不了,然后再反复上电多次, 又可以慢慢启动起来,现在我怀疑DDR的稳定性有问题。

我们只是用DM816x_C6A816x_AM389x_EMIF4_Register_Settings 重新设置了寄存器参数,由于在CCS下,用DDR_test程序在400、531、675、796几个频率下都能够测试通过,想着DDR应该没有问题,所 以没有做SW_LEVELING,现在看来是不是还是要做SW_LEVELING啊?

赞(0)
未经允许不得转载:TI中文支持网 » DM8168 NANDFLASH启动的问题
分享到: 更多 (0)