您好!
目前我门做boot需要把程序中的局部地址全部变为全局地址,目前遇见一些问题,麻烦Andy或者各位高人指导一下。
我目前的理解是这样的:
1. platform文件(因为我们用了bios)、cfg文件、cmd文件均可以进行地址分配。并且优先级从高到低,因为我们很多时候在cmd文件中写地址分配都无效,而如果cfg文件的地址分配核paltform文件的地址分配冲突的话,编译链接过程中也会报错;
2. 由于每个platform文件中必须制定代码段 程序段 栈的地址,由于都是全局地址,所以每个核都必须使用不同的platform文件,但是新建paltform文件十分繁琐,不知道我们使用的方法是否正确。
3.有些时候, 我们在cfg文件盒cmd文件中都指出这个heap申请在全局地址中,比如tcp3d的heap(我目前没有去深究为什么要申请这个heap)写了Program.sectMap["tcp3DrvHeapSection"] = Program.platform.dataMemory 或者 "CORE1_L2SRAM ",但是这个heap始终都在局部L2SRAM中申请,程序不会编译到paltform设定的全局地址中,有时候写了 Program.sectMap[".main_men"] = "CORE1_L2SRAM ";(TCP3d为什么有个这个段)链接也还会报错,请问这种问题如何解决?
谢谢!
Alan