完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
目前我正在从事 i.MXRT1064 的引导加载程序开发活动,我从文件系统接收到新固件映像并写入内部闪存。写入新的固件映像后,我想从自定义引导加载程序跳转到应用程序,自定义引导加载程序的地址范围从 0x70000000 到 0x70080400,其余地址空间分配给应用程序。我已经参考了 mcuboot_opensource 的 SDK 源代码,并且从这个 SDK 示例中跳转至应用程序代码,在那里我更新了 ivt,禁用了矢量并尝试执行跳转,但不幸的是它没有发生。请参考我的以下跳转到应用程序代码。
#define APP_VECTOR_TABLE_ADDRESS 0x70080400 #define STACK_POINTER_SIZE 0x20001FFFUL struct arm_vector_table { uint32_t msp; uint32_t 重置; }; //!@brief 退出引导加载程序并跳转到用户应用程序。 void jump_to_application(void) { /*LED*/ gpio_pin_config_t led_config = {kGPIO_DigitalOutput, 0, kGPIO_NoIntmode}; GPIO_PinInit(GPIO3, 4U, &led_config); GPIO_PinWrite(GPIO3, 4U, 1U); // 第 6 个 LED // /*LED*/ //跳转实现// PRINTF("n开始跳转过程n"); __asm 易失性(“cpsid i”); SCB_DisableDCache(); vt = (struct arm_vector_table *)(APP_VECTOR_TABLE_ADDRESS); vt->msp = STACK_POINTER_SIZE; //清理(); SCB_DisableICache(); SCB_DisableDCache(); ARM_MPU_Disable(); DbgConsole_Deinit(); //bspstop(); for (long delay = 0; delay < 1000000; delay++) { // 什么都不做.. for (long delay1 = 0; delay1 < 1000; delay1++) { // 什么都不做.. } } //!<实验部分> //PRINTF("nVTOR 初始化之前n"); // 将 VTOR 设置为应用程序向量表地址。 //SCB->VTOR = (uint32_t *)(0x70080400); //!<实验部分> __set_CONTROL(0); __set_MSP(vt->msp); __为B(); ((void (*)(void))vt->reset)(); // 永远不应打印此语句// PRINTF("nJUMP SUCCESSFULn"); //跳转实现 - END// //引导加载程序结束 // } 请找到随附的应用程序的十六进制文件快照以供参考。请让我知道,我在代码中遗漏了什么,并给我跳转的解决方案。 |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1908个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36361 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4400 浏览 0 评论
6054 浏览 1 评论
6765 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4216 浏览 0 评论
620浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
616浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
608浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
694浏览 2评论
799浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-25 05:05 , Processed in 1.285750 second(s), Total 76, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号