嵌入式学习步骤[通俗易懂]

嵌入式学习步骤[通俗易懂]作者:李Brooks链接:https://www.zhihu.com/question/22252234/answer/75026117来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。占坑先。——————————————————————-第一次修改咯。不请自来。做电赛…

大家好,又见面了,我是你们的朋友全栈君。

作者:李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 暂时没想到其它的了。想到再说

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/133058.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • win7上ModifyStyleEx无效的解决办法

    win7上ModifyStyleEx无效的解决办法创建窗口时,指定窗口样式为WS_EX_TOOLWINDOW;创建完成之后,还要通过以下语句进一步修改窗口属性:ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWIN

    2022年7月1日
  • windows 开机自动登录并锁定「建议收藏」

    windows 开机自动登录并锁定「建议收藏」首先来看看系统启动自动登录的设置:  按住Win键,再按R键(Win+R),启动”运行”窗口;  WindowsXP/2003/2008/2008R2输入”controluserpasswords2″(不含引号)回车;  Windows7输入”netplwiz”(不含引号),回车;  在”用户帐户”-“用户”界面中,取消”要使用本机,用户必须输入用户名和密码(E)”复选框;  按”确定”按钮

    2022年7月21日
  • 调度服务 ScheduledExecutorService 经常卡顿问题的排查及解决方法

    调度服务 ScheduledExecutorService 经常卡顿问题的排查及解决方法如上述代码所示,启动10个调度线程,延迟10秒,开始执行定时逻辑,然后每隔2秒执行一次定时任务。定时任务类为`TaskWorker`,其要做的事就是根据`offset`和`rows`参数,到数据库捞取指定范围的待处理记录,然后送到`TaskService`的`processTask`方法中进行处理。从逻辑上来看,该定时没有什么毛病,但是在执行定时任务的时候,却经常出现卡顿的问题,表现出来的现象就是:**定时任务不执行了**。

    2022年5月5日
  • java snmp协议_snmp属于哪一层协议

    java snmp协议_snmp属于哪一层协议背景控制华为交换机的poe供电与断电来重启PADsnmp协议使用importjava.io.IOException;importjava.util.ArrayList;importjava.util.List;importjava.util.Vector;importlombok.extern.slf4j.Slf4j;importorg.snmp4j.CommunityTarget;importorg.snmp4j.PDU;importorg.snmp4j.Snmp;

    2022年10月16日
  • win10 硬盘图标变成空白解决办法是什么_新电脑如何分区硬盘win10

    win10 硬盘图标变成空白解决办法是什么_新电脑如何分区硬盘win10Win10硬盘图标变成空白解决办法如图,有时候会出现这种硬盘图标变成空白的情况,虽然不影响使用,但强迫症表示真的很难受,这里给出解决办法:按下组合键WIN+R,输入regedit再按回车运行,这时候会有一个提示,选择“是”。一层一层找到计算机\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\DriveIcons\这个路径,或者也可以直接在上方地址栏输入,注意我这里路径最开始显示的是计

    2022年10月18日
  • python用冒泡法排序_数组冒泡排序c语言函数

    python用冒泡法排序_数组冒泡排序c语言函数arr=[7,4,3,67,34,1,8].defbubble_sort:最近在学习Python,下面是我的一些笔记冒泡排序实现思路:使用双重for循环,内层变量为i,外层为j,在内层循环中不断的比较相邻的两个值(i,i+1)的大小,如果i+1的值大于i的值,交换两者位置,每循环一次,外层的j增加1,等到j等于n-1的时候,结束循环第一次看不懂很正常,不要灰心,下面是使用代码的实现arr=…

    2022年10月16日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号