存在两个问题:
第一:两个CPU的程序均采用下载到FLASH,在全局共享GsRAM中RUN的形式来执行,是否可行?是否存在什么隐患?
例如如下配置:
.cinit : > FLASHB PAGE = 0, ALIGN(4)
.pinit : > FLASHB, PAGE = 0, ALIGN(4)
.text : >> FLASHB | FLASHC | FLASHD | FLASHE PAGE = 0, ALIGN(4)
codestart : > BEGIN PAGE = 0, ALIGN(4)
ramfuncs : LOAD = FLASHF,
RUN = RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
试了一下,利用仿真器将程序分别烧写后运行正确,断电后在上电运行,似乎CPU2并没有运行。提示no symbols…
第二:在CPU1中打开IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH)这一段程序,运行CPU1和CPU2,CPU1程序一直停留在这里运行,是否CPU2中要给予相应的配置或者程序回馈给CPU1才能使CPU1正常运行???
rookiecalf:
初始化的时候搬移了代码没有?
存在两个问题:
第一:两个CPU的程序均采用下载到FLASH,在全局共享GsRAM中RUN的形式来执行,是否可行?是否存在什么隐患?
例如如下配置:
.cinit : > FLASHB PAGE = 0, ALIGN(4)
.pinit : > FLASHB, PAGE = 0, ALIGN(4)
.text : >> FLASHB | FLASHC | FLASHD | FLASHE PAGE = 0, ALIGN(4)
codestart : > BEGIN PAGE = 0, ALIGN(4)
ramfuncs : LOAD = FLASHF,
RUN = RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
试了一下,利用仿真器将程序分别烧写后运行正确,断电后在上电运行,似乎CPU2并没有运行。提示no symbols…
第二:在CPU1中打开IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH)这一段程序,运行CPU1和CPU2,CPU1程序一直停留在这里运行,是否CPU2中要给予相应的配置或者程序回馈给CPU1才能使CPU1正常运行???
shipeng long:
回复 rookiecalf:
有搬的
memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
存在两个问题:
第一:两个CPU的程序均采用下载到FLASH,在全局共享GsRAM中RUN的形式来执行,是否可行?是否存在什么隐患?
例如如下配置:
.cinit : > FLASHB PAGE = 0, ALIGN(4)
.pinit : > FLASHB, PAGE = 0, ALIGN(4)
.text : >> FLASHB | FLASHC | FLASHD | FLASHE PAGE = 0, ALIGN(4)
codestart : > BEGIN PAGE = 0, ALIGN(4)
ramfuncs : LOAD = FLASHF,
RUN = RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
试了一下,利用仿真器将程序分别烧写后运行正确,断电后在上电运行,似乎CPU2并没有运行。提示no symbols…
第二:在CPU1中打开IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH)这一段程序,运行CPU1和CPU2,CPU1程序一直停留在这里运行,是否CPU2中要给予相应的配置或者程序回馈给CPU1才能使CPU1正常运行???
shipeng long:
回复 shipeng long:
第二个问题应该是与它BootRom的模式有关吧。。。可能
存在两个问题:
第一:两个CPU的程序均采用下载到FLASH,在全局共享GsRAM中RUN的形式来执行,是否可行?是否存在什么隐患?
例如如下配置:
.cinit : > FLASHB PAGE = 0, ALIGN(4)
.pinit : > FLASHB, PAGE = 0, ALIGN(4)
.text : >> FLASHB | FLASHC | FLASHD | FLASHE PAGE = 0, ALIGN(4)
codestart : > BEGIN PAGE = 0, ALIGN(4)
ramfuncs : LOAD = FLASHF,
RUN = RAMGS6 | RAMGS7 | RAMGS8 | RAMGS9,
LOAD_START(_RamfuncsLoadStart),
LOAD_SIZE(_RamfuncsLoadSize),
LOAD_END(_RamfuncsLoadEnd),
RUN_START(_RamfuncsRunStart),
RUN_SIZE(_RamfuncsRunSize),
RUN_END(_RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
试了一下,利用仿真器将程序分别烧写后运行正确,断电后在上电运行,似乎CPU2并没有运行。提示no symbols…
第二:在CPU1中打开IPCBootCPU2(C1C2_BROM_BOOTMODE_BOOT_FROM_FLASH)这一段程序,运行CPU1和CPU2,CPU1程序一直停留在这里运行,是否CPU2中要给予相应的配置或者程序回馈给CPU1才能使CPU1正常运行???
rookiecalf:
回复 shipeng long:
shipeng long
第二个问题应该是与它BootRom的模式有关吧。。。可能