请教函数存放问题
查看: 1283
回复: 6
关于tmos_set_event之类的函数问题,是加密的吗,我看不到源码。反汇编文件会地址会变的。我想确认一下这类函数是固化在rom里面,还是存在flash文件的?
热门产品 :
CH585: 集成高速USB和NFC的蓝牙MCU
我不是要搞破解,我想了解软件的架构
取决于你选择ROM模式还是LIB模式加载蓝牙库。若使用LIB模式,则蓝牙库被链接进程序一起存入flash,位置不确定。若使用ROM模式,则蓝牙库需要额外在程序之外下载到芯片,位置一般固定。
看情况应该是lib模式。tmos_set_event源码是事先编译好,最后才和普通的代码一起生成flash吗?
BLE库中,有一部分代码对运行速度有要求,这部分代码会在MCU上电后由硬件拷贝到ram中运行,其余代码是直接在codeflash中运行。
如果参考了非OTA的例程,BLE库会一并编译到.hex/.bin文件中,函数地址会有变化是正常的。
如果参考OTA的使用固定库升级方案的例程(OnlyUpdate例程),APP层工程会调用BLE固定库中的接口,BLE固定库中函数地址被固定到指定的ram/flash地址中,不会改变。
地址会变这个明白了,谢谢
纠正一下。BLE库中有一部分代码对运行速度有要求,这部分代码也是会编译到codeflash中,在CH582上电后会搬运这部分代码到ram中,不是直接编译到ram中。
请勿发布广告和违法内容, 代码可以选择编辑器代码语言格式, 更易他人阅读帮助您, 或者留下联系方式,以便更好更快服务您
只有登录才能回复,可以选择微信账号登录