爱板网论坛

查看: 163|回复: 2

[原创] 【盈鹏飞EVB-P6UL评估板试用】TFTP测试和源码编译

[复制链接]

5

主题

2

好友

240

积分

秀才

Rank: 3Rank: 3

  • TA的每日心情
    奋斗
    2017-12-5 10:39
  • 签到天数: 35 天

    连续签到: 2 天

    [LV.5]常住居民I

    发表于 2017-11-26 18:09:10 |显示全部楼层
    本帖最后由 ゛向日葵的执着 于 2017-11-26 18:26 编辑

    本篇文章主要介绍EVB-P6UL开发板交叉编译环境的部署以及TFTP功能的测试,最后进行盈鹏飞官方提供的的源码编译。
    一、交叉编译环境部署
    将盈鹏飞科技公司提供的文件夹toolchains下的ARM交叉编译工具链共享到主机Ubuntu14.04上去,交叉编译工具链可以使用官方提供的也可以自行下载,下面部署交叉编译环境,在主机终端下
    解压交叉编译工具链
    1. $ cd /work/
    2. $ sudo tar -xvjf gcc-linaro-arm-linux-gnueabihf-4.9.tar.bz2
    复制代码
    设置配置文件
    1. $ sudo vim ~/.profile
    复制代码
    在文件的最末尾添加
    1. export PATH=$PATH:/work/gcc-linaro-arm-linux-gnueabihf-4.9-2014.07_linux/bin
    复制代码
    然后保存文件即可,令环境变量马上生效
    1. $ sudo source ~/.profile
    复制代码
    查看环境变量,测试是否安装成功
    1. $ echo $PATH
    2. $ arm-linux-gnueabihf-gcc -v
    复制代码
    测试结果
    测试交叉编译环境.png

    至此,ARM交叉编译环境搭建成功,如果执行arm-linux-gnueabihf-gcc -v出现No such file or directory!的提示的话,是版本不兼容的问题,需要安装32bit的运行库,可以参考下面的博客。
    链接:https://www.cnblogs.com/mrzhaoly/p/4967138.html
    二、TFTP服务测试
    TFTP是一种简单的文件传输协议,具有传输速度快,方便简单,经常会使用在嵌入式系统的文件传输,其中盈鹏飞科技的EVB-P6UL开发板上也提供了这个TFTP文件传输功能,下面进行这个功能的测试,具体测试方法为,在宿主机上编写一个简单的test.c文件,使用上述搭建好的交叉编译工具链进行文件编译成可执行文件,然后通过TFTP功能将可执行文件传输到EVB-P6UL开发板上执行。
    首先在主机中编写需要测试的test.c文件,该测试程序用来求pi的近似值,运用的公式如下
    求pi公式.png

    使用vim或者touch新建文件,测试代码如下所示
    求pi程序.png

    在上面已经在主机搭建好了交叉编译环境,接下来在宿主机端进行test.c程序编译链接成可执行程序,在主机终端下
    $ arm-linux-gnueabihf-gcc -static test.c -o test
    编译无错误,生成test可执行文件,使用TFTP功能将test程序传输到EVB-P6UL中去,将PC电脑端和开发板接在同一网段内,可以使用路由器,将EVB-P6UL的网口接上,在PC端下打开tools文件夹中的tftpd32.exe程序,选取好需要下载的文件夹路径,并且将需要下载到EVB-P6UL开发板的test测试程序放到该路径,如下
    设置tftp路径.png

    EVB-P6UL终端上,新建文件夹
    1. $ mkdir work
    2. $ cd work
    复制代码
    使用TFTP功能下载文件,命令中的IPPC端的IP-g参数表示下载
    1. $ tftp -g 192.168.0.133 -r./test
    复制代码
    修改可执行文件权限,并执行
    1. $ chmod 777 test
    2. $ time ./test
    复制代码
    测试成功,如下
    pi值输出.png

    三、源码编译
    在上面中已经部署了交叉编译编译环境,下面开始编译盈鹏飞官方提供的u-bootLinux内核源码
    fsl-release-bsp文件下,包含了源码的编译规则,先按照实际的情况修改Rules.make文件,主要修改交叉编译工具的路径以及源码的目录,如下
    Rules.make文件.png

    1、u-boot编译
    1. $ cd /share/fsl-release-bsp/
    复制代码
    执行环境变量脚本
    1. $ . ./Env.sh
    2. $ sudo tar -jxvf uboot-imx.tar.bz2
    3. > cd uboot-imx/
    复制代码
    配置文件
    1. > sudo make mx6ul_14x14_ddr3_arm2_nand_defconfig
    复制代码
    调出图形化配置菜单
    1. > sudo make menuconfig
    复制代码
    u-boot菜单.png

    配置完成后,最后编译u-boot.imx启动文件
    1. > sudo make u-boot.imx
    复制代码
    编译没有产生错误,生成u-boot.imx文件,进行烧写即可
    2、Linux内核源码编译
    1. > sudo tar -jxvf imx6ul.tar.bz2
    2. > cd imx6ul
    复制代码
    使用默认的配置文件
    1. > cp imx6ul_config .config
    复制代码
    调出菜单配置,根据需要调整
    1. > sudo make menuconfig
    复制代码
    Linux内核菜单.png

    最后编译内核镜像
    1. > sudo make zImage
    复制代码
    在中途产生了一个错误,系统用的是Ubuntu14.04,如下
    编译错误.png

    安装下面的依赖
    1. > sudo apt-get install lzop
    复制代码
    然后重新编译即可
    生成zImage.png

    Linux内核dtb的编译过程类似,不一一讲解了。
    执行下面命令即可
    1. > sudo make evbp6ul-m256f256-res-8uarts.dtb
    复制代码
    设备树文件会在arch/arm/boot/dts/目录下生成
    四、总结
    EVB-P6UL的交叉编译环境、TFTP功能测试以及BSP源码编译的文章先介绍到这里,EVB-P6UL的外设以及板载提供的Linux软件服务也很多,总的感觉还是很不错的,最后,感谢爱板网以及盈鹏飞科技提供了EVB-P6UL开发板的试用机会。
    回复

    使用道具 举报

    27

    主题

    0

    好友

    621

    积分

    举人

    Rank: 4

  • TA的每日心情
    开心
    2017-9-24 22:21
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2017-11-26 19:48:47 |显示全部楼层
    支持,不错
    回复

    使用道具 举报

    27

    主题

    0

    好友

    621

    积分

    举人

    Rank: 4

  • TA的每日心情
    开心
    2017-9-24 22:21
  • 签到天数: 25 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    发表于 2017-12-5 23:51:38 |显示全部楼层
    官方的源码包在哪,我的似乎不全,缺少uboot源码,方便提供吗,谢谢
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    关闭

    站长推荐上一条 /1 下一条

    手机版|爱板网 |网站地图  

    GMT+8, 2017-12-15 01:11 , Processed in 0.196417 second(s), 12 queries , Memcache On.

    苏公网安备 32059002001056号

    Powered by Discuz!

    回顶部