嵌入式linux学习步骤 2/5

2019-07-13 00:21发布


<
>
   学习掌握嵌入 Linux 的开发与移植现在非常流行。   各种学习文章与培训班,充斥书店街头。 
 笔者也上了路,经历漫长的摸索,终于一日开窍,但的确糟蹋了很多金钱与时间。作为穷人,现写下自己的感受,供好学寒士参考。



第一要点:实验重于看书(多编码,少翻书)

一定首先搭建x86实验环境。
用旧计算机(周末电脑城抛售存货,有新的),搭建一套实验环境。
host
主机: 一台PC机(能够跑redhat linux,看问档就可以了,配网卡与软驱)。
target
目标机:一块旧PC主板,配一张网卡和一个软驱,电源。
附件:*网线,交*串口线

够了,不会超过3千元(已经很满足了)。

软件全部到电脑城/网站下载。

先不管什么arm ppc mips, 以后看看文档吧。

第二重点:GNU C编译

    (1)在PC 上安装 redhat linux 包括开发工具。
    (2)熟悉linux 的配置命令。
    (3)练习 linux  C 语言编程,多个程序的编译工程制作。
    (4)无聊的话,将C语言教材的例程,编译十几个,熟悉GNU 编译器。www.gnu.org
    (5)包括gcc make ld objdump ar  GNU toolkit

第三重点:realtime linux 内核编程/加载到目标板运行。

   
    1、
下载 rt-linux ,uclinux 或什么 redhatlinux 源码,一定是包括,编译工程makefile, 并且for x86 PC的。
    2、
修改和配置程序,将 rtlinux标准 console改为串口,不是vga与键盘。 
    3、
redhat linux 环境下,编译这个 embedded linux内核。  用mkboot的这样程序(或按代码中工具,)将编译好的内核执行文件拷贝定位软盘引导区。

    4、
用这张软盘引导在目标PC主板PC主机的串口终端上配置 PC主板目标机。效果同 redhat linux terminal console一样。

以后越来越难,坚持。

第四个重点编译跑通网卡的驱动程序
    (1)下载编译你的网卡驱动源码
    (2)跑通主机与目标机的网络通讯。
    (3)不要太动头想, ping 通就是了。

第五个重点用tftp 下载执行文件从 PC主机到目标机运行。

第六个重点 GNU GDB 远程在线调试(网口调试)

第七个重点实时内核学习/修改
照文章/分析调试/破坏内核的源码。
主要是调度/消息/存储/文件/进程/线程/互斥

单独跑跑,了解内核功能就是了。

第八个重点 TCP/IP的学习
    (1)下载一个简单的web server (http server)
    (2)学习理解,并编译加载运行。

    (3)将 PC主板目标机看作网站服务器,然后在PC主机的网络浏难器中访问这个 web server. 
        有兴趣,把你的照片加载到目标机的 html网页中。
www.zebra.org

第九个重点网卡驱动程序分析
    了解 PCI总线原理,尝试独立写点网卡驱动程序,过滤以太报文的处理。跟踪处理特殊的报文。


第十个重点USB和 FLASH文件系统练习。(可以跳过)
    可以分析修改 USBFLASH文件系统源码。
    一定要分析源码,上网查 FLASH的型号。


第十一个重点路由器实验。
    (1)分析zebra方面的源码,再买一张网卡。
   (2)尝试分析 NAT RIP等协议,将你的PC板目标机,变成一台简单的路由器。

   以后的实验需要根据行业来,
  例如,mini-GUI (图形编程),或 DVR (硬盘录象机),或IP Vedio WebTV 服务器。

  可以玩好几年,当然最好找工作前,有针对地做实验。

  一句话,动手修改编码,不要只看看。