学习掌握嵌入 Linux 的开发与移植现在非常流行。各种学习文章与培训班,充斥书店街头。笔者也上了路,经历漫长的摸索,终于一日开窍,但的确糟蹋了很多金钱与时间。 作为穷人,现写下自己的感受,供好学寒士参考。
第一要点: 实验重于看书 (多编码,少翻书)
一定首先搭建x86实验环境。
用旧计算机(周末电脑城抛售存货,有新的),搭建一套 实验环境。
host主机: 一台PC机(能够跑redhat linux,看问档就可以了,配网卡与软驱)。
target目标机: 一块旧PC主板,配一张网卡和一个软驱,电源。
附件: 交叉网线 ,交叉串口线
够了,不会超过3千元(已经很满足了)。
软件全部到网站下载。
先不管什么arm ppc mips, 以后看看文档吧。
第二重点:GNU C编译
在PC 上安装 redhat linux 包括 开发工具。
熟悉linux 的配置命令。
练习 linux 的 C 语言编程,多个程序的编译工程制作。
无聊的话,将C语言教材的例程,编译十几个,熟悉GNU 编译器。 www.gnu.org
包括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的开发与移植现在非常流行。各种学习文章与培训班,充斥书店街头。本文给出了几点学习嵌入式Linux几点非常实用的建议。
学习嵌入式Linux_几点非常实用的建议
学习把握嵌入Linux 的开发与移植现在非常流行。各种学习文章与培训班,充斥书店街头。笔者也上了路, 经历漫长的摸索,终于一日开窍,但的确糟践了很多金钱与时间。作为穷人,现写下自己的感受,供好学寒士 参考。
随着最近几年的嵌入式Linux行业的迅猛发展,嵌入式Linux人才的紧缺,越来越多的人向Linux行业靠拢,但是由于嵌入式Linux入门门槛有点高,所以让很多人...作为一个过来人谈一下我对学习嵌入式linux开发的一点建议
对想加入或正在嵌入式学习人员的指明方向与建议. 虽不太长,对你的职业来说值得你一看啊.
再有就是给做的朋友几点建议:尽量拿到现成的板子,尽量多搜集其他板子的全套资料,一定要拿到一张没问题的原理图。 网上流传的原理图多数是龚俊03年画的,再这里对龚俊表达一下我的敬意!!牛人! 但是那个图有个小...
如何学习嵌入式Linux系统?如何入门?这些都是很多linux初学者最常问的问题,下面就向大家介绍关于嵌入式Linux系统入门学习的几点建议
这本书最初是为北京亚嵌教育研究中心的嵌入式Linux系统工程师就业班课程量身定做的教材之一,作者宋劲松。 这是一本从零基础开始学习编程的书,不要求读者有任何编程经验,但读者应勤于思考。本书尽最大努力理清...
如果想自己动手写写操作系统的书籍,建议大家下一本叫做《自己动手写操作系统》的书籍,非常好,我暑期看了几章,觉得非常好,现在一直没时间看,推荐给大家,这个资料在我共享的资源里面也有,有书有源码,而且记得...
4、C 2 2、 学习建议 3 3、 如何学习 3 4、 教程设计 4 4.1、Linux基础知识 4 4。2、C程序入门 5 4。3、C++程序入门 5 4。4、Linux系统程序编写 5 4。5、常用函数和类的封装 6 4。6、TCP/IP通讯 11 4.7、FTP编程 13 ...
键盘驱动模块,负责点菜信息的录入,服务员根据顾客的点单情况录入一些重要信息,比如,点几个菜,点菜时间,座位号,点菜员编号。 信息传输模块,负责主机端和实验箱的通讯,采用Socket编程,自定义协议结构。 信息...
找你们学校以前带电子设计竞赛的老师,告诉他你自己的想法,希望他能给你点建议 或者帮助。 6.坚持,坚持,再坚持,克服困难,持之以恒! 这些最基本的东西学好了,等你正式参加比赛的时候,什么ARM,DSP,FPGA等用...
嵌入式Linux开发工具套件(ELDK)包括GNU交叉开发工具,如编译器、binutils、gdb等工具,和一些已经编译好的目标工具以及负责提供在目标平台上函数调用的库文件。还免费提供了所有的源代码,包括全部补丁、扩展文件、...
网吧对路由器的需求就有着以下几个共同点:数据处理能力要够强,上网高速畅通,大数据流量下不掉线、不停顿;具有高度的稳定性和可靠性,能长时间不间断稳定工作;要有很强的兼容性,要能适应不同运营商的不同接入...
虽然每个Linux发行版应该都能使用,但还是建议你使用Ubuntu 12.04 LTS。这样你可以根据第1章的内容安装ROS Hydro。, 对于ROS的这一版本,你将需要Ubuntu 14.04之前的版本,因为之后的版本已经不再支持Hydro了。, ...
在本章的拓展思考部分,笔者提出了几个问题,旨在激发读者深入思考和学习Android的欲望。 本书特色 笔者认为,本书最大的特点在于,较全面、系统、深入地讲解了Android系统中的几大重要组成部分的工作原理...
学习ARM及嵌入式系统是否比学习其它一般单片机更有使用前景?对于一个初学者应当具备哪些相关知识? 答:一般在8位单片机与ARM方面的嵌入式系统是有层次上的差别,ARM适用于系统复杂度较大的高级产品,如PDA、...