首页 » 软件开发 » 嵌入式开发:如何为PIC®或AVR®MCU编写裸机代码(宋体代码裸机寄存器系列)

嵌入式开发:如何为PIC®或AVR®MCU编写裸机代码(宋体代码裸机寄存器系列)

神尊大人 2024-07-23 23:37:50 0

扫一扫用手机浏览

文章目录 [+]

通常,这取决于MCU上不同外设的组合。
例如,你可能有严格的模拟测量应用要求,要求仔细检查MCU的模数转换器(ADC)。
在一种应用中,PIC MCU的10位模拟数字转换器(ADCC)外围设备(视频)可能具有优势,因为支持各种类型的独立于核心的后采样计算。
对于另一个应用,AVR MCU的12位差分ADC可能由于其分辨率或与AVR MCU的事件系统一起操作而具有优势。
这两种ADC都提供相对专门的功能,根据应用要求提供某些优势。

嵌入式开发:如何为PIC®或AVR®MCU编写裸机代码(宋体代码裸机寄存器系列) 软件开发
(图片来自网络侵删)

熟悉生态系统的支持对MCU选择有重大影响。
为了将重点放在为其设计选择最佳的MCU和外围设备上,在过去的几年中,已经做出了巨大的努力来调整PIC和AVR MCU产品系列的工具支持。
Microchip仍致力于支持Atmel Studio 7和Atmel START生态系统中的新AVR设备。
此外,AVR MCU已添加到MPLAB X集成开发环境(IDE)和MPLAB代码配置器(MCC),统一了这些MCU系列之间的开发经验。
通用工具生态系统的支持旨在让你快速使用新的MCU系列,显著降低探索障碍。
然而,对于嵌入式开发人员来说,使用MCU进行舒适的开发比工具生态系统更深入,一直到寄存器级或裸机编码。

理解项目中的所有代码

MPLAB代码配置器(MCC)或Atmel START等代码生成工具是在设计中节省大量时间的绝佳方法。
但是,如果你不理解这些工具生成的代码,你可能永远不会对它们感到完全满意。
具有讽刺意味的是,你可能只在不再需要该工具时才信任它。
作为一名嵌入式开发人员,你还知道,如果不自己至少修改一些寄存器级代码,就不可能进入生产环境。

裸机编码:使用设备数据表和头文件作为主要编程参考

MCU由几个构建块或模块组成:CPU、SRAM、闪存、EEPROM和外围设备(如ADC)。
其中每一项都在设备数据表中定义,并可通过寄存器进行配置。
“裸机编码”中的“金属”指的是设备寄存器,因此它指的是写入配置MCU模块所需的寄存器级代码的实践。
该寄存器级代码的形式受设备头文件的影响,而设备头文件又受MCU外围模块(数据表)的结构的影响。
所以,高效地编写裸机代码需要数据表模块结构以及头文件定义的工作知识。
除代码示例外,在该级别开发的主要编程参考通常是MCU数据表和设备头文件。

裸机编码是一种嵌入式开发技能,往往需要在同一MCU系列上的多个项目中掌握。
对于特定的MCU,工程师熟悉MCU系列的数据表模块和头文件的组织方式的隐式模式。
对这些模式的了解有助于该MCU系列的快速开发,但也会造成选择不同MCU的阻力,即使它可能更适合新项目。
随着时间的推移,能够快速使用与头文件定义相关的命名约定,使工程师能够利用现代IDE的代码完成功能,如MPLAB X IDE(或Atmel Studio)。

MCC生成的项目的编码样式和项目结构可能与你自己实现的不同。
然而,在寄存器级别,MCC生成的代码与手动编写的代码非常相似。
因此,使用MCC生成的代码作为示例上下文,通过我们可以从PIC1000和AVR1000b应用说明中了解的内容,探索PIC和AVR MCU寄存器级代码之间的差异。
在此过程中,我们还将指出一些你可能不知道的有趣的MPLAB X IDE编辑器特性。

了解更多

相关文章

信息技术培训,助力个人与企业发展新篇章

随着信息技术的飞速发展,我国正处于新一轮科技革命和产业变革的关键时期。在这个时代背景下,信息技术培训成为提升个人竞争力、推动企业发...

软件开发 2024-12-30 阅读0 评论0

南昌IT行业薪酬介绍,薪资水平与职业前景

随着我国经济的快速发展,信息技术(IT)行业已成为我国经济增长的重要驱动力。南昌作为中部地区的重要城市,近年来IT行业发展迅速,吸...

软件开发 2024-12-30 阅读0 评论0

义乌IT公司崛起,打造数字经济新引擎

近年来,随着我国数字经济的蓬勃发展,义乌这座千年商都也迎来了IT行业的春天。在“互联网+”的浪潮下,义乌IT公司如雨后春笋般涌现,...

软件开发 2024-12-30 阅读0 评论0