您好,欢迎来到微智科技网。
搜索
您的当前位置:首页【AT91SAM3S】英蓓特EM-SAM3S开发板例子工程中的启动文件分析

【AT91SAM3S】英蓓特EM-SAM3S开发板例子工程中的启动文件分析

来源:微智科技网

手上一块英倍特的EM-SAM3S开发板,拿到已经有一个月了。本来是做uLoong活动使用的板子,可当初由于不熟悉这个芯片,使用了STM32F4当作了替代。最近准备抽点时间折腾下这个板子。

这个板子的资源如下:

今天从启动开始看看。以下内容是我分析英倍特提供的例程时的产物。

【预备知识】

【启动分析】

至于为什么会从vector加载,可以查看分散加载文件(.sct)。这里有这么一段:

Vector_region 0x400000

{

    board_cstartup_keil.o (vectors, +FIRST)

}

这个声明就是让链接器将board_cstartup_keil.o加载到0x400000。

board_cstartup_keil.o由board_cstartup_keil..c生成。这个文件中,定义了两个东西:__vector_table[]和static void _Reset_Handler( void )

在这个函数中跳转到main函数。好了,花花丽丽的C开始了。

(至于为什么加载到了0x400000是__vector_table而不是_Reset_Handler,那是因为那个+FIRST这个属性)

【总结一下】

3、汇编文件workaround.s没用了。删掉里边的内容都没关系。于是一行汇编代码都没有了,这也算是自己写sct文件的好处吧。

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- 7swz.com 版权所有 赣ICP备2024042798号-8

违法及侵权请联系:TEL:199 18 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务