友善之臂最新QT及linux版本介绍
2009-05-15 07:58
387 查看
友善之臂最新QT及linux版本介绍
来源:友善之臂作者:杨斌
时间:2009-05-05
Tag:Linux 友善之臂
点击:
289
友善之臂是国内众开发板厂商中Linux软件研发实力最强的公司,技术水平远超其他任何公司。目前我
们提供了最新的Linux内核2.6.29,它带有完整的BSP(各种驱动),并且100%源代码开放;我们还移植并完善了适用于通用开发板系统的
Qtopia-2.2.0
PDA终结版本,该图形系统平台代码也是100%开放的。源源不断的开发创新以及应用开发已经逐渐成为友善之臂新的核心竞争力,我们得以让每一位嵌入式爱
好者都能分享我们的开放性开发平台。
下面是mini2440开发板的Linux系统详细特性介绍,它们也适用于本公司已经停产的QQ2440(详见mini2440手册),为了方便浏览本页面的每一位网友需要,每个特性部分基本都提供了下载地址。
注意:在此提供的Linux软件系统可以完美的运行于本公司设计生产的mini2440, micro2440以及QQ2440,但对于在其他2440开发板上运行不承担任何风险。
mini2440之Linux软件系统特性
交叉编译器 : arm-linux-gcc-4.3.2.tgz 86MB
简介 | 交 叉编译器在编译的时候,对于浮点运行会预设硬浮点运算FPA(Float Point Architecture),而没有FPA的CPU,比如SAMSUNG S3C2410/S3C2440,会使用FPE(Float Point Emulation 即软浮点),这样在速度上就会遇到极大的限制,使用EABI(Embedded Application Binary Interface)则可以对此改善处理,ARM EABI有许多革新之处,其中最突出的改进就是Float Point Performance,它使用Vector Float Point(矢量浮点),因此可以极大提高涉及到浮点运算的程序 |
版本 | 4.3.2 |
为你带来的好处 | 使用同一个编译器,你可以编译: * linux内核(linux-2.6.29) * qtopia-2.2.0图形系统 * busybox * vivi(开源的bootloader) * u-boot(开源的bootloader) * 其他很多linux应用程序(如web server, boa, madplay等程序) 优势: * 可以提高程序的浮点运算性能 * 可以提高工作效率,不必把时间花费在切换不同的编译器上 |
mini2440采用最新的内核版本Linux-2.6.29,并提供最齐全的Linux BSP(100%源代码)
设备或其他 | 驱动程序源代码在内核中的位置 | 开发板上对应的设备名 | 备注 | |
1 | yaffs2文件系统 | Linux-2.6.29/fs/yaffs2 | 开发板根文件系统采用的就是yaffs2,它使用mkyaffs2image工具制作 | |
2 | LCD FrameBuffer | Linux-2.6.29/drivers/video/s3c2410fb.c | /dev/fb0 | |
3 | CMOS摄像头 | Linux-2.6.29/drivers/media/video/s3c2440camif.c | /dev/camera | |
4 | 万能USB摄像头 | Linux-2.6.29/drivers/media/video/gspca | /dev/video0 | |
5 | USB转串口 | Linux-2.6.29/drivers/usb/serial/pl2302.c | /dev/ttyUSB0 | |
6 | USB鼠标和键盘,扫描器 | Linux-2.6.29/drivers/usb/hid | USB鼠标:/dev/input/mice USB键盘:/dev/input/ | |
7 | LED | Linux-2.6.29/drivers/char/mini2440_leds.c | /dev/leds | |
8 | 按键 | Linux-2.6.29/drivers/char/mini2440_buttons.c | /dev/buttons | |
9 | I2C-EEPROM | Linux-2.6.29/drivers/i2c | /dev/i2c/0 | |
10. | PWM控制蜂鸣器 | Linux-2.6.29/drivers/char/mini2440_pwm.c | /dev/pwm | |
11 | ADC转换 | Linux-2.6.29/drivers/char/mini2440_ad.c | /dev/adc | |
12 | LCD背光 | Linux-2.6.29/drivers/char/mini2440_backlight.c | /dev/backlight | |
13 | 看门狗 | Linux-2.6.29/drivers/watchdog/s3c2410_wdt.c | /dev/watchdog | |
12 | 触摸屏 | linux-2.6.29/drivers/input/touchscreen/s3c2410_ts.c | /dev/input/event0 | |
15 | 优盘支持 | Linux-2.6.29/drivers/usb/storage | /dev/udisk | |
16 | MMC/SD卡 | Linux-2.6.29/drivers/mmc目录 | /dev/sdcard | 支持高速大容量SD卡,最大可达32G |
17 | NAND Flash | Linux-2.6.29/drivers/mtd/nand | /dev/mtdblock2 | |
18 | UDA1341音频驱动 | Linux-2.6.29/sound/soc/s3c24xx | /dev/dsp :放音或者录音 /dev/mixer : 音量调节 | ALSA接口,并兼容OSS,带录音功能 |
19 | 实时时钟RTC | Linux-2.6.29/drivers/rtc/rtc-s3c.c | /dev/rtc | RTC是2440本身具有的功能 |
20 | 串口(含3个串口) | Linux-2.6.29/drivers/serial/s3c2440.c | /dev/ttySAC0,1,2 | 2440自带3个串口 |
21 | USB无线网卡 | Linux-2.6.29/drivers/net/wireless/rt2x00 | 网络设备无设备文件名称 | USB无线网卡型号:TL-WN321G+ |
22 | DM9000网卡驱动 | Llinux-2.6.29/drivers/net/dm9000.c | 网络设备无设备文件名称 |
项目 | 友善之臂 | 其他厂家开发板 | 说明 |
基本库 | 支持带矢量浮点运算,符合EABI标准 | 不支持浮点运算,或为软浮点运算,采用老式的ABI标准 | 符合EABI标准的编译器可以编译出执行速度更快的可执行程序 |
图形界面Qtopia | 版本:2.2.0 | 版本:1.7.0 | Qtopia-2.2.0是终极版的Qtopia PDA系统,拥有更多的类 |
统一性 | 采用统一的目标文件系统,支持: 自动检测NFS启动 USB鼠标和触摸屏共存 自动检测触摸屏驱动支持 | 采用多个文件系统,有诸如 root_qtopia_mouse root_qtopia_tp root_qtopia_nfs 等多个版本,根据不同的情况烧写不同的文件系统,浪费时间,降低效率 | 大部分开发板都抄袭友善之臂早期的目标文件系统分类方法,甚至连名字都没有改变 |
USB鼠标和触摸屏共存 | 支持:无缝切换使用,便于演示 | 不支持:要么只能用鼠标,要么只能用触摸屏 | 有的厂家也做到了“共存”,但需要重新启动系统,这不是真正的共存,重启之后依然只能选择其中一种 |
USB鼠标和键盘热插拔 | 支持:任何时候都可以拔插使用USB鼠标和键盘 | 不支持:需要重新开机才能使用 | |
优盘和SD卡自动挂载 | 支持:无需连接电脑即可使用,最大支持32G | 不支持:必须连接电脑输入繁杂的命令才可使用 | |
Qtopia自动检测触摸屏驱动 | 支持:Qtopia启动时若检测到触摸屏驱动支持,自动启动触摸校正程序,否则直接进入系统 | 不支持:必须烧写不同的系统映象才可以 | |
实用测试程序 | 全部图形化操作,只需连接电源,开机后通过触摸笔操作即可测试开发板各项外设资源 | 均为命令行程序,必须连接电脑通过串口输入繁杂的命令才可以操作 | 当今很多开发板厂商以前为友善之臂代理,他们直接抄袭了友善的测试代码和手册,大都不具备软件研发能力,因此软件升级改进的能力有限,大都是在网上找别人的资料东拼西凑的东西,不具有系统完善性。 |
类别 | 说 明 | 备注 | ||||||||||||||
busybox | 版本:busybox-1.13.3 | |||||||||||||||
集成命令集: [, [[, addgroup, adduser, adjtimex, ar, arp, arping, ash, awk, basename, bbconfig, blkid, bunzip2, bzcat, bzip2, cal, cat, catv, chattr, chgrp, chmod, chown, chroot, chrt, chvt, cksum, clear, cmp, comm, cp, cpio, crond, crontab, cut, date, dc, dd, deallocvt, delgroup, deluser, depmod, df, dhcprelay, diff, dirname, dmesg, dnsd, dos2unix, du, dumpkmap, echo, ed, egrep, env, ether-wake, expand, expr, fakeidentd, false, fbset, fdflush, fgrep, find, findfs, fold, free, freeramdisk, fsck, ftpget, ftpput, fuser, getopt, getty,grep, gunzip, gzip, halt, hd, head, hexdump, hostid, hostname, httpd, hwclock, id, ifconfig, ifdown, ifup, inetd, init, insmod, install, ip, ipcalc, ipcrm, ipcs, kbd_mode, kill, killall, killall5, klogd, last, length, less, linuxrc, ln, loadfont, loadkmap, logger, login, logname, logread, losetup, ls, lsattr, lsmod, lzmacat, md5sum, mdev, mesg, microcom, mkdir, mkfifo, mknod, mktemp, modprobe, more, mount, mountpoint, mv, nameif, nc, netstat, nice, nmeter, nohup, nslookup, od, openvt, passwd, patch, pgrep, pidof, ping, pipe_progress, pivot_root, pkill, poweroff, printenv, printf, ps, pscan, pwd, rdate, rdev, readahead, readlink, readprofile, realpath, reboot, renice, reset, resize, rm, rmdir, rmmod, route, rtcwake, run-parts, runlevel, rx, script, sed, seq, setconsole, setfont, setkeycodes, setlogcons, setsid, sh, sha1sum, showkey, sleep, sort, split, start-stop-daemon, stat, strings, stty, su, sulogin, sum, switch_root, sync, sysctl, syslogd, tac, tail, tar, tcpsvd, tee, telnet, telnetd, test, tftp, tftpd, time, top, touch, tr, traceroute, true, tty, ttysize, udhcpc, udhcpd, udpsvd, umount, uname, uncompress, unexpand, uniq, unix2dos, unlzma, unzip, uptime, usleep, uudecode, uuencode, vconfig, vi, vlock, watch, wc, wget, which, who, whoami, xargs, yes, zcat, zcip | ||||||||||||||||
库文件 | 版本:glibc-2.8 | 采用arm-linux-gcc-4.3.2 with EABI编译器编译制作 | ||||||||||||||
Qtopia | 版本:Qtopia-2.2.0 | |||||||||||||||
| ||||||||||||||||
说明: | ||||||||||||||||
■ 最好用的Qtopia系统 不仅仅是移植了Qtopia-2.2.0,我们自主开发了很多实用的小程序: * 语言设置(Qtopia-2.2.0自带的并不起作用) * 万能摄像头拍照程序 * CMOS摄像头动态预览并拍照 * 串口助手:支持USB转串口,支持字符模式和16进制显示 * 设置开机自动运行程序:所有Qtopia用户程序均可以设置为开机自动运行 * 自动挂载MMC/SD卡和优盘 * 录音(Qtopia-2.2.0不能正常使用) * AD转换、按键测试、LED测试、I2C-EEPROM读写测试等等 注意:为了保持我们的竞争优势,防止抄袭,我们自主开发的图形应用不提供源代码,平台性的东西则毫无保留 ■完全开放源代码的平台 Qtopia本身有诸多不足之处,我们为此对原始代码做了很多调整和补充,比如消除待机闪烁光标,自动调用tslib的校正程序,真正实现关机和重启功能等,还有为适应统一编译器所做的调整,所有这些都是以源代码方式提供的。 ■为何不选用Qtopia手机版本 最新的Qtopia版本为qtopia-opensource-4.3.3,它是一个手机版本,并没有常见的PDA版本,你可以使用Google搜 索关键词“Qtopia Phone Edition Live-CD”来下载它的演示版本,可以看到它是一个半伦不类,界面丑陋,体积臃肿,操作复杂的怪东西。自从奇趣公司被Nokia收购,Qtopia已 经逐渐停止了所有开发,因此qtopia-opensource-4.3.3是一个终结版。 对于开发板系统来讲,我们经过筛选对比,认为Qtopia-2.2.0是其中最好的一个版本,它的系统不至于太复杂,界面也比较简洁,容易操作,而 且可以满足大部分的图形应用开发。当然如果你对Qt系统认知比较深入,并且只需要一个单独的Qt程序,你可以使用最新的Qt库,它是使用Creator开 发的。 | ||||||||||||||||
网络相关 | 常用命令:ifconfig, ping, telnet, ftp | |||||||||||||||
网络服务:boa, ftpd, telnetd | ||||||||||||||||
无线网络工具命令:iwlist, iwconfig | ||||||||||||||||
实用测试程序 | buttons : 按键测试,对应的驱动为中断方式,可同时按下多个按键 | 均为友善之臂原创或移植,并提供源代码 | ||||||||||||||
led : led测试 | ||||||||||||||||
adc-test : 调节开发板上的W1可调电阻,可进行ad转换测试, 它连接了CPU自带的AD通道 AIN0 | ||||||||||||||||
pwm_test :运行它可以调节控制开发板上的蜂鸣器发声频率 | ||||||||||||||||
i2c :运行i2c -w 可以把00-FF逐字写入EEPROM,运行i2c -r可以从EEPROM读出地址00-FF中的数据 | ||||||||||||||||
camtest : 接上CMOS 摄像头模块CAM130,可以在LCD上动态预览拍摄画面 | ||||||||||||||||
armcomtest : 一个简易的串口终端程序,相当于简化的minicom | ||||||||||||||||
led-player : 通过网页控制led的后台程序 | ||||||||||||||||
madplay : 命令行的mp3播放器 | ||||||||||||||||
sz,rz,sb,rb等工具集:通过串口和PC传送文件的标准UNIX工具 | ||||||||||||||||
演示媒体 | 视频:panda.mpg 10MB | 演示媒体均位于开发板的“/root/Documents”目录 | ||||||||||||||
图片:girl.jpg mini2440.png sunflower.bmp 分别代表三种图片格式的示例 | ||||||||||||||||
音乐:New Soul.mp3 1.8MB | ||||||||||||||||
目标文件系统大小 | 总计:49.2MB | |||||||||||||||
制作工具 | mkyaffs2image |
名称 | 功能特性 | 备注 |
supervivi | 支持yaffs文件系统 | supervivi基于三星的vivi而来,由友善之臂发展并维护,不提供源代码 |
支持USB下载烧写Linux系统 | ||
支持USB下载烧写WindowsCE 5.0 | ||
支持USB下载烧写“绝对”用户程序到Nand Flash,比如带有Nand启动功能的uCos2 | ||
支持USB下载Linux内核到内存中运行 | ||
支持USB下载WindowsCE内核到内存中运行 | ||
支持USB下载“裸机”程序到内存中运行 | ||
支持自动分区 | ||
自动识别NOR/NAND启动(根据开发板的S2拨动开关设置) | ||
支持整片NAND Flash备份和恢复(需配合友善改进的dnw下载软件),此功能特别适合量产 | ||
可设置Linux启动参数并保存,比如可设置为NFS启动系统 | ||
可手动设置Linux内核Machine ID | ||
支持串口X-modem协议下载Linux系统(因串口速度慢,不推荐使用) | ||
vivi | 仅支持Nand Flash启动 | 三星公司提供的原始vivi,经友善之臂修改,以适用于mini2440,提供源代码 |
可设置Linux启动参数并保存,比如可设置为NFS启动系统 | ||
支持串口X-modem协议下载Linux系统 | ||
u-boot | 本u-boot源代码由网友提供,我们公司没有人使用u-boot,对其特性不甚了解,并且不提供关于u-boot的技术支持 |
有很多书籍介绍Linux编程,大部分都可以直接应用于嵌入式Linux,但涉及到嵌入式硬件操作,就可能有所不同了;另外有些嵌入式系统提供的库也并非
齐全,这导致同样的程序在PC
Linux上可以正常使用,但在目标板上就不行了,在此我们提供了几个典型的嵌入式Linux编程示例,以供参考。它们分别有:
示例程序名称 | 说明 | 备注 |
hello | 每个程序员的第一次编程都会经历的Hello,World | 解压examples.tgz可以得到这些测试程序的源代码 |
Hello, C++ | Hello,World的C++版本 | |
math | 数学函数调用示例 | |
pthread | 线程编程示例 | |
udptalk | 网络编程示例 | |
leds | 嵌入式Linux设备应用编程:操作控制开发板LED的示例 | |
led-player | 嵌入式Linux设备应用编程:通过管道共享LED资源的例子 | |
buttons | 嵌入式Linux设备应用编程:典型的如何使用中断方式驱动的设备 | |
pwm | 嵌入式Linux设备应用编程:通过PC键盘调节PWM输出控制蜂鸣器 | |
adc-test | 嵌入式Linux设备应用编程:测试开发板上可调电阻,实现ADC转换 | |
i2c | 嵌入式Linux设备应用编程:读写开发板上I2C-EEPROM的编程示例 | |
comtest | 嵌入式Linux设备应用编程:串口编程示例,在此实现了一个简易的串口终端程序 | |
camtest | 嵌入式Linux设备应用编程:CMOS摄像头编程示例,可以在LCD上动态预览CMOS摄像 |
我
们提供的Qtopia-2.2.0需要使用arm-linux-gcc-4.3.2 with EABI编译器在Fedora
9平台下编译,源代码包中有build-all编译脚本,详见手册中的相关说明。
以下图片所展示的Qtopia-2.2.0应用程序大都使用Qt Designer 2.0开发,以下图片均使用命令行工具snapshot命令实时截取
串口助手(支持USB转串口) | CMOS摄像头动态预览并拍照 | 设置开机自动运行程序 | 文件管理器 | USB无线网卡(型号:TL-WN321G+) |
友善之臂程序组 | ADC转换 | 按键测试 | I2C-EEPROM读写 | LCD测试 |
LED测试 | 图形界面ping测试 | 万能USB摄像头驱动动态预览拍照 | 在板麦克风录音 | 看门狗 |
网络设置(可关机保存) | 背光控制 | PWM控制蜂鸣器 | 语言设置 | 随手写 |
视频播放 | 图片浏览(自动识别SD卡优盘图片) | 图片编辑 | 自动识别SD卡(最大32G)和优盘 | 音乐播放列表 |
时钟 | 世界时区 | 英文版本 | 音乐播放 | 支持高速大容量SD卡和优盘 |
LogoMakers
可以让你十分方便地制作linux logo文件,它基于Fedora 9平台开发并使用。其使用方法十分简单,打开一个图形文件(Jpeg,
bmp或者png格式),然后点转换按钮就可以了;它会固定输出文件名:logo_linux_clut224.ppm,该文件一般位于内核源代码目录
kernel-src/drivers/video/logo中,替换之后再重新编译一下内核就可以看到你所喜爱的linux logo了。
注意:LogoMaker程序实际调用了netpbm工具组,因此要确保你的PC Linux系统安装了此工具,方可转换成功。
简 易 制 作 Linux Logo 三 步 曲
打开一幅图片 | 转换 | 替换后重新编译内核, 并下载到开发板 |
相关文章推荐
- Linux下安装QT之版本qt-4.7.3
- 转载:QT版本系列介绍
- linux下同时运行不同版本的qt程序
- 【转载】Linux起源、GNU简介、发行版本介绍及特点
- 【转载】如何升级linux上的gcc到最新版本
- Linux版本介绍
- Linux-Unix版本介绍
- Linux(Fedora)下NodeJs升级最新版本(制定版本)
- 打造前端 Deepin Linux 工作环境——安装最新版本的火狐firefox浏览器
- 最新TurboMail邮件服务器Linux_安腾版本上市
- Understand-4.0.877-Linux-64bit.tgz最新版本2017年源代码阅读利器,养眼theme之配置
- hadoop最新稳定版本dkhadoop版本选择介绍
- ubuntu 10.04 编译安装最新版本linux-2.6.34内核
- Linux(ubuntu 14.04)下安装jdk(1.8)以及eclipse 最新版本Neon的安装
- Linux下如何安装最新版本工具
- linux 手工自动安装mysql最新版本tar包步骤(随意指定安装目录且不分散)
- PostgreSQL + PostGIS for Linux 安装(最新版本)
- RHCE课程-RH033Linux基础笔记一之Linux起源、GNU简介、发行版本介绍及特点
- linux下最新版本Hadoop安装部署全过程记录
- Ray.Xu 写得 RTEMS 介绍(最新版本,全面,覆盖了CVS Head)