您好,
请问6678多核boot是怎么做的,好像有两种方法:
1. Multicore Programming Guide (sprab27a- August 2009) 7.4 Device Boot 有个介绍
As discussed in Section 6, there may be one or more projects and resulting .out filesused in software development for a single device, depending on the mix of shared andunique sections. Regardless of the number of .out files created, a single boot tableshould be generated for the final image to be loaded in the end system.TI has several utilities to help with the creation of the single boot table. Figure 10contains an example of how these utilities can be used to build a single boot table fromthree separate executable files.
(Core0.out, Core0.rmd) – > Hex6x–>Core0.btbl –>——————
(Core1.out, Core1.rmd) – > Hex6x–>Core1.btbl –>| MERGEBTBL =》DSPCode.btbl
(Core2.out, Core2.rmd) – > Hex6x–>Core2.btbl –>|——————
2.using the MAD utilities
关于第一种方法,Hex6x, MERGEBTBL 在CCS的安装目录下都能找得到,但是具体该如何使用,我没有找到相应的文档。不知道如何进行下去。
若有人又这方面的资料或者知道该如何做,恳求帮忙。
关于第二种方法,我看到bootloader文件家下的MAD的例程,对app_1, app_2, app_3进行编译的时候是用MAKE 工具读取MAKEFILE进行编译的,编译时没有与
地址分配相关的.cmd文件。编译直接生成了aap_1.exe, app_2.exe, app_3.exe文件。然后使用MAP tool和json格式的configuration file 进行处理,那么该如何制定各个exe文件的运行地址呢。比如aap_1.exe 的代码段,数据段,常量段放在4M共享内存(MSM)的0x0c000000 至0x0c0effff的内存内。app_2.exe的代码段,数据段,常量段放在4M共享内存(MSM)的0x0c100000至0x0c1effff的内存内。app_3.exe的代码段,数据段,常量段放在4M共享内存(MSM)的0x0c200000至0x0c2effff的内存内。该如何来做呢?
还有若以后使用这种方法来做多核启动,那么是不是要只使用.c源文件用MAKE工具进行编译而不需要CCS做什么事情。另外,makefile 是否要自己写?
Multicore Application Deployment (MAD) UtilitiesUser's Guide 上介绍的一些文件在我的CCS安装目录下面没有找到。
我现在感觉6678 boot方面的资料有些乱,而且不全,好多东西不清晰。恳求帮忙。
谢谢!
Andy Yin1:
多核boot取决与你所使用的boot mode,每种mode都有细微的差异,具体请参考bootloader userguide了解整个boot的过程,如果想了解更多bootloader所执行的细节可以对照bootloader RBL source code:http://software-dl.ti.com/sdoemb/sdoemb_public_sw/rbl/1_0_C6678/index_FDS.html
下面是一个多核EMAC boot的例子。
http://www.deyisupport.com/question_answer/f/53/t/10240.aspx