大家好:
目前我正在做MAD的加载方式。但第一步用到的.exe从何而来呢?
我尝试了example中的app1、app2生成.exe,看了用到的build_examples_msys.sh文件。
但我不确定是否只需要工程编译过后自动生成的makefile文件和类似于上述build_examples_msys.sh的文件即可完成所需.exe的生成?
如果不是,我应该从哪里得到相关的生成.exe文件的信息呢?
谢谢有关的回答。
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.
Hi David:
从MAD的用户资料上看,应直接将用户程序的*.out文件直接改成*.exe文件,MAD资料上注明了其是ELF文件格式。
别外:从I2C中进行单核NAND flash的boot过程你看好了没有,建议看一下。
目前我也正关心如何简单地进行多核下的boot。虽然网上有些描述从从I2C中进行NAND flash的多核boot过程,但看了之后,总感觉是由启动之后的core0为其它核再进行第三次boot,总感觉过程复杂。
另外MCSDK中已说明了“An example of an MCSDK application that uses MAD is the Image Processing Demo Guide.”。因而目前关心如何运用MAD进行boot。
希望在MAD的boot方面多交流。我的QQ:1787765777
Hi David:
遇到一个问题:MAD指南的第8页“maptool.py config-files\maptoolCfg_C6678_windows.json”命令时不能正确运行,你哪儿能运行吗?上面两个文件:maptool.py与 config-files\maptoolCfg_C6678_windows.json均是原来安装的文件,我没有作任何修改。但我这儿一运行就会再现如下错:
Administrator@PC-200201010011 /c/ti/mcsdk_2_01_02_05/tools_chenpjh/boot_loader/m
ad-utils/map-tool
$ maptool.py config-files/maptoolCfg_C6678_windows.json
./maptool.py: line 32: import: command not found
./maptool.py: line 33: import: command not found
./maptool.py: line 34: import: command not found
./maptool.py: line 35: import: command not found
./maptool.py: line 36: import: command not found
./maptool.py: line 37: import: command not found
./maptool.py: line 38: import: command not found
./maptool.py: line 39: import: command not found
./maptool.py: line 42: syntax error near unexpected token `('
./maptool.py: line 42: `def dec2hex(n):'
Administrator@PC-200201010011 /c/ti/mcsdk_2_01_02_05/tools_chenpjh/boot_loader/m
ad-utils/map-tool
$
如果能运行告诉我一下:是怎样运行的,谢谢!
对下面修改进行测试:
在windows系统PATH下增加了“PATH=python33”,在MinGW命令窗口中执行:python maptool.py config-files\maptoolCfg_C6678_windows.json,错误同之前不一样:
Administrator@PC-200201010011 /c/ti/mcsdk_2_01_02_05/tools_chenpjh/boot_loader/m
ad-utils/map-tool
$ python maptool.py config-files/maptoolCfg_C6678_windows.json
File "maptool.py", line 82
except OSError, e:
^
SyntaxError: invalid syntax
Administrator@PC-200201010011 /c/ti/mcsdk_2_01_02_05/tools_chenpjh/boot_loader/m
ad-utils/map-tool
这是什么原因?谢谢了!
Hi David:
我在E2E上看到:对于MAD的boot方式,可能需要对IBL参数进行设置,需要改变的参数如下:
ibl.bootModes[1].u.nandBoot.bootFormat = ibl_BOOT_FORMAT_BBLOB;
ibl.bootModes[1].u.nandBoot.blob[0][0].startAddress = 0x9E000000;
ibl.bootModes[1].u.nandBoot.blob[0][0].branchAddress = 0x9E001040;
不知道你改了没有。
hi 您好 我刚接触学习MAD 有些问题想向您请教
2. python maptool.py maptoolConfig_c6678_windows.json调用时,
deployment_template_c6678_windows.json的内容,partitions里面的段名、secNamePat 是如何得到的?
下面是我在网上看到的别人分享的一个json文件:
"partitions" : [
{
"name" : "DDR3-ROMFS",
"vaddr" : "0x9e000000",
"paddr" : [ "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000"] ,
"size" : "0x1000000",
"secNamePat" : ["text", "const"],
"cores" : [0,1,2,3,4,5,6,7],
"permissions" : ["UR", "UX", "SR", "SX"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : true,
"loadPartition" : true
},
{
"name" : "ddr-heapC0",
"vaddr" : "0x81000000",
"paddr" : ["0x801000000"],
"size" : "0x1c900000",
"secNamePat" : ["HeapC0" ],
"cores" : [0],
"permissions" : ["UR", "UW", "SR", "SW"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : false
},
{
"name" : "MSMCSRAM",
"vaddr" : "0xc000000",
"paddr" : [ "0xc000000"],
"size" : "0x100000",
"secNamePat" : [ "emacComm", "NDK_PACKETMEM", "NDK_OBJMEM"],
"cores" : [0],
"permissions" : ["UR", "UW", "UX", "SR", "SW", "SX"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : false
},
{
"name" : "L2SRAM",
"vaddr" : "0x800000",
"paddr" : [ "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000" ],
"size" : "0x40000",
"secNamePat" : [ "cio", "far", "bss", "neardata", "fardata", "stack", "platform_lib", "vecs", "switch","csl_vect","HeapC17"],
"cores" : [0,1,2,3,4,5,6,7],
"permissions" : ["UR", "UW", "UX", "SR", "SW", "SX"],
"cacheEnable" : false,
"prefetch" : false,
"priority" : 0,
"shared" : false
}
],
"applications" : [
{
"name" : "app1",
"fileName" : ".\\MessQ_C0.out",
"libPath" : "..\\mad-loader\\examples\\shlibs\\build",
"allowedCores" : [0]
},
{
"name" : "app2",
"fileName" : ".\\MessQ_C17.out",
"libPath" : "..\\mad-loader\\examples\\shlibs\\build",
"allowedCores" : [1,2,3,4,5,6,7]
}
],
"appDeployment" : [
"app1",
"app2",
"app2",
"app2",
"app2",
"app2",
"app2",
"app2"
]
}
段名DDR3-ROMFS : secNamePat:[text", "const]
段名ddr-heapC0 : secNamePat:[HeapC0]
段名MSMCSRAM : secNamePat:[emacComm", "NDK_PACKETMEM", "NDK_OBJMEM]
段名L2SRAM: secNamePat:[cio", "far", "bss", "neardata", "fardata", "stack", "platform_lib", "vecs", "switch","csl_vect","HeapC17]
3. 里面的段名和它对应的secNamePat是跟什么有关系呢?原工程中的cmd文件吗?但是这个怎样子实现呢?我现在很多基本的概念还不是很明白,还望哪位知情人好好讲解下MAD,谢谢~~
hi 您好 我刚接触学习MAD 有些问题想向您请教
2. python maptool.py maptoolConfig_c6678_windows.json调用时,
deployment_template_c6678_windows.json的内容,partitions里面的段名、secNamePat 是如何得到的?
下面是我在网上看到的别人分享的一个json文件:
"partitions" : [
{
"name" : "DDR3-ROMFS",
"vaddr" : "0x9e000000",
"paddr" : [ "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000"] ,
"size" : "0x1000000",
"secNamePat" : ["text", "const"],
"cores" : [0,1,2,3,4,5,6,7],
"permissions" : ["UR", "UX", "SR", "SX"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : true,
"loadPartition" : true
},
{
"name" : "ddr-heapC0",
"vaddr" : "0x81000000",
"paddr" : ["0x801000000"],
"size" : "0x1c900000",
"secNamePat" : ["HeapC0" ],
"cores" : [0],
"permissions" : ["UR", "UW", "SR", "SW"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : false
},
{
"name" : "MSMCSRAM",
"vaddr" : "0xc000000",
"paddr" : [ "0xc000000"],
"size" : "0x100000",
"secNamePat" : [ "emacComm", "NDK_PACKETMEM", "NDK_OBJMEM"],
"cores" : [0],
"permissions" : ["UR", "UW", "UX", "SR", "SW", "SX"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : false
},
{
"name" : "L2SRAM",
"vaddr" : "0x800000",
"paddr" : [ "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000" ],
"size" : "0x40000",
"secNamePat" : [ "cio", "far", "bss", "neardata", "fardata", "stack", "platform_lib", "vecs", "switch","csl_vect","HeapC17"],
"cores" : [0,1,2,3,4,5,6,7],
"permissions" : ["UR", "UW", "UX", "SR", "SW", "SX"],
"cacheEnable" : false,
"prefetch" : false,
"priority" : 0,
"shared" : false
}
],
"applications" : [
{
"name" : "app1",
"fileName" : ".\\MessQ_C0.out",
"libPath" : "..\\mad-loader\\examples\\shlibs\\build",
"allowedCores" : [0]
},
{
"name" : "app2",
"fileName" : ".\\MessQ_C17.out",
"libPath" : "..\\mad-loader\\examples\\shlibs\\build",
"allowedCores" : [1,2,3,4,5,6,7]
}
],
"appDeployment" : [
"app1",
"app2",
"app2",
"app2",
"app2",
"app2",
"app2",
"app2"
]
}
段名DDR3-ROMFS : secNamePat:[text", "const]
段名ddr-heapC0 : secNamePat:[HeapC0]
段名MSMCSRAM : secNamePat:[emacComm", "NDK_PACKETMEM", "NDK_OBJMEM]
段名L2SRAM: secNamePat:[cio", "far", "bss", "neardata", "fardata", "stack", "platform_lib", "vecs", "switch","csl_vect","HeapC17]
3. 里面的段名和它对应的secNamePat是跟什么有关系呢?原工程中的cmd文件吗?但是这个怎样子实现呢?我现在很多基本的概念还不是很明白,还望哪位知情人好好讲解下MAD,谢谢~~
hi 您好 我刚接触学习MAD 有些问题想向您请教
2. python maptool.py maptoolConfig_c6678_windows.json调用时,
deployment_template_c6678_windows.json的内容,partitions里面的段名、secNamePat 是如何得到的?
下面是我在网上看到的别人分享的一个json文件:
"partitions" : [
{
"name" : "DDR3-ROMFS",
"vaddr" : "0x9e000000",
"paddr" : [ "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000", "0x81e000000"] ,
"size" : "0x1000000",
"secNamePat" : ["text", "const"],
"cores" : [0,1,2,3,4,5,6,7],
"permissions" : ["UR", "UX", "SR", "SX"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : true,
"loadPartition" : true
},
{
"name" : "ddr-heapC0",
"vaddr" : "0x81000000",
"paddr" : ["0x801000000"],
"size" : "0x1c900000",
"secNamePat" : ["HeapC0" ],
"cores" : [0],
"permissions" : ["UR", "UW", "SR", "SW"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : false
},
{
"name" : "MSMCSRAM",
"vaddr" : "0xc000000",
"paddr" : [ "0xc000000"],
"size" : "0x100000",
"secNamePat" : [ "emacComm", "NDK_PACKETMEM", "NDK_OBJMEM"],
"cores" : [0],
"permissions" : ["UR", "UW", "UX", "SR", "SW", "SX"],
"cacheEnable" : true,
"prefetch" : true,
"priority" : 0,
"shared" : false
},
{
"name" : "L2SRAM",
"vaddr" : "0x800000",
"paddr" : [ "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000", "0x800000" ],
"size" : "0x40000",
"secNamePat" : [ "cio", "far", "bss", "neardata", "fardata", "stack", "platform_lib", "vecs", "switch","csl_vect","HeapC17"],
"cores" : [0,1,2,3,4,5,6,7],
"permissions" : ["UR", "UW", "UX", "SR", "SW", "SX"],
"cacheEnable" : false,
"prefetch" : false,
"priority" : 0,
"shared" : false
}
],
"applications" : [
{
"name" : "app1",
"fileName" : ".\\MessQ_C0.out",
"libPath" : "..\\mad-loader\\examples\\shlibs\\build",
"allowedCores" : [0]
},
{
"name" : "app2",
"fileName" : ".\\MessQ_C17.out",
"libPath" : "..\\mad-loader\\examples\\shlibs\\build",
"allowedCores" : [1,2,3,4,5,6,7]
}
],
"appDeployment" : [
"app1",
"app2",
"app2",
"app2",
"app2",
"app2",
"app2",
"app2"
]
}
段名DDR3-ROMFS : secNamePat:[text", "const]
段名ddr-heapC0 : secNamePat:[HeapC0]
段名MSMCSRAM : secNamePat:[emacComm", "NDK_PACKETMEM", "NDK_OBJMEM]
段名L2SRAM: secNamePat:[cio", "far", "bss", "neardata", "fardata", "stack", "platform_lib", "vecs", "switch","csl_vect","HeapC17]
3. 里面的段名和它对应的secNamePat是跟什么有关系呢?原工程中的cmd文件吗?但是这个怎样子实现呢?我现在很多基本的概念还不是很明白,还望谢谢~~