- 积分
- 368
贡献137
飞刀6 FD
注册时间2010-5-27
在线时间304 小时
扫一扫,手机访问本帖
|
本帖最后由 dglwx 于 2011-10-19 08:44 编辑
去年12月份完成了FL2440的移植工作(花了一个月的时间),包括:
自己制作交叉编译器(Buildroot 2010.11),
最新的u-boot-2010.09,
Linux内核2.6.33(为了跟公司的产品的内核保持一致)
移植了USB wifi驱动,开发板可以使用WiFi上网,准备移植AP的驱动,将2440做一个无线路由器;
完成触摸屏驱动,以前在2410上完成了tslib的移植,成功移植miniGUI(开源的最新版本),mplayer(可以播放MP3,MP4),完成桌面版最新的QT移植(但界面没跑起来,很遗憾,下一步再跑起来.)
下一阶段准备开发GPRS模块,使用GTM900B或SIM900B,同事准备3G模块的开发,在其它平台上完成了GPRS模块拨号上网,收发短信的功能.这部分移植到fl2440平台上也非常容易.
目前项目还在推进当中,在项目中跟上实践最能学到东西,有想跟进我的项目可以和我联系(QQ: 281143292(加友请注明来自fl2440论坛), Email: guowenxue@gmail.com). 有武汉的同学,可以和我联系,嵌入式开发项目实战辅导,ARM7(W90P710)+uClinux, ARM9(S3C2440+AT91SAM9260两个平台)+Linux, 51单片机系列等等.从原理图,PCB设计,到底层汇编,内核驱动,系统移植,上层应用程序编写.
下面的u-boot使用J-link烧录到nandflash上.
U-Boot 2010.09-00000-g586f8dd-dirty (Mar 28 2011 - 23:09:30)
Modified by dglwx for FL2440 board.
DRAM: 64 MiB
Flash: 1 MiB
NAND: 256 MiB
In: serial
Out: serial
Err: serial
Net: dm9000
Hit any key to stop autoboot: 0
[ dglwx@FL2440 ]# pri
baudrate=115200
netmask=255.255.255.0
ethact=dm9000
ethaddr=00:08:3e:26:0a:6b
ipaddr=192.168.1.234
serverip=192.168.1.155
bbt=nand erase 0 50000;tftp 30008000 u-boot.bin;nand write 30008000 0 40000
bkr=tftp 30008000 uImage-s3c.gz;nand erase 100000 300000;nand write 30008000 100000 300000
bfs=tftp 30800000 ramdisk.gz;nand erase 400000 600000;nand write 30800000 400000 600000
tb=tftp 30008000 uImage-s3c.gz;tftp 30800000 ramdisk.gz;bootm 30008000
bootcmd=nand read 30008000 100000 300000;nand read 30800000 400000 600000;bootm 30008000
bootargs=console=ttySAC0,115200 initrd=0x30800000,16M root=/dev/ram0 rw
bootdelay=1
dbgboot=tftp 33000000 u-boot-201012.bin;go 33000000
stdin=serial
stdout=serial
stderr=serial
Environment size: 714/131068 bytes
[ dglwx@FL2440 ]# ver
U-Boot 2010.09-00000-g586f8dd-dirty (Mar 28 2011 - 23:09:30)
[ dglwx@FL2440 ]# boot
NAND read: device 0 offset 0x100000, size 0x300000
3145728 bytes read: OK
NAND read: device 0 offset 0x400000, size 0x600000
6291456 bytes read: OK
## Booting kernel from Legacy Image at 30008000 ...
Image Name: Linux Kernel
Created: 2011-02-22 12:46:53 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1933920 Bytes = 1.8 MiB
Load Address: 30008000
Entry Point: 30008040
Verifying Checksum ... OK
XIP Kernel Image ... OK
OK
Starting kernel ...
Uncompressing Linux... done, booting the kernel.
Linux version 2.6.33 (root@localhost) (gcc version 4.3.5 (Buildroot 2010.11) ) #3 Tue Feb 22 20:46:45 CST 2011
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: SMDK2440
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, Copyright 2004 Simtec Electronics
S3C244X: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz
CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttySAC0,115200 initrd=0x30800000,16M root=/dev/ram0 rw
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 44468KB available (3400K code, 378K data, 128K init, 0K highmem)
Hierarchical RCU implementation.
NR_IRQS:85
irq: clearing pending ext status 00080000
irq: clearing subpending status 00000003
irq: clearing subpending status 00000002
Console: colour dummy device 80x30
console [ttySAC0] enabled
Calibrating delay loop... 201.93 BogoMIPS (lpj=504832)
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
s3c24xx-adc s3c24xx-adc: attached adc driver
S3C2440: Initialising architecture
S3C2440: IRQ Support
S3C24XX DMA Driver, Copyright 2003-2006 Simtec Electronics
DMA channel 0 at c4808000, irq 33
DMA channel 1 at c4808040, irq 34
DMA channel 2 at c4808080, irq 35
DMA channel 3 at c48080c0, irq 36
S3C244X: Clock Support, DVS off
bio: create slab <bio-0> at 0
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
s3c-i2c s3c2440-i2c: slave address 0x10
s3c-i2c s3c2440-i2c: bus frequency set to 98 KHz
s3c-i2c s3c2440-i2c: i2c-0: S3C I2C adapter
Advanced Linux Sound Architecture Driver Version 1.0.21.
cfg80211: Calling CRDA to update world regulatory domain
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 2048 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 2048 bind 2048)
TCP reno registered
UDP hash table entries: 256 (order: 0, 4096 bytes)
UDP-Lite hash table entries: 256 (order: 0, 4096 bytes)
NET: Registered protocol family 1
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 16384K
NetWinder Floating Point Emulator V0.97 (extended precision)
JFFS2 version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
msgmni has been set to 118
alg: No test for stdrng (krng)
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Console: switching to colour frame buffer device 30x40
fb0: s3c2410fb frame buffer device
s3c2440-uart.0: ttyS0 at MMIO 0x50000000 (irq = 70) is a S3C2440
s3c2440-uart.1: ttyS1 at MMIO 0x50004000 (irq = 73) is a S3C2440
s3c2440-uart.2: ttyS2 at MMIO 0x50008000 (irq = 76) is a S3C2440
brd: module loaded
loop: module loaded
nbd: registered device at major 43
S3C24XX NAND Driver, (c) 2004 Simtec Electronics
s3c24xx-nand s3c2440-nand: Tacls=3, 29ns Twrph0=7 69ns, Twrph1=3 29ns
s3c24xx-nand s3c2440-nand: NAND soft ECC
NAND device: Manufacturer ID: 0xec, Chip ID: 0xda (Samsung NAND 256MiB 3,3V 8-bit)
Scanning device for bad blocks
Bad eraseblock 514 at 0x000004040000
Bad eraseblock 561 at 0x000004620000
Bad eraseblock 1123 at 0x000008c60000
Creating 5 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x000000000000-0x000000100000 : "mtdblock0 uboot 1MB"
0x000000100000-0x000000400000 : "mtdblock1 kernel 3MB"
0x000000400000-0x000000a00000 : "mtdblock2 ramdisk 6MB"
0x000000a00000-0x000001000000 : "mtdblock3 cramfs 6MB"
0x000001000000-0x000002400000 : "mtdblock4 apps 20MB"
dm9000 Ethernet Driver, V1.31
eth0: dm9000a at c486e300,c4872304 IRQ 51 MAC: 00:08:3e:26:0a:6b (chip)
usbmon: debugfs is not available
ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
usbcore: registered new interface driver libusual
s3c24xx-ts s3c2440-ts: driver attached, registering input device
input: S3C24XX TouchScreen as /class/input/input0
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
i2c /dev entries driver
s3c-sdi s3c2440-sdi: powered down.
s3c-sdi s3c2440-sdi: mmc0 - using pio, sw SDIO IRQ
s3c-sdi s3c2440-sdi: running at 0kHz (requested: 0kHz).
No device for DAI UDA134X
No device for DAI s3c24xx-i2s
S3C24XX_UDA134X SoC Audio driver
UDA134X SoC Audio Codec
s3c-sdi s3c2440-sdi: running at 398kHz (requested: 400kHz).
asoc: UDA134X <-> s3c24xx-i2s mapping ok
s3c-sdi s3c2440-sdi: running at 398kHz (requested: 400kHz).
s3c-sdi s3c2440-sdi: running at 398kHz (requested: 400kHz).
ALSA device list:
#0: S3C24XX_UDA134X (UDA134X)
TCP cubic registered
NET: Registered protocol family 17
s3c-sdi s3c2440-sdi: powered down.
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
RAMDISK: gzip image found at block 0
usb 1-1: new full speed USB device using s3c2410-ohci and address 2
hub 1-1:1.0: USB hub found
hub 1-1:1.0: 4 ports detected
EXT2-fs (ram0): warning: mounting unchecked fs, running e2fsck is recommended
VFS: Mounted root (ext2 filesystem) on device 1:0.
Freeing init memory: 128K
init started: BusyBox v1.17.1 (2011-02-17 22:30:53 CST)
eth0: link down
/bin/sh: can't open '/apps/etc/init.d/S??*'
Kernel S3C2410
root login: eth0: link up, 100Mbps, full-duplex, lpa 0x45E1
Kernel S3C2410
root login: root
Password:
Dec 31 17:00:15 login[400]: root login on 'ttyS0'
>: ls
apps drivers linuxrc mnt sbin usr
bin etc logs proc sys var
dev lib media root tmp
>: uname -a
Linux root 2.6.33 #3 Tue Feb 22 20:46:45 CST 2011 armv4tl GNU/Linux
>: ping 192.168.1.155
PING 192.168.1.155 (192.168.1.155): 56 data bytes
64 bytes from 192.168.1.155: seq=0 ttl=64 time=83.761 ms
64 bytes from 192.168.1.155: seq=1 ttl=64 time=1.853 ms
--- 192.168.1.155 ping statistics ---
2 packets transmitted, 2 packets received, 0% packet loss
round-trip min/avg/max = 1.853/42.807/83.761 ms
>:
附件解压缩密码: dglwx123 |
|