• 配置服务Ubuntu 嵌入式开发环境配置,交叉编译环境+tftp+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和驱动的基本环境就搭建毕完了,当初可以开始你的正式工作了。

        

    文章结束给大家分享下程序员的一些笑话语录: 《诺基亚投资手机浏览器UCWEB,资金不详或控股》杯具了,好不容易养大的闺女嫁外国。(心疼是你养的吗?中国创业型公司创业初期哪个从国有银行贷到过钱?)

  • 相关阅读:
    Nginx与Apache的对比
    gc buffer busy waits(ZT)
    Brocade SAN Switch Change Domain ID (ZT)
    Oracle异机恢复时报错ora19870 ora19507
    row cache lock (ZT)
    can a select block a truncate (ZT)
    NBU常用命令
    the RRD does not contain an RRA matching the chosen C
    Solaris10 x64安装64bit perl
    Solaris and Oracle 32bit Linking Error "fatal: symbol 'ntcontab'
  • 原文地址:https://www.cnblogs.com/jiangu66/p/3033553.html
Copyright © 2020-2023  润新知