Boot + App 的简单 demo
-
这里用LE0作为例子,介绍YT-LINK配置BOOT和APP
例子里的BOOT flash大小为0x2000STEP1: BOOT Project YT-LINK 配置
把原来的TEXT大小改为到0x2000
STEP2: APP Project YT-LINK 配置
- 创建一个空的Memory从0-0x2000,代表BOOT,IVT从0x2000开始
STEP3: Boot的Jump函数如下:
typedef void (*JumpFunc)(void); #define USER_APP_IVT_ADDR (0x2000) void JumpToFunction(){ uint32_t* ivt=(uint32_t*)(USER_APP_IVT_ADDR); const uint32_t resetHandleAddr=ivt[1]; JumpFunc fc=(JumpFunc)(resetHandleAddr); fc(); }
STEP4: Ozone如何同时下载app和boot
这一步是可选的,方便我们调试,
在jdebug文件里编辑BeforeTargetDownload函数,改为如下void BeforeTargetDownload (void) { //load app code File.Load ("$(ProjectDir)/app/EWARM/FLASH/Exe/APP.hex",0); File.Open ("$(ProjectDir)/boot/EWARM/FLASH/Exe/BOOT.out"); //重新加载symbol }
更多细节参考Ozone的user guide.
参考工程:
boot_with_app.zip - 创建一个空的Memory从0-0x2000,代表BOOT,IVT从0x2000开始
-
帮助没办法联网的电脑使用YCT
帮助改进和优化YT CONFIG TOOL,有机会抽取YTM32B1ME0 EVB哦...