Hi, all:
I succeeded in running the MAD's (Multiple Application Deployment) examples
on our board. The two apps (app_1 & app_2) can now run on the 8 cores of 6678.
Now I tried to run linux on core0 and SYS/BIOS app on the other 7 cores, so
I copied the linux relevant files (vmlinux or vmlinux.bin) to the app_1\build
directory, and run the following command:
python maptool.py config-files/maptoolCfg_C6678_bypass_prelink.json bypass-prelink
but this can't work, the following error appears:
(when using vmlinux)
MAP tool executing in prelink bypass mode
error: Non-TI vendor used to create file ./images/appImages/app1 is not
supported by this tool.
error: failed to read "./tmp/strippedImages/app1.strip"
Traceback (most recent call last):
File "maptool.py", line 2688, in <module>
if a.processElf(globalLibList) != 0:
File "maptool.py", line 1538, in processElf
if self.elfFile.parse() != 0:
File "maptool.py", line 2285, in parse
eHdr = elfHdr(int(e_phnum, 16), int(e_shnum, 16))
UnboundLocalError: local variable 'e_phnum' referenced before assignment
(
when using vmlinux.bin which is created by the following command:
c6x-uclinux-objcopy -O binary ../product/vmlinux-shore ../product/vmlinux.bin
)
MAP tool executing in prelink bypass mode
error: errors occurred while reading ./images/appImages/app1
error: failed to read "./tmp/strippedImages/app1.strip"
Traceback (most recent call last):
File "maptool.py", line 2688, in <module>
if a.processElf(globalLibList) != 0:
File "maptool.py", line 1538, in processElf
if self.elfFile.parse() != 0:
File "maptool.py", line 2285, in parse
eHdr = elfHdr(int(e_phnum, 16), int(e_shnum, 16))
UnboundLocalError: local variable 'e_phnum' referenced before assignment
In the 1st case, the python reports that it can't process the linux kernel file by
printing "Non-TI vendor used to create file", how to overcome it?
It seems the MAD-utils can't directly support the linux kernel file to be combined
with the bios program. Can anyone give some advice on this problem?
the following is my deployment_template_C6678_bypass_prelink.json file:
{
"deviceName" : "C6678",
"partitions" : [
{
"name" : "load-partition",
"vaddr" : "0x9e000000",
"size" : "0x2000000",
"loadPartition" : true
}
],
"applications" : [
{
"name" : "app1",
"fileName" : "../mad-loader/examples/app_1/build/vmlinux.bin",
"allowedCores" : [0,1,2,3,4,5,6,7]
},
{
"name" : "app2",
"fileName" : "../mad-loader/examples/app_2/build/app_2.exe",
"allowedCores" : [0,1,2,3,4,5,6,7]
}
],
"appDeployment" : [
"app1",
"app2",
"",
"",
"",
"",
"",
""
]
}