vivi arm-linux-gcc 4.4.3,vivi minicom 设置

首先,配置串口,在虚拟机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 /t= /d=

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 Program1:K9S1208 Pr BlkPage2: 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 Program1:K9S1208 Pr BlkPage2: 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:hexinteger

-------------------------------------------------------------

mach_type:000000c1193

media_type:000000033

boot_mem_base:30000000805306368

baudrate:0001c200115200

xmodem_one_nak:000000000

xmodem_initial_timeout :01312d0020000000

xmodem_timeout:01c9c38030000000

ymodem_initial_timeout :0016e3601500000

boot_delay:0100000016777216

disp_device:000000000

disp_mode:000000011

Linux command line: noinitrd root=/dev/bon/2 init=/linuxrc console=ttyS0

重新来一次>load flash kernel x

..............................................................................................................................

显示:Transfer complete!

至此,内核已经下载好了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值