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.

question about using MAD on linux kernel



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",
  "",
  "",
  "",
  "",
  "",
  ""  
 ]
}