我有一个驻留在闪存中但必须从ram运行的函数。
由于它不经常使用,我不希望链接器重新定位它。
每一件事都是相对的解决,所以我可以自己动手。
我正在使用gcc for ARM,并且在将ram位置分配给基于ram的函数指针时无法正确获取语法 - 请帮助
这是flash中的功能:
字节Flash_Function(byte) { ......代码 }
这些是全局RAM变量
//指向基于ram的函数的指针..从基于flash的例程调用
byte(* Ram_Based_Routine)(byte)= 0; //问题是为此
分配值// XXX持有空间以将例程复制到其中
byte Ram_PlaceHolder_For_Function [XXX];
有一个函数可以将函数“Flash_Function”移动到数组“Ram_PlaceHolder_For_Function”并初始化Ram_Based_Routine指针
我无法在此分配线上获得正确的语法
Ram_Based_Routine =(* Flash_Function(byte))(Ram_PlaceHolder_For_Function);
如果我分配闪光功能 - 这没关系 Ram_Based_Routine =& Flash_Function;
那么 - 如何将Ram_PlaceHolder_For_Function转换为Flash_Function?
感谢您提出任何意见