历史上的今天
今天是:2026年03月14日(星期六)
2023年03月14日 | 单片机常用的开发软件有哪些?
2023-03-14 来源:zhihu
开发工具有很多,踩坑无数总结:用得顺手、带仿真调试功能的最重要。
特别是带仿真调试功能,用熟了,能让你找Bug效率直接起飞。
下面给大家盘点一些比较常用的单片机开发工具:
1. Keil μVision

这款开发工具相信是所有做单片机开发必用的了,像我们无际单片机特训营的项目1,项目3和项目6都是用Keil。
Keil是一种基于Windows系统的单片机开发环境,主要用于ARM Cortex-M、8051、C251等单片机的开发和调试。
keil提供了集成的编译器、调试器和仿真器等工具,可以帮助开发者快速创建、编译和调试单片机程序。
Keil的特点就是简单易用、功能强大、兼容性好,是我最喜欢也是最熟悉的开发工具。
还有一点就是这个工具资料也相对丰富,开发过程中碰到的问题,很多在网上能直接找到答案。
2. IAR Embedded Workbench

IAR也是一个比较著名的品牌了,它是由IAR Systems开发的一款集成开发环境(IDE),用于开发嵌入式应用程序,支持多种单片机芯片和处理器架构,例如ARM Cortex-M、RISC-V、AVR、8051等。
提供了许多开发功能,包括自动完成、代码模板、调试器、模拟器、性能分析器、优化器等。它还支持多种编程语言和文件格式,例如C、C++、汇编语言、ELF、COFF等。
我第一次用IAR是开发STM8单片机程序,我们无际单片机特训营项目2,项目4,项目5就是用的IAR,之前碰到的同事也有用这个开发STM32程序的。
给我的感受就是用起来没Keil这么顺手,但是编译出来的代码比较精简,占用内存小。
3.STM32CubeIDE

这个在学STM32的小伙伴应该很熟悉了。
STM32CubeIDE是ST公司推出的一款面向STM32单片机开发的综合性开发环境,支持Windows和Linux系统。
STM32CubeIDE具有丰富的代码编写和调试工具,如代码高亮、调试器、模拟器等,并且支持多种编程语言,包括C、C++、Assembly等。
4.CodeBlocks

CodeBlocks是一款免费的开源跨平台C/C++集成开发环境,支持多种单片机开发,包括AVR、ARM、PIC等系列。
CodeBlocks具有轻量、快速、易于使用等特点,同时还支持多种插件,可以扩展其功能。
CodeBlocks的一个优点是它的代码自动完成和代码格式化功能,可以帮助开发者更高效地编写程序。
5.MPLAB X IDE

MPLAB X IDE是Microchip公司推出的一款面向PIC单片机开发的综合性开发环境,支持Windows、macOS和Linux系统。
MPLAB X IDE具有强大的代码编写和调试工具,如代码高亮、调试器、模拟器等,并且支持多种编程语言,包括C、C++、Assembly等。
MPLAB X IDE还提供了丰富的示例代码和项目模板,可以帮助开发者快速启动项目。
6.Arduino IDE

Arduino IDE是一种开源的单片机编程工具,专门用于编写Arduino开发板上的程序。
Arduino IDE具有简单易用、跨平台、集成式开发环境等特点,同时还有大量的开源库和示例程序,可以帮助开发者快速编写和测试程序。
Arduino IDE使用简单的C++语言和Arduino库,使得开发者可以快速上手,而且可以进行调试和仿真等操作。
7.Atmel Studio

Atmel Studio是一款免费的开源集成开发环境,可以用于编写AVR单片机的程序。
Atmel Studio具有丰富的代码编写和调试工具,如代码高亮、调试器、模拟器等,并且支持多种编程语言,包括C、C++、Assembly等。
8. Code Composer Studio
CCS是一种面向TI公司的单片机开发软件,可以用于编写MSP430、MSP432、TIVA、CC13xx/CC26xx等系列单片机的程序。
CCS具有强大的代码编写和调试工具,同时还支持多种编程语言和操作系统。
这款工具我在用TI CC2640蓝牙芯片开发产品的时候用过,功能各方面还是挺强大,但是没Keil这么顺手。
史海拾趣
|
一、概述 某地区新建一大楼,有40层。该楼为智能化程度要求比较高的综合性办公楼,该楼25层以下为出租的写字楼,25层以上为该市民防办的办公和指挥中心,因此意义重大,对于防盗报警系统的要求也比较高和特殊。 &nbs ...… 查看全部问答> |
|
杜春雷:ARM体系结构与编程 清华大学出版发行。包括了体系介绍,程序设计模型,汇编与C等。 不知道是否已经有了,请审核。 由于文件较大,18M,所以分成2部分,这是第1部分。… 查看全部问答> |
|
学习ARM 有些时间了,可始终关于程序编译后的几种数据没有认真分析过,请哪位了解的高手帮帮忙。 编译后有以下文字: Program Size: Code=5376 RO-data=58672 RW-data=4 ZI-data=1260 这些数据分别指代什么?同时,这些相应的数据都 ...… 查看全部问答> |
|
有人用过MaxplusII吗??模拟一个滚动条,做到这没思路了,哪位大人帮忙给个 问这个是发这吧 课程设计要求做一个模拟滚动条的电路,使用24个灯模拟Windows中的滚动条,有三个灯循环亮,或者正反循环亮。初始有一个灯亮,然后是两个,最后是三个,然后三个灯循环。 我用很笨的办法用了6个D触发器做到了6个灯的符合要求,可是 ...… 查看全部问答> |
|
LED ( Light Emi tting Diode,发光二极管)的光电 转换效能高,其基本结构是一块电致发光的半导体 晶体,置于一个有引线的架子上,然后四周用环氧树脂密封,作为保护内部芯线之用。如果有电流通过,晶体就会发光,不同的半导体晶体会发不同颜色的光。其原 ...… 查看全部问答> |
|
函数如下: • EEPROM_Write( )• EEPROM_Read( )• EEPROM_Erase( )• EEPROM_GetValidBank( )• EEPROM_UpdateBankStatus( )• EEPROM_UpdatePageStatus( )• EEPROM_GetSinglePointer(Uint16 First_Call) ...… 查看全部问答> |
|
小弟测试eeprom通信功能,用的是SPI,发送数据功能正常,eeprom回来的数据波形也正确,只是无法读到正确的数据。附上代码 //SPI初始化 void InitSPI8bit(void) { EALLOW; GpioMuxRegs.GPFMUX.all |= 0x000F; // ...… 查看全部问答> |




