腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
(1692)
视频
沙龙
1
回答
重新
定位
引导
加载
程序
后
的
ARM
M0+
异常
堆栈
指针
、
、
应用
程序
正在使用重置时定义
的
堆栈
指针
(
重新
定位
的
地址为0- 0x4000),这是高内存,但中断代码使用
的
是来自
引导
加载
程序
(低内存)
的
堆栈
指针
,这会破坏我
的
数据。问题-
ARM
文献指出(我没有使用“进程”
堆栈
)-应用
程序
和
异常
处理
程序
使用“
浏览 9
提问于2017-02-09
得票数 0
1
回答
STM32H7复位时VTOR寄存器
的
行为
、
、
Cortex M7上
的
向量表偏移寄存器允许
重新
定位
向量表。
ARM
编程手册提到重置
后
VTOR
的
值是“未知
的
”。在软重置之后使用什么重置处理
程序
: Flash中向量表中
的
“原始”处理
程序
?还是通过VTOR
的
“
重新
安置”?
堆栈
指针
<em
浏览 0
提问于2020-02-28
得票数 1
回答已采纳
1
回答
硬件中断如何在没有预先设置
的
情况下触发软件处理
程序
?
、
、
、
、
我知道,对于这个特定
的
处理器(
ARM
Cortex
M0+
),一旦触发外部中断行,它将转到它
的
向量表和相应
的
中断请求偏移量,并且(这里可能出错)将在该地址执行
ARM
拇指代码。如果我正确理解,一些处理器将查看在所述IRQ地址
的
值,这将指向中断处理
程序
的
地址。在学习
ARM
Cortex
M0+
向量表时,拇指代码在该地址做什么?我假设它正在做一些类似于将PC寄存器设置为中断处理
程序</e
浏览 1
提问于2018-09-21
得票数 0
回答已采纳
3
回答
ARM
的
启动过程是什么?
、
、
我们知道,对于X86架构:在我们按下电源按钮
后
,机器从0xFFFFFFF0开始执行代码,然后它开始执行BIOS中
的
代码,以便进行硬件初始化。BIOS执行
后
,它使用bootloader将操作系统映像
加载
到内存中。最后,操作系统代码开始运行。对于
ARM
架构,按下电源按钮
后
的
启动过程是什么?谢谢!
浏览 1
提问于2011-05-26
得票数 66
回答已采纳
1
回答
gcc臂__asm内插参数传递常数
、
、
、
我正在编写一个小型
的
皮层
M0+
引导
程序
。下面有一个内联
程序
集,它通过
加载
堆栈
指针
和从Flash中
的
应用
程序
位置重置处理
程序
从
引导
加载
程序
启动主应用
程序
。" : "X"(FLASH_APP_START) )
浏览 3
提问于2015-12-22
得票数 3
回答已采纳
3
回答
在Flash内存中应用
程序
之后放置
引导
加载
程序
、
、
我为我
的
STM32F042k6板编写了一个
引导
加载
程序
,它
的
功能非常好。在系统重置时,启动
引导
加载
程序
,然后可以跳转到应用
程序
。太棒了:)。现在,我希望在我
的
闪存中做相反
的
事情。我希望启动
引导
加载
程序
的
起始地址不是0x08000000,比如0x08007000。当我在Linker脚本中进行修改时,
程序
无法调试。
浏览 3
提问于2019-02-14
得票数 0
回答已采纳
2
回答
ISR (中断服务例程)有单独
的
堆栈
吗?
、
、
、
、
当使用RTOS (ex FreeRTOS)时,每个线程都有单独
的
堆栈
空间。那么ISR (中断服务例程)呢,它们在内存中有一个单独
的
堆栈
吗?或者这是可配置
的
?如果它们没有存储ISR中声明
的
局部变量
的
堆栈
?
浏览 3
提问于2016-02-03
得票数 7
回答已采纳
1
回答
在
ARM
Cortex-M,MSP还是PSP中,哪一个
堆栈
是从重置中出来
的
?
、
、
我一直在阅读
ARM
信息中心
的
各个部分,试图找到我
的
答案,但是我到了一个让我感到困惑
的
地步,所以我希望这里有人能帮上忙。据我所知,Cortex-M处理器中有两个
堆栈
: 主
堆栈
在重置时使用,并且总是以Handler模式使用(
浏览 1
提问于2018-08-25
得票数 4
回答已采纳
1
回答
在启动代码
的
情况下,如何在皮层m3中执行重置序列?
、
在掌握了皮层m3中
的
各种故障处理
程序
之后,我现在正在学习重置序列和复位处理
程序
。在正常情况下,在电源复位
后
。PC指向0x00000000,其中存储初始msp值,然后在0x00000004处保留重置向量,即调用初始化msp重置处理
程序
。在
引导
代码
的
情况下,重启顺序是怎样
的
,以及
引导
过程之后向量表是如何被
重新
定位
的
。
浏览 3
提问于2016-12-15
得票数 0
回答已采纳
1
回答
中断
加载
-多/存储-多在CortexM上
、
、
、
当IRQ中断
加载
/存储多条指令时,我面临一个与从中断返回有关
的
问题。在我
的
例子中,Kernel然后保存Callee保存
的
上下文并准备一个新
的
上下文,其中包括
堆栈
上
的
一个虚拟<em
浏览 0
提问于2018-10-22
得票数 0
回答已采纳
1
回答
为什么需要在从
引导
加载
器跳转到应用
程序
之前更新
堆栈
指针
?
、
、
、
、
当从
引导
器跳转到应用
程序
时,我们通常会将
堆栈
指针
更新到应用
程序
堆栈
指针
,然后将
程序
计数器更新为应用
程序
的
Reset_Handler。*/} Reset_Handler
的
第一行代码如下所示,它将
堆栈
指针<
浏览 2
提问于2019-12-23
得票数 4
回答已采纳
2
回答
cortex a9
引导
和内存
、
我是一个从微控制器编程开始
的
新手。这里感兴趣
的
芯片是cortex A9。在复位或上电时,我
的
读数必须是0x0000000处
的
代码。尽管我
的
问题听起来可能太琐碎,但它们将有助于我正确地看待一些概念。是否应该存在某种
引导
加载
程序
&如果是,那么
引导
加载
程序
应该位于什么地址&是否也应该驻留在ROM中?最后,内核在什么时候启动&内核代码驻留在哪里?
浏览 1
提问于2011-07-16
得票数 7
1
回答
LOADADDR=0x20008000在linux命令中意味着什么?
、
我在学习u靴
的
事。使用qemu模型,我可以(使用qemu)将图像
加载
到我想要
的
内存位置,并且可以使用booti addr命令运行内核
引导
。正如您在
arm
64中所知道
的
,没有uImage。那么,当为
arm
构建linux内核(32位)时,make LOADADDR=0x20008000 uImage意味着什么?我们可以使用u
引导
shell (从SD卡或网络)
加载
我们想要
的
任何位置
的
uImage。那么,这
浏览 0
提问于2021-10-21
得票数 0
回答已采纳
2
回答
如何才能完全清除
堆栈
?
、
、
我正在使用
ARM
Cortex-M0指令集编写汇编代码。由于我已经将相当多
的
元素推送到
堆栈
中,有没有什么方法可以完全清除
堆栈
,而不是逐个弹出元素?如果能得到一些指导,我们将不胜感激。
浏览 0
提问于2016-09-12
得票数 0
1
回答
Keil RTX启动时
的
控制
、
、
我正在为使用相对复杂
的
通信接口
的
ARM
Cortex-M3编写一个
引导
加载
程序
;这与实际应用
程序
使用
的
相同。应用
程序
使用Keil
的
RTX作为内核,通信
堆栈
依赖于此。当然是利用GCC。其想法是禁用中断、设置向量表、
堆栈
指针
,并跳转到新
的
向量表中
的
应用
程序
的
重置向量。所有这些工作都很有趣,只是在不
浏览 5
提问于2016-07-29
得票数 0
回答已采纳
1
回答
如何在Stellaris中
的
程序
之间跳转
、
、
、
我正在开发一个Stellaris LM3S1607芯片
的
引导
加载
程序
。我使用
的
是Keil MicroVision4 C编译器。这个想法是创建两个独立
的
固件,其中一个将更新另一个。在此之前,它是有效
的
。我还验证了数据是否正确写入闪存。现在我在flash中有两个应用
程序
。一个是我
的
uip
引导
加载
程序
,而seoncd是我
的
主项目。我想知道如何从第一个
程序</em
浏览 0
提问于2013-01-18
得票数 5
回答已采纳
1
回答
地址ZTEXTADDR在
ARM
Linux
引导
中
的
应用
、
、
ZTEXTADDR在Linux内核中
的
作用是什么? uncompressed image (@ ZRELADDR) 在新内核版本中不使用ZTEXTADDR
引导
进程
浏览 3
提问于2013-12-01
得票数 2
1
回答
STM32F4将不会停留在
引导
加载
程序
中
、
我已经尝试了很多事情来完成这个任务,但是它总是以固件跳转到
引导
加载
程序
(至少看起来是这样)而结束,并且在大约18秒
后
固件
重新
启动(据我所知,没有使用任何可能再次唤醒芯片
的
监视狗或类似的东西)。(如果设置了它,请执行以下操作) 2.在运行时调用
浏览 0
提问于2019-01-08
得票数 1
2
回答
引导
加载
程序
与应用
程序
之间
的
共享代码
、
、
我正在开发一个嵌入式系统(STM32,
ARM
M33)。我正在开发
引导
加载
程序
和应用
程序
代码。
引导
加载
程序
和应用
程序
都使用相同
的
文件系统代码来访问外部闪存。它涉及从
引导
加载
器导出一个符号列表,并根据该列表链接应用
程序
,以便我
的
共享函数直接链接到
引导
加载
程序
的
地址空间。 选项3
浏览 3
提问于2022-09-19
得票数 2
1
回答
在交叉编译导致展开回溯失败时添加-O2选项
、
、
、
交叉编译时添加-funwind-tables,可以通过libgcc库中
的
接口(_Unwind_Backtrace and _Unwind_VRS_Get)成功解开回溯。我通过-Q -O2 --help=optimizers打印出来
的
优化和测试,但是结果和-O2不一样,很奇怪
浏览 6
提问于2019-12-26
得票数 0
点击加载更多
热门
标签
更多标签
云服务器
ICP备案
对象存储
实时音视频
云直播
活动推荐
运营活动
广告
关闭
领券