OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 5915|回复: 9

stm32问题

[复制链接]

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-3-30
在线时间
0 小时
发表于 2013-3-30 20:37:51 | 显示全部楼层 |阅读模式
第一个问题
用j link调试的时候,_main 的下一步是直接跳到 main
_main到main的过程中究竟经历了什么??

第二个问题

复位的时候,程序会从哪里开始,寄存器的值是多小?定值?

第三个问题
preserve 8 的作用是什么?
堆和栈在存储空间上是怎么设置?在哪里设置?设置完后, c p u  ,程序,存储器还会做什么?

第四个问题
volatile  的作用是什么?















正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-3-30
在线时间
0 小时
 楼主| 发表于 2013-3-30 20:38:06 | 显示全部楼层
求解答啊。。。。。。。。。
回复 支持 反对

使用道具 举报

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-3-30
在线时间
0 小时
 楼主| 发表于 2013-3-30 20:38:26 | 显示全部楼层
能答多小就多小啊。。。。。
回复 支持 反对

使用道具 举报

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-3-30
在线时间
0 小时
 楼主| 发表于 2013-3-30 20:40:05 | 显示全部楼层
求高手。。。
回复 支持 反对

使用道具 举报

36

主题

1105

帖子

5

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
2201
金钱
2201
注册时间
2012-2-8
在线时间
35 小时
发表于 2013-3-30 20:54:13 | 显示全部楼层
1. 百度, 谷歌, 或者 论坛搜索,  STM32 启动代码
2. RTFM
3. RTFM
4. 百度, 谷歌, 或者论坛搜索
https://github.com/roxma
回复 支持 反对

使用道具 举报

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-3-30
在线时间
0 小时
 楼主| 发表于 2013-4-1 14:11:29 | 显示全部楼层
不要沉不要沉
回复 支持 反对

使用道具 举报

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-3-30
在线时间
0 小时
 楼主| 发表于 2013-4-1 14:11:42 | 显示全部楼层
真的不会啊
回复 支持 反对

使用道具 举报

8

主题

14

帖子

0

精华

初级会员

Rank: 2

积分
66
金钱
66
注册时间
2013-3-30
在线时间
0 小时
 楼主| 发表于 2013-4-1 14:12:42 | 显示全部楼层
回复【5楼】Pony279:
---------------------------------
我看过《CM3技术参考手册》里面没有关于复位时寄存器的值啊。。
回复 支持 反对

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165540
金钱
165540
注册时间
2010-12-1
在线时间
2117 小时
发表于 2013-4-1 14:26:42 | 显示全部楼层
回复【楼主位】MasterMartin:
---------------------------------
1,看这里:http://www.openedv.com/posts/list/5903.htm

2,从0X08000000开始运行,具体的过程,参考战舰stm32开发板<STM32开发指南>IAP实验这个章节的介绍。

3,转一个别人的答案:
c和汇编有8位对齐的要求,这两个伪指令可以满足此要求,存在REQUIRE8<——> RESERVE8的对应关系,但不是说有一个REQUIRE8就要有一个 RESERVE8,如果是一个c文件和一个汇编文件的调用,也就涉及一个PRESERVE8或者是一个REQUIRE8,  以下剪自ADS1.2中PDF,就很清楚,由此可见,最好不要使用LDRD 或 STRD。
LDRD and STRD instructions (double-word transfers) only work correctly if the address they access is 8-byte aligned.
If your code includes LDRD or STRD transfers to or from the stack, use REQUIRE8 to instruct the linker to ensure that your code is only called from objects that preserve 8-byte alignment of the stack.
If your code preserves 8-byte alignment of the stack, use RESERVE8 to inform the linker.
The linker ensures that any code that requires 8-byte alignment of the stack is only called, directly or indirectly, by code that preserves 8-byte alignment of the stack.
    另外,REQUIRE8和PRESERVE8并不完成8 byte 对齐的操作,对齐由ALIGN完成。

关于堆栈,请参考第1点。

4,这个真可以从本论坛搜索得到答案。
给一个你参考:http://www.openedv.com/posts/list/918.htm
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

1263

帖子

1

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
1612
金钱
1612
注册时间
2012-6-15
在线时间
39 小时
发表于 2013-4-2 20:44:34 | 显示全部楼层
回复【5楼】Pony279:
---------------------------------
RTFM? 哈哈,新学到一个词汇
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-7-22 02:13

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表