完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
`` 本帖最后由 lzr858585 于 2017-9-18 18:05 编辑 凡是点开本文的朋友们,默认您还在为如何学习嵌入式Linux感到迷茫,不知道从哪里开始学习,现在小编就来给您们讲讲如何学习嵌入式Linux。 嵌入式Linux系统包括什么? 嵌入式Linux系统包含哪些东西?不要急,举一个例子你就知道了。 ① 电脑一开机,那些界面是谁显示的? 是BIOS,它做什么?一些自检,然后从硬盘上读入windows,并启动它。 类似的,这个BIOS对应于嵌入式Linux里的bootloader。这个bootloader要去Flash上读入Linux内核,并启动它。 ② 启动windows的目的是什么? 当然运行应用程序以便上网、聊天什么的了。 这些上网程序、聊天程序在哪? 在C盘、D盘上。 所以,windows要先识别出C盘、D盘。在Linux下我们称之为根文件系统。 ③ windows能识别出C盘、D盘,那么肯定有读写硬盘的能力。 这个能力我们称之为驱动程序。当然不仅仅是操作硬盘,还有网卡、USB等等其他硬件。 嵌入式Linux能从Flash上读出并执行应用程序,肯定也得有Flash的驱动程序啊,当然也不仅仅是Flash。 简单地说,嵌入式LINUX系统里含有bootloader、内核、驱动程序、根文件系统、应用程序这5大块。而应用程序,我们又可以分为:C/C++、Android。 怎么学习嵌入式操作系统? 本文假设您是零基础,以实用为主,用最快的时间让你入门;后面也会附上想深入学习时可以参考的资料。 在实际工作中,我们从事的是“操作系统”周边的开发,并不会太深入学习、修改操作系统本身。 ① 操作系统具有进程管理、存储管理、文件管理和设备管理等功能,这些核心功能非常稳定可靠,基本上不需要我们修改代码。我们只需要针对自己的硬件完善驱动程序 ② 学习驱动时必定会涉及其他知识,比如存储管理、进程调度。当你深入理解了驱动程序后,也会加深对操作系统其他部分的理解 ③ Linux内核中大部分代码都是设备驱动程序,可以认为Linux内核由各类驱动构成 但是,要成为该领域的高手,一定要深入理解Linux操作系统本身,要去研读它的源代码。 给想学习嵌入式Linux入门的新手小白推荐几本书 在忙完工作,闲暇之余,可以看看这些书: ① 赵炯的《linux内核完全注释》,这本比较薄,推荐这本。他后来又出了《Linux 内核完全剖析》,太厚了,搞不好看了后面就忘记前面了。 ② 毛德操、胡希明的《LINUX核心源代码情景分析》,此书分上下册,巨厚无比。当作字典看即可:想深入理解某方面的知识,就去看某章节。 ③ 其他好书还有很多,我没怎么看,没有更多建议 基于快速入门,上手工作的目的,您先不用看上面的书,先按本文学习。 嵌入式Linux学习路线图 学习嵌入式开发,除了C语言、java要了解一些基本的语法操作,学会写一些简单的程序,会写冒泡排序,也可以在Linux下学习,掌握一些编译命令。 然后是掌握PC Linux工具代码编译,通常我们使用比较多的是Ubuntu;再次是熟悉硬件知识,目的在于看懂原理图,看懂通信协议,看懂芯片手册;不求能设计原理图,更不求能设计电路板。 点击下方,了解详细的嵌入式Linux学习方法。 传送门 ->> 韦东山嵌入式Linux+Android学习路线图 pdf 下载 为什么要学习ARM 裸机? 学习裸机开发的目的有两个: ① 掌握裸机程序的结构,为后续的u-boot作准备 ② 练习硬件知识,即:怎么看原理图、芯片手册,怎么写代码来操作硬件。后面的u-boot可以认为是裸机程序的集合,我们在裸机开发中逐个掌握各个部件,再集合起来就可以得到一个u-boot了。 后续的驱动开发,也涉及硬件操作,你可以在裸机开发中学习硬件知识。 注意:如果你并不关心裸机的程序结构,不关心bootloader的实现,这部分是可以先略过的。在后面的驱动视频中,我们也会重新讲解所涉及的硬件知识。 推荐两本书:杜春蕾的《ARM体系结构与编程》,韦东山的《嵌入式Linux应用开发完全手册》。后者也许是国内第1本涉及在PC Linux环境下开发的ARM裸机程序的书,如果我说错了,请原谅我书读得少。 PS:小编已经为大家准备好《嵌入式Linux应用开发完全手册》电子版,需要的可以下载。 传送门 ->> 嵌入式Linux应用开发完全手册 对于裸机开发,我们提供2部分视频:环境搭建+ 裸机程序开发 录制上述《裸机程序开发》视频时,本意是结合《嵌入式Linux应用开发完全手册》的《第2篇 ARM9嵌入式系统基础实例篇》来讲解,所以视频里没有完全从零编写代码,需要结合书本来学习。 ① 书和视频并不是完全配套的,不要照搬,其中的差异并不难解决。 《嵌入式Linux应用开发完全手册》发表于2008年,使用了很多款开发板,并且那时的开发板配置较低(Nand Flash是64M); 《裸机程序开发》视频使用JZ2440开发板录制。 ② 书和视频,适用于所有S3C2440开发板,包括mini2440、tq2440等 天下S3C2440配置都是相似的,基本也就是LED、按键所用引脚不同,LCD型号不同;你学习了书、视频,如果连这些差异都搞不定的话,那就是你我的失败了。 学习方法是这样的: ① 先看《环境搭建》视频来搭建开发环境 ② 书(第2篇)和视频(裸机程序开发)结合,看完一章,练习一章 一定要编写代码,即使是照抄也要写。 ③ 如果对于ARM架构相关的知识,觉得模糊或是想了解得更深入,参考《ARM体系结构与编程》 学习程度: ① 理解一个裸机程序的必要结构:异常向量、硬件初始化、代码重定位、栈 ② 知道如何操作GPIO、Flash、LCD、触摸屏等硬件 ③ 很多人觉得MMU难以理解,可以放过它 今年,ARM 裸机视频在原来视频上增加许多新的内容,最近重新推出全新《ARM裸机1期加强版》。 相比旧1期,新版ARM 裸机视频更加注重现场实践操作、硬件知识讲解部分。 ARM裸机1期加强版以1条主线、2条辅线来讲解,ARM裸板为主线,硬件知识、C语言为辅线。假设学员0基础,只懂C语言,讲解基本的LINUX操作、硬件知识、汇编知识等。 传送门 ->> ARM 裸机1期加强版 韦东山嵌入式Linux驱动篇 |
|
相关推荐
|
|
十分感谢分享
|
|
|
|
|
|
可以,收藏了,对于我刚学习嵌入式很有帮助,不过我觉得看书只能是辅助,还是要去看看视频教程啥的,最近一直在看星创客的教程,感觉挺不错了,大家也可以去看看superedu.com.cn/?ele321
|
|
|
|
|
|
给大家推荐一个嵌入式PDF的书籍的下载地址书籍也是非常全很不错:emb.hqyj.com/xuexi/books/?lbjd***ashaoyou
|
|
|
|
|
|
只有小组成员才能发言,加入小组>>
「含关键代码」基于AM3352/AM3354/AM3359的Linux开发案例分享
4771 浏览 0 评论
87176 浏览 0 评论
【高手问答】如何做到精通linux技术?资深工程师带你突破难点
4435 浏览 2 评论
3422 浏览 2 评论
解读Linux :先从创建一个文件夹用来存放jdk压缩文件开始
2361 浏览 0 评论
1629浏览 3评论
这是i.mx6ull的关于usb的宏定义,能解释下这些宏定义的意思
1223浏览 1评论
897浏览 1评论
求解:aarch64交叉编译工具已经安装成功,环境变量已经配置,怎么将系统架构切换为ARM的架构
997浏览 0评论
电脑和虚拟机可以互ping,电脑和开发板也可以互ping,但是虚拟机和开发板ping不通是什么原因
1046浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-20 20:59 , Processed in 1.412461 second(s), Total 99, Slave 81 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号