嵌入式操作系统和单片机有什么不同呢?

     嵌入式和单片机,其实没有什么标准的定义来进行区分。对于进行过单片和嵌入式的开发者来说,他们都有自己的定义。嵌入式操作系统和单片机有什么不同呢?

 

      单片机:是一种集成电路芯片,采用超大规模集成电路技术把具有数据出处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计数器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的微型计算机系统,在工业控制领域广泛应用。

 

       嵌入式:嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM中的嵌入式处理器控制板。嵌入式系统是将应用程序、操作系统、和计算机硬件在一起的系统,是指以应用为中心,以计算机技术为基础,软硬件可裁剪,其针对的用户应用对功能、可靠性、成本、体积、功耗和使用环境有特殊要求的专用计算机系统。

      单片机的处理能力较低,主频大多在几十M上下,和嵌入式动辄上百上千M的处理速度还是相差较多,单片机并不具有图形界面的处理能力,也就是GPU的缺乏导致单片机几乎不可能带动图形界面。

      单片机的存储空间和嵌入式处理器也不是一个等级的,单片机通常片内存储只有几k大小,而由于外设的限制也不太可能大范围增加外设emmc,而嵌入式处理器通常有几百兆的RAM,如此巨大的差别导致单片机几乎不可能像嵌入式处理器那样运行操作系统,甚至连TCP/IP协议栈和USB协议栈都跑不起来,一些高端的单片机比如ST公司的STM32系列,可能可以跑一些轻量级的系统os和嵌入式网络协议栈,比如IwIP协议栈。

     在开发方式上单片机和嵌入式也有较大差别,也就是编译过程的区别,单片机主要在Windows等图形界面下开发,开发者只需编写c代码,然后点击编译链接按键即可,出现错误还可以debug或者仿真,上手还是非常快的。

     嵌入式开发一般是在Linux下进行的,要将c代码在自己主机上编译完成,然后通过系统镜像或者uboot引导将编译好的文件烧入开发板,由于主机的处理器的x86架构,而编写的代码是为了运行在arm架构或sparc架构的处理器上这些都需要开发者自己完成。并且以上过程都是在Linux下的终端也就是命令行中完成,这也给嵌入式开发增加了难度。

初级 提问 在 10月 11, 2021 在 单板机.
添加评论
0 答案

您的回答

发布您的回答,意味着您同意了我们的 隐私政策服务条款