首页 » 信息技术 »

什么是裸机编程?

2019年3月19日 / 314次阅读
计算机

裸机编程,顾名思义,就是直接在硬件上编程写代码,或者说编写直接在硬件上运行的程序,没有操作系统的支持。

一般我们把没有操作系统的编程环境,成为裸机编程环境,比如在单片机上编程。通过串口直接将程序下载到单片机芯片内部的Flash中,单片机运行时,直接调用我们编程的程序。这时,我们编写的程序一般都有一个while 1的死循环存在,这样程序才能一直保持运行。

裸机编程现在主要是正对低端的嵌入式系统,如SCM(single chip machine)、各式MCU、DSP等。当然,编写PC的bootloader肯定也属于裸机编程。

裸机编程做的是交叉编译,一般我们在Windows系统(或者Linux系统)上编写代码和编译,然后通过串口将编译的程序进行下载,程序的运行不同于编写程序的电脑环境。

虽然是裸机编程,但是编写C代码的方法和技巧是一样的,有的时候,可能需要直接写点汇编代码。

 

不是所有的芯片,都能够支持一个操作系统的运行。下面是一段关于芯片的介绍,可以学到很多:

51单片机通常被用来做一些比较简单的控制,比如采集信号、驱动一些开关。AT89S51的Flash只有4K,一个稍微复杂的程序就不止4K了。SST89E564RD是一种扩展的51单片机,它的Flash达到64KB,可以外接最多64KB的SRAM。在SST89E564RD上的程序可以写得更复杂一些,但是它对外的接口也比较少。

CORTEX-M3系列的处理器,对外接口极其丰富,这使得它的应用面更广,但是限于它的Flash、内存还是比较小,一般不在上面运行操作系统,它算是一个性能非常突出的单片机。

HI3510是海思半导体公司的一款用于监控设备的芯片,一般上面运行Linux系统,通过摄像头采集数据、编码,然后通过网络传输。另一端接收到数据之后,再解码。在上面运行的程序非常复杂,有漂亮的图片界面、触摸屏控制、数据库等等。对声音图像的编解码更是用到DSP核。

S3C2440是一款通用的芯片,它与“高级单片机”STM32F103相比,多了存储控制器和NAND控制器──这使得可以外接更大的Flash、更大的内存;多了内存管理单元(MMU)──这使得它可以进行地址映身(虚拟地址、物理地址之间的映射)。可以在S3C2440上运行Linux系统,运行更大更复杂的程序。

本文链接:https://www.maixj.net/ict/luoji-biancheng-20703

相关文章

留言区


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top