共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 跳转至页
回复
我要赚赏金打赏帖 |
|
|---|---|
| 基于MCP23S17的输入输出功能模块控制被打赏¥20元 | |
| 【S32K3XX】SPD 软件包使用Link文件修改被打赏¥22元 | |
| Switch-Case局部变量定义问题被打赏¥23元 | |
| 基于米尔TIAM62L开发板的串口通信及应用被打赏¥20元 | |
| PCF8574功能模块及其使用被打赏¥20元 | |
| 传感器LSM6DSO及LIS3MDL的功能检测被打赏¥18元 | |
| LPS25HB气压传感器及其检测被打赏¥18元 | |
| HTS221温湿度传感器及其检测被打赏¥18元 | |
| 【S32K3XX】HSE FW 版本更新被打赏¥21元 | |
| 基于ArduinoUNO开发板的AT24C02读写测试被打赏¥16元 | |
我要赚赏金
