http://hi.baidu.com/hmilo029/blog/item/9687fbf81bac650bd8f9fdc3.html
从uCLinux官方网站http://www.uclinux.org和ADI Blackfin网站http://blackfin.uclinux.org上下载下来的uCLinux的内容差异说明(因本人还处在熟悉阶段,会随着项目的接触深入时常更新它们的差异点,市面上主要是ARM处理器,而DSP处理器因为已出现多种新款系列而逐渐成为新宠,这里以ADI(AnalogDevices.Inc)公司的Blackfin系列DSP为例):
在ADI Blackfin版的uCLinux中最新版即2007版开始,只附带linux 2.6.x的内核。
在uClinux配置窗口中的Vendor(厂商)增加AnalogDevices,在Product中增加AnalogDevices Products,包括BF533-STAMP、BF533-EZKIT、BF537-STAMP、BF561-EZKIT
如果Vendor/Product Selection选择的是上述选项,并勾选自定义内核选项和自定义应用程序选项,那么在Linux Kernel Configuration配置选中增加相应的Blackfin的支持选项,如Blackfin Processor Options。在这个选项下提供了大量针对Blackfin系列DSP处理器的支持项,在Application Configuration Main Menu配置项中增加相应的Blackfin的支持选项,如Blackfin build Options、Blackfin app programs、Blackfin test programs和Blackfin canned demos,应用程序上提供了大量由ADI公司移植好的应用程序,这样方便了使用Blackfin系列DSP处理器的用户,而这点是ARM处理器所没有的。如果选用ARM处理器,在使用uCLinux官方提供的已移植应用程序的基础上还想再应用其他应用程序,如sqlite(一种嵌入式数据库,应用广泛),mplayer(一种全功能的媒体播放器),就需要应用者自己手工移植,鉴于ARM应用者众多,资源也多,学习者也多,所以手工移植也可以学到不少知识的。如果从商业应用角度,当然是选择开发商自己推出的移植版本,因为稳定性要好些。这里以uClinux-dist-2007R1.1-RC3.tar为例
解压后,在uClinux-dist目录下
增加了目录:bfin_patch、testsuites
删除了目录:include
在bfin_patch目录下分别有这几个目录:adeos_patch、darwin_build_patch、dpm_patch、kgdb_patch、konqueror3_embedded_patch、libssl_patch、ltp_path、msh_patch、qt_embedded_patch
在testsuites目录下分别有这几个目录:ad7171、ad9960、adi_ice_helpers、audio、bluetooth、bluetoothcf、canbus、cfcard、coreb、dll、dpm、dpmc、ethernet、gpio、i2ctwi、ide、irda、jffs2、joystick、jvm、kgdb、l1_app、l1_memory、linphone、ltp、microwin、mmap、module、msh、netaudio、nfs、oprofile、pbx、performance、pfbutton、pflag、pnormtd、policy、pound、ppifcd、pthread、qt、ramfs、rtc、serial、sigqueue、snormtd、spiadc、spimmc、sport、sqlite、strace、stress、test_scipts、tftlcd、timer、usbhost、usbnet、watchdog、webserver、wireless、xip、yaffs
以下是用户usr目录下(这个目录下增加了blkfin-apps和blkfin-test目录)的应用程序:
a60 Algol 60 interpreter NASE A60 http://www.bertnase.de/a60/
aesperf
agetty another getty program for Linux
appWeb AppWeb HTTP Server
arj ARJ archiver Linux下常用压缩格式的压缩与解压
asterisk PBX Open Source telephony switching and private branch exchange (PBX) daemon.
at This is version of 3.1.x of the at/atrun pair for running commands at a specified time.
bash This is GNU Bash, version 2.05.
bind BIND是一款由ISC维护的Internet域名名字系统实现.
blkfin-apps
alsa-utils alsa-utils是ALSA不可或缺的一部分,它集成了一些非常有用的应用程序,包括ALSA启动脚本。ALSA,高级Linux声音构架, 是一个致力于开发高质量Linux声音子系统的软件项目。在2.6系列内核中,它已经替换OSS(Open Sound System,开放声音系统)作为默认的声音子系统。
asterisk 电话应用程序。Asterisk是一种功能非常齐全的应用程序,提供了许多电信功能。也许它最著名的应用是当作一台交换机(PBX),因为Asterisk能够把你的x86机器变成你自己的交换机。
bluez-utils 蓝牙适配器支持工具包
corebld 用于将elf格式的文件作为一个普通文件读出来,提取出相应的可执行代码,再调用/dev/coreb提供的功能将这些可执行代码写入到B核的L1 Instruction Memory或者SDRAM中,最后再调用驱动程序的功能开始执行这些代码。它的实现在user\blkfin-apps\corebld\corebld.c中。目前corebld只能分析elf格式的文件,但是经过适当的修改,它应该也可以分析在vdsp下生成的可执行代码。
devfbapp
devvoutapp
inetutils Internet支持工具包
irattach IrDA 提供红外线设备(笔记本,PDA''s,手机,计算器等等)间的通讯支持。
jpegview JPEG图片浏览
jpegview_dma_blit
linphone 网络电话
lmbench3 基准测试软件
mplayer Linux系统下的首选全功能音视频播放器,已移植到多种平台中,如手机,MP3、MP4、数码相框等多种娱乐平台。
oprofile Oprofile是一种细粒度的工具,可以为指令集或者为函数、系统调用或中断处理例程收集采样。
picocom 类似minicom的超级终端程序
pngview PNG图片浏览
pound
ppifcd-cgi
sdl-touchscreen
sqlite-3.2.6 一个嵌入数据库,功能强大,应用广泛,支持多平台多语言接口
strace 系统跟踪程序,使用strace来调试系统错误
usbutils USB支持工具包
watchdogd 冗余WATCHDOGD守护进程
yaffs-utils yaffs文件系统工具包,YAFFS:Linux使用的一种文件系统。可支持读写。
zaptel 声卡驱动程序
blkfin-test
ad5304_test
ad9960_test
audio_test
crash_test
cycles_test
dcplb-test
dpmc-test
event_test
file_operation-test
iperf-bfin
iperf-x86
latency-test
netperf-bfin
netperf-x86
pfbuttons-test
pflags-test
ppi-test
ppifcd-test
pthread_tes
rdsd
rtc-test
rtscts_test
spi-test
sport_test
sqlite_test
sysv_ipc_test
timer_test
twi_keypad-test
twi_lcd-test
twi_test
video_test
boa(boa uses SSL、emergency syslog、enable log files) 适合于嵌入式应用的WebServer
boottools 包括:consume.c md5.c printbenv.c reset.c setbenv.c xloader.c xloader为:A replacement for ramloader and flashloader, since the loading mechanism is identical and the difference is just in which call to make to the uCbootloader
bpalogin This is a client to connect to Australia's Big Pond Advance powered by Cable.
br2684ctl
brcfg This is a bridge configuration tool for Linux Kernels 2.1.X
bridge-utils new-and-improved linux ethernet bridging code
busybox BusyBox combines tiny versions of many common UNIX utilities into a single small executable.适合于嵌入式应用的工具软件集
cal
camserv
can4linux
cbi_client
cgi_generic
cgihtml cgihtml是一套解析WWW通用网关接口输入和以超文本标记语言输出的系
cksum
clamav
clamsmtp
clock
conntrack-tools
cpu
cramfs cramfs是一个压缩式的文件系统
cron
crypto-tools
ctorrent CTorrent 是用C++写的一个BT客户端
cxxtest CxxTest是一个全功能的C++单元测试框架
ddns3-client
de2ts-cal
demo
dhcpcd、dhcpcd-new、dhcpd、dhcp-isc dhcp协议客户端和服务器端守护进程
dhrystone
diald 电话拨号守护程序
discard
dnsmasq
dnsmasq2
dosfstools
dropbear
e2fsprogs
elvis-tiny
ethattach 网卡添加和管理工具软件
etherwake
ethtool
expat-examples
expect Expect被设计成专门针和交互式程序的交互
ez-ipupdate 用ez-ipupdate更新动态域名
fakeidentd
fconfig
fdisk 格式化程序
ferret
fileutils 适合于嵌入式应用的文件管理工具软件
flashw Flash写入程序
flatfsd flat文件系统守护程序
flthdr
fnord web server
freeradius
freeswan IPSEC(Internet安全协议)的Linux实现,用于VPN和Internet上的安全通信,适合VPN、网络安全产品方面的应用
frob-led
frox
fswcert
ftp ftp(文件传输协议)客户端程序
ftpd
games 提供几个小游戏程序
gdb
gdbserver 目标系统端远程调试程序,与主机上运行的GDB软件配合完成对目标系统上运行的程序进行远程调试的功能。
gettyd
gnugk
grep 查找字符程序
hserl
hd
horch
hostap
hping hping是一个基于命令行的TCP/IP工具,它在UNIX上得到很好的应用,不过它并非仅仅一个ICMP请求/响应工具
httpd 另一个适合于嵌入式应用的WebServer,比boa更简单占用内存更少。
httptunnel
hwclock hwclock根据先前的记录来估算硬件时钟的偏差,并用来校正目前的硬件时钟
ifattach
inetd 网络服务进程
init 初始化程序
ipchains、ipfwadm、ipportfw、ipredir Linux下的防火墙软件。
iperf
ipmasqadm
iproute2
ip-sentinel
ipset
iptables
iputils
iso_client
jffs-tools jffs文件系统(适合Flash存储器的)工具软件。
jpegview JPEG图片查看程序
kendin-config
klaxon
l2tpd
l7-protocols
lcd 用于测试lcddma 设备驱动程序的软件。
ledcon
levee 一个面向屏幕的编辑器即VI。
lha
lilo
linux-igd
lirc Linux 红外遥控软件包,支持串口、并口及一些商品化的红外接收器和发射器。
lissa
lm_sensors
loattach
login 一个简单的login程序
lpr
lrpstat
lrzsz
lsof
lua Lua脚本解释器
mail 电子邮件收发软件
mathtest
mawk
mbus I2C总线设备驱动程序的测试程序
mgetty
microwin
mii-tool-fec
mini_httpd
mount
mp3play uCLinux下的mp3播放程序
msh
msntp
mtd-utils
musicbox
mysql 精简型MySQL数据库
nbench
nessus
netcat
netflash 通过以太网写入Flash的程序
netperf
netpipe
net-snmp
netstat-nat
net-tools 一个强大的网络工具集
nmap
nooom
ntp
ntpclient NTP客户端
null
nwsh 一个bash的替代品,占用内存更少
oggplay OGG格式播放程序
openssl 开放式SSL
openswan 开放式SWAN
openvpn 开放式VPN
oprofile Oprofile是一种细粒度的工具,可以为指令集或者为函数、系统调用或中断处理例程收集采样
p7zip 一个压缩软件
palmbot
pam_ldap pam_ldap模块允许Solaris和Linux服务器及工作站认证LDAP目录,并在目录中更改口令
pam_radius 使用pam-radius对主机的ssh以及telnet登录进行认证
pam_smb pam_smb是一款使用SMB服务器上的用于验证用户的验证模块
pam_tacplus 一种认证方式
pciutils
pcmcia-cs pcmcia接口
perl
ping 网络测试程序ping
play wav文件播放程序
playrt
plug
pop3proxy 接收邮件的POP3代理服务
portmap TCP端口映射(port map)程序
pppd、pppd-2.3 PPP协议uCLinux实现,支持按需拨号
pptp-client、pptpd pptp协议的Linux实现
procps Procps软件包包含监视和终止系统进程的程序
proftpd FTP服务器软件
python 一个面向对象的编程语言,适合分布式应用,类似Perl、Java Script。
qspitest
quagga Quagga是一个路由软件套件,可在Unix平台上实现多种路由协议
radauth
radvd
ramimage 专用于保存镜像的内存区域
rdate 显示其他主机的日期与时间
readprofile 读取/proc/profile的内容的程序。
recover 依赖日志对系统逻辑错误进行记录和修复
reiserfsprogs 基于平衡树算法的文件系统。
rootloader 自身加载器
routed 带数据分组的路由协议
rp-pppoe 网络拨号软件
rrdtool 绘图引擎
rsync
rsyslogd
rtc-ds1302
rtc-m41t11
samba 桑巴,支持SMB和CIFS协议,使Linux能够与Windows、Unix机器共享文件、打印机以及其他信息。
sash sh:经过改进后的Shell程序
ser
sethdlc
setmac setmac设置以太网MAC地址
setserial 设置或显示串口的相关信息
sh Shell脚本解释器
shadow 保存用户密码的程序文件
shutils 适合于嵌入式应用的Shell工具
siege Siege是一个多线程的WEB性能测试工具,被设计成可以让WEB开发人员了解代码在长时间压力下的性能.可以模拟很多用户同时访问WEB服务器,此数量可以自由定义.这就相当于web server被围攻(siege)了
siproxd siproxd是代理/伪装成守护进程,为sip协议
slattach slattach 命令行中提供了拨号字符串,则用户必须重新输入命令和拨号字符串以恢复断开的连接
smbmount Linux SMB client程序
smtpclient 简单的小型SMTP client程序
snmpd SNMP协议守护程序
snort Snort的主要用途就是网络监视、数据包的记录和检测入侵行为
speedtouch
squashfs SquashFS是一个即时解压缩的档案系统
squid WWW Cache软件
ssh 远程登陆软件,比Telnet更安全
sslwrap sslwrap是一个简单的Unix服务程序,它会待在任何简单的TCP服务器如POP3, IMAP, SMTP等,并对所有联机的资料以TLS/SSL进行加密
stp STP(Spanning Tree Protocol,生成树协议)
strace 系统跟踪程序,使用strace来调试系统错误
stty 通过使用stty命令,就可以查看或者修改终端的按键设置
stunnel Stunnel是一款允许用户加密任意TCP会话连接的程序,能使非SSL加密应用程序和服务使用SSL加密
sysutils
tcl TCL脚本解释器
tcpblast
tcpdump TCP流量统计软件
tcpwrappers 一个主机访问控制的程序
tcsh Shell脚本
telnet、telnetd telnet client和server端应用程序
tftp、tftpd tftp协议server端应用程序
threaddemos 简单的如何在uClinux下编译和运行多线程函数的例子
thttpd 一个小的Webserver
tinylogin 一个小的login程序
tinytcl TinyTcl 是一个用C++写的很小的Tcl解释器,主要目的是为了建立一个很小的内嵌Tcl解释器
tip 串口连接程序
tpt
traceroute 网络管理工具软件,能够跟踪进入和离开系统的IP包的路径
tripwire 系统管理工具软件,能够检测 特定文件是否被修改过
ucdsnmp 一个SNMP协议应用软件包
udev 一个用户空间程序,udev的目标是想解决上面提到的这些问题,通常采用用户空间(user-space)工具来管理/dev/目录树,和文件系统分开
ulogd、ulogd2 ulogd 守护程序是一种用户态服务器可以监听来自内核的防火墙日志指令,并且能够将其写到任何您希望的文件中,甚至是 PostgreSQL 或 MySQL 数据库
unrar、unzip Linux下解压缩软件
unzoo
vconfig vconfig是一个客户端配置工具包。它可完成虚拟局域网(VLAN)的相关配置
version 查看版本
vixie-cron Vixie cron是Paul Vixie写的一种定时执行后台守护进程,许多免费Unix操作系统附带了该软件
vplay 音频播放程序
vpnled 利用VPN技术搭建网络型LED显示屏系统
w3cam 网络摄像头的webserver,图像可以在internet上传输
wget 网络工具软件包,使用HTTP和FTP协议从World Wide Web上下载文件
whetstone Linux下的纯浮点运算性能,是由Whetstone进行测试的
winsd Winserver守护进程,可以让Linux系统看到Windows网络邻居
wireless_tools Linux下的一套对无线网卡进行配置的工具
wlan-ng Linux下prism2无线网卡的驱动
zebra 一个功能强大的IP路由软件包,支持BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, RIPng等多种Internet路由协议