从网站上下载Proteus-Pro-crack-ha-7.8sp2,然后进行安装
1.uClinux内核编译
(1)安装交叉编译工具
安装交叉编译器arm-elf-tools-20030314.sh,这是一个可以自动安装的脚本文件,可以在相关网站上下载。在/home/saisai/目录下新建文件夹201417012,将其拷贝到该文件夹下。
1)以用户身份登陆,否则不能执行脚本文件
2)输入./arm-elf-tools-20030314.sh运行该脚本文件,结果出现如下错误:
3)对上述出现的问题,有两种解决办法:
解决办法一:
进入arm-elf-tools-20040427.sh修改
在命令模式下输入:set nu显示每一行的行号
将第39行的代码: tail +${SKIP} ${SCRIPT} | gunzip | tar xvf –
改成如下:
tail -n +${SKIP} ${SCRIPT} | gunzip | tar xvf –
在最后一行按回车空一行;
修改后保存退出,再输入命令即可成功安装
解决办法二
#tail -n+43 arm-elf-tools-20040427.sh >> arm.tar.gz
#tar -zxvf arm.tar.gz
4)安装完后,进行环境变量配置
1》如果不知道安装到哪了,可以输入命令which arm-elf-gcc进行查看
2》输入vi /etc/environment配置环境变量
3》输入source/etc/environment 让配置的环境变量立即生效
5)查看arm-elf-gcc的版本
1》输入arm-elf-gcc –v查看版本,同时也看是否成功安装交叉编译器
2》在查看的时候会出现找不到路径的问题,是因为没有安装32位库,使用命令apt-get install lib32ncurses5 lib32z1进行安装。在安装的过程中要保持网络通畅,其中它会自动解决一些依赖关系,要从网络上下载。
3》安装成功后即可查看
(2)编译内核
下载uClinux-dist-20040408.tar.gz压缩包,将其复制到目录
/home/saisai/201417012下。
1)输入命令tar -zxvf uClinux-dist-20040408.tar.gz解压到当前目录
2)查看当前目录下的内容
3)修改文件
1》进入/home/saisai/201417012/ucLinux-dist目录修改文件
2》在*(got) 之后添加如下3行语句
3》修改vendors/Samsung/4510B/Makefile文件
#vi vendors/Samsung/4510B/Makefile文件
在image 目标的第三行增加一条语句
arm-elf-ld -r -o $(ROOTDIR)/$(LINUXDIR)/romfs.o -bbinary $(ROMFSIMG)
4)使用makexconfig命令对响应内容进行修改,修改完后保存并退出
5)在终端上执行以下三条命令,如果在执行过程中出现错误,可能是交叉编译器没有安装好。
执行make dep命令
执行make clean命令
执行make lib_only命令
6)在执行下一条命令前先进行修改
vi config/.config注释掉25行,否则编译有错
25 #CONFIG_USER_LOD_PASSWORDS=y
修改完后执行make user_only命令
执行make romfs命令
7)执行make命令
执行完该条命令后会出现错误
在终端上执行cp linux-2.4.x/fs/romfs/romfs.o linux-2.4.x/
然后再次执行make命令
8)执行过程中会出现一个"sys_open"的错误
通过vi linux-2.4.x/fs/romfs/inode.c找到
struct file_operations romfs_file_operations = {
开头加上static
再次执行命令make
9)执行结束后可以看到uClinux-dist下有一个images文件夹,里面有四个文件
10)在终端先进入此文件夹,输入cd images
然后输入mkimage -n 'uClinux' -A arm -O linux -T kernel -C none -a 0xc0008000 -e 0xc0008000 -d image.bin linux.bin
这条命令执行时,会说没有安装mkimage,提示安装u-boot-tools,按照提示进行安装
安装后,再次执行该命令
11)执行arm-elf-objcopy -I binary -O ihex linux.bin linux.img.hex命令
执行完后查看当前目录下的内容
12)至此,成功完成
三、系统集成
(1)proteus下建立仿真链路
(2) 移植uClinux操作系统
将在虚拟机(ubuntu)中生成的linux.img.hex复制到目录D:\Program Files (x86)\Labcenter Electronics\Proteus 7 Professional\SAMPLE\VSM for ARM7\uCLinux
下。然后在proteus下点击play运行。