开发板买自
minicom 配置
在~/.bashrc文件里加上
MINICOM="-8 -m " #这样使minicom显示中文
export MINICOM
设置波特率为115200bps, 无硬件流控。 保存为vga2410
以后minicom -o vga2410 即可。
0:修改板子的默认ip地址
只需要修改/usr/etc下的rc.local脚本,
将“ifconfig eth0 192.168.0.15 up”这句命令修改为您要的ip地址即可
1:在上位机开通ftp服务之后,即可在下位机使用
wget ftp://192.168.1.221/hello.txt
其中上位机是以匿名用户通过ftp协议取得文件的。 文件hello.txt放在上位机Rh9中的/var/ftp/目录之下。
2:在上位机配置nfs服务之后,可以直接在下位机挂载
mount –o nolock 192.168.1.221:/2410 /mnt
之后就可在上位机的共享出来的目录/2410/下进行开发程序,在下位机的/mnt目录之下即可执行可执行程序。
MC2410E的bootloader就是vivi
如何烧写bootloader可以参考手册中的vivi一节
修改板子的网络设置:
vivi> param set ip 59.69.75.186
vivi>param set host 59.69.74.87
vivi>param set gw 59.69.75.1
vivi>param save
1如果有可以运行的vivi,则先将要烧写的vivi放在/var/ftp目录之下
进入vivi> 提示符之下,输入load flash vivi t , 等待
同时在Rh9中另开一个终端,
cd /var/ftp
tftp 192.168.1.225 (板子IP)
tftp >put vivi
此时在minicom中可看到烧写成功
2
D:\>sjf2410 /f:vivi
support@brightide.com
+------------------------------------+
| SEC JTAG FLASH(SJF) v 0.4 |
| (S3C2410X & SMDK2410 B/D) |
+------------------------------------+
Usage: SJF /f: /d=
Which adaptor do you use:
0: wiggler 1: sjf
your choice is:0
> S3C2410X(ID=0x0032409d) is detected.
[SJF Main Menu]
0:K9S1208 prog 1:28F128J3A prog 2:AM29LV800 Prog 3:Memory Rd/Wr
4:HY29lv160bt 5:AM29lv160dt 6:AM29lv160db 7:SST39vf160
8:Exit
Select the function to test:0
[K9S1208 NAND Flash JTAG Programmer]
K9S1208 is detected. ID=0xec76
0:K9S1208 Program 1:K9S1208 Pr BlkPage 2:Exit
Select the function to test :0
[SMC(K9S1208V0M) NAND Flash Writing Program]
Source size:0h~13a53h
Available target block number: 0~4095
Input target block number:0
target start block number =0
target size (0x4000*n) =0x14000
STATUS:Eppppppppppppppppppppppp
ppppppppppppppppppppppp
ppppppppppppppppppppppp
ppppppppppppppppppppppp
ppppppppppppppppppppppp
未烧写内核和根文件系统之前的启动信息
2410E DEVELOP KIT
VIVI version 0.1.4 (root@Rhvd) (gcc version 2.95.2 20000516 (release) [Rebel.co6MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)
Found saved vivi parameters.
CS8900 - type: 630e, rev: a00
CS8900 - status: ad6 (EEPROM present)
Setting MAC address...
Display format changed to VGA 640X480 mode
Press Return to start the LINUX now, any other key for vivi
Copy linux kernel from 0x00030000 to 0x30008000, size = 0x001c0000 ... done
zImage magic = 0x016f2818
Setup linux parameters at 0x30000100
linux command line is: "noinitrd root=/dev/mtdblock/3 init=/linuxrc console=tty"MACH_TYPE = 193
NOW, Booting Linux......
Uncompressing Linux.............................................................Linux version 2.4.18-rmk7-pxa1 (root@Rhvd) (gcc version 2.95.2 20000516 (releas5CPU: ARM/CIRRUS Arm920Tsid(wb) revision 0
Machine: Br-MC2410
On node 0 totalpages: 16384
zone(0): 16384 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: noinitrd root=/dev/mtdblock/3 init=/linuxrc console=ttyS0
TCNTB4 = 15625
Console: colour dummy device 80x30
Calibrating delay loop... 99.73 BogoMIPS
Memory: 64MB = 64MB total
Memory: 62268KB available (1617K code, 504K data, 76K init)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
CPU clock = 200.000 Mhz, HCLK = 100.000 Mhz, PCLK = 50.000 Mhz
Initializing S3C2410 buffer pool for DMA workaround
check your kernel config.
USB Function Character Driver Interface - 0.5, (C) 2001, Extenex Corp.
usbctl: Opened for usb-char
usbctl: Started for usb-char
Starting kswapd
devfs: v1.10 (20020120) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
JFFS2 version 2.1. (C) 2001, 2002 Red Hat, Inc., designed by Axis Communication.ttyS%d0 at I/O 0x50000000 (irq = 52) is a S3C2410
ttyS%d1 at I/O 0x50004000 (irq = 55) is a S3C2410
ttyS%d2 at I/O 0x50008000 (irq = 58) is a S3C2410
Console: switching to colour frame buffer device 80x60
Installed S3C2410 frame buffer
pty: 16 Unix98 ptys configured
s3c2410-ts initialized
S3C2410 Real Time Clock Driver v0.1
block: 128 slots per queue, batch=32
eth0: cs8900 rev K(3.3 Volts) found at 0xd0000300
cs89x0 media RJ-45, IRQ 36
Linux video capture interface: v1.00
SCSI subsystem driver Revision: 1.00
request_module[scsi_hostadapter]: Root fs not mounted
UDA1341 audio driver initialized
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MB 3,3V)
Creating 6 MTD partitions on "NAND 64MB 3,3V":
0x00000000-0x00020000 : "S3C2410 flash partition : loader"
0x00020000-0x00030000 : "S3C2410 flash partition : param"
0x00030000-0x001f0000 : "S3C2410 flash partition : kernel"
0x00200000-0x00600000 : "S3C2410 flash partition : root"
0x00600000-0x04000000 : "S3C2410 flash partition : usr"
0x00000000-0x00020000 : "S3C2410 flash partition : loader"
usb.c: registered new driver hub
usb-ohci.c: USB OHCI at membase 0xe9000000, IRQ 26
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik
hid-core.c: USB HID support drivers
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
IrCOMM protocol (Dag Brattli)
VFS: Mounted root (cramfs filesystem).
Mounted devfs on /dev
Freeing init memory: 76K
mount /etc as ramfs
re-create the /etc/mtab entries
yaffs: dev is 7940 name is "1f:04"
MMC/SD Slot initialized
MMC detect-eint is not pull up by internal resister
MMC detect-eint's pull up resister is enabled
console=/dev/co顂ole
init started: BusyBox v0.60.3 (2002.05.13-08:36+0000) multi-c鵯l binary
Starting pid 21, console /dev/console: '/etc/init.d/rcS'
SIOCDELRT: No such process
Cannot open /dev/input/mouse0 (No such file or directory)
Create pluginlibman in libqpe
Use QPEApplication's PluginLibraryManager
inserting Documents at -1
found obex lib
inserting Applications at 0
inserting Games at 1
inserting Settings at 2
addAppLnk: No view for type Application. Can't add app Suspend!
Create pluginlibman in libqpe
Use QPEApplication's PluginLibraryManager
QuickLauncher running
Registered QPE/QuickLauncher-45
Waiting for enter to start '/bin/sh' (pid 47, terminal /dev/console)
Please press Enter to activate this console.
Starting pid 47, console /dev/console: '/bin/sh'
BusyBox v0.60.3 (2002.05.13-08:36+0000) Built-in shell (ash)
Enter 'help' for a list of built-in commands.
#
?.睿科技
MC2410E DEVELOP KIT
VIVI version 0.1.4 (root@Rhvd) (gcc version 2.95.2 20000516 (release) [Rebel.co6MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)
Found saved vivi parameters.
CS8900 - type: 630e, rev: a00
CS8900 - status: ad6 (EEPROM present)
Setting MAC address...
Display format changed to VGA 640X480 mode
Press Return to start the LINUX now, any other key for vivi
type "help" for help.
vivi> part show
mtdpart info. (5 partitions)
name offset size flag
------------------------------------------------
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x001c0000 0 1M+768k
root : 0x00200000 0x00400000 0 4M
usr : 0x00600000 0x03a00000 0 58M
vivi>
至于用户程序,我们提供的usr分区是可写的,用户只要将程序拷贝到usr分区下就已经烧写到了flash中。可以通过网络或者u盘的方式来拷贝。
2410E DEVELOP KIT
VIVI version 0.1.4 (root@Rhvd) (gcc version 2.95.2 20000516 (release) [Rebel.co6MMU table base address = 0x33DFC000
Succeed memory mapping.
NAND device: Manufacture ID: 0xec, Chip ID: 0x76 (Samsung K9D1208V0M)
Found saved vivi parameters.
CS8900 - type: 630e, rev: a00
CS8900 - status: ad6 (EEPROM present)
Setting MAC address...
Display format changed to VGA 640X480 mode
Press Return to start the LINUX now, any other key for vivi
type "help" for help.
vivi> param show
Number of parameters: 19
name : hex integer
-------------------------------------------------------------
mach_type : 000000c1 193
media_type : 00000003 3
boot_mem_base : 30000000 805306368
baudrate : 0001c200 115200
xmodem_one_nak : 00000000 0
xmodem_initial_timeout : 000493e0 300000
xmodem_timeout : 000f4240 1000000
ymodem_initial_timeout : 0016e360 1500000
boot_delay : 00300000 3145728
os : LINUX
display : VGA 640X480
ip : 192.168.1.225
host : 192.168.0.1
gw : 192.168.0.1
mask : 255.255.255.0
wincesource : 00000000 0
wincedeploy : 00000001 1
mac : 00:00:c0:ff:ee:08
wince part name: wince
Linux command line: noinitrd root=/dev/mtdblock/3 init=/linuxrc console=ttyS0
vivi> param set host 192.168.1.221
Change 'host' value. 0xc0a80001(-1062731775) to 0xc0a801dd(-1062731299)
vivi> param set gw 192.168.1.1
Change 'gw' value. 0xc0a80001(-1062731775) to 0xc0a80101(-1062731519)
vivi> param show
Number of parameters: 19
name : hex integer
-------------------------------------------------------------
mach_type : 000000c1 193
media_type : 00000003 3
boot_mem_base : 30000000 805306368
baudrate : 0001c200 115200
xmodem_one_nak : 00000000 0
xmodem_initial_timeout : 000493e0 300000
xmodem_timeout : 000f4240 1000000
ymodem_initial_timeout : 0016e360 1500000
boot_delay : 00300000 3145728
os : LINUX
display : VGA 640X480
ip : 192.168.1.225
host : 192.168.1.221
gw : 192.168.1.1
mask : 255.255.255.0
wincesource : 00000000 0
wincedeploy : 00000001 1
mac : 00:00:c0:ff:ee:08
wince part name: wince
Linux command line: noinitrd root=/dev/mtdblock/3 init=/linuxrc console=ttyS0
vivi>
[分享]将Linux(kernel、root和usr)烧入开发板的过程
以下为得到了kernel、root和usr 镜像文件后,对 ARM FLASH 进行写入操作步骤:
vivi> part show
mtdpart info. (5 partitions)
name offset size flag
vivi : 0x00000000 0x00020000 0 128k
param : 0x00020000 0x00010000 0 64k
kernel : 0x00030000 0x001c0000 0 1M+768k
root : 0x00200000 0x00400000 0 4M
usr : 0x00600000 0x03a00000 0 58M
vivi> part erase kernel
Found block size = 0x001c0000
Erasing... ... done
vivi> part erase root
Found block size = 0x00400000
Erasing... ... done
vivi> part erase usr
Found block size = 0x03a00000
Erasing... ... done
cramfs文件系统的烧写方法
在 PC 机,Windows 系统下:
1、 准备好kernel、root和usr三个镜像文件(开发板中的相关文件名称为):
zImage-cramfs-20060117、root_china.cramfs和usr.cramfs.usbmouse
存放在C:\下。
2、 将ftp通信程序tftp.exe(原来的名称为mytftp.exe)也拷贝到C:\下
3、 打开超级终端(使用com1口;“每秒位数”为115200,“数据位“为“8”,“奇偶校验” 为无,“停止位”为“1”,“数据流控制”为“无”)
在 ARM 开发板上将网线和串口线与PC机相连接,并打开开发板电源。
在 PC 机,超级终端下:
4、使用命令: load flash kernel | root | usr t 出现如下提示:
在 PC 机,命令提示符C:\盘符下:
5、分别使用命令:
tftp -i 192.168.0.15 PUT zImage-cramfs-20060117
tftp -i 192.168.0.15 PUT root_china.cramfs
tftp -i 192.168.0.15 PUT usr.cramfs.usbmouse
yaffs文件系统的烧写方法
在 crams 文件系统安装成功的前提下,执行一下操作:
在 PC 机,Windows 系统下:
1.准备好kernel、root和usr三个 yaffs 镜像文件(开发板中的相关文件名称为):
zImage-yaffs-20060117、root_china.yaffs和usr.yaffs.usbmouse;还有ARM LINUX下烧写 yaffs 文件系统镜像的工具 mkyaffs 存放在C:\下;
2. 将ftp通信程序tftp.exe(原来的名称为mytftp.exe)也拷贝到C:\下;
3. 行 wftpd32.exe 文件,并进行相应配置(见附录)
4. 打开超级终端(使用com1口;“每秒位数”为115200,“数据位“为“8”,“奇偶校验” 为无,“停止位”为“1”,“数据流控制”为“无”)
在 ARM 开发板上将网线和串口线与PC机相连接,并打开开发板电源。
修改 root 为 yaffs 文件格式
在 PC 机,超级终端下进入 vivi :
5. 在 vivi 下使用命令 boot 启动 linux
6. 进入 linux 后,使用命令 ifconfig eth0 192.168.0.15 netmask 255.255.255.0 up 配置开发板的 IP 地址并且启用网卡。
7. 进入到 /etc/tmp 目录下,使用命令 wget ftp://192.168.0.1/root_china.yaffs 和wget ftp://192.168.0.1/mkyaffs 从 Windows PC主机下载这两个文件到开发板上。
8. 使用命令 chmod +x mkyaffs ,增加 mkyaffs 的可执行属性
9. 使用命令 ./mkyaffs /dev/mtd/3 root_china.yaffs 烧写文件(mtd 分区表序号从0 开始,root 分区的序号为3)
修改 kernel 为 yaffs 文件格式
重新启动开发板
在 PC 机,超级终端下进入 vivi :
10. 使用命令 : load flash kernel t 出现如下提示:
在 PC 机,命令提示符C:\盘符下:
11. 使用命令: tftp -i 192.168.0.15 PUT zImage-yaffs-20060117
修改 qt/qtopia 为 yaffs 文件格式
传输完成后,重启开发板
在 PC 机,超级终端下进入 vivi
12. 使用命令 part erase usr 擦除 usr 分区
13. 在 vivi 下使用命令 boot 进入 Linux
14. 进入 linux 后,使用命令 ifconfig eth0 192.168.0.15 255.255.255.0 up 配置开发板的 IP 地址并且启用网卡。
15. 进入到 /etc/tmp 目录下,使用命令 wget ftp://192.168.0.1/usr.yaffs.usbmouse 和wgetftp://192.168.0.1/mkyaffs 从 Windows PC主机下载这两个文件到开发板上。
16. 使用命令 chmod +x mkyaffs ,增加 mkyaffs 的可执行属性
17.使用命令 ./mkyaffs /dev/mtd/4 usr.yaffs.usbmouse 烧写文件(mtd 分区表序号从0 开始,usr 分区的序号为4)
编译内核:
tar zxf linux-br.tar.gz
cd linux
make zImage
注意的是:
不支持yaffs为根文件系统的kernel 和以支持 yaffs为根文件系统 kernel 编译的的不同之处在于
yaffs 要将 linux内核源代码的fs/yaffs/yaffs_mtdif.c 的18行由
//#define CONFIG_YAFFS_MTD_ENABLED
前的// 去掉
将yaffs_fs.c 的33行
//#define CONFIG_YAFFS_MTD_ENABLED
前的// 去掉
修改后再make zImage
阅读(6429) | 评论(8) | 转发(0) |