作者:李Brooks
链接: https://www.zhihu.com/question/22252234/answer/75026117
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

占坑先。
-------------------------------------------------------------------
第一次修改咯。
不请自来。做电赛出身的程序猿一名,目前从事嵌入式Linux驱动开发。还有单片机从51到意法Ti都做过,DSP只用过TI的,主要是在开关电源控制方面的应用。建议学习路线:
1 学习51单片机,这个阶段你只需要跟着郭天翔的视频去学,只要求实现功能,不求甚解。但建议能够提出问题,比如“为什么往IO控制寄存器写入特定值能点亮LED灯?”“IO口的电路结构是什么样子的?”“什么是上拉下啦,灌电流拉电流?”,这一阶段主要是熟悉单片机的使用,并且在使用中思考发现问题,还能熟悉一些基本概念。
2 开始查资料看书,看模拟电路数字电路等等,开始去弄明白1中所提出的问题。这时候问题主要集中在电路方面。
3 开始学习STM32,随便买个板子,看原子的书跟着一步步去做。这时候你会遇到很多计算机方面的问题,这时候一边学习教程,一边学习:微机原理,编译原理,操作系统。你要弄清楚ARM架构,弄明白CPU如何取指,译码,执行,知道地址总线,控制总线,数据总线如何工作。要弄明白你编译各个阶段产生的各个文件是什么,什么是分散加载,什么是重定位,什么是代码段,什么是数据段,等等。还要能弄明白CPU如何启动,程序镜像在内存中如何布局。要知道中断的原理,以及现场保护等等。最后你了解了各个知识点之后,转向GCC开发STM32,这时候你如果知识掌握得不错,你应该可以很快地学会编写链接器脚本并且明白每一条语句所代表的含义。
4 开始增强C语言,深入挖掘C语言的各个死角。最好可以做到当你写下一条语句的时候知道编译器会如何处理。还需要数据结构和软件工程,建议最好还要学习一下设计模式。开始学习养成良好的代码风格,开始思考代码的结构。可以说设计模式如果能学好,在往后学习LINUX内核时大有裨益。你会发现LINUX的输入子系统有点像职责链模式,会发现ASOC音频系统有点像模板方法模式。私以为,如果能在两个以上不同方面考察同一种编程思想,你会得到更加深刻的理解,更能领会其精华。
5 认真研读OS方面的书,各个知识点都要弄明白,进程是什么程序是什么线程是什么,竞争死锁优先级反转,虚拟地址空间物理地址空间,用户空间内核空间等等。开始学习ucos,这个没什么可说的,如果在2中能熟练掌握各种知识点,知道CPU如何中断如何保护恢复现场,那么读ucos的源码时候,在原理上就不会有什么疑惑。如果能在4中养成把握代码整体结构的能力并且学习好数据结构和基本的算法,读源码就没有什么障碍。一旦原理弄通了,源码也能读懂,那么吃透ucos就是顺理成章的事情。
6 自己仿照ucos写一个stm32上的实时os出来。
7 进军LINUX。学习LINUX的基本使用,看赵炯那本内核剖析,啃LINUX内核设计与实现,把握总体的内核架构。之后可以学习驱动,看建议陈学松老师的书,弄明白基本的驱动架构和如何编写简单的驱动,认真对待,这里强调一下设备驱动模型。最后啃LINUX内核源码情景分析,上下两册用心读,这里着重强调一下内核中的VFS部分。之后就是看宋宝华老师的书,进一步学习驱动开发。最后。。。。。。。看内核源码看内核源码看内核源码。
8 其它的什么SPI,IIC,什么DMA,都只是技能问题,只要知识学的好,技能想咋点就咋点。
9 暂时没想到其它的了。想到再说

学习!嵌入式底层驱动工程师学习方法相关推荐

  1. 嵌入式入门学习笔记4:[转]什么是嵌入式底层驱动开发和嵌入式底层软件开发...

    我们知道嵌入式操作系统(Embedded System)是指以应用为中心.以计算机技术为基础,软件硬件可裁剪.适应应用系统对功能.可靠性.成本.体积.功耗严格要求的专用计算机系统.嵌入式开发分两种,一 ...

  2. 二元学习法3.0:三把学习大剑,打通学习的底层密码_学习方法

    单纯靠机会赚钱的时代已经过去,未来是认知赚钱的时代. 前两天还跟朋友聊到这个话题,未来的机会将会不断涌现,人工智能.5G.万物互联.虚拟现实-- 而这些东西,都跟知识挂钩.以前那种胆大就能挣钱,站在风 ...

  3. 嵌入式linux驱动笔试,嵌入式Linux驱动工程师/BSP开发工程师面试笔试题集锦

    以下题目可能与原题目有差入,但力争使题目与原题目接近. [一.来自Q群友] 1. linux内核里面,内存申请有哪几个函数,各自的区别? 2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的? 3 ...

  4. 嵌入式linux驱动开发答辩问题,嵌入式Linux驱动工程师/BSP开发工程师面试笔试题集锦...

    以下题目可能与原题目有差入,但力争使题目与原题目接近. [一.来自Q群友] 1. linux内核里面,内存申请有哪几个函数,各自的区别? 2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的? 3 ...

  5. 嵌入式linux驱动工程师面试,嵌入式Linux驱动工程师/BSP开发工程师面试笔试题集锦...

    以下题目可能与原题目有差入,但力争使题目与原题目接近. [一.来自Q群友] 1. linux内核里面,内存申请有哪几个函数,各自的区别? 2. IRQ和FIQ有什么区别,在CPU里面是是怎么做的? 3 ...

  6. 嵌入式底层驱动开发笔记1

    一.开发板 1\ bootloader的工作原理及作用? Linux 系统要启动就必须需要一个 bootloader 程序,也就说芯片上电以后先运行一段 bootloader程序.这段bootload ...

  7. 慕课嵌入式开发及应用(第二章.嵌入式硬件构件与底层驱动构件基本规范)

    慕课苏州大学.嵌入式开发及应用.第二章.入门与软件框架.嵌入式硬件构件与底层驱动构件基本规范 0 目录 2 入门与软件框架 2.1 嵌入式硬件构件与底层驱动构件基本规范 2.1.1 课堂重点 2.1. ...

  8. 嵌入式硬件构件与底层驱动构件基本规范

    嵌入式硬件构件与底层驱动构件基本规范 构件化设计 嵌入式硬件构件 核心构件 中间构件 描述需求接口 描述供给接口 终端构件 嵌入式底层驱动构件 底层驱动构件的规范 底层驱动构件的封装规范 构件设计的基 ...

  9. 成为wifi驱动工程师应该从什么开始学习

    前言: 写了这么多文章,都很零散,这次收集整理了下我们应该学习的大概框架和思路,希望大家喜欢,如果有其他的想要学习的或者思考的想法可以在评论区发言哦,我会尽量出一些实践的小原理的文章分享出来,谢谢! ...

  10. 新手学习嵌入式开发要学什么

    最近遇到很多处于迷茫中的新手,在纠结要不要去学嵌入式,主要问题在于嵌入式的门槛非常高,经验少.或者非电子专业投身嵌入式行业能否发展下去.现在嵌入式开发行业的确发展很好,大多数从业者都是科班出身,但我们 ...

最新文章

  1. linux中流设备_Linux设备驱动子系统终极弹
  2. 360修复高危漏洞可以修复吗_360代码卫士助D-LINK修复多个高危漏洞
  3. 【HTTPS、HTTP】网易新闻首页https跨协议调用http的问题
  4. javascript时间戳和日期字符串相互转换代码
  5. [PHP] 面向对象
  6. sqlserver2000内存突破4g_友商都上16G,华为手机为何一直用8G内存?网友:效仿iOS...
  7. 理想职业计算机程序英语作文,Choosing the Right Career理想的职业英语作文
  8. java去除网页中的广告和导航等信息_**css+html纯css怎样去除导航子菜单中的默认背景?**...
  9. JAVA Timer 定时器原理
  10. PS 色相、饱和度、明度
  11. web攻击:XSS跨站脚本
  12. Wave Arts Tube Saturator——实时电子管放大器插件
  13. 计算思维是运用计算机科学的什么进行,什么是计算思维?
  14. 星级评价的代码php,JavaScript_使用jQuery实现星级评分代码分享,前面有一篇原生js实现星级评 - phpStudy...
  15. 微信小程序系列2——小程序页面渲染和逻辑的关系
  16. python读取dat数据_dat文件读写_c语言读写dat文件_c语言读dat文件 - 云+社区 - 腾讯云...
  17. Android修改默认打开WLAN随时都可扫描
  18. MySQL 数据导入
  19. 【YOLOv5】详细讲解全过程
  20. 【python3 高级编程】.一文搞懂多线程

热门文章

  1. 红色警戒2修改器原理百科(六)
  2. SQLite 基本语法(二)
  3. 7. Java8新特性-并行数据处理(parallel)
  4. Pytorch中torch.nn.DataParallel负载均衡问题
  5. 采购很容易,油水又多?那你来啊
  6. chrome视频无法播放的解决方法(Solve the problem of Google player cannot be played normally)
  7. Unity2018发布webgl视频无法播放
  8. Linux 安装PostgreSql
  9. 一炉真香起静中开鸿蒙翻译,【真 香】_古籍全文检索_诗词名句网
  10. 数据流图DFD的画法