裸机编程,顾名思义,就是直接在硬件上编程写代码,或者说编写直接在硬件上运行的程序,没有操作系统的支持。
一般我们把没有操作系统的编程环境,成为裸机编程环境,比如在单片机上编程。通过串口直接将程序下载到单片机芯片内部的Flash中,单片机运行时,直接调用我们编程的程序。这时,我们编写的程序一般都有一个while 1的死循环存在,这样程序才能一直保持运行。
裸机编程现在主要是针对低端的嵌入式系统,如SCM(single chip machine)、各式MCU、DSP等。当然,编写PC的bootloader肯定也属于裸机编程。
裸机编程做的是交叉编译,一般我们在Windows系统(或者Linux系统)上编写代码和编译,然后通过串口将编译的程序进行下载,程序的运行不同于编写程序的电脑环境。
虽然是裸机编程,但是编写C代码的方法和技巧是一样的,有的时候,可能需要直接写点汇编代码。