MCU是开发中常用的器件,可以说,MCU具备非常重要的地位。但是,并非所有朋友对MCU的方方面面都非常了解。为增进大家对MCU的认识,本文将对MCU和ARM-Linux开发的区别予以解读。如果你对MCU具有兴趣,不妨和小编一起继续往下阅读哦。
一、MCU与ARM-Linux开发的区别
近段时间以来,受涨价缺货和地缘政治的影响,国产MCU迎来了新一波发展浪潮,中国的MCU市场呈上升态势,行业增速稳定,其主要应用于消费电子领域,占据了26%的整体市场,其次是占据了19%整体市场的计算机网络领域。足以见得国内MCU的研发和更迭速度明显加快,国产MCU有望得到更大突破,但是,国内MCU开发仍然还是面临以下挑战。
(一)MCU开发的资料难求,国内市场在开发资料方面的稀缺制约了国内MCU开发的步伐,国内MCU企业在招收工程师时,很难形成技术性的良性循环。
(二)MCU开发的周期较长,MCU公司的效益与开发时间息息相关,如果没有强大的技术支撑,就会出现服务不响应的问题。
当然,面对以上问题,已经有相关MCU厂商在着手解决,值得一提的是,随着MCU开发成为“热门话题”,有不少人把MCU开发和ARM-Linux开发放在一起比较,那么,MCU开发与ARM-Linux开发又有什么区别呢?
1、开发环境不同
MCU涉及开发板、烧录器、仿真器、USB线等;ARM-Linux则是网线、串口线、开发板、SD卡等。
2、芯片硬件功能有所不同
MCU是一个完整的系统,囊括了FLASH、UART、I2C、RAM、ADC等;而ARM-Linux一般就只有CPU,还需要通过外部电路提供RAM才能实现正常运行,而这个“外部电路”能提供SD卡、FLASH等存储系统图像,需要通过各种外部电路来实现特殊功能,此外,对于ARM芯片也是有硬件仿真器的,通常应用于裸机开发。
3、程序下载方式不同
MCU是用模拟器(调试器)或者是串口进行下载;而ARM-Linux是串口、tftp下载,或者直接读写SD、MMC卡等储存设备。
4、固件的存储位置不同
单片机(MCU)通常具备片内flash存储器,固件程序通常存储在该区域,如果固件较大,还需要通过外部电路设计外部flash用于存储固件;
ARM-Linux没有片中的flash,整个系统的图像通常都会比较大,所以ARM-Linux开发的操作系统图像和应用通常存储在外部MMC、SD卡上面,或者是使用SATA设备。
5、两者启动方式不同
MCU的结构较为简单,通常是MCU开发厂商在程序上电时就加入固定的跳转指令,然后指令就会扣合程序入口,而这个入口通常在flash上面;
采用ARM芯片的ARM-Linux执行效率较高,功能强大,外设也相对丰富,算是一个功能强大的“计算机系统”,包括BIOS,bootloader,内核启动,应用启动等阶段。