我们实现bootloader功能时, app0 当作bootloader, app1 当作bootloadable image,我们想让app0和app1 访问同一片EEPROM 8K的空间。但我们合并app0和app1的时候出现以下问题:
cymcuelftool.exe -M App1.elf App0.elf --output App1_merged.elf --hex APP1_merged.hex
App0.elf: Merge error: Section 0x14000000 at App0.elf overlaps section 0x14000000 from App1.elf,
but it contains different data
我需要怎么配置eeprom,才能让app0和app1都能访问到呢?
已解决! 转到解答。
如果你的app0和app1需要能够同时访问同一段eeprom空间(linker文件中所定义的起始地址/长度均相同),在编译之前需要保证app0和app1对这段空间的初始化值保持一致,同时保证各自所定义段的长度一致(如果没有自定义段,可以忽略)。
如果app0和app1需要定义不同的eeprom数据,可以划分eeprom空间为两段分别供app0/app1使用,但不能互交叉访问。
同一个app内,两个核的访问也要注意相同的问题。
如果你的app0和app1需要能够同时访问同一段eeprom空间(linker文件中所定义的起始地址/长度均相同),在编译之前需要保证app0和app1对这段空间的初始化值保持一致,同时保证各自所定义段的长度一致(如果没有自定义段,可以忽略)。
如果app0和app1需要定义不同的eeprom数据,可以划分eeprom空间为两段分别供app0/app1使用,但不能互交叉访问。
同一个app内,两个核的访问也要注意相同的问题。