裸机编程指南分享

描述

当下的嵌入式编程通常需要使用开发套件来加快和简化开发流程。

例如,Arm Keil 带有集成 IDE、调试器和一组软件包,内含 RTOS、驱动程序、中间件 (如 TCP/IP 堆栈) 以及 mbedTLS (SSL/TLS) 或 lvgl (图形) 之类的库。

意法半导体的 Cube IDE 以及恩智浦的 MCUXpresso、德州仪器的 CCS、微芯的 MPLAB 等开发工具也提供类似的功能。

 

当开发者在其中一个框架中启动项目后,他们要在各种软件层之上开发应用代码。

有时开发者可能会选择绕过所有这些层,而开发直接与硬件通信的代码。这种开发方式称为裸机编程。该做法的主要目的如下:

 

通过对所开发的应用进行充分了解,掌握每一个细节,由此减轻维护负担

 

充分实现目标硬件的性能和灵活性,起初比较耗时,但随着项目的推进,可能会带来巨大回报

 

避免花费时间来修复和调试底层软件层,尤其是在测试不充分、文档记录不完整且漏洞百出的情况下

裸机开发可以不使用集成开发套件 (IDE),只需使用任何一款编辑器和 Arm GCC 编译器即可操作。

当然,也可以使用诸如 Arm Keil 这样的 IDE 来完成开发工作。无论是哪种情况,开发者都需要了解以下几个关键概念:

 

内存的组织方式

 

外设的工作原理

 

生成的二进制代码的布局

 

用于生成所需布局的链接器脚本情况

 

矢量表、中断和弱符号

 

CMSIS 设备头文件:Arm 核心和供应商外设





审核编辑:刘清

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分