主题中讨论的其他部件:CC110L, MSP430F5529
工具/软件:Code Composer Studio
我正在更新负责现场升级固件的启动加载程序。 快速摘要,引导加载程序代码位于内存中,而主应用程序位于另一个内存中。 当满足特定条件时,主应用程序使用汇编调用引导加载程序。 最后运行引导代码,重写主代码,然后重置系统。
我注意到了下面的代码,我想知道是否有人可以解释,或者至少让我找到正确的文档。 我浏览了编译器用户指南,其中谈到了如何在线程环境中使用锁,但没有谈到初始化全局变量。 我发现源文件boot.c也包含类似的代码,我真的只是想了解它的工作方式,因为在表面上它不是很有用。
#define _code_access
#define _data_access
#define _data_access-near
_code_access void _mynop();
extern _data_access void (*_lock)();
extern _data_access void (*_unlock)();
init_code_access void _register_lock _lock (*undlut)
执行{_lock =_mynop;_unlock =_mynop;} while (0)
_code_access void _mynop()
{
}
_data_access void (*_lock)();
_data_access void (*_unlock)();
_code_access void _register_lock(void (*lock))){
_lock = lock;
}
_code_access void _register_unlock(void (*unlock)()){
_unlock =解锁;
}
谢谢!