正确的C语法功能已移至RAM

时间:2016-09-12 02:44:57

标签: function pointers

我有一个驻留在闪存中但必须从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?

感谢您提出任何意见

0 个答案:

没有答案