六、从0开始卷出一个新项目瑞萨RZN2L之loader app分离工程优化
2023-12-29 11:44:11
六、loader app分离工程
6.1 概述
6.2 官方资料与不足
6.3 loader app分离工程的优化
????????6.3.1 自动调节合并appsection
????????6.3.2 loader中使用外设
????????6.3.3 app使用sram mirror
????????6.3.4 sram atcm同时使用
六、从0开始卷出一个新项目之瑞萨RZN2L loader app分离工程优化
6.1 概述
对比“3.2 base project构建”中的单个工程,本章节介绍loader app分离的双工程。可以实现更为灵活和复杂的功能,例如多协议支持、固件升级等等。
6.2 官方资料与不足
-
例程源码
RZN2L_bsp_xspi0bootx1_app
RZN2L_bsp_xspi0bootx1_loader -
文档
r01an6737ej0110-rzn2l-separating-loader-and-application.pdf -
仅展示
以官方loader app双工程为base去移植应用代码,会碰到很多问题
6.3 loader app分离工程的优化
6.3.1 自动调节合并appsection
6.3.2 loader中使用外设
//正确完整的编译loader+app
// 1: 必须首先clean loader,构建前增加make -r -j8 clean
// 2: 使能startu的初始化mpu代码 #if 1 // Original program
/* Invalid these settings for loader project.
* These settings are done in the application program.
* Settings can also be made in the loader program if necessary. */
#if 1
__enable_irq();
g_uart0.p_api->open(g_uart0.p_ctrl, g_uart0.p_cfg);
g_uart0.p_api->write(g_uart0.p_ctrl, (uint8_t const *)"Loader start!\n*****\nReady to Jump to the app!\n\n", strlen("Loader start!\n*****\nReady to Jump to the app!\n\n"));
while(!uartTxCompleteFlg);
uartTxCompleteFlg = 0;
g_uart0.p_api->close(g_uart0.p_ctrl);
__disable_irq();
#endif
6.3.3 app使用sram mirror
参考fsp_xspi0_boot_SRAM_ATCM.ld
6.3.4 sram atcm同时使用
-
参考fsp_xspi0_boot_SRAM_ATCM.ld
-
在loader中复制atcm和sram
文章来源:https://blog.csdn.net/cl234583745/article/details/135285370
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!