vivi minicom 设置
首先,配置 串口,在虚拟机ubuntu下做的,结果配置完了不能用,看了看原来当初虚拟机中没有添加串口硬件,只好关了虚拟机,重新添加。 minicom –s 按下”A”键设置”Serial Device”,然后在PC 上输入串行端口号(若使用COM1,刚写入 /dev/ttyS0,如果使用COM2,刚写入 /dev/ttyS1) 按下E 键,设置波特率/奇偶位/位数
首先,配置 串口,在虚拟机ubuntu下做的,结果配置完了不能用,看了看原来当初虚拟机中没有添加串口硬件,只好关了虚拟机,重新添加。
minicom –s
按下”A”键设置”Serial Device”,然后在PC 上输入串行端口号(若使
用COM1,刚写入 /dev/ttyS0,如果使用COM2,刚写入 /dev/ttyS1)
按下E 键,设置波特率/奇偶位/位数,设置结构为115200
按下F 键,将”HardWare Flow Control” 设置为NO
按ENTER 退出设置
选择Save setup as df1,并回车保存设置
验证串口
ok,通过
然后是交叉环境,在/usr/local/ 下建一个arm 目录,并把文件放入这个目录底下,然后
cd /usr/local/arm
tar xjvf corss-2.95.3.tar.bz2
然后修改路径,一般是修改profile
在ubuntu中我是调用/etc/bash.bashrc来修改当前用户shell 启动参数的
在/etc/bash.bashrc后加上
if [ -d /usr/local/arm ] ; then
PATH=/usr/local/arm/2.95.3/bin:"${PATH}"
fi
完了之后,却不能用 arm-linux-gcc ,我su 用户名 了一下,可能要重新载入用户,使设置的环境变量生效, 这下可以了。
编译vivi
tar xvzf vivi.tar.gz
cd vivi
make menuconfig
选中Load an Alternate Configurateion File,载入默认配置文件,最后退出。
make 编译。
在这中间,运行make menuconfig会提示ncurses找不到,menuconfig 中的界面需要用到ncurses库。
sudo apt-get install ncurses-dev
make 编译时,我还碰到了一个小问题,我在当前用户下直接make ,提示我某几项操作没有权限,我加了sudo 后,arm-linux-gcc 找不到了,解决办法是 sudo su 后直接make 就可以了。
编译成功后,将会在vivi 下产生一个名为vivi 的二进制文件
vivi 烧写
jflash是Linux 下通过JTAG 接口烧写BIOS 到Nand Flash 的工具。
#cd /usr/local/ARM/Jflash
我的这个目录下包含了Jflash 的源代码,你可以运行“make clean”删除已经编译好的的程
序,运行“make”重新编译。
执行以下命令可以查看Jflash 的使用方法:
#./Jflash --help
得到以下信息:
liliming@Liliming:/usr/local/arm/JFlash$ ./Jflash --help
+------------------------------------+
| SEC JTAG FLASH(SJF) v 0.11 +
| modified by MIZI 2002.7.13 +
+------------------------------------+
Usage: SJF <filename> /t=<flash_type> /d=<delay>
Flash Type List
1:SMDK2410:K9S3208 4MB
2:SMDK2410:K9S6408 8MB
3:SMDK2410:K9S2808 16MB
4:SMDK2410:K9S5608 32MB
5:SMDK2410:K9S1208 64MB
6:SMDK2410:AM29LV800BB
liliming@Liliming:/usr/local/arm/JFlash$
可见,对应不同类型的Flash ,Jflash 程序使用不同的选项参数,我使用的是64M 三
星Nand Flash,因此使用“/t=5”。
cd /usr/local/arm/real2410/
./Jflash vivi /t=5
在界面中依次执行,最后按2退出。
如下所示:
liliming@Liliming:/usr/local/arm/JFlash$ sudo ./Jflash vivi /t=5
+------------------------------------+
| SEC JTAG FLASH(SJF) v 0.11 +
| modified by MIZI 2002.7.13 +
+------------------------------------+
> flashType=5
> S3C2410X(ID=0x0032409d) is detected.
> K9S1208 is detected. ID=0xec76
K9S1208 NAND Flash JTAG Programmer Ver 0.0
0:K9S1208 Program 1:K9S1208 Pr BlkPage 2: Exit
Select the function to test :0
[SMC(K9S1208) NAND Flash Writing Program]
Source size: 0x10fa3
Available target block number: 0~4095
Input target block number:0
target start block number =0
target size (0x4000*n) =0x14000
STATUS:Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
Epppppppppppppppppppppppppppppppp
K9S1208 NAND Flash JTAG Programmer Ver 0.0
0:K9S1208 Program 1:K9S1208 Pr BlkPage 2: Exit
Select the function to test :2
liliming@Liliming:/usr/local/arm/JFlash$
现在到编译内核了,
tar xvzf kernel_wx.tar.gz
这样,在real2410 上产生一个kernel 目录,这就是linux 源码包了~
进入kernel目录下,
make menuconfig
这时如果在普通用户下,又出现前面的问题,需要 sudo su
选中Load an Alernate Configuration File 点击空格键进入
输入Real2410_cfg,点击OK
然后esc
再配置 Console drivers->
选择显示屏类型
然后esc 再配置 Character devices-> 选择触摸屏
都完了esc后保存推出,成功信息如下:
root@Liliming:/usr/local/arm/kernel# make menuconfig
rm -f include/asm-arm/arch include/asm-arm/proc
(cd include/asm-arm; ln -sf arch-s3c2410 arch; ln -sf proc-armv proc)
rm -f include/asm
( cd include ; ln -sf asm-arm asm)
make -C scripts/lxdialog all
make[1]: Entering directory `/usr/local/arm/kernel/scripts/lxdialog'
make[1]: Leaving directory `/usr/local/arm/kernel/scripts/lxdialog'
/bin/sh scripts/Menuconfig arch/arm/config.in
Using defaults found in .config
Preparing scripts: functions, parsing.........................................................................done.
Saving your kernel configuration...
*** End of Linux kernel configuration.
*** Check the top-level Makefile for additional configuration.
*** Next, you may run 'make bzImage', 'make bzdisk', or 'make install'.
root@Liliming:/usr/local/arm/kernel#
这时配置工作完成,接下来需要对内核进行
make clean (确保所有有关文件都处于最新版本状态)
make dep (确保关键文件在正确的位置) 这步仅在第一次编译时需要,以后就不需要了,为的是在编译时知道文件之间的依赖关系。在进行了多次编译后,make会根据这个依赖关系确定哪些 文件需要重新编译,哪些可以跳过。
make zImage(编译压缩形式的内核)
这时,又不行了,上网查了一下~
在需要内核支持较多的外设和功能时,内核可能变得很大,此时可以编译大内核:
make bzImage(现在的内核一般都超过1MB,所以应该使用该命令)
minicom
复位开发板,按 Space 键进入 vivi 界面
在 vivi 命令行中输入
load flash kernel
然后按下 Ctrl 和 A 键(同时按住一会儿),松开按S 键,这时
弹出对话框,选择 xmodem
选择 zImag 件,我的路径为
/usr/local/arm/real2410/kernel/arm/arch/boot/zImage
这中间 又出了 问题
1:Failure executing protocol, press any key to continue
造成问题原因:烧写是采用xmodem协议,因为默认的ubuntu 是没有装多少软件的,一般情况下都要自己装,所以即使我们装了minicom但是可能没有装相应的协议,所以我们还要安装 lrzsz这个软件包
解决办法:sudo apt-get install lrzsz
2:Transfer incomplete
造成原因:xmodem 参数设置不合理。
在vivi的命令模式下面更改参数设置:
vivi>param set xmodem_initial_timeout 20000000
vivi>param set xmodem_timeout 30000000
vivi>param save
如果该了这个设置还不行可以相应把上面两个值改大点
下面是我的vivi 参数设置
vivi> param show
Number of parameters: 11
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 : 01312d00 20000000
xmodem_timeout : 01c9c380 30000000
ymodem_initial_timeout : 0016e360 1500000
boot_delay : 01000000 16777216
disp_device : 00000000 0
disp_mode : 00000001 1
Linux command line: noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0
重新来一次>load flash kernel x
..............................................................................................................................
显示: Transfer complete!
至此 ,内核已经下载好了
更多推荐
所有评论(0)