Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
Bootloader
想在RTT里直接跳转回去BOOT,跳转失败,如何思考这个问题?
发布于 2019-09-30 17:14:50 浏览:1741
订阅该版
先贴代码吧。由于选型的芯片FLASH不够,用的不是官方提供的BOOT方案。 现在可以实现从BOOT跳转到APP执行,但未能实现APP跳转到BOOT。 本段代码在普通线程内执行。 另外由于BOOT和APP工程分开,无法DEBUG,对跳转后程序执行情况没有很好的抓取思路,能提供调试思路也非常感激。 ![FastAdmin]() ```#define boot_ADDRESS 0x08000000 typedef void (*pFunction)(void); void app_jump_to_boot(void) { pFunction Jump_To_boot; Jump_To_boot = (pFunction)(*(u32 *) (boot_ADDRESS + 4)); // __set_PSP(*(u32*) boot_ADDRESS); // __set_CONTROL(0); __set_MSP(*(u32*) boot_ADDRESS); __set_FAULTMASK(0x01);//关闭所有中断 Jump_To_boot(); } ```我的疑问是:代码演示的跳转思路是否正确?已尝试过打开注释部分。 1.做跳转时候还需要考虑什么问题? 2.期望实现的是跳转后外设不断电,使用复位函数的话,外设貌似会掉电。 3.对于这种BOOT和APP分开的工程如何DEBUG比较方便?现在只知道跳转失败了(跳转后对串口命令无响应),不知道程序执行情况。 感谢大家的耐心帮助。
查看更多
7
个回答
默认排序
按发布时间排序
tyustli
2019-09-30
这家伙很懒,什么也没写!
你 boot 跳到 app 是如何跳的,app 跳 boot 也是一样的,另外复位也分很多种的,可以软复位
iamyhw
2019-09-30
这家伙很懒,什么也没写!
以前在ARM9玩过跳转,不管哪跳哪,要维护好中断向量表,保证新运行的代码能正确响应中断。访问的RAM空间也要设置正确。
iamyhw
2019-09-30
这家伙很懒,什么也没写!
你的app跳转前,检查下boot的中断向量是否设置好了,如果boot不是自己写的,可能很难得到向量地址。所以boot需要自己写。 如果向量表地址是固定的,也要确认boot的代码没有被破会(如果是内存中运行),比较难的是app中没有保存boot的现场运行环境,跳转后应该从boot的复位代码开始执行。
iamyhw
2019-09-30
这家伙很懒,什么也没写!
boot与app使用一样的startup代码试试
Casper
2019-10-09
这家伙很懒,什么也没写!
>以前在ARM9玩过跳转,不管哪跳哪,要维护好中断向量表,保证新运行的代码能正确响应中断。访问的RAM空间也 ... --- RTT系统的相关线程什么的,这类上下文要去维护吗? 通过软件复位方式是可以的,但是想直接跳BOOT,避免管脚复位。
iamyhw
2019-10-09
这家伙很懒,什么也没写!
如果是从boot与rtt之间来回跳,需要维护运行上下文。这种情况没玩过。 只跳一次的简单点,不用保护RAM空间。 如果是第一种情况,boot与RTT的运行RAM完全区分开,不要重叠。
iamyhw
2019-10-09
这家伙很懒,什么也没写!
以前shaolin提出过一个动态加载的方式,似乎是用软件中断的, boot(或其中的某些功能)作为rtt的一个模块运行,是否可行呢。
撰写答案
登录
注册新账号
关注者
0
被浏览
1.7k
关于作者
Casper
这家伙很懒,什么也没写!
提问
7
回答
10
被采纳
0
关注TA
发私信
相关问题
1
Linux下通过USBTinyISP为Arduino开发板烧?写Bootloader
2
请教修改NVIC后RTT调度函数失效的问题[已解决 bootloader中打开了不必要的中断]
3
进入bootloader的方式探讨
4
求助:IAP里的APP使用的RTT,跳转后出错。[已解决]
5
有没有人在STM32F103上用UART IAP跑过RT-Thread?
6
想做网口的IAP远程升级,不知可不可行
7
IAP问题
8
[已解决]请教基于RTT的IAP程序切换到应用程序不成功的问题(基于STM32F4)?
9
stm32f4xx-----IAP移植APP程序需要注意的地方
10
在调试IAP网络升级遇到跳转之后bootloader程序网络不通
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
最新文章
1
【24嵌入式设计大赛】基于RT-Thread星火一号的智慧家居系统
2
RT-Thread EtherKit开源以太网硬件正式发布
3
如何在master上的BSP中添加配置yml文件
4
使用百度AI助手辅助编写一个rt-thread下的ONVIF设备发现功能的功能代码
5
RT-Thread 发布 EtherKit开源以太网硬件!
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
ESP8266
I2C_IIC
WIZnet_W5500
UART
ota在线升级
PWM
cubemx
freemodbus
flash
packages_软件包
BSP
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
中断
Debug
编译报错
msh
SFUD
keil_MDK
rt_mq_消息队列_msg_queue
MicroPython
ulog
C++_cpp
本月问答贡献
踩姑娘的小蘑菇
7
个答案
3
次被采纳
a1012112796
15
个答案
2
次被采纳
张世争
9
个答案
2
次被采纳
rv666
5
个答案
2
次被采纳
用户名由3_15位
13
个答案
1
次被采纳
本月文章贡献
程序员阿伟
9
篇文章
2
次点赞
hhart
3
篇文章
4
次点赞
大龄码农
1
篇文章
5
次点赞
RTT_逍遥
1
篇文章
2
次点赞
ThinkCode
1
篇文章
1
次点赞
回到
顶部
发布
问题
分享
好友
手机
浏览
扫码手机浏览
投诉
建议
回到
底部