2024年5月25日发(作者:)

嵌入式Linux开发笔记

第一章 建立开发环境

嵌入式开发一般使用交叉开发环境,即上位机开发软件然后下载到在下位机运行。

1.1. 上位机软件开发环境的构建

我主要使用Ubuntu 8.04进行开发,该版本是长期支持版,稳定性比较好,所以就选择

该版本了。

Ubuntu安装方式有很多种,比如硬盘安装、光盘安装等等。具体的安装方法这里就不

介绍了,网上多的很。但是要指明的是我用的是Ubuntu 8.04版的。

1.1.1. 配置Ubuntu

1. 安装drcom客户端

本人之所以喜欢使用ubuntu,很大程度上是由于它强大的包管理工具apt-get。由于本

人所处的环境是学校,学校上网认证使用的是drcom客户端,所以想要上网必须得安装该客

户端。庆幸的是该客户端网上已经有开源项目支持Linux操作系统。大家可以到sourceforge

上去下载,我使用的是drcom-1.4.8版的。

因为ubuntu8.04是一个精简的Linux发行版,它缺乏一些开发所要使用的工具、文件,

比如标准C库的头文件、g++编译器等。缺乏这些drcom-1.4.8是没有办法编译安装的。

1. 打开/etc/apt/,在该文件中找到下面一行,再将行头的“#”去掉。

# deb cdrom:[Ubuntu 8.04.1 _Hardy Heron_ - Release i386 (20080702.1)]/

hardy main restricted

再删除其它的内容,因为其它源太慢了。

2. 更新可用的程序列表

bigtree@just:~$sudo apt-get update

3. 安装build-essential。

将ubuntu8.04安装光盘放入光驱中,再执行以下命令。

bigtree@just:~$sudo apt-get build-essential

4. 编译安装drcom

bigtree@just:~$tar xvzf

bigtree@just:~$make

bigtree@just:~$sudo make install

5. 打开/etc/,按照如下内容配置客户端。

username=用户名

password=密码

#mac地址由于我在不同的机子上使用同一账号

mac=00:e0:4c:01:6d:85

device=eth0

except=10.0.0.0/255.0.0.0, 192.168.0.0/255.255.0.0,

172.16.0.0/255.240.0.0, 127.0.0.0/255.0.0.0

dnsp=218.2.135.1

dnss=202.102.4.141

dhcp=

作者:周书林

联系方式:@

QQ:286602133

嵌入式Linux开发笔记

hostip= 192.168.6.197

servip= 202.195.192.197

hostport=

servport=

hostname=

winver=

winbuild=

servicepack=

autologout=0

6. 由于学校局域网arp攻击比较厉害,所以我设置了arp和mac地址绑定。包括客户端登

入和绑定的过程我写了一个脚本。

#!/bin/sh

ping -c 3 192.168.6.1

sudo arp -s 192.168.6.1 00:D0:F8:8A:91:C2

ping -c 3 192.168.6.1

sudo drcomd

drcomc login

好了电脑可以上网了,呵呵。

7. 再次打开/etc/apt/,注释掉光盘的源,加入以下的源,该源是常州源,速

度比较快。

deb /ubuntu/ hardy main restricted universe multiverse

deb /ubuntu/ hardy-security main restricted universe

multiverse

deb /ubuntu/ hardy-updates main restricted universe

multiverse

deb /ubuntu/ hardy-proposed main restricted universe

multiverse

deb /ubuntu/ hardy-backports main restricted universe

multiverse

deb-src /ubuntu/ hardy main restricted universe multiverse

deb-src /ubuntu/ hardy-security main restricted universe

multiverse

deb-src /ubuntu/ hardy-updates main restricted universe

multiverse

deb-src /ubuntu/ hardy-proposed main restricted universe

multiverse

deb-src /ubuntu/ hardy-backports main restricted universe

multiverse

保存退出

执行命令:bigtree@just:~$sudo apt-get update

2. 交叉工具链的制作

交叉工具链可以使用开发板商提供的,或者使用第三方公司提供的,比如DENX 公司

的ELDK。这里我选择了自己制作工具链。

工具链的制作比较便捷和保险的方法是使用自动化的工具来搞定。如果要基于gcc和

glibc来制作工具链,可以使用crosstool来编译;如果要基于gcc和uClibc来制作工具链,

可以使用buildroot来制作。这里我使用的是crosstool来搞定这一切。

Crosstool的官方网站是:

/crosstool/,再制作工具前强烈建议先阅读

。在该网站上下载。

由于制作工具链的工具要使用bison、flex,这两个语法和词法分析器。所以要安装。

作者:周书林

联系方式:@

QQ:286602133