C6678 单核烧写实验步骤

当使用仿真器时,仿真器会将项目中编译好的out文件下载到RAM中运行,但是掉电就会丢失,如果想长久保存,上电运行,需要将程序烧写到Flash中,C6678LE提供了一个16M的NOR Flash和一个64M的NAND Flash存储器,当选择相应的boot模式时,卡板会自动将程序从Flash中搬运到RAM运行(IBL二级加载技术),因为程序直接在Flash中运行会很慢。

这篇博文主要根据TI提供的资料,并参照论坛一论坛二论坛三的内容,进行C6678LE的NOR Flash烧写试验,NAND烧写类似,不同之处会用绿色标出,另外这个目前还是单核的烧写。

一:准备工作。

准备好烧写的程序(LED闪烁out文件),烧写工具位于mcsdk_2_01_02_06\tools文件夹下。将卡板的boot开关拨到no boot模式,连接仿真器到PC,卡板上电,打开CCS。

二:烧写程序到NOR Flash,此过程可以参照mcsdk_2_01_02_06\tools\writer\nor\docs下的README.txt文件操作。

1、将准备烧写的out文件copy到mcsdk_2_01_02_06\tools\writer\nor\evmc6678l\bin目录下,并将其重命名为app.bin,C6678中单核烧写不需要将out文件转化为dat文件。

2、将mcsdk_2_01_02_06\tools\writer\nor\evmc6678l\bin目录下norwriter_evm6678l.out文件加载到CCS的0核,只是TI提供的烧写程序,此程序自动运行到main函数处。

3、Open the Memory view (in CCSv5, view->Memory Browser), and view the memory address 0x80000000. 如下图,然后右击Memory view选择Load Memory。


4、在新打开的窗口中选择之前存放的app.bin,下一步,完成,CCS会将app.bin读入到内存。


5、运行烧写程序norwriter_evm6678l,此程序就会将刚才写入内存的app.bin烧写到NOR Flash中。烧写成功后Console窗口提示如下,断开CCS。


6、如果是进行NAND的烧写,请参照mcsdk_2_01_02_06\tools\writer\nand\docs下的README.txt进行。

三:烧写IBL引导程序到EEPROM,这个程序负责在卡板复位时将Flash中的程序搬移到内存中运行,只需要烧写一次,以后不用再烧,具体步骤可以参考mcsdk_2_01_02_06\tools\writer\eeprom\docs中的README.txt文件。

1、将i2crom_0x51_c6657_le.bin文件从"mcsdk_2_01_02_06\tools\boot_loader\ibl \src\make\bin"拷贝到"mcsdk_2_01_02_06\tools\writer\eeprom\evmc6657l\bin",

2、将mcsdk_2_01_02_06\tools\writer\eeprom\evmc6678l\bin中的eepromwriter_input.txt中的file_name值修改为i2crom_0x51_c6657_le.bin 。

3、以下步骤和之前烧写LED程序时一样,只是烧写项目文件换成了eepromwriter_evm6678l.out ,唯一不同的是Load Memory时的内存开始地址不是0x80000000,而是0x0c000000,同时注意修改下图中的地方:


四:烧写I2C参数。这些参数用来配置IBL,也只需要烧写一次。

1、修改mcsdk_2_01_02_06\tools\boot_loader\ibl\src\make\bin\i2cConfig.gel的内容,将函数setConfig_c6678_main()的语句

     ibl.bootModes[0].u.norBoot.bootFormat        = ibl_BOOT_FORMAT_BBLOB;   替换为

     ibl.bootModes[0].u.norBoot.bootFormat        = ibl_BOOT_FORMAT_ELF;    

对于NAND烧写,将

     ibl.bootModes[1].u.nandBoot.bootFormat        = ibl_BOOT_FORMAT_BBLOB;   替换为

     ibl.bootModes[1].u.nandBoot.bootFormat        = ibl_BOOT_FORMAT_ELF;    

2、新建一个目标文件,将上一步修改后的gel文件加载到0核,然后Launch这个目标文件,连接0核,加载运行程序mcsdk_2_01_02_06\tools\boot_loader\ibl\src\make\bin\i2cparam_0x51_c6678_le_0x500.out 。

3、等到Console窗口提示Run the GEL for for the device to be configured, press return to program the I2C时,如下图点击setConfig_c6678main选项。


4,、过几秒后在Console窗口空白处单击回车,参数烧写成功后回提示如下:

五:断开CCS和仿真器,将boot开关拨到 IBL NOR boot on image 0如果是NAND烧写请拨到 IBL NAND boot on image 0,上电复位,如果成功LED就会开始闪烁了。






发布了0 篇原创文章 · 获赞 123 · 访问量 88万+

猜你喜欢

转载自blog.csdn.net/kunkliu/article/details/104392651
今日推荐