欢迎来到天天文库
浏览记录
ID:9015549
大小:52.00 KB
页数:9页
时间:2018-04-15
《学习嵌入式linux几点非常实用的建议》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、系统学习嵌入式Linux几点非常实用的建议学习把握嵌入Linux的开发与移植现在非常流行。各种学习文章与培训班,充斥书店街头。笔者也上了路,经历漫长的摸索,终于一日开窍,但的确糟践了很多金钱与时间。作为穷人,现写下自己的感受,供好学寒士参考。第一要点:实验重于看书(多编码,少翻书)一定首先搭建x86实验环境。用旧计算机(周末电脑城抛售存货,有新的),搭建一套实验环境。host主机:一台PC机(能够跑redhatlinux,看问档就可以了,配网卡与软驱)。target目标机:一块旧PC主板,配一张网卡和一个软驱,电源。附件
2、:交叉网线,交叉串口线够了,不会超过3千元(已经很满足了)。软件全部到网站下载。先不管什么armppcmips,以后看看文档吧。第二重点:GNUC编译在PC上安装redhatlinux包括开发工具。熟悉linux的配置命令。练习linux的C语言编程,多个程序的编译工程制作。无聊的话,将C语言教材的例程,编译十几个,熟悉GNU编译器。www.gnu.org包括gccmakeldobjdumpar等GNUtoolkit第三重点:realtimelinux内核编程/加载到目标板运行。1。下载rt-linux,或uclinux
3、或什么非redhat的linux源码,一定是包括,编译工程makefile,并且forx86PC的。2。修改和配置程序,将rtlinux的标准console口改为串口,不是vga与键盘。3。在redhatlinux环境下,编译这个embeddedlinux内核。用mkboot的这样程序(或按代码中工具,)将编译好的内核执行文件拷贝定位软盘引导区。4。用这张软盘引导在目标PC主板。在PC主机的串口终端上配置PC主板目标机。效果同redhatlinuxterminalconsole一样。以后越来越难,坚持。第四个重点编译跑通
4、网卡的驱动程序下载编译网卡驱动源码跑通主机与目标机的网络通讯。不要太动头想,ping通就是了。第五个重点用tftp下载执行文件从PC主机到目标机运行。第六个重点GNUGDB远程在线调试(网口调试)第七个重点实时内核学习/修改照文章/书分析调试/破坏内核的源码。主要是调度/消息/存储/文件/进程/线程/互斥等单独跑跑,了解内核功能就是了。第八个重点TCP/IP的学习下载一个简单的webserver(httpserver)学习理解,并编译加载运行。将PC主板目标机看作网站服务器,然后在PC主机的网络浏难器中访问这个webse
5、rver.有爱好,把你的照片加载到目标机的html网页中。第九个重点网卡驱动程序分析了解PCI总线原理,尝试独立写点网卡驱动程序,过滤以太报文的处理。跟踪处理非凡的报文。第十个重点USB和FLASH文件系统练习。(可以跳过)可以分析修改USB与FLASH文件系统源码。一定要分析源码,上网查FLASH的型号。第十一个重点路由器实验。分析zebra方面的源码,再买一张网卡。尝试分析NATRIP等协议,将你的PC板目标机,变成一台简单的路由器。以后的实验需要根据行业来,例如,mini-GUI(图形编程),或DVR(硬盘录象机)
6、,或IPVedioWebTV服务器。可以玩好几年,当然最好找工作前,有针对地做实验。一句话,动手修改编码,不要只看看。学习嵌入式Linux的路:技术类学习博文2010-10-2815:42:56阅读14评论0 字号:大中小 订阅我认为的一条学习嵌入式Linux的路:1)学习Linux系统安装、常用命令、应用程序安装。2)学习Linux下的C编程、这本书必学《UNIX环境高级编程》、《UNIX 网络编程》,RechardStevens写的,C高手大都学习过《C和指针》、《C缺陷与陷阱》、《高质量C/C++编程指南》、《C
7、专家编程》、《TheCprogrammingLanguage》3)程序员大都要学:数据结构,嵌入式程序员数据结构必学!4)底层开发人员大都要学:微机原理、计算机体系结构,嵌入式开发人员必学!5)单片机可以让一个从事软件开发的人了解和如何操作硬件,有必要学,因为一开始就从ARM入手,不太现实!6)ARM体系结构,其中有汇编。7)数字电路有必要学习,不然你在做底层开发时真的会不知道怎么看原理图,起码也得懂与或门吧。8)ARM+Linux应用程序开发。(前提是要有开发板)到此,你勉强算是在嵌入式Linux这个行业有了初步入门了
8、吧,但遗憾的是这还远远不够!这是我现在的水平。告诉你我是学软件专业,已经学习一年嵌入式Linux了,我现在找个工作都难,还没找到。以下是我认为成为高手的学习方向。9)要做底层开发,就必须知道软硬件之间是如何衔接和配合工作的,那么电子技术应该要好好学习了,很多时候会用到模拟电路知识,这是区别好手与菜鸟的不同之处之一。1
此文档下载收益归作者所有