Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
IAP_在线更新
bootload跳转到app
Nuvoton_新唐mcu
新唐M487 IAP跳跳转RTT应用失败,进入hard fault
发布于 2023-09-07 17:56:47 浏览:125
订阅该版
使用新唐M487做ota,boot(非rtt代码)跳转rtt应用失败,进入hardfault.使用非rtt程序跳转是没问题的。请大神帮忙看看问题出哪了。  使用的是APRPM含IAP的配置 ```c int main() { upgradeTypedef upgradeParam; SYS_Init(); /* Init System, IP clock and multi-function I/O */ UART0_Init(); /* Initialize UART0 */ /* Configure SPI_FLASH_PORT as a master, MSB first, 8-bit transaction, SPI Mode-0 timing, clock is 20MHz */ SPI_Open(SPI_FLASH_PORT, SPI_MASTER, SPI_MODE_0, 8, 20000000); /* Disable auto SS function, control SS signal manually. */ SPI_DisableAutoSS(SPI_FLASH_PORT); SYS_UnlockReg(); /* Unlock register lock protect */ FMC_Open(); /* Enable FMC ISP function */ // printf("w25q16 ID:%04x\n", SpiFlash_ReadMidDid()); upgradeParam = get_upgrade_mark(); if(upgradeParam.mark == 0x01) //升级文件已经下载 { if(0 != copy_new_firmware(upgradeParam)) //拷贝失败,回退 { restore_factory_settings(); } } iap_load_app(APP_1_ADDR); while(1){} } ``` 跳转程序如下: ```c #define APP_1_ADDR 0x00003000 void iap_load_app(__IO uint32_t appAddr) { int i; if (((*(__IO uint32_t*)appAddr) & 0x2FFC0000 ) == 0x20000000) { FMC_Close(); /* Disable FMC ISP function */ SYS_LockReg(); printf("Jump to application running ... \n"); JumpAddress = *(__IO uint32_t*) (appAddr + 4); Jump_To_Application = (pFunc) JumpAddress; __disable_irq(); SysTick->CTRL = 0; SysTick->LOAD = 0; SysTick->VAL = 0; for( i=0;i<8;i++) { NVIC->ICER[i] = 0xFFFFFFFF; NVIC->ICPR[i] = 0xFFFFFFFF; } __set_MSP(*(__IO uint32_t*) appAddr); __set_CONTROL(0); __ISB(); Jump_To_Application();//执行函数跳转 printf("Qboot jump to application fail.\n"); } else printf("No legitimate application.\n"); } ``` APP代码中,linker和utilites配置如下:    boot代码配置的keil配置和ICP配置如下:     改的简单的非rtt点灯程序就可以正常跳转 
查看更多
0
个回答
默认排序
按发布时间排序
暂无答案,快来添加答案吧
撰写答案
登录
注册新账号
关注者
0
被浏览
125
关于作者
隔夜的隔夜
这家伙很懒,什么也没写!
提问
2
回答
1
被采纳
0
关注TA
发私信
相关问题
1
RTT-stdio 设置flash地址
2
RT Thread 尝试IAP功能时 分区FLASH无法擦写
3
请问用rtt做bootloader跳转前需要关闭哪些东西?
4
IAP程序下载到80%就下不进去了
5
stm32f103rc IAP通过bootloder写入bin文件跑不起来
6
rtt编写的bootloader可顺利跳转至app但运行异常
7
如何确定文件在flash中的物理地址
8
关于STM32H743的bootloader的地址问题
9
stm32 hal库iap程序心得分享
10
iap跳转至app后,系统调度失败引起异常复位
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
机器人操作系统 (ROS2) 和 RT-Thread 通信
4
五分钟玩转RT-Thread新社区
5
国产MCU移植系列教程汇总,欢迎查看!
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
github高阶加速,速度可达带宽峰值,测试到146Mbit/s
2
英飞凌携手RT-Thread举办嵌入式网络应用开发沙龙,带你从0到1搭建智能数据网关
3
BL808 RT-Thread Wi-Fi 驱动适配
4
rt-thread 系统运行期改变网卡配置
5
简单的步进电机驱动调试
热门标签
RT-Thread Studio
串口
LWIP
Env
AT
SPI
Bootloader
FinSH
ART-Pi
CAN总线
Hardfault
USB
文件系统
RT-Thread
DMA
SCons
线程
MQTT
RT-Thread Nano
STM32
RTC
ESP8266
rt-smart
flash
ota在线升级
WIZnet_W5500
FAL
I2C
packages_软件包
UART
cubemx
freemodbus
潘多拉开发板_Pandora
定时器
BSP
PWM
ADC
socket
中断
rt_mq_消息队列_msg_queue
keil_MDK
SDIO
Debug
AB32VG1
MicroPython
C++_cpp
编译报错
msh
QEMU
ulog
本月问答贡献
出出啊
1500
个答案
338
次被采纳
小小李sunny
1389
个答案
276
次被采纳
张世争
714
个答案
157
次被采纳
crystal266
522
个答案
153
次被采纳
whj467467222
1216
个答案
146
次被采纳
本月文章贡献
出出啊
1
篇文章
12
次点赞
小小李sunny
1
篇文章
1
次点赞
张世争
2
篇文章
1
次点赞
crystal266
2
篇文章
5
次点赞
whj467467222
2
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部