野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 12402|回复: 5

关于startup_stm32f10x_hd.s 中启动疑问

[复制链接]
发表于 2016-8-13 23:03:04 | 显示全部楼层 |阅读模式
本帖最后由 kepma 于 2016-8-13 23:12 编辑

stm32f103VET6,看了火哥的 “零死角玩转STM32—F103霸道-2016-8-5(还没写完).pdf” 第15章节启动文件详解, 产生如下疑问,


1-stm32启动后,执行startup_stm32f10x_hd.s中代码,当执行到最后一段代码时,火哥的描述如下图。
“如果没有定义(实际的情况就是我们没定义__MICROLIB)则使用默认的C库,然后初始化用户堆栈大小,这部分有C库函数__main来完成”
其中,
1.1-默认的C库指的是什么 ?
1.2-初始化用户堆栈大小   为什么说是由C库函数__main来完成


2-执行完startup_stm32f10x_hd.s中所有代码,
2.1-下一步执行到哪行代码 ?
2.2- 启动文件中 哪个代码起到这样的跳转作用 ?


3-“在离开复位状态后, CM3 做的第一件事就是读取下列两个 32 位整数的值:”
我阅读后的理解是,stm32上电,执行startup_stm32f10x_hd.s中所有代码,然后读取向量表
1、从地址 0x0000,0000 处取出 MSP 的初始值
2、从地址 0x0000,0004 处取出 PC 的初始值——这个值是复位向量, LSB 必须是 1。 然后从这个值所对应的地址处取指,即执行Reset_Handler
3.1- “在离开复位状态后” 怎么理解?怎么操作才可以叫“在离开复位状态后”
3.2-在哪查看地址 0x0000,0004存的是 0x00000101
3.3-在哪查找Reset_Handler的地址是 0x00000101


问题较烦多,若是针对2.1回答,请回答时加“2.1”,这样好对应理解,先对评论者说谢谢。



用户栈堆初始化.png
初始化堆栈代码.png
系统启动流程.png
回复

使用道具 举报

发表于 2016-8-14 00:23:12 来自手机 | 显示全部楼层
1-这章节的教程有点小错误,具体的我已经改过来了,最新版本的教程我还没上传   2-你问的问题有点多  3-要想解开这些疑问请看我新录制的视频教程,在启动文件这个章节,视频是根据我最新校正的教程来讲解的  4-如果你看完视频还有疑问的话 我们再来讨论
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-14 10:11:01 | 显示全部楼层
fire 发表于 2016-8-14 00:23
1-这章节的教程有点小错误,具体的我已经改过来了,最新版本的教程我还没上传   2-你问的问题有点多  3-要 ...

好的,谢谢
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-14 14:27:15 | 显示全部楼层
本帖最后由 kepma 于 2016-8-14 17:06 编辑
fire 发表于 2016-8-14 00:23
1-这章节的教程有点小错误,具体的我已经改过来了,最新版本的教程我还没上传   2-你问的问题有点多  3-要 ...

火哥,看了视频,结合其他资料,请教三个小疑惑,
1-stm32上电后,从flash的地址 0x0000,0000 处取出 MSP 的初始值,然后从地址 0x0000,0004 处取出 PC 的初始值——这个值指向Reset_Handler,再执行Reset_Handler函数(即先执行SystemInit,再执行C库函数__main(初始化用户堆栈大小,再跳转main,去C世界))   这样的理解对不?

2-startup_stm32f10x_hd.s 中分配堆栈大小(RAM 0x2000 0000 中进行),初始化中断向量表(flash 0x0800 0000,如果选择flash启动,即boot0=1),这些是在上电后执行的不?

3-视频中提到的“由Q软件带的库函数” Q软件是指Keil 或IAR 不
回复 支持 反对

使用道具 举报

发表于 2016-8-15 08:54:18 | 显示全部楼层
kepma 发表于 2016-8-14 14:27
火哥,看了视频,结合其他资料,请教三个小疑惑,
1-stm32上电后,从flash的地址 0x0000,0000 处取出 MS ...

3个都理解对了
回复 支持 反对

使用道具 举报

发表于 2018-5-7 20:24:30 | 显示全部楼层
谢谢分享~~~~~
回复

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-26 03:21 , Processed in 0.037991 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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