您的位置:首页 > 运维架构 > Linux

基于ARM7的ucLinux内核移植的proteus仿真

2018-02-28 10:19 393 查看

一、安装proteus

从网站上下载Proteus-Pro-crack-ha-7.8sp2,然后进行安装

二、嵌入式uClinux的实现

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 0x
4000
c0008000 -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运行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐