Cortex-M3/M4(5)-软件移植

1. 概述

软件移植指的是将源代码从一种环境搬到另一种环境中运行。
可以在Cortex-M处理器之间移植,也可以将ARM其他处理器移植到Cortex-M里。
移植的目的是为了节省设计时间。

2.Cortex-M处理器之间移植

2.1 差异性

Cortex-M处理器的差异性体现在

  • 指令集。Cortex-M处理器指令是向上兼容的,即高等级可兼容等等级。
  • IT指令块,包括比较和跳转,乘累加,除法,表格跳转等。
  • 排他访问
  • 编程模型,如非特权等级,中断异常处理等
  • 低功耗
  • 调试跟踪差异

2.2 软件变动

  • 替换设备驱动头文件
  • 替换启动代码
  • 调整中断优先级
  • 调整浮点类型等编译器选项
  • 使用CMSIS-core函数

3.ARM7TDMI到Cortex-M处理器之间移植

3.1 差异性

  • 存储器映射(存储器和外设地址不同)
  • 中断控制器不同
  • 存储器保护单元不同
  • 操作模式不同

3.2 软件变动

1.汇编语言
1)Thumb状态
在此状态下,大部分文件可以移植,但要注意少数不公用的thumb指令
2)arm状态
修改的地方有

  • 向量表
  • 寄存器初始化
  • 模式状态切换
  • 中断
  • 协处理器访问
  • SWP
  • 条件执行
  • R13使用等。

2.C语言

  • 内联汇编
  • 中断处理
  • Pragma伪指令

3.预编译文件如启动。
4.代码优化。

对于初学者由于目前只想了解大概,所以没有详细写差异性及移植需要改动之处。若想详细了解,请参照ARM Cortex-M3与Cortex-M4权威指南的第24章软件移植

参考文献

《ARM Cortex-M3与Cortex-M4权威指南》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值