裸机编程指南分享

当下的嵌入式编程通常需要使用开发套件来加快和简化开发流程。
例如,arm keil 带有集成 ide、调试器和一组软件包,内含 rtos、驱动程序、中间件 (如 tcp/ip 堆栈) 以及 mbedtls (ssl/tls) 或 lvgl (图形) 之类的库。
意法半导体的 cube ide 以及恩智浦的 mcuxpresso、德州仪器的 ccs、微芯的 mplab 等开发工具也提供类似的功能。
当开发者在其中一个框架中启动项目后,他们要在各种软件层之上开发应用代码。
有时开发者可能会选择绕过所有这些层,而开发直接与硬件通信的代码。这种开发方式称为裸机编程。该做法的主要目的如下:
通过对所开发的应用进行充分了解,掌握每一个细节,由此减轻维护负担
充分实现目标硬件的性能和灵活性,起初比较耗时,但随着项目的推进,可能会带来巨大回报
避免花费时间来修复和调试底层软件层,尤其是在测试不充分、文档记录不完整且漏洞百出的情况下
裸机开发可以不使用集成开发套件 (ide),只需使用任何一款编辑器和 arm gcc 编译器即可操作。
当然,也可以使用诸如 arm keil 这样的 ide 来完成开发工作。无论是哪种情况,开发者都需要了解以下几个关键概念:
内存的组织方式
外设的工作原理
生成的二进制代码的布局
用于生成所需布局的链接器脚本情况
矢量表、中断和弱符号
cmsis 设备头文件:arm 核心和供应商外设


Coolbaze处理器设计范例
Maker稳定币中存在的预言机治理攻击问题探讨
光学显微谱新篇,跨界应用开新局
LoRa对决NB-IoT:双方各有优势
立磨本体磨损的修复方法
裸机编程指南分享
广东联通已成为了中国联通集团内首个用户突破百万的省级分公司
单模光纤和多模光纤有什么区别?单模、多模能混合使用吗?
emWin介绍和emWin开发的详细资料概述
5v1A充电器芯片U65113随时补充能量
SC1462模数转换器(ADC)可pin对pin兼容ADS8509
高速化对PCB高频特性的要求
从原理到代码理解CRC循环冗余校验
PLC控制系统设计的基本原则及步骤
数字化技术引领精益生产新篇章:变革与机遇
芯片IP公司到底是做什么的?
打游戏用什么手机比较好,rog3游戏手机你不容错过
生态创新拓展宽带商业边界,拥抱智能世界
C200/C210 PCB布线指南
5G会给我们带来哪些出乎意料的改变?