Chinaunix首页 | 论坛 | 博客
  • 博客访问: 880833
  • 博文数量: 284
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1960
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-04 16:41
文章分类

全部博文(284)

文章存档

2018年(5)

2017年(95)

2016年(69)

2015年(15)

2014年(100)

我的朋友

分类: 嵌入式

2014-08-06 22:32:52

实验目标:
       1、Linux环境的建立,Hello_World编辑编译
       2、Hello_World多种下载方法实验并比较各的优劣


1、建立Linux开发环境
      Step1编译器安装:arm-linux-gcc
                将光盘目录 linux\ 中的arm-linux-gcc-4.3.2.tgz 复制到某个目录下如 tmp\ ,然后
                进入到该目录,执行解压命令: 
               #cd \tmp 
               #tar xvzf arm-linux-gcc-4.3.2.tgz    –C /    
    注意:C 后面有个空格,并且 C 是大写的,它是英文单词“Change”的第一个字母,
    在此是改变目录的意思。
    执行该命令,将把arm-linux-gcc 安装到/usr/loca/arm/4.3.2目录。 

在root权限下进行
    
      Step2:把编译器路径加入系统环境变量,运行命令
        #gedit /root/.bashrc
        编辑/root/.bashrc 文件,在最后一行  export PATH=$PATH:/usr/local/arm/4.3.2/bin
        重新登录系统( 不必重启机器,开始->logout 即可) ,使以上设置生效 或则使用source .bashrc (最好在root权限下运行

       Step3:编辑、编译hello.c
            在tmp下新建hello.c,编辑好后,编译arm-linux-gcc -o hello hello.c  
                                                            或自己编写makefile   用makefile编译 

                                                                     CROSS=arm-linux-

                                                                     all: hello

                                                                     hello:
                                                                            $(CROSS)gcc -o hello hello.c

                                                                     clean:
                                                                             @rm -vf hello *.o *~
       

        Step4:把Hello,World下载到开发板运行             
                将编译好的可执行文件下载到目标板目前主要四种方式:
                第一种:复制到介质( 如优盘)
                第二种:通过网络传送文件到开发板( 推荐使用)
                第三种:通过串口传送文件到开发板
                第四种:通过NFS(网络文件系统) 直接运行
        软硬件环境所限:先试下第三种,串口传送
        波特率115200,数据流控制无,其他保持默认状态。 试了串口调试助手,接受和发送独立的,不好调试,还是换超级终端
        远程系统没响应。。。。终端一堆乱码。可能是串口线一折腾,硬件不稳定。串口失败!!!!(应该没问题,可能操作有误)

        尝试下第二种,网络传送。
        但前提是:PC和开发板能够ping通吧。
         ip必须在同一网段,即PC 和MINI2440需要连接在同一个路由上,分配固定IP;如果不相同,可以用命令改过来;或则直接用网线直连PC和开发板。
        在终端中ifconfig查看到mini2440的ip
                  eth0      Link encap:Ethernet  HWaddr 08:90:90:90:90:90
                              inet addr:192.168.1.230  Bcast:192.168.1.255  Mask:255.255.255.0

         但是在虚拟机的Fedora9中,ifconfig  command not found
         直接运行/sbin/ifconfig 就会显示正确指令
         哎,环境变量的原因,配置下环境吧
        1. 直接输入:/sbin/ifconfig
        2. 临时修改环境变量:在shell中输入
           $export PATH = $PATH:/sbin
           然后再输入ifconfig命令,但是这只是临时更改了shell中的PATH,如果关闭shell,则修改消失,下次还需要重复如上操作
        3.永久修改PATH变量使之包含/sbin路径:
           打开/etc/profile文件,在其中输入export PATH=$PATH:/sbin,
           保存并source /etc/profile,这样一来,PATH路径永久修改成功,以后任何时候只需输入ifconfig命令即可
        两个ip在同一网段,并且能够互相ping通后,就可以利用ftp进行传输了。 图中第3步:put hello 需在hello当前目录下,要不无法传输

传送成功后,在mini2440  /home/plg目录下就可一看到响应文件,在终端可运行hello文件  ./hello
 


       第四种是最强大的了,直接在虚拟机编辑,编译,mini2440对应的挂载文件会同步改变。在终端中在挂载的文件夹中调试程序。相当于扩大了硬盘。虚拟机编辑编译,终端运行测试。
       配置网络文件系统NFS 服务
       1、设置共享目录
       注意:要使用共享目录,必须先按照 5.4.2章节解压安装好root_qtopia 目标板文件系统包。
       设置参照mini2440说明手册5.5章节

       2、搭建好NFS 服务器系统(不用什么NFS启动开发板系统,其作用未知),然后在开发板终端命令行输入(在PC Linux终端输入相应命令却没法连上???)以下命令(虚拟机的IP 地址为192.168.1.101 )
       #mount –t nfs –o nolock 192.168.1.101:/opt/FriendlyARM/mini2440/root_qtopia  /mnt
挂接成功,您就可以进入/mnt 目录进行操作了,在您的 PC Linux 终端把hello复制到
      opt/FriendlyARM/mini2440/root_qtopia目录,然后在开发板的串口终端执行
     #cd /mnt
     #./hello
测试OK     疑问:这个hello World在开发板内存哪个位置??? 
              如果开发板重启,则开发板的mnt文件夹没有文件了,说明hello world并没有下载下来,只是用于调试。调试好了再下载到开发板中,节省很多下载时间。

Hello World!通过
阅读(585) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~