Linux嵌入式系统应用领域的学习顺序与学习方法分析

单片机嵌入式主要的交互方式是按键、LED、串口、SPI以及一些简单的低分辨率的屏幕。Linux嵌入式系统应用领域没有单片机广泛。如果只是开发Linux应用程序的话,个人觉得和开发单片机程序难度差不多。

嵌入式微控制器

问题提到的嵌入式微控制器一般是指51、Cortex M系列(如STM32)、TI MSP430等,这类微控制器工作频率较低(一般在200Mhz以内),内部集成小容量SRAM和Flash 。 因此,一颗芯片相当于一台完整的微型计算机,包括CPU、内存和硬盘。 它们的主要优点是成本低、实时性强、开发简单、相对容易学习。 可以直接用C语言开发。 主要的交互方式有按钮、LED、串口、SPI和一些简单的低分辨率屏幕。

这类单片机的应用范围非常广泛。 具体包括:空调、冰箱、洗衣机、电磁炉、电饭锅、扫地机器人等各种大小家电的主控芯片都属于此类。 当然,还有一些高端玩具、蓝牙音箱、儿童手表、医疗设备、无人机、工业控制以及各类传感器等也需要此类单片机进行主控。

Linux嵌入式

对于Linux嵌入式系统,其对应的处理器一般为ARM Cortex-A系列等,主频一般在500MHz以上。 这类处理器需要外接大容量SDRAM(相当于电脑内存)和NVM(EMMC或UFS,相当于电脑硬盘)。 其优点是Linux系统强大的性能和可移植性。 Linux系统上的一切,比如网口、USB、音频、HDMI显示等都可以直接调用,非常方便、功能强大。 当然,缺点也很明显:成本高(只需一颗存储芯片的价格就可以购买多个微控制器)、电路设计复杂(从四层PCB开始)。 另外,由于应用程序是由系统调度的,因此实时性较差。

Linux嵌入式系统的应用领域并不像单片机那么广泛。 我们平时接触到的产品有:平板电脑、手机、大型汽车主控屏等。

发展差异

如果只是开发Linux应用程序,我个人感觉和开发单片机程序难度差不多。 它们之间的主要区别在于Linux应用程序通过读写文件来控制所有外设。 这种类型的开发实际上更像是纯粹的软件编程。 单片机通过操作寄存器来直接控制外设,这需要对CPU有很好的了解和一定的硬件技能。

两者在实时性能方面也存在较大差异。 比如你想打开一个LED,如果你用的是单片机,只要在对应的IO口写一个1就可以了。 整个操作在1us内完成。 在Linux系统中,需要打开IO对应的文件,然后向文件中写入值,最后关闭文件。 整个操作快则几十us,慢则几ms。 因此,当实时性要求较高时,微控制器仍然是首选。

推荐学习顺序

1、单片机程序开发

2. 微控制器+RTOS

3.Linux应用程序开发

4.Linux驱动开发

一般来说,如果你本科毕业,精通前两部分,然后了解一些PCB设计,找到好工作是没有问题的。 如果你想追求更高的东西,你可以学第三部分,不会很难。 如果你想成为高级专家,还可以看第四部分,尤其是复杂的驱动开发。

暂时先写这么多,以后再更新。

单片机

单片机的最小系统复位电路图的原理,复位

2024-4-29 23:02:58

单片机

免费小说阅读软件应用,让阅读回归纯粹的乐趣!

2024-4-30 0:05:48

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索