- 2
- 0
- 约4.01千字
- 约 4页
- 2017-08-25 发布于河南
- 举报
ARM中C语言和汇编语言混合编程
在嵌入式系统开发中,目前使用的主要编程语言是C 和汇编,虽然C++已经有相应的编译器,但是现在使用还是比较少的。??? 在稍大规模的嵌入式程序设计中,大部分的代码都是用C来编写的,主要是因为C语言具有较强的结构性,便于人的理解,并且具有大量的库支持。但对于一写硬件上的操作,很多地方还是要用到汇编语言,例如硬件系统的初始化中的CPU 状态的设定,中断的使能,主频的设定,RAM控制参数等。另外在一些对性能非常敏感的代码块,基于汇编与机器码一一对应的关系,这时不能依靠C编译器的生成代码,而要手工编写汇编,从而达到优化的目的。汇编语言是和CPU的指令集紧密相连的,作为涉及底层的嵌入式系统开发,熟练对应汇编语言的使用也是必须的。??? 单纯的C或者汇编编程请参考相关的书籍或者手册,这里主要讨论C和汇编的混合编程,包括相互之间的函数调用。下面分四种情况来进行讨论,不涉及C++语言。
一、在C语言中内嵌汇编??? 在C中内嵌的汇编指令包含大部分的ARM和Thumb指令,不过使用与单纯的汇编程序使用的指令略有不同,存在一些限制,主要有下面几个方面:??? a 不能直接向PC 寄存器赋值,程序跳转要使用B或者BL指令;??? b 在使用物理寄存器时,不要使用过于复杂的C表达式,避免物理寄存器冲突;??? c R12和R13可能被编译器用来存放中间编译结
您可能关注的文档
- 网页设计制作基础.ppt
- 转型融合颠覆--互联网思维与电子商务.ppt
- “钱江杯”水利工程CAD理论题制图“钱江杯”水利工程专业知识.doc
- “网站设计与网页设计基础”课程考核试题.doc
- 《C语言程序设计》编程练习题.doc
- 《电子商务概论》期末复习指导册参考答案.doc
- 《商务网站网页设计》A.doc
- 《水利工程建设项目施工监理规范(SL288-2015)条文说明》.doc
- 《网页设计与制作》A-B-C卷标准答案与评分细则.doc
- 《网页设计与制作》教材考试知识点.doc
- 无人机在设施农业中的精准作业应用与市场前景.docx
- 户用光储一体化系统产品形态、市场渗透率与消费者偏好研究_市场调研报告.docx
- 光伏产品“数字护照”(Digital Product Passport)强制推行时间表预测及其对供应链透明化的革命性影响.docx
- 水上光伏(湖泊、水库、近海)技术挑战、环境评估与投资收益研究_市场调研报告.docx
- 电镀铜栅线技术替代银浆的彻底无银化路径与成本拐点预测.docx
- 硅基叠层太阳能电池的效率突破与产业化瓶颈分析.docx
- 城市地下管廊无人机自主充电与数据断点续传技术应用.docx
- 老年人对器官捐献的认知与意愿调研.docx
- 大疆创新与极飞科技在农业无人机领域的战略路径对比.docx
- 体育赛事IP数字化运营:NBA、CBA短视频内容分发策略与粉丝活跃度对比_竞争分析报告.docx
原创力文档

文档评论(0)