|
SkyEye应用手记 1.下载如下软件包:arm-elf-tools-20030314.sh
skyeye-0.9.8.tar.bz2
uClinux-dist-20020927.tar.gz
skyeye-binary-testutils-1.0.7.tar.gz
ucosii4skyeye-v1.8.3.tgz 并把所有软件包放在/opt目录下。
2.arm-elf-tools-20030314.sh、skyeye-0.9.8.tar.bz2、uClinux-dist-20020927.tar.gz的安装:
打开终端,输入如下命令:
cd /opt
./arm-elf-tools-20030314.sh
tar xvjf skyeye-0.9.8.tar.bz2
cd skyeye
./configure --target=arm-elf --prefix=/usr/local
make
make install
cd ..
tar xvfz uClinux-dist-20020927.tar.gz
cd uClinux-dist
make xconfig
在Target Platform Selection选项卡中选择:
Vendor/Product: GDB/ARMulator
Kernel Version: linux-2.4.x
Libc Version: uC-libc
然后选择save and exit
make dep
make
此时在/opt/uClinux-dist/linux-2.4.x目录下会生成可执行文件linux
在/opt/uClinux-dist/images/会生成romfs.img等文件
在uClinux-dist目录下建立仿真AT91的skyeye配置文件skyeye.conf,内容如下:
cpu: arm7tdmi
mach: at91
mem_bank: map=M, type=RW, addr=0x00000000, size=0x00004000
mem_bank: map=M, type=RW, addr=0x01000000, size=0x00400000
mem_bank: map=M, type=R, addr=0x01400000, size=0x00400000, file=images/romfs.img
mem_bank: map=M, type=RW, addr=0x02000000, size=0x00400000
mem_bank: map=M, type=RW, addr=0x02400000, size=0x00008000
mem_bank: map=M, type=RW, addr=0x04000000, size=0x00400000
mem_bank: map=I, type=RW, addr=0xf0000000, size=0x10000000
lcd: state=on
保存退出
这个时候就可以用skyeye来调试运行kernel了,在/opt/uClinux-dist目录下执行如下命令:
skyeye linux-2.4.x/linux
(skyeye)target sim
(skyeye)load
(skyeye)run
kernel start.....
注意: 要在skyeye.conf所在目录下执行skyeye/opt/uClinux-dist/linux-2.4.x/linux
3.skyeye-binary-testutils-1.0.7.tar.gz的调试:
在终端输入如下命令:
cd /opt
tar xvjf skyeye-binary-testutils-1.0.7.tar.gz
cd skyeye-binary-testutils-1.0.7
cd ep7312
cd ep7312_with_framebuffer_touchscreen_minigui
skyeye vmlinux-8-332
tar sim
load
run
4.ucosii4skyeye-v1.8.3.tgz的调试:
在终端输入如下命令:
cd /opt
tar xzf ucosii4skyeye-v1.8.3.tgz
cd ucosii4skyeye
make cleanall
make config(会提示出错)
export OSTYPE=linux-gun
make config
make dep
make
ls
cd samples
cd simple_test
skyeye simple_test.elf(实验一)
tar sim
load
run
退出后
cd /opt/ucosii4skyeye/samples/ucos_shell
skyeye ucos_shell.elf(实验二)
tar sim
load
run
退出后
cd /opt/ucosii4skyeye/samples/ucos_test
skyeye ucos_test.elf(实验三)
tar sim
load
run
5.在uClinux里运行hello程序:
hello源程序如下:
#include<stdio.h>
void my_print(char *string)
void my_print2(char *string)
main()
{
char my_string[]="Hello embedded Linux world";
my_print(my_string);
my_print2(my_string);
}
void my_print(char *string)
{
printf("The string is &s\n",string);
}
void my_print2(char *string)
{
char *string2;
int size,j;
size=strlen(string);
string2=(char *)malloc(size+1);
for(i=0;i<size;i++){
string2[size-i]=string[i];
}
string2[size+1]='\0';
printf("The string printed backward is %s\n",string2);
}
保存为hello.c到/home目录下
在终端输入如下命令:
cd /opt/uClinux-dist/images
mkdir romfs
cd /home
arm-elf-gcc -elf2flt -o hello hello.c
进入/opt/uClinux-dist目录,把/opt/uClinux-dist/romfs目录以及其下所有文件全部剪贴到/opt/uClinux-dist/images下
cd /home
cp hello /opt/uClinux-dist/images/romfs/bin
cd /opt/uClinux-dist/images
genromfs -f romfs.img -d romfs/
cd ..
skyeye linux-2.4.x/linux
tar sim
load
run
ls
cd /bin
ls
hello
这样就可以看到自己的hello程序运行了。
|