嵌入式Linux学习路线

时间:2021-02-04 18:36:31

  最近比较忙,对于嵌入式的相关学习一直没有很好的开展。今天也看了不少的嵌入式Linux的学习路线,也和几个工作过的朋友聊了聊,想把之后的学习过程记录下来。

  自己以后想从事驱动开发这方面的工作,因为大多数人说应用程序开发和驱动开发还是有差距的,所以我也接受这个观点了。

  技术栈准备走C+ARM+Linux+(C#/QT)。其中,对于嵌入式,C是必备语言,更接近底层,效率更高;ARM架构是现在主流的嵌入式架构,学习ARM也是不可避免的;Linux更是不可缺少的;C#/QT主要用来做桌面程序或者上位机,嵌入式还是推荐用QT吧,毕竟QT是开源的。

  前期的基础储备:

    1、C语言基础,数据结构基础,基本算法会写,指针会用;

    2、数电基础,会看手册和电路图;

    3、Linux基础,熟悉Linux的基本指令和操作;

    4、ARM基础,了解ARM架构,会一点ARM汇编;

    5、单片机基础,51,STM32其实都可以,主要了解一些外设和裸机的开发;

    6、一颗对学习充满热爱和激情的心。

  驱动开发学习:

    一起学习吧,这方面我也是小白。

    参考视频或者教程:韦东山嵌入式

  开发板选择:我这边没有韦老师的视频中用的开发板,手里的开发板为Xilinx的Microzed开发板,只要上了系统后,开发流程好像都一样了,所以我还是选择Microzed吧,以后的程序或者学习记录都是关于这块开发板的。

  学习规划:裸板开发就不再记录了,关注于Linux下的开发。

    1、嵌入式设计分四部分吧,内核,u-boot,根文件系统以及驱动开发。先直接入手u-boot,再上手驱动开发。其他两部分在需要的时候再看,时间还是有限的;

    2、关于u-boot和驱动的开发我会参考韦老师的视频,具体学习过程会在后续文章记录下来,这里就先不做具体内容说明了。

  上位机开发:

    1、C#/QT会画界面;

    2、上位机和下位机的通信协议会写,比如Usart/Ethernet/I2C/SPI通信。

  其他遇到的问题我也会记录吧,毕竟这也是学习的过程。

  最后,很希望和大家成为学习交流的朋友。