共2条
1/1 1 跳转至页
请问周工公司能不能发篇文章详细介绍一下初始化时堆栈的设置?
问
我有一个问题请帮忙看看
不使用分散加载文件,只是自己建的工程,把入口地址设好了。
我用外部ram调试的时候,这样设的,ro base:0x80000000,rw base:0x40003000(或者0x80070000),entry
point 0x80000000,object/symbol:Startup.o,section:Vectors,然后把axd中,flash全为0,其他的地
方没有改动,这样的话,可以调试。但是我想下载flash的话,就不行了。跳线也设置好了,只是把rw
base改为0x81070000(或者0x40003000),然后把axd中的flash 0设为0x80000000和0x00200000,这样下
flash调试的话,就会进入data abort状态。
我看过前面的帖子,可能是我的堆栈没设好。我用的是startup.s文件。他是这样设置的:
__user_initial_stackheap
LDR r0,=bottom_of_heap
; LDR r1,=StackUsr
LDR r2,=top_of_heap
LDR r3,=bottom_of_Stacks
MOV pc,lr
AREA Heap, DATA, NOINIT
bottom_of_heap SPACE 1
AREA StackBottom, DATA, NOINIT
bottom_of_Stacks SPACE 1
AREA HeapTop, DATA, NOINIT
top_of_heap
AREA Stacks, DATA, NOINIT
StackUsr
这几句非常重要,但是没有注释,能不能帮我看一下哪不对吗?我最不明白的是为什么ram调试好用,而
下载flash就不行呢?用的是同一个文件。 答 1: 版主能不能回答一下?谢谢
不使用分散加载文件,只是自己建的工程,把入口地址设好了。
我用外部ram调试的时候,这样设的,ro base:0x80000000,rw base:0x40003000(或者0x80070000),entry
point 0x80000000,object/symbol:Startup.o,section:Vectors,然后把axd中,flash全为0,其他的地
方没有改动,这样的话,可以调试。但是我想下载flash的话,就不行了。跳线也设置好了,只是把rw
base改为0x81070000(或者0x40003000),然后把axd中的flash 0设为0x80000000和0x00200000,这样下
flash调试的话,就会进入data abort状态。
我看过前面的帖子,可能是我的堆栈没设好。我用的是startup.s文件。他是这样设置的:
__user_initial_stackheap
LDR r0,=bottom_of_heap
; LDR r1,=StackUsr
LDR r2,=top_of_heap
LDR r3,=bottom_of_Stacks
MOV pc,lr
AREA Heap, DATA, NOINIT
bottom_of_heap SPACE 1
AREA StackBottom, DATA, NOINIT
bottom_of_Stacks SPACE 1
AREA HeapTop, DATA, NOINIT
top_of_heap
AREA Stacks, DATA, NOINIT
StackUsr
这几句非常重要,但是没有注释,能不能帮我看一下哪不对吗?我最不明白的是为什么ram调试好用,而
下载flash就不行呢?用的是同一个文件。 答 1: 版主能不能回答一下?谢谢
共2条
1/1 1 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 三分钟快速搭建NXP MCU开发环境(VSCode)被打赏¥22元 | |
| 为遥控小车巧添功能被打赏¥26元 | |
| 【S32K3XX】FlexCAN 模块配置使用被打赏¥30元 | |
| 【S32K3XX】FlexCAN RAM 资源分配整理被打赏¥25元 | |
| 【S32K3XX】IPCF 适配核间中断处理被打赏¥21元 | |
| 【S32K3XX】IPCF 核间通讯模块UNMANAGED方式使用被打赏¥29元 | |
| 片外存储Flash使用方法(Arduino IDE环境)被打赏¥22元 | |
| 三分钟快速上手ESP-NOW(ArduinoIDE环境)被打赏¥23元 | |
| 【S32K3XX】LPSPI参数配置说明被打赏¥21元 | |
| 在WT9932C61-TINY上实现超声波测距被打赏¥22元 | |
我要赚赏金
