MCSDK中IMAG-PROCESS的DEMO中的MASTER和SLAVE工程分别在主核和从核运行,现在我想用MAD工具包将其合并,将生产的IMAGE写入NOR中进行多核启动(我自己的DEMO已经实现NOR多核启动),合并成功,但是写入NOR后无法启动,有人用过MAD工具么?请高手帮忙啊。
Andy Yin1:
可以用mergebtbl.exe工具将多个boot table合并,参考EMAC 多核例程使用该工具进行合并:http://www.deyisupport.com/question_answer/dsp_arm/c6000_multicore/f/53/t/10240.aspx
ZHAN LI1:
回复 Andy Yin1:
多谢Andy Yin1
我看了一下,还有几个疑问:
core0.rmd core1.rmd~~~~~core7.rmd是哪里来的?如果是自己构造的,那么里面
ROMS{ ROM1: org = 0x0400, length = 0x10000, memwidth = 32, romwidth = 32 files = { core0.btbl } }
org = 0x0400是哪里来的?表示什么?length = 0x10000又是什么意思呢?其他几个参数呢?
Andy Yin1:
回复 ZHAN LI1:
rmd可以参考例程中的文件修改,关于rmd中的参数在给你之前的链接中的multi_Core_EMAC_boot.zip中有一个word文档说明。
ZHAN LI1:
回复 Andy Yin1:
以core1的image为例,.rmd文件的内容是: core0.out -a // Output ASCII hex format -boot // Select boot mode -e _c_int00 // 指定entry point -order L // 指定data ordering是小端 ROMS { ROM1: org = 0x0400, length = 0x10000, memwidth = 32, romwidth = 32 files = { core0.btbl } // Specify output file names } ROMS directive类似于cmd文件的MEMORY directive。 用来定义target的memory map。ROMS directive的每一个line entry定义一个address range ROM1: org = 0x0400, — 这个地址表示的是什么意思? length = 0x10000, memwidth = 32, romwidth = 32 — 如果是EMAC boot,这两项可以不care,对吗?
这里没有明确说明“org = 0x0400, length = 0x10000”是哪里来的?是什么意思啊?
ZHAN LI1:
回复 ZHAN LI1:
盼望Andy Yin1帮忙解决。