管理提醒: 本帖被 qq2440 从 Linux技术交流专区 移动到本区(2010-02-08)
尽管很敬仰友善的supervivi,但由于其不开源,有点不爽,故就想移植uboot到mini2440-128M板上。这个uboot功能强大,可以支持usb下载和tftp下载(支持cs8900和dm900),可以在ram中测试内核zImage和下载uImage到nand flash,这个uboot是从百问网下载的,在此真诚的对百问网版主表示敬意和谢意,使用uboot的工具mkimage直接由友善提供的zImage制作uImage即可烧写启动。不过这个uboot没有lcd的logo图片显示,望有兴趣的朋友一起讨论和学习。。。。
uImage制作:
[root@localhost FriendlyARM]# mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -n "Linux 2.6.29.4 kernel Image" -d zImage_T35 uImage_T35
Image Name: Linux 2.6.29.4 kernel Image
Created: Tue Jan 19 23:11:43 2010
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2022348 Bytes = 1974.95 kB = 1.93 MB
Load Address: 0x30008000
Entry Point: 0x30008000
以下是启动的部分信息:
Hit any key to stop autoboot: 0
##### 100ask Bootloader for OpenJTAG #####
[n] Download u-boot to Nand Flash
[k] Download Linux kernel uImage
[j] Download root_jffs2 image
[y] Download root_yaffs2 image
[d] Download to SDRAM & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the Nand Flash
[s] Set the boot parameters
Boot the system
[r] Reboot u-boot
[q] Quit from menu
Enter your selection: k
USB host is connected. Waiting a download.
Now, Downloading [ADDRESS:30000000h,TOTAL:2022422]
RECEIVED FILE SIZE: 2022422 (987KB/S, 2S)
NAND erase: device 0 offset 0x60000, size 0x200000
Erasing at 0x240000 -- 100% complete.
OK
NAND write: device 0 offset 0x60000, size 0x1edc0c
Writing data at 0x24d800 -- 100% complete.
2022412 bytes written: OK
##### 100ask Bootloader for OpenJTAG #####
[n] Download u-boot to Nand Flash
[k] Download Linux kernel uImage
[j] Download root_jffs2 image
[y] Download root_yaffs2 image
[d] Download to SDRAM & Run
[z] Download zImage into RAM
[g] Boot linux from RAM
[f] Format the Nand Flash
[s] Set the boot parameters
Boot the system
[r] Reboot u-boot
[q] Quit from menu
Enter your selection: b
Booting Linux ...
NAND read: device 0 offset 0x60000, size 0x200000
Reading data from 0x25f800 -- 100% complete.
2097152 bytes read: OK
## Booting image at 30007fc0 ...
Image Name: Linux 2.6.29.4 kernel Image
Created: 2010-01-19 15:11:43 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2022348 Bytes = 1.9 MB
Load Address: 30008000
Entry Point: 30008000
Verifying Checksum ... OK
XIP Kernel Image ... OK
Starting kernel ...
Uncompressing Linux.............................................................
..................................................................... done, boot
ing the kernel.
Linux version 2.6.29.4-FriendlyARM (root@tom) (gcc version 4.3.2 (Sourcery G++ L
ite 2008q3-72) ) #3 Wed Jul 8 18:19:20 CST 2009
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
CPU: VIVT data cache, VIVT instruction cache
Machine: FriendlyARM Mini2440 development board
Memory policy: ECC disabled, Data cache writeback
CPU S3C2440A (id 0x32440001)
S3C24XX Clocks, (c) 2004 Simtec Electronics
S3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz
S3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz