交叉编译环境和Minicom的安装

  要搭建一个嵌入式开发环境,主要有这几个服务需要配置好,交叉编译环境,tftp服务,串口终端。

        简单介绍以下,交叉编译环境很好理解,没有它无法编译程序在板上运行,所以是必须的;tftp服务本人认为非常好用,如果每次编译内核后,都要烧写到flash中去,不仅仅是极大减少flash的寿命(一般flash可擦写10万次左右),而且很费实际,利用tftp服务将程序直接从主机加载到板子上,马上就可运行是很舒服的开发过程。串口终端也是必须有的服务,没有串口终端,都不知道板子现在运行情况,也无法通过命令交互,没有它几乎没法进行开发。

        笔者主机是Ubuntu 11.10版本系统,下面简单介绍以下开发环境搭建过程,方便自己以后查阅,若有读者觉得有问题,欢迎留言讨论。

一、交叉编译环境

        交叉编译器可以自己编译,但最好的办法是使用板子厂家提供的成形的交叉编译器,方便且几乎不会有问题,否则自己整一个,不是编译不过就是配置有差异,总之很烦,笔者自己使用的OK6410开发板提供的arm-gcc交叉编译工具。

        #mkdir /usr/local/arm

        #cp arm-linux-gcc-4.3.2.tgz /usr/local/arm

        #tar -zxvf arm-linux-gcc-4.3.2.tgz -C /  解压缩

        完成上述操作后,在usr/local/arm目录下,应该有个4.3.2的目录,其中即包括了交叉编译需要的全部东西,将该目录下bin添加到环境变量中即可。

        

        echo $PATH查看当前环境变量配置,我们的目标是在$PATH变量中添加/usr/local/arm/4.3.2/bin这个值,可以修改的位置很多,如/etc/environment,~/.profile等,我个人推荐大家用~/.profile,使用前者会导致sudo -s后,无法找到交叉编译的环境变量设置,熟悉整个Ubuntu环境变量管理流程的读者很容易知道为什么。

        #gedit .profile

        在文件最后一行后输入export PATH=$PATH:/usr/local/arm/4.3.2/bin,保存,使用source .profile命令使配置生效。

        #echo $PATH

        #/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/arm/4.3.2/bin

        #arm-linux-gcc -v

        Using built-in specs.
Target: arm-none-linux-gnueabi
Configured with: /scratch/julian/lite-respin/linux/src/gcc-4.3/configure --build=i686-pc-linux-gnu --host=i686-pc-linux-gnu --target=arm-none-linux-gnueabi --enable-threads --disable-libmudflap --disable-libssp --disable-libstdcxx-pch --with-gnu-as --with-gnu-ld --enable-languages=c,c++ --enable-shared --enable-symvers=gnu --enable-__cxa_atexit --with-pkgversion='Sourcery G++ Lite 2008q3-72' --with-bugurl=https://support.codesourcery.com/GNUToolchain/ --disable-nls --prefix=/opt/codesourcery --with-sysroot=/opt/codesourcery/arm-none-linux-gnueabi/libc --with-build-sysroot=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/libc --with-gmp=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --with-mpfr=/scratch/julian/lite-respin/linux/obj/host-libs-2008q3-72-arm-none-linux-gnueabi-i686-pc-linux-gnu/usr --disable-libgomp --enable-poison-system-directories --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin --with-build-time-tools=/scratch/julian/lite-respin/linux/install/arm-none-linux-gnueabi/bin
Thread model: posix

gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) 

       环境变量配置成功。


二、配置tftp服务

         笔者这里说的tftp服务仅指配置调试主机的tftp服务,开发板上U-BOOT对tftp服务的支持需要涉及到网卡驱动的修改等,不是我们讨论的重点,这里不展开论述。

         具体步骤如下:

         1、打开新立得包管理器,搜索tftp,如果你已经装了tftp和tftpd,那么先用新立得去彻底删除他们;如果也已经安装了tftp-pha和tftpd-hpa,那么也同样用新立得去彻底删除他们。

         2、同上,用新立得安装tftp-hpa和tftpd-pha。

         3、设置tftp服务端。建立一个tftp 根目录,表示tftp客户端会访问的位置

         #cd Document

         #mkdir tftproot

         #chmod 777 tftproot (我这里是为了省事,赋予了读、写、执行权限,读者可以自行决定赋予哪些权限)

         4、更改tftp服务端的配置文件。

         #vi /etc/default/tftpd-hpa

         修改前是这样的:

         # /etc/default/tftpd-hpa

         TFTP_USERNAME="tftp"

         TFTP_DIRECTORY="/tftpboot"

         TFTP_ADDRESS="0.0.0.0:69"

         TFTP_OPTIONS="-l -c -s /tftpboot"

         修改好后的配置是这样的:

         RUN_DAEMON="yes" 
         OPTIONS="-l -s -c /home/eric/Documents/tftproot"  (按自己的实际情况修改)
         TFTP_USERNAME="eric"  (按自己的实际情况修改)
         TFTP_DIRECTORY="/home/eric/Documents/tftproot"  (按自己的实际情况修改)
         TFTP_ADDRESS="0.0.0.0:69"
         TFTP_OPTIONS="--secure"

         5、重启动tftp服务

         #sudo service tftpd-hpa restart

          tftpd-hpa start/running, process 2084

          6、测试tftp服务是否正常

          进入任意一个目录下,获取tftproot下的test.txt文件(读者可以自己建立测试文件),查看操作完成后,test.txt文件是否读取成功。

          # tftp localhost

          #tftp> get test.txt  (在你的tftproot目录下,建立一个测试小文件,在这里测试获取)
          #tftp>quit

          一个tftp服务端即配置完成了,可以在开发板uboot中使用tftp命令,获取主机上的内核和文件系统文件。


三、串口终端

        串口终端的作用不必说,几乎调试BSP和驱动时处处要使用它与板子打交道,笔者使用的是minicom。

       具体步骤如下:

       1、安装minicom

       #sudo apt-get install minicom

       2、配置minicom

          在终端中输入minicom以启动minicom;

          先按下Ctrl + a, 放开, 再按o, 出现配置菜单.

          选择 Serial port setup

       

      上面是笔者的配置,如果没有使用USB转串口,而是直接使用串口,那么Serial Device要配置为/dev/ttyS0。

      对波特率,数据位和停止位进行配置,键入“E”,波特率选为115200 8N1 (奇偶校验无, 停止位1),硬/软件流控制分别键入“F”“G”并且都选NO.

      按回车键退出当前配置,选择Save setup as dfl保存为默认配置,下次即可直接使用了。(若提示说无法保存为默认配置,表示权限不够,注意启动minicom时,使用sudo)

      接下来,连上板子,就可以使用串口终端进行调试了。


     调试BSP和驱动的基本环境就搭建完毕了,现在可以开始你的正式工作了。


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值