gpt4 book ai didi

c - 如何仅更新微 Controller 中代码的某些部分或 API

转载 作者:行者123 更新时间:2023-11-30 15:38:56 25 4
gpt4 key购买 nike

我在我的项目中使用atxmega256a3bu微 Controller ,我想制作一个程序架构,就像我已经编译和编程了代码一样,现在只有一些API可以更改并重新编程到板上,闪存的其他部分不应更改和新编译后的 API 可以与闪存中已编程的其余代码一起使用。

例如,我已经制作了所有代码并将其下载到板上,该板上有一个名为

的 API 函数
todo_callback()
{
printf("nothing to do");
}

现在如果我想更改如下功能:

todo_callback()
{
printf("updated to do");
}

那我怎样才能只更新这个函数而不改变整个flash代码呢?

问候,什雷亚斯。

最佳答案

根据您想要执行的操作,您可以使“固定”代码使用函数表来实现其函数。要添加新的实现,您只需要能够覆盖适当的指针。

(当然,这意味着函数表应该是可写的,或者在启动时生成,并且能够为该表查找新条目。)

基本上,这个想法是添加一层间接,以便可以在不更改使用它们的代码的情况下交换函数。

关于c - 如何仅更新微 Controller 中代码的某些部分或 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21620151/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com