嵌入式linux驱动程序设计从入门到精通_嵌入式从入门到精通需要学什么

我们这里主要介绍ARM+LINUX学习路线,如果你做过单片机,那么对学习ARM+LINUX是有帮助的,但是如果没有单片机基础,也没必要先学51,AVR等单片机。

对嵌入式LINUX操作系统及其上应用软件开发目标:

1、 掌握主流嵌入式微处理器的结构与原理(ARM9相对比较容易)。

2、 必须掌握一个嵌入式操作系统,如LINUX系统,这是一个开源的系统。

3、 必须熟悉嵌入式软件开发流程并做一些嵌入式软件项目。

学习路线:

1、硬件知识

对于硬件部分要求并不高,只要能看懂原理图,看懂通信协议,看懂芯片手册就可以。不求能设计原理图,更不求能设计电路板。如果能有一些《数字电路》的基础就更好,没有也没关系。我们主要掌握硬件工作原理。要掌握常见硬件,如ADC,PWM,UART、I2C、SPI等。

2、编程语言学习

学习C语言,推荐C语言的设计者Dennis M. Ritchie和著名计算机科学家Brian W. Kernighan编写的一部介绍标准C语言及其程序设计方法的著作,《C程序设计语言》。

3、学习LINUX系统编程

首先学会使用了解LINUX,学习LINUX命令,软件安装,工具使用。

学习文件IO,多进程多线程,进程间通信,套接字等。推荐《UNIX环境高级编程》,《TCP/IP详解 卷一》

4、学习LINUX设备驱动

 首先需要学习LINUX内核基础部分,包括内核配置编译,内核模块,并发控制,字符设备,设备模型,平台设备等。

在学习常用驱动框架,如INPUT系统,帧缓冲驱动,网络设备驱动,块设备驱动,音频设备驱动等,掌握这些驱动框架,了解原理,总结哪些部分需要我们实现。基础部分可以参考《Linux设备驱动 第三版》,该书虽然老,但是原理讲的比较透彻,还可以参考。驱动框架可以到网上搜索资料,网上有很多关于驱动框架的介绍,这里就不推荐具体的文章,大家可以自己找一下。

以上学习是一个漫长的过程。勿在浮沙筑高台,要打好基础才能走好下一步。最好有一些小项目来锻炼,巩固所学内容。

41cf1c8f883b2458bf6777c2179994df.gif

d78880f63b089ede35378408e6f86bf4.png

发现更多精彩

关注公众号

2211784335b976192c624922b3492633.png

0d75f188b811f3e58c083e444f9c9468.png

往期精彩回顾

 ◆ ◆ ◆ ◆ ◆

科技周报

嵌入式C语言编码规范

硬件工程师的升级发展

科技周报

嵌入式c语言好找工作吗

智能家居控制系统

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值