共2条
1/1 1 跳转至页
有几个问题困绕多时,望高人赐教

问
1._main到底应该怎么来正确使用
启动代码中到底是用 b main还是 b _main?
我用了b _main后软件仿真时不知道为什么总会跳到reset_vector地址去
2.设FLASH地址0X04000000,重映射前FALSH是0地址吗,
那0X04000000地址是什么呢?也还是FLASH吗?
我看的书上FLASH是0x04000000是启动地址,这个地方的程序是:
ROM_Start EQU 0x04000000
Instruct_2 EQU ROM_Start+4
ResetBase EQU 0x0b000000 //重映射控制器基地址
ClearResetMap EQU ResetBase + 0x20 //重映射控制器地址
ENTRY
LDR PC,=Instruct_2
mov r0,#0
ldr r1,=ClearResetMap
strb r0,[r1]
.....
我不懂第一句话有什么必要,完全可以没有啊?
3.RW段的装载地址和运行地址应该是绝对不同的,看书说RW段的复制可以 是自己写代码,还可以用_main来实现
是不是用了_main,所有运行地址在RAM里的RW段都不用自己来编COPY程序
4.在某书上有一句"如果应用程序中不包含函数main(), 而是使用自己定义的
启动代码,应用程序仍然可以使用很多C运行时库的功能.."
请问自己是不是有main()就不能使用"自己定义的启动代码",难道连向量设置都不需要了吗?我觉得向量设置应该是必须的
大家见笑了,希望哪位能详细开化我这愚公
答 1: 自己顶一下 答 2: 在线等待中 答 3: 自己回答一下第一个问题自己回答一下第一个问题
原来一个C程序里有 main _main __main三种标号
只有使用了第三个标号__main才是正确的
真是丧气啊,为什么搞出这三个来扰乱人呢
使用了b __main后,软件仿真总算是正确了
但一到板上去,还没运行到main()就会进入软件中断去
不知道是否和我的连接器设置有关
我的FLASH的硬件地址是bank0
我的SDRAM的硬件地址是BANK6
其他地方都没有存储器了(特别是BANK7是空的)
我在ADS里SIMPLE IMAGE设置 ro:0 rw 0X0C000000
其他问题等待中
请大家帮我解答啊!
启动代码中到底是用 b main还是 b _main?
我用了b _main后软件仿真时不知道为什么总会跳到reset_vector地址去
2.设FLASH地址0X04000000,重映射前FALSH是0地址吗,
那0X04000000地址是什么呢?也还是FLASH吗?
我看的书上FLASH是0x04000000是启动地址,这个地方的程序是:
ROM_Start EQU 0x04000000
Instruct_2 EQU ROM_Start+4
ResetBase EQU 0x0b000000 //重映射控制器基地址
ClearResetMap EQU ResetBase + 0x20 //重映射控制器地址
ENTRY
LDR PC,=Instruct_2
mov r0,#0
ldr r1,=ClearResetMap
strb r0,[r1]
.....
我不懂第一句话有什么必要,完全可以没有啊?
3.RW段的装载地址和运行地址应该是绝对不同的,看书说RW段的复制可以 是自己写代码,还可以用_main来实现
是不是用了_main,所有运行地址在RAM里的RW段都不用自己来编COPY程序
4.在某书上有一句"如果应用程序中不包含函数main(), 而是使用自己定义的
启动代码,应用程序仍然可以使用很多C运行时库的功能.."
请问自己是不是有main()就不能使用"自己定义的启动代码",难道连向量设置都不需要了吗?我觉得向量设置应该是必须的
大家见笑了,希望哪位能详细开化我这愚公
答 1: 自己顶一下 答 2: 在线等待中 答 3: 自己回答一下第一个问题自己回答一下第一个问题
原来一个C程序里有 main _main __main三种标号
只有使用了第三个标号__main才是正确的
真是丧气啊,为什么搞出这三个来扰乱人呢
使用了b __main后,软件仿真总算是正确了
但一到板上去,还没运行到main()就会进入软件中断去
不知道是否和我的连接器设置有关
我的FLASH的硬件地址是bank0
我的SDRAM的硬件地址是BANK6
其他地方都没有存储器了(特别是BANK7是空的)
我在ADS里SIMPLE IMAGE设置 ro:0 rw 0X0C000000
其他问题等待中
请大家帮我解答啊!
共2条
1/1 1 跳转至页
回复
打赏帖 | |
---|---|
【STM32F769】AI之与本地deepseek对接被打赏50分 | |
Buck电路工作在CCM模式下电感电流的计算公式是什么?被打赏5分 | |
buck电路工作原理被打赏5分 | |
基于MSPM0L1306的MODBUS-RTU协议通讯实验被打赏100分 | |
我想要一部加热台+多合一调试工具被打赏18分 | |
每周了解几个硬件知识+485硬件知识分享被打赏10分 | |
【换取手持数字示波器】树莓派PICO调试器官方固件本地化部署实践被打赏24分 | |
【换取手持数字示波器】分享一个KEIL无法识别CMSIS-DAP调试器的解决办法被打赏20分 | |
【换取手持数字示波器】分享一个自制的ArduinoNano扩展板底板被打赏23分 | |
【换取手持示波器】树莓派PICOW网页烟花被打赏18分 |