我正在为嵌入式 DSP 目标(不受任何操作系统支持)开发应用程序,并且使用 C 进行开发。我有一个具有初始化和无限循环的简单应用程序,如下所示:
#include <>
main (){
initialize ;
while (1){
poll_timer_for_scheduling (); // use for timing
remote_link_to_receive_data(); // used to receive data
remote_link_to_transmit_data(); // used to transmit data
switch (sel) {
case '1':
function1();
case '2':
dummy_function(); // to be replaced by function2() later
}
}
} // end of main
//-------------------------
function1()
{
// some code
}
//--------------------------
dummy_function()
{
// NO code; just an empty function to be replaced later by function2()
}
现在,我将可执行文件编译并转储到运行完美的 DSP 目标中。dummy_function() 是我想稍后用 function2() 远程替换的函数,因为系统可能无法访问。这类似于应用程序的在线修补,但应用程序必须在目标中运行才能执行自我修补。
所以我的要求是在运行阶段后期更新可执行文件,使其具有额外的功能(以满足不可预见的条件)。如何编译 ac 函数 function2() 并将可执行文件上传到 dummy_function()?
我正在寻找应用程序中动态链接功能的简化版本。是否有一些简单的机制来实现这一点?