在运行时将机器代码插入C代码

时间:2017-02-01 19:18:11

标签: c avr

我目前正在使用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

1 个答案:

答案 0 :(得分:3)

如果您打算通过串行加载额外的程序代码,则无法执行此操作。

来自Arduino docs

  

注意:Flash(PROGMEM)内存只能在程序刻录时填充。程序开始运行后,您无法更改闪存中的值。

AVR将程序存储在单独的物理内存(Flash)中。您可以从中读取,但与RAM和EEPROM不同,它不能在运行时写入。

相关问题