完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
飞思卡尔在新推出的官方例程包中对启动代码部分做了较大的结构改动(主要体现在Keil下的工程),由原来的crt.s现在统一改成了startup_MKxxxx.s或者startup_MKxxxx.s,当然不只是文件名字的改变,整个启动结构都因此有了较大的改变,个人感觉这种新风格更好一些也更好理解一些,具体的区别我下面简单列出几项:
1. 新的启动文件把原来的Vectors.c和.h文件中的中断向量表也包含进去了,即在文件里面直接定义了中断向量表; 2. 预定义了中断向量表中各个中断服务函数的默认名称,以弱函数的形式体现,这部分我在下篇文章会具体解释一下; 3. 把堆和栈的地址和空间大小定义也都包含在此文件中; 4. 在启动文件里添加了复位函数实现,将程序最后跳转到main函数中去。 上面简单介绍了新版启动文件中的一些新的特色和区别,下面具体以一个实例来说明新版启动文件带来的一个需要注意的问题,即在不同flash大小芯片之间代码移植时需要注意的堆栈地址的问题,下图为新版启动代码定义的相应128k flash的Kinetis KL26的堆栈地址和空间定义,可以看到其定义的堆栈地址为该芯片最大SRAM空间地址-8(128K flash的KL26其SRAM为16k,地址范围为0x1FFFF000~0x20002ff8) |
|
相关推荐
|
|
只有小组成员才能发言,加入小组>>
1905个成员聚集在这个小组
加入小组我的项目我做主,使用GN+Ninja来完成构建系统(VSCode开发RT106X)
36357 浏览 0 评论
NXP IMX8应用处理器快速入门必备:技巧、使用、设计指南
4393 浏览 0 评论
6045 浏览 1 评论
6762 浏览 0 评论
NXP i.MX6UL开发板(linux系统烧录+规格+硬件+模块移植)使用手册
4210 浏览 0 评论
619浏览 2评论
求助,S32G上Core M启动后如何让Core A在Flash指定位置加载uboot?
613浏览 2评论
ESP32-WROVER-IE + LAN8720以太网,GPIO0电压只有1.6v,无法正常进入spi flash boot模式如何解决?
604浏览 2评论
求分享适用于PN7160 Android的NFC工厂测试应用程序
693浏览 2评论
792浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-20 13:25 , Processed in 1.060758 second(s), Total 76, Slave 58 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号