单片机和linux嵌入式操作系统区别.doc
文本预览下载声明
单片机和linux嵌入式操作系统区别
?
?
?? 随着嵌入式行业硬件平台的性能增强,项目需求和功能日益复杂,ARM公司推出的 CORTEX-M3,更是让以往做单片机的工程师在芯片和技术选型面临两难选择,本专题将从芯片价格、整个系统的硬件软件设计及维护的成本等各个方面给您提供一个参考,并从技术角度分析单片机和带操作系统的系统的软件开发的异同点。
??????? ●????1.单片机与ARM等新处理器的价格比较????????●????2.带操作系统与不带操作系统的软件开发的区别????????●????2.1.驱动开发的区别????????●????2.2.应用程序开发的区别
1. 单片机与ARM等新处理器的价格比较
表1
?
型号
架构
资源
价格(元)
AT89S51
8051
最高频率33MHz4KB Flash128B内部RAM32个可编程IO引脚?两个16bit的计数器?一个UART口
4
SST89E564RD
8051
最高频率40MHz?64KB Flash1KB内部RAM32个可编程IO引脚?三个16bit的计数器?一个UART口?一个SPI接口
35
STM32F103
CORTEX-M3
最高频率72MHz64KB或128BK Flash20KB SRAM80个可编程IO引脚?2个12bit的ADC7通道DMA控制器?标准调试口(SWD和JTAG)7个定时器?USB接口?2个I2C接口?3个UART2个SPI接口
21
HI3510
ARM9+DSP双核
最高工作频率240MHz视频处理单元,支持多种协议的实时编解码?图形处理单元?视音频接口?以太网接口?DDR控制器?USB、UART、IrDA、?I2C、SPI、GPIO等多种外设接口
80
S3C2440
ARM9
最高工作频率400MHzSDRAM控制器?LCD控制器?4通道DMA控制器?3个UART2个SPI1个I2C接口?IIS音频接口?SD HOST接口?2个USB接口?8个10bit ADC摄像头接口?Camera接口
40
?
??
从表1里面各种芯片的资源,大概就可以猜知它们的应用场合。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系统,运行更大更复杂的程序。
在具体工作中,怎么选择这些芯片呢?一句话:成本!进行任何产品的开发都要考虑性价比,一切应该从“成本”出发。成本不仅包括芯片的价格,也包括整个系统的硬件、软件设计及维护的难易。
芯片价格可以在电子市场问到,也可以在上找到有卖这种芯片的柜台,然后电话咨询。
基于不同的应用,处理器和其他外设的选择是要统一考虑的,如果要实现一个简单的U盘读写功能,那么可以选择带USB控制器的CORTEX-M3芯片,也可以选择8051外接一个USB控制器比如SL811,就看哪种方案成本更低。进行芯片选型时,必须基于整个系统来考虑。
员工的偏好和知识结构也是一个很重要的因素,如果他对ATMEL的芯片比较熟,他就不会倾向于三星;如果他不会Linux等操作系统,那么选型时就不会有操作系统的概念。选择自己不熟悉的芯片和技术,最后的成本也可能更高。
2. 带操作系统与不带操作系统的软件开发的区别
用通俗的话来说,一个处理芯片不运行操作系统,我们就把它称为单片机,而单片机编程就是写裸板程序,这个程序直接在板子上运行;相对的,另一种程序就是基于操作系统的程序,说得简单点就是,这种程序可以通过统一的接口调用“别人写好的代码”,在“别人的基础上”更快更方便地实现自己的
显示全部