我目前正在使用C语言使用Arduino Uno / Nano构建一些东西,我需要在运行时将一些已编译的代码从外部插入到可执行文件中。
我希望能够像动态链接库一样使用它,我可以在程序中进行交换。
以下是一些显示我的意思的代码:
int external_code(int); // the external code needs to be called some way
void set_external_code(char*); // set the external code that gets executed
答案 0 :(得分:3)
如果您打算通过串行加载额外的程序代码,则无法执行此操作。
来自Arduino docs:
注意:Flash(PROGMEM)内存只能在程序刻录时填充。程序开始运行后,您无法更改闪存中的值。
AVR将程序存储在单独的物理内存(Flash)中。您可以从中读取,但与RAM和EEPROM不同,它不能在运行时写入。