各位专家,如果6678仅仅通过spi连接了nor flash,请问通过spi boot 6678需要下载boot parameter table到flash吗?如果需要,请问boot parameter table在哪里创建,并以何种方式下载到6678上?对此有些困惑,希望专家解释一下,谢谢!
boot parameter talbe在你需要初始化PLL等的时候需要配置,而且boot paremeter table之后要接boot table。
boot paremeter table是用户自己定义的,需要参照bootloader user guide里面的结构体,创建完成后写到flash里面,spi会自动读取flash。
上述内容如果回答了您的问题,请点击标签栏“是”按钮。您的轻轻一点,会帮助我们更好的管理论坛内容,谢谢!
回复 King Wang1:
请问
ddr boot parameter talbe的参数定义有没有具体文档说明,该怎么根据自己板子的硬件情况来配置ddr boot parameter talbe,我觉得这个是很多8核不能启动加载固话程序的关键,我对比了ddr boot parameter talbe核ddr3 的配置寄存器,发现有些寄存器并不一致,在其他文档里面也没有找到不一致的寄存器的详细说明,仅仅在6678的数据手册里面给出了1个表格,但是表格里面对各参数的说明很肤浅,例如pllPostDiv PLL post divider value (Should be the exact value not value -1) 寄存器具体指什么,该怎么配置?因为硬件参考时钟、ddr3颗粒芯片不同,这些参数肯定是不同的,需要改变,不能完全套用!还有得出这个表怎样生成*.exe文件呢?有没有详细的生成步骤?
回复 jiang ye:
你好,boot parameter table 有几个地方不太懂,烦请您指导一下。
0x 0050 0000 //length:?&checksum
0x 0032 0000 //SPI bootmode:50&portnum:0
0x 4013 0002 //swPllCfg_msw&/swPllCfg_lsw,see PLL Configuration table,cpu :100*19/2=950, 查手册100M输入,1000M输出PLLD应该是0,PLLM应该是19,如何解释?
0x 0001 0018 //options:1&addrWidth:24
0x 0004 0000 //npin:4&chipsel:0
0x 0001 0000 //mode:1&c2Delay
0x 03e8 0000 //cupFreqMhz:1000MHZ&busFreqMhz:0
0x 01f4 0000 //bhsFreqKhz:500K bus rate&readaddrMsw:0
0x 0400 0000 //read address is 0x00000400,即1Kbytes地方&next_csel
0x 0000 0000 //next_Read _addr_msw&next_Read _addr_lsw
TI engineer:
您好!
6678EVM spi boot 使用官方的例程已经成功,在参照提供的参数总结相关参数配置依据的时候遇到几个问题不能解释通,已经红色标注,烦请您解答。
目的是想把参数配置弄清楚,方便以后使用6678自己制作办卡时快速配置加载启动参数。
1、Boot Parameter参数文件位于i2crom.ccs中,相关参数如下:
0x 0050 0000 //length:长度80个字节的依据是什么?&checksum:0
2、DDR configuration parameter位于AddDDrTable,相关参数如下:
0x 00 00 00 70 //每个参数4个字节,28个参数,112个字节,这样解释是否正确
0x 00 87 35 00 // DDR table 起始地址
0x 02 42 80 F5 //config select:没找到参数的依据
0x 00 00 00 00 //pll Prediv:0 prediv 0是disable the pll,以后的板子都可以配为0 吗?
0x 00 00 00 1C //pll Mul:28
0x 00 00 00 02 //pll post div:2 DDR输入的时钟是66.7MHz,66.7*28/2=933.8,而DDR的时钟是1333,不太对
0x 63 06 2A 32 //sdram config
0x 00 00 00 00 //sdram config2都是配置为0 吗?
0x 00 00 14 50 //sdram fresh cntrl,DDR register calc中提供的是0x 00 00 14 58
0x 11 13 78 3C //sdram timing1
0x 30 71 7F E3 //sdram timing2
0x 55 9F 86 AF //sdram timing3
0x 00 00 00 00 //lpDdrNvmTiming
0x 00 00 00 00 // powerManageCtl
0x 00 00 00 00 //iODFTTestLogic
0x 00 01 00 00 //perform count config,找不到参数依据
0x 00 00 00 00 //performCountMstRegSel
0x 00 00 00 00 //readIdleCtl
0x 00 00 00 00 //sysVbusmIntEnSet
0x 70 07 32 14 //sdRamOutImpdedCalCfg,找不到参数依据
0x 00 00 00 00 //tempAlterCfg
0x 00 10 01 0F // ddrPhyCtl1,找不到参数依据
0x 00 00 00 00 //ddrPhyCtl2;都是配位0 吗?
0x 00 00 00 00 //priClassSvceMap;
0x 00 00 00 00 //mstId2ClsSvce1Map;
0x 00 00 00 00 //mstId2ClsSvce2Map;
0x 10 00 00 00 //eccCtl,,找不到参数依据
0x 00 00 00 00 //eccRange1;
0x 00 00 00 00 //eccRange2;
0x 00 00 03 05 //rdWrtExcThresh,找不到参数依据
3、有工程师提到“ROM bootloader不支持DDR level,如果加载失败,可以先降低DDR clock,等代码加载完后在代码里再改DDR clock。”是否以后不同的DDR都不配DDR level?
您好!我最近也在调spi flash启动初始化DDR,请问你这些问题是怎么解决的,有参考文档吗?
回复 user5329195:
回复 Ryan BL:
感谢你的回答,这个问题已经解决了。
请问您现在是待业中吗?我们这边有DSP的庙,欢迎您来念经,如果你方便的话,随时给我来电话吧,15008414489。谢谢