嵌入式linux学习方法步骤有哪些,大家有哪些建议?
以下均为个人想法,有问题欢迎讨论指教
建议从单片机搞起
说真的
如果你学过单片机再学嵌入式的话,会有更多收获
没学过就算了(假的,还是去学学吧,学了对自己有好处)
嵌入式开发分带操作系统和不带的
既然楼主问的是Linux,那么不带操作系统的咱就直接过了
直接上带操作系统的
带操作系统的嵌入式主要是ARM方向的开发
此方向又分应用开发和底层开发
应用开发主要是一些功能应用程序,了如视频监控,网络通信,编译软件,汇编软件,评估板,在线仿真器等等
底层开发对技术要求较高
不管是什么方向,大神都是从基础打过来的,凭的就是他们对每一个接口驱动都了解
重点:
不管做哪个方向
C语言一定要学好!!
C语言一定要学好!!
C语言一定要学好!!
C语言一定要学好!!
C语言一定要学好!!
推荐一个网站:GitHub
一.打好软件编程的基础
第一阶段的基础包括以下步骤
C语言编程基础,数据结构,计算机原理,编译原理,操作系统,Linux系统的基本应用,Linux的常用命令(越熟越好)
(敲黑板)以上真的要好好学,都是基础都是基础!学不好下面就别继续了!
觉得以上基础已经打好了,没问题了,往下看
某宝弄一台裸机(!!!)
个人认为,如果想真正的了解驱动程序的过程。
还是要优先考虑裸机的驱动程序,他可以让你清楚地知道各个接口是怎么进行驱动的
自己从零开始动手肯定比死记硬背或者啥都不知道要好。
至少到了最后你知道怎么写操作系统。(23333)
二.ARM体系结构编程(边玩边学)
包括 模拟电路,数字电路,微机原理,单片机(没错还是要学)
咱们从电灯开始熟悉,不懂就翻书(看视频),弄不来就翻书(看视频),觉得不熟再翻一遍书(看视频),就是这么简单粗暴(打住)
弄清楚ARM架构,CPU 怎么取指译码,以及三个总线怎么工作balabalabala
以及搞清楚cpu怎么启动的程序镜像怎么布局的,还有中断以及保护现场等等等等
这一块学的主要就是CPU编程思想,目的是为了之后不要一碰上别款CPU就直接懵逼了
推荐书籍:《自己百度,找经典就成》(个人觉得看视频比看书效果要好,视频自己找,MOOC和网易云课堂啥的有很多)
单片机开发板还是有的好(真的!)
Ps:认真学习操作系统
认真学习操作系统
认真学习操作系统
(个人建议)
三.Linux应用程序开发
重头戏来了(敲黑板!)
此项目分以下几个步骤
1.命令(多试,多记,多练)这个书籍就不用推荐了,百度上很多
2.系统编程(推荐书籍《嵌入式系统》毛德操)
3.驱动(推荐书籍《Linux设备驱动开发详解》)
4.vim编辑(不熟不会)
5.服务器(同上不熟不会)
6.内核(推荐书籍a、《深入理解Linux内核》b、《Linux内核源代码情景分析》毛德操)
7……..(不行,说不下去了)
Linux命令一开始就说了,
越熟越好越多越好
越熟越好越多越好
越熟越好越多越好
当然死记硬背肯定是没用的。
所以要把实践和理论结合起来
多试试,多做做实例。各个类型都撸一遍(尽力吧hhh)
总结:
计算机这个方向
有兴趣能坚持就没啥大问题
毕竟网上视频很多
自学会累,但是也不是没可能
加油!
打字真.脑阔疼