在CLA中直接使用CLAdiv函数时没有问题,但是使用CLAsin函数出现问题
第一方面:CLAsin函数的分配空间是DATA型,也就是page1中,放在page0中会出现分配报错
CLA1mathTables : LOAD = FLASHB, /*Section ramfucs to go in flashA and copy to RAML8*/
RUN = RAML2,
LOAD_START(_Cla1mathTablesLoadStart),
LOAD_END(_Cla1mathTablesLoadEnd),
LOAD_SIZE(_Cla1mathTablesLoadSize),
RUN_START(_Cla1mathTablesRunStart),
PAGE = 1
第二方面:需要确保 CLA 代码和常量被加载到内存中并被复制到 RAM 中
一般CMD中默认CLA1mathTables 配置在FLASH中,运行在内存里边,但是不加入复制到RAM中,这个命令没有效果
即在cla中加入memcpy 函数,此时CLAsin函数就可以用了。
memcpy(&Cla1mathTablesRunStart, &Cla1mathTablesLoadStart, (Uint32)&Cla1mathTablesLoadSize);