已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
系统学习嵌入式Linux 几点非常实用的建议学习把握嵌入 Linux 的开发与移植现在非常流行。各种学习文章与培训班,充斥书店街头。笔者也上了路,经历漫长的摸索,终于一日开窍,但的确糟践了很多金钱与时间。 作为穷人,现写下自己的感受,供好学寒士参考。 第一要点: 实验重于看书 (多编码,少翻书) 一定首先搭建x86实验环境。 用旧计算机(周末电脑城抛售存货,有新的),搭建一套 实验环境。 host主机: 一台PC机(能够跑redhat linux,看问档就可以了,配网卡与软驱)。 target目标机: 一块旧PC主板,配一张网卡和一个软驱,电源。 附件: 交叉网线 ,交叉串口线 够了,不会超过3千元(已经很满足了)。 软件全部到网站下载。 先不管什么arm ppc mips, 以后看看文档吧。 第二重点:GNU C编译 在PC 上安装 redhat linux 包括 开发工具。 熟悉linux 的配置命令。 练习 linux 的 C 语言编程,多个程序的编译工程制作。 无聊的话,将C语言教材的例程,编译十几个,熟悉GNU 编译器。 包括gcc make ld objdump ar 等 GNU toolkit 第三重点:realtime linux 内核编程/加载到目标板运行。 1。下载 rt-linux ,或uclinux 或什么 非 redhat的linux 源码,一定是包括,编译工程makefile, 并且for x86 PC的。 2。修改和配置程序,将 rtlinux的标准 console口改为串口,不是vga与键盘。 3。在redhat linux 环境下,编译 这个 embedded linux内核。 用mkboot的这样程序(或按代码中工具,)将编译好的内核执行文件拷贝定位软盘引导区。 4。用这张软盘引导在目标PC主板 。 在PC主机的串口终端上配置PC主板目标机。 效果同 redhat linux terminal console一样。 以后越来越难,坚持。 第四个重点 编译跑通网卡的驱动程序 下载编译网卡驱动源码 跑通主机与目标机的 网络通讯。 不要太动头想, ping 通就是了。 第五个重点 用tftp 下载执行文件从 PC主机 到 目标机运行。 第六个重点 GNU GDB 远程在线调试(网口调试) 第七个重点 实时内核学习/修改 照文章/书 分析调试/破坏 内核的源码。 主要是 调度/消息/存储/文件/进程/线程/互斥 等 单独跑跑,了解内核功能就是了。 第八个重点 TCP/IP的学习 下载一个简单的web server (http server) 学习理解,并编译加载运行。 将PC主板目标机看作网站服务器,然后在PC主机的网络浏难器中访问这个 web server. 有爱好,把你的照片加载到目标机的 html网页中。 第九个重点 网卡驱动程序分析 了解 PCI总线原理,尝试独立写点网卡驱动程序,过滤以太报文的处理。 跟踪处理非凡的报文。 第十个重点USB和 FLASH文件系统练习。(可以跳过) 可以分析修改 USB与FLASH文件系统源码。 一定要分析源码,上网查FLASH的型号。 第十一个重点 路由器实验。 分析zebra方面的源码,再买一张网卡。 尝试分析NAT RIP等协议,将你的PC板目标机,变成一台简单的路由器。 以后的实验 需要根据 行业来, 例如,mini-GUI (图形编程),或 DVR (硬盘录象机),或IP Vedio WebTV 服务器。 可以玩好几年,当然最好找工作前,有针对地做实验。 一句话,动手修改编码,不要只看看。学习嵌入式Linux的路:技术类学习博文 2010-10-28 15:42:56 阅读14 评论0 字号:大中小订阅 我认为的一条学习嵌入式Linux的路:1)学习 Linux系统安装、 常用命令、应用程序安装。2) 学习 Linux 下的 C 编程、这本书必学UNIX 环境高级编程、网络编程,Rechard Stevens 写的,C 高手大都学习过 C 和指针、C 缺陷与陷阱、高质量C/C+编程指南、C 专家编程、The C programming Language3)程序员大都要学:数据结构,嵌入式程序员数据结构必学!4)底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!5)单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从 ARM 入手,不太现实!6)ARM 体系结构,其中有汇编。7)数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与或门吧。8)ARM + Linux 应用程序开发。(前提是要有开发板)到此,你勉强算是在 嵌入式Linux 这个行业有了初步入门了吧, 但遗憾的是这还远远不够!这是我现在的水平。告诉你我是学软件专业,已经学习一年 嵌入式Linux 了,我现在找个工作都难,还没找到。以下是我认为成为高手的学习方向。9)要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。10)Linux 下的汇编要学,这样你才能真正了解你写的程序是如何在一个特定的硬件上跑的。这是区别好手与菜鸟的不同之处之二。11)TCP/IP 协议栈要学,所有的嵌入式高手都得掌握的东西,这是区别好手与菜鸟的不同之处之三。12)有了这些东西,拿下 Linux 驱动 已经不再话下,需要你去学习 Linux 内核源代码和Linux驱动程序设计,这是一个技术升华。到此, 你已经算是 嵌入式Linux 的中级人物了,本科生工资在4000-5500 不等。13)音频、视频的解码译码技术你得学。14)各种 IC ,各种 bootloader 你能够参与其开发设计。15)自行设计开发新产品,新技术。我认为到此你已经是一个世界级的嵌入式Linux 人物了,工资待遇我已经不用说了。这些东西要靠自学入门,说实话不太现实,嵌入式入门比较高,要有心里准备,进培训机构学习是有必要的,除非你有亲戚朋友手把手教你。但不一定就意味着培训了你就真能学好,能找到很好的工作,要因人而异,能入门就算不错了。主要还是靠个人,还有就是自己必须要有一块开发板,你必须投入很多钱,因为还有很多的书籍你也得买。还有一点,自己必须得喜欢专研。要不你不可能学好!小弟孤陋寡闻,很多细节没有一一写出,见笑了,请提出意见,谢谢。 如何学习嵌入式Linux默认分类 2011-02-27 09:59:59 阅读47 评论0 字号:大中小订阅 一直在为没能系统的学一下嵌入式linux+arm的问题而困扰, 因为一直不知道怎么个系统法, 所以整天东看看, 西弄弄. 前几天看到了成都国嵌的视频教程的介绍. 觉得他们为学员制定的学习指导比较合理, 比较适合入门, 所以总结的一下, 在此分享:=学什么: 1. 处理器基础(ARM体系结构与编程) 2. Linux系统管理 3. Linux应用程序开发 4. Linux驱动程序开发 5. Linux内核开发与系统移植-处理器(ARM) * ARM处理器工作模式 * ARM系统寄存器 * ARM寻址方式 * ARM汇编指令集 * ARM环境C编程 * ARM中断与异常 * ADS集成开发环境-系统管理 * Linux定制安装 * Linux命令详解 * samba, nfs, tftp, wireshark使用 * Shell编程-Linux应用开发 * GCC, GDB, Makefile * 文件编程 * 时间编程 * 多进程程序设计 * 进程间通讯 * 多线程程序设计 * 网络编程-Linux内核开发 * Linux内核配置与裁剪 * Linux内核模块开发 * 根文件系统制作 * 进程子系统 * 内存子系统 * Proc文件系统 * 系统调用 * 内核定时器 * 内核异常分析-Linux驱动程序开发 * 字符设备驱动程序 * 总线, 设备, 驱动模型 * 硬件访问技术 * 中断处理 * Input设备驱动 * Platform驱动程序 * PCI, USB驱动程序 * 网卡驱动程序 * 触摸屏驱动程序 * 串口驱动程序-=怎么学: 1. 学习顺序 2. 学习资料 3. 实践-学习顺序: 1. Linux系统管理 2. Linux应用程序开发 3. 处理器基础 4. Linux内核开发基础 5. 嵌入式Linux环境搭建 6. Linux驱动程序开发 7. 深入学习Linux内核-学习资料: 最多5本 1. UNIX环境高级编程(应用编程阶段) 2. Linux设备驱动程序v3 3. 深入理解Linux内核-实践: 保证每个知识点都做实验.=学习计划:第一阶段:第一天: 1. 嵌入式系统概述 2. Linux介绍 3. Linux定制安装 4. Linux命令详解第二天: 1. Linux系统管理 2. Shell编程 3. Shell编程实例(QCD)第三天: 1. GCC程序编译 2. GDB调试 3. Makefile工程管理-第二阶段 应用:第一天: 1. Linux文件编程(系统调用) 2. Linux文件编程(库函数) 3. Linux时间编程第二天: 1. Linux进程基础 2. Linux多进程程序设计第三天: 1. 进程间通讯概述 2. 管道通讯 3. 信号通讯 4. 共享内存通讯第四天: 1. 消息队列通讯 2. 信号灯第五天: 1. Linux线程基础 2. Linux线程创建 3. Linux线程等待 4. Linux线程清除第六天: 1. IP协议分析 2. TCP协议分析 3. UDP协议分析 4. TCP通讯程序设计 5. UDP通讯程序设计 6. 并发服务器模型 7. 多路复用-第三阶段 ARM程序设计与系统移植:第一天: 1. ARM处理器概述 2. ARM处理器工作模式 3. ARM系统寄存器 4. ARM寻址方式 5. ARM汇编指令集 6. ARM环境C编程 7. ADS集成开发环境第二天: 1. LED程序 2. ARM中断与异常 3. GPIO 4. 按键程序 5. 串口程序-第四阶段 内核开发与系统移植:第一天: 1. 内核简介 2. 内核源代码结构 3. 内核配置与裁剪 4. 内核模块开发 5. 内核启动流程第二天: 1. 嵌入式Linux产品开发流程 2. 定义工具链 3. Bootloader介绍 4. U-Boot介绍 5. U-Boot命令 6. U-Boot工作原理 7. U-Boot移植第三天: 1. 嵌入式Linux内核制作 2. 根文件系统制作 3. 嵌入式文件系统介绍第四天: 1. Linux内存管理 2. Linux进程地址空间 3. Linux内核地址空间 4. Linux内核链表 5. Linux内核定时器第五天: 1. Linux进程控制 2. Linux进程调度 3. Linux系统调用 4. Proc文件系统 5. Linux内核异常分析-第五阶段 Linux驱动:第一天: 1. Linux驱动简介 2. 字符设备驱动程序设计 3. 驱动调试技术 4. 并发与竟态第二天: 1. ioctl型驱动 2. 内核等待队列 3. 阻塞型驱动 4. Poll设备操作第三天: 1. Mmap设备操作 2. 硬件访问 3. 混杂设备驱动 4. LED驱动程序第四天: 1. Linux总线, 设备, 驱动模型 2. Linux platform驱动 3. 中断处理 4. 按键驱动程序第五天: 1. Linux网络体系架构 2. Linux网卡驱动程序设计 3.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 50263-97 气体灭火系统施工及验收规范
- 2025天津市商业店铺购买合同范本
- 浙江省宁波市2024-2025学年一年级第一学期期末调研卷(含答案)
- 护士输液泵考试题及答案
- 市第二水厂扩建工程深度处理土建工程施工组织设计水利方案
- 制作酒店布草柜合同
- 语文六年级小升初综合试卷测试题(附答案)
- 江西省上饶市单招职业倾向性测试题库有完整答案详解
- 油气管道保护工高级工测试题含答案
- 2025年工商管理硕士执业资格考试备考题库及答案解析
- 2025至2030年中国烟草行业市场深度分析及发展趋向分析报告
- 2024年家政服务业职业技能大赛家庭照护赛项技术工作文件
- 2022可调节负荷并网运行与控制技术规范+第6部分-并网运行调试
- 2025年有机肥市场分析报告
- 信息安全意识培训课件
- 小米公司介绍课件
- 部编高教版2023·职业模块 中职语文 品质
- 脑挫裂伤患者护理
- 读书分享小英雄雨来
- GB/T 44815-2024激光器和激光相关设备激光束偏振特性测量方法
- 2024年度全国中小学生天文知识竞赛试题库(共三套)
评论
0/150
提交评论