This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

C6678 PG2.0 emif nand\ nor flash boot 问题

您好,

最近调试C6678 的EMIF NAND BOOT、NOR BOOT时遇到了一些问题,用的是自己开发的板子,芯片C6678是PG2.0的,

1. EEPROM引导的emif nand flash:

使用c6678 PG1.0 做I2C EEPROM引导的emif nand flash 做boot可以成功启动板卡,而同样情况用我的板卡6678的2.0芯片不能boot成功,是否可以说明2.0是不能支持EEPROM引导启动,errate上说明2.0 BOOT 不需要PLL fix,完全是按照手册做的,请问具体问题在哪里?

2. EMIF NOR FLASH方式:

编写待烧写程序,程序中专门写了一段.bootload段,分配在L2的起始地址0x1080 0000,此段代码的作用就是将Nor Flash(N25Q128A11)中烧写的应用代码按段读到L2中,最后再跳转到入口地址处.

将程序烧写到Nor Flash中后,BOOTMODE[12:0]=0b 00 0000 0100 000.

用emif nor flash 做直接启动,烧写程序到nor flash,程序0x0开始1k boot.asm引导程序,程序已经在6678 1.0上boot成功,但是在我的板卡上仍不能boot,上电后,查看PC指针,程序始终停留在BOOT ROM 里0x20B0 1146位置,并没有实现引导程序到L2的搬移,说明bootrom没有正常运行,为什么boot rom的运行会停止?是需要配置参数吗?

3. 我看到有的说boot需要对bootrom配置boot parameter table,在程序起始处,如果需要boot parameter table ,那我的参数表的格式是什么样的呢?能不能给我发一份?

请问c6678 2.0的emif nand\nor boot具体怎么配置?是否需要配置parameter table?

6678 2.0的boot rom 和1.0的bootrom有什么区别?怎么boot设置如此不同?

  • 您好:

           我的板子上也是emif接nor flash加载,BOOTMODE[12:0]=0b 010 0100 000 000,上电后,程序始终停留在BOOT ROM 里0x20B0 1154位置,不知和boot parameter table的设置有无关系,手册里emif boot 没有boot parameter table的详细资料,另外.out转成.dat的打包工具与spi的有什么不同,还望专家指教。

                                                                                                                                                                                                             谢谢

     

  • 2013版的datasheet中有emif boot 的boot parameter table,可是还是boot不起来,怀疑是.out转成.dat的打包问题,请问专家有没有EMIFBootutility的工具。

  • 3 Reserved
    5-4 Sub-mode [01]代表EMIF16 Boot
    6 Reserved
    7 Wait Enabled
    9-8 Reserved

    请按照以上方式设置硬件配置字,另外,在上电启动完之后,请连接仿真器,查看BOOT COMPLETE寄存器的值是否为1,如果为1的话,代表RBL已经执行完成了,或者直接查看SYSCLKOUT的频率是否为核时钟的6分频。

  •        非常感谢xiao peng ma,我们的板子已经实现emif单核boot,只是程序代码量较小,不知程序代码量较大时有什么方法,试了spibootutility工具,没有成功,还望大神指导。

  • 你好,请问为什么要把bootmode pin 的3~9设置成你给的电平呢?和datasheet上的模式选择定义不一样啊。谢谢!

  • 你好,请问使用xiao peng ma给出的bootmode(3~9)的模式成功的吗? 10~12有该怎么设置呢?

  • 成功啦,10-12默认的都是0吧,记不清了,开发板上spi跑的是80M的

  • 我最近也在做6678 emif norflash启动,请问你做的是把生产的 .out文件做什么处理,然后怎么烧写进norflash的?

  • 可以通过官方的工具生成BIN文件

    虽然OUT文件直接烧也可以,但是冗余信息太多,程序大了,容量很大

  • 你好,我就是用的TI的官方文件烧写的。

    rmd文件内容如下:

    DSP6678_demo.out

     -a -boot

     -e _c_int00

    -order L -map

    core10.map

    ROMS

     {       

    ROM1:  org = 0x70000000, length = 0x100000, memwidth = 16, romwidth = 16        files = { DSP6678_demo.btbl }

    }     

    emifboot_multicore.dat文件如下:

    hex6x DSP6678_demo.rmd pause

    b2ccs DSP6678_demo.btbl DSP6678_demo.dat pause

    ccs2bin DSP6678_demo.dat DSP6678_demo.bin pause

    生成的.mp文件如下:

    ******************************************************************************** TMS320C6x Hex Converter                                                   v7.4.2 ********************************************************************************

    INPUT FILE NAME: <DSP6678_demo.out>

     OUTPUT FORMAT:   ASCII-Hex

    PHYSICAL MEMORY PARAMETERS   

    Default data width   :   8   

     Default memory width :  32   

    Default output width :   8

    BOOT LOADER PARAMETERS   

    Table Address: 0x70000000, PAGE 0    Entry Point  : 0x700144a0  (_c_int00)

    OUTPUT TRANSLATION MAP --------------------------------------------------------------------------------

     70000000..700fffff  Page=0  Memory Width=16  ROM Width=16  "ROM1"

     --------------------------------------------------------------------------------    OUTPUT FILES: DSP6678_demo.btbl [b0..b15]

       CONTENTS: 70000000..70016287   BOOT TABLE                            

    .text : btad=70000000  dest=70000000 size=00014ec0                          

      .const : btad=70014ecc  dest=70018230 size=00000ee2                          

     .switch : btad=70015db8  dest=7001a05c size=00000144                           

     .cinit : btad=70015f04  dest=7001a600 size=00000170                        

     .csl_vect : btad=7001607c  dest=7001a400 size=00000200

    请帮忙看看是什么问题?另外我编译的时候使用了一个cmd文件。文件有.out转换成.tbtl时候又使用了一个rmd文件。这两个文件要使用同一个吗?

     

  • 你好 我也在调试emif  nand  启动  ,请问你解决了吗?能不能分享下经验

  • 请问EMIF NORFLASH上的二级boot程序能给我发一份吗(muhp3@163.com)?我参考一下,谢谢

  • 请问xiao peng ma, 官方的工具是指什么?ps:初学者有许多不懂,请谅解。

  • 请问 ,能否将你编写的.bootload段代码发我参考下。我是初学者,对这个理解还不是很深,然后现在有需要实现将NANDFLASH中的应用代码搬移到DDR 中以实现快速读取,有点无从下手~

  • 请问您EMIF nand flash boot是成功了么?可以麻烦您告知.bootload段代码么?

    我刚学习6678,有许多都不了解,又需要实现将nandflash中的代码搬移到DDR RAM中,所以想参考下您的代码?

    谢谢~

  • 请问EMIF NORFLASH上的二级boot程序可以给我一份吗?(1099957024@qq.com)我是菜鸟,,我参考一下,谢谢 !

  • 请问EMIF NORFLASH上的二级boot程序能给我发一份吗(1099957024@qq.com)?我参考一下,谢谢

  • 您好,请问将程序烧写到Nor Flash的烧写工具需要自己编写吗,TI提供的6678EVM norwriter可以吗?

  • 请问EMIF NORFLASH上的二级boot程序能给我发一份吗(179149818@qq.com)?我参考一下,谢谢