ARM Cortex-M4 STM32F4xx芯片编译过程及存储器映射

本文介绍了ARM Cortex-M4 STM32F4xx芯片的编译过程,包括ARM支持的三大工具链:RealView, IAR EWARM, GCC。详细阐述了编译工具链的作用,如armcc、armasm、armlink和fromelf的功能。此外,文章还探讨了存储器映射,特别是针对ARMv6-M和ARMv7-M架构的固定存储器映射规则。举例说明了在Keil5环境下编译STM32F4xx例程的过程,并解析了编译输出的map文件,详细解释了代码、数据、堆和栈在内存中的分布和初始化过程。" 41343981,1532179,AFNetworking2.0源码解析:响应解析与性能优化,"['iOS开发', '网络请求', 'AFNetworking', '响应式编程', '数据解析']

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、ARM目前支持的三大工具链

1 ARM RealView(armcc),keil中用到的是armcc

2 IAR EWARM(iccarm)

3 GNU Compiler Collection

二、关于ARM编译工具

编译工具可帮助用户建立可执行映像,链接部分目标文件,共享目标文件,还可将映像转换为不同的格式。

典型的应用开发可能会涉及到如下的步骤:

  armcc为主应用程序编译C / C ++源代码;

  armasm编译与硬件操作密切的汇编源代码,例如中断服务程序;

  armlink链接所有的目标文件,并生成一个映像image;

  fromelf将生成的映像转换为flash中存储的纯二进制格式,Intel Hex格式,和Motorola-S格式;

下图展示了在典型的应用开发中如何使用编译工具链

三、存储器映射

从参考资料2中查询可知,在未规定存储器映射的image中,链接器根据默认内存映射放置代码和数据。而对于基于ARMv6-M和ARMv7-M架构的处理器来说,它们有着固定的存储器映射。这样使得在这些处理器上移植软件变得更加容易实现。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值