博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
STM32的启动文件
阅读量:4081 次
发布时间:2019-05-25

本文共 740 字,大约阅读时间需要 2 分钟。

C语言运行时有条件的,比如没有栈,C语言时运行不了的,所以单片机一开始跑的不是C语言代码,而是汇编,献给C语言建立好运行的环境,比如栈  堆的分配。这也是为什么启动文件是汇编文件,也就是s文件

而且每个STM32工程都必须有的,每个工程最开始执行的都是启动文件,一段汇编,因为一开始是执行不了C代码的。

 

http://www.makeru.com.cn/video/5431_24308.html

 

 

 

 

野火的书也有介绍

我觉得把这种东西弄懂弄透彻可能比你单纯做个STM32项目更有意义。这样学STM32让我感觉更深入一个层面,变得更为专业。真正去把一个东西啃透。这才是一个业内人士玩STM32的表现。确实是要回归底层,把这些啃透。你会组装个无人机,这是低水平的技术,你会写STM32启动文件,这才叫技术人士业内人士,专业选手。你之前大学虽然做过那么多东西但是STM32只是个业余水平。而你总是玩那些东西玩得不宜乐趣,没有真正深入去啃,就像手写VIO。那些你弄得很轻松也很有成就感因为那些很简单,没有技术含量,真正有技术的难得需要你慢慢去啃的,去深入理解掌握的,会心态爆炸的。就像去研究FreeRTOS的源码,这才是业内人士该干的事情。业内人士应该谈论这个才是。

 

 

正点原子讲的STM32的启动文件

 

 

 

 

我感觉这个启动文件有点像bootloader,当然我知道这不是STM32的bootloader,但是启动文件实现的功能和这里所说的Bootloader很相似啊,比如为操作系统的运行搭建好环境,启动文件不也是为C语言的运行搭建好环境么,这里bootloader是板子上电运行的第一个程序,启动文件不也是的么。我后面再详细总结下STM32里面的启动文件和STM32的Bootloader的区别。

转载地址:http://paoni.baihongyu.com/

你可能感兴趣的文章
platform_driver平台驱动注册和注销过程(下)
查看>>
.net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法
查看>>
c# 如何调用win8自带的屏幕键盘(非osk.exe)
查看>>
build/envsetup.sh 简介
查看>>
Android framework中修改或者添加资源无变化或编译不通过问题详解
查看>>
linux怎么切换到root里面?
查看>>
linux串口操作及设置详解
查看>>
安装alien,DEB与RPM互换
查看>>
编译Android4.0源码时常见错误及解决办法
查看>>
Android 源码编译make的错误处理
查看>>
linux环境下C语言中sleep的问题
查看>>
ubuntu 12.04 安装 GMA3650驱动
查看>>
新版本的linux如何生成xorg.conf
查看>>
xorg.conf的编写
查看>>
启用SELinux时遇到的问题
查看>>
virbr0 虚拟网卡卸载方法
查看>>
No devices detected. Fatal server error: no screens found
查看>>
新版本的linux如何生成xorg.conf
查看>>
virbr0 虚拟网卡卸载方法
查看>>
Centos 6.0_x86-64 终于成功安装官方显卡驱动
查看>>