查看: 9542|回复: 9

[项目] 【GD32】启动流程解析

  [复制链接]
  • TA的每日心情
    奋斗
    2017-7-17 13:49
  • 签到天数: 367 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-7-5 21:00:20 | 显示全部楼层 |阅读模式
    分享到:
    本帖最后由 荣丰宇 于 2015-7-5 21:03 编辑

    一直不敢写系统启动这方面的东西,因为知道自己对它只是一知半解,写出来必然有错误之处,惹大家的笑话……
    其实会做单片机开发,至少是ARM内核,会写代码,但是不一定了解系统真正从上电到运行自己的C代码程序,之间到底做了些什么,本着刨根问底的态度,现在我们就仔细剖析一下!有误之处请大家指出,共同进步!
    GD32资料共享链接:  http://pan.baidu.com/s/1kTKiYQN
    密码:8ujm
    1GD32】开箱晒照
    2GD32】上电&软件环境
    3GD32】硬件原理&软件开发&Demo
    4GD32】做开发(全文字)
    5GD32】关于小红板时钟配置的故事

    本文针对GD32F150小红板相关的3个启动文件startup_gd32f1x0.s
    1、  官网固件库
    2、  小红板例程
    3、  飞鸟操作系统(基于小红板的)

    总结一下GD32的启动文件和启动过程:
    1对栈和堆的大小进行定义,
    2在代码区的起始处建立中断向量表,其第一个表项是栈顶地址,第二个表项是复位中断服务入口地址。
    3在复位中断服务程序中跳转到C/C++标准实时库的__main函数,完成用户堆栈等的初始化后,跳转.c文件中的main函数开始执行C程序。
    假设GD32被设置为从内部FLASH启动(这也是最常见的一种情况),中断向量表起始地位为0x8000000,则栈顶地址存放于0x8000000处,而复位中断服务入口地址存放于0x8000004处。当遇到复位信号后,则从0x80000004处取出复位中断服务入口地址,继而执行复位中断服务程序,然后跳转__main函数,最后进入mian函数,来到C的世界。

    了解系统的启动过程,对于更加深入了解和研究单片机打下基础,不过这也必须要对内核的特点有一定的了解,能力有限,里面可能有些错误,请大家见谅!

    更多内容见附件,图片太多发帖不方便……



    启动流程解析.pdf

    670.5 KB, 下载次数: 89

    3个启动文件.zip

    6.66 KB, 下载次数: 45

    评分

    参与人数 1声望 +2 与非币 +10 收起 理由
    loveeeboard + 2 + 10 很给力!

    查看全部评分

    回复

    使用道具 举报

  • TA的每日心情
    开心
    2015-7-14 10:15
  • 签到天数: 4 天

    连续签到: 1 天

    [LV.2]偶尔看看I

    发表于 2015-7-5 22:12:23 | 显示全部楼层
    非常详细的资料,感谢你的付出。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2017-7-17 13:49
  • 签到天数: 367 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-7-5 22:36:20 | 显示全部楼层
    感谢trochili 支持,今天一天的努力没有白费~~~
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2021-12-10 15:56
  • 签到天数: 2675 天

    连续签到: 1 天

    [LV.Master]伴坛终老

    发表于 2015-7-5 23:59:30 | 显示全部楼层
    好资料,感谢分享
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    奋斗
    2016-8-15 09:28
  • 签到天数: 222 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-7-6 09:42:33 | 显示全部楼层

    非常详细的资料,感谢你的付出。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2013-10-31 08:31
  • 签到天数: 16 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2015-7-9 22:20:14 | 显示全部楼层
    感谢楼主分享!!很有用。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2020-9-28 22:37
  • 签到天数: 456 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-7-9 22:44:01 | 显示全部楼层
    谢谢楼楼这么好的分享,赞赞赞
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-1-22 11:18
  • 签到天数: 159 天

    连续签到: 1 天

    [LV.7]常住居民III

    发表于 2015-7-24 12:30:55 | 显示全部楼层
    好资料,赞一个
    回复 支持 反对

    使用道具 举报

  • TA的每日心情

    2016-11-17 13:26
  • 签到天数: 410 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-8-10 15:38:02 | 显示全部楼层
    楼主辛苦了 真是好人啊
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    擦汗
    2016-3-17 13:05
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2015-11-9 09:19:24 | 显示全部楼层
    感谢分享
    回复 支持 反对

    使用道具 举报

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

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-12-24 21:09 , Processed in 0.222498 second(s), 35 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.