一,裸机编程或单片机开发
裸机编程,顾名思义,就是直接在硬件上编程写代码,或者说编写直接在硬件上运行的程序,没有操作系统的支持。一般我们把没有操作系统的编程环境,称为裸机编程环境,比如在单片机上编程。通过串口直接将程序下载到单片机芯片内部的 Flash 中,单片机运行时,直接调用我们编程的程序。这时,我们编写的程序一般都有一个 while 1 的死循环存在,这样程序才能一直保持运行。裸机编程现在主要是正对低端的嵌入式系统,如 SCM(single chip machine)、各式 MCU、DSP 等。当然,编写 PC 的 bootloader 肯定也属于裸机编程。
单片机是一种集成电路芯片,是用大规模集成电路技术通过编程数据处理能力的中央处理器 CPU、随机存储器 RAM、只读存储器 ROM、多种 I/O 口和中断系统、定时器/计时器等功能,这其中还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D 转换器等功能等集成到一块小芯片上。单片机开发包括:程序设计(PC 端软件编程),程序送往执行(将编程好的软件下载到单片机,需要编程器或者下载线),单片机系统的设计(硬件上设计你需要的任务的执行机构,如控制开关,温度检测,红外传输等等,都是根据你的所需,然后在选择对应的硬件器件)。
二 ,linux系统开发