IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> Cortex-M3/M4(5)-软件移植 -> 正文阅读

[嵌入式]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权威指南》

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-12-01 17:52:21  更:2021-12-01 17:54:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 10:20:17-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码