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

[复制链接]
1844|3
 楼主| huhaomcu 发表于 2014-1-24 10:33 | 显示全部楼层 |阅读模式
在很多单片机中都有启动代码,但自己对启动代码的执行不是很明白!程序下载到单片机内部后不是从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函数到底做了什么。
1.JPG
而实际上从entry point到main还真经历不少事情
2.JPG
3.JPG
当然这些startup code也是可以根据自己需要来优化启动速度的,建议楼主单步看看就明白很多了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

509

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部