打印
[Kinetis]

启动代码的执行过程是怎样的

[复制链接]
1275|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
在很多单片机中都有启动代码,但自己对启动代码的执行不是很明白!程序下载到单片机内部后不是从main()处开始执行吗,为什么会事先去执行启动代码呢?启动代码是不是也要参与程序的编译后然后会和应用程序一起下载到单片机内部呢等等问题,希望对启动代码有较高认识的人能为我解答这些问题,谢谢啦!!!!

相关帖子

沙发
soso| | 2014-1-24 10:50 | 只看该作者
是这样的 ,你把程序下载到单片机。应该是在flash中,但最终程序跑起来是要到内存中去的,所以启动代码一般做的事情,就是把你下载到flash中的程序,copy到内存里,启动代码一般不需要你去修改它,他是固化在单片机里的,你实在想弄清楚,我建议你看下linux的uboot是怎么样的,会对你有所帮助

使用特权

评论回复
板凳
FSL_TICS_Fiona| | 2014-1-24 11:04 | 只看该作者
Kinetis是从中断矢量1的入口开始执行的

使用特权

评论回复
地板
FSL_FAE_River| | 2014-1-24 11:13 | 只看该作者
楼主可以在调试的时候选择program entry point看看一步一步执行到你的main函数到底做了什么。

而实际上从entry point到main还真经历不少事情


当然这些startup code也是可以根据自己需要来优化启动速度的,建议楼主单步看看就明白很多了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

508

帖子

3

粉丝