最近比较忙, 对于嵌入式的相关学习一直没有很好的开展. 今天也看了不少的嵌入式 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 通信.
其他遇到的问题我也会记录吧, 毕竟这也是学习的过程.
最后, 很希望和大家成为学习交流的朋友.
来源: http://www.bubuko.com/infodetail-3038697.html