栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 系统运维 > 运维 > Linux

IMX6UL 飞凌 LINUX 学习记录(1)

Linux 更新时间:发布时间: 百科书网 趣学号

声明:本次只是记录本人linux学习中留下的痕迹及问题,顺便监督自己的学习。本次学习是根据正点原子的学习视频。在此,感谢原子哥给予的支持!!!多谢!!

开发环境:Ubuntn 16.04 LTS
开发板:飞凌OKMX6UL-C EMMC板

Uboot:u-boot-2016.03  ftp://ftp.denx.de/pub/u-boot/

交叉编译器:gcc-linaro-4.9.4-2017.01

环境变量设置如下:

export PATH=$PATH:/usr/local/arm/gcc-linaro-4.9.4-2017.01-x86_64_arm-linux-gnueabihf/bin

一、UBOOT 移植 

        在选择Uboot版本中,出现一些小插曲。一开始打算采用最新的uboot的版本,但经过编译后,发现产生的uboot.bin无法使用。因此,最后还是保持2016.03的老版本。其中,比对uboot源码后,也没有找出哪些差别,就没有深入挖掘,等空下来,再研究下!

1.1 解压uboot

tar jxvf u-boot-2016.03.tar.bz2

1.2 编译uboot

(1)mx6ul_forlnx_emmc.sh脚本实现,编译脚本如下

#!/bin/bash
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- distclean
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- mx6ul_14x14_evk_defconfig
make V=1 ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- -j16

       编译后,工程下将会产生u-boot.bin。此文件是不带IVT和Boot Data,数据段。

(2) BIN引导头部 IMX

       本次实验采用的SD/EMMC启动方式,即IVT偏移为1Kbyte,EMMC/SD(1KByte)+ IVT + Boot Data + DCD = 4KByte,因此IVT + Boot Data + DCD = 3KByte

        详细了解IVT、BootData、DCD数据内容可以参考正点原子教程,我这边就不班门弄斧了。

        本次实验采用的数据如下所示:(此处完全借用正点原子的imxdownload.c和imxdownload.h),只是将ivtdcd数据按照IMX6UL(飞凌开发板、SDRAM 512M、EMMC/SD卡启动)

 const int fl_imx6_512mb_ivtdcd_table[256] = {

0x402000D1,0x87800000,0x00000000,0x877FF42C,0x877FF420,0x877FF400,0x00000000,0x00000000,

0x877FF000,0x00051000,0x00000000,0x40F001D2,0x04EC01CC,0x68400C02,0xFFFFFFFF,0x6C400C02,

0xFFFFFFFF,0x70400C02,0xFFFFFFFF,0x74400C02,0xFFFFFFFF,0x78400C02,0xFFFFFFFF,0x7C400C02,

0xFFFFFFFF,0x80400C02,0xFFFFFFFF,0x84400C02,0xFFFFFFFF,0xB4040E02,0x00000C00,0xAC040E02,

0x00000000,0x7C020E02,0x08000000,0x50020E02,0x30000000,0x4C020E02,0x30000000,0x90040E02,

0x30000000,0x88020E02,0x30000000,0x70020E02,0x00000000,0x60020E02,0x30000000,0x64020E02,

0x30000000,0xA0040E02,0x30000000,0x94040E02,0x00000200,0x80020E02,0x38000000,0x84020E02,

0x30000000,0xB0040E02,0x00000200,0x98040E02,0x30000000,0xA4040E02,0x30000000,0x44020E02,

0x30000000,0x48020E02,0x30000000,0x1C001B02,0x00800000,0x00081B02,0x030039A1,0x0C081B02,

0x07000700,0x3C081B02,0x45014941,0x48081B02,0x46454040,0x50081B02,0x4D524040,0x1C081B02,

0x33333333,0x20081B02,0x33333333,0x2C081B02,0x333333F3,0x30081B02,0x333333F3,0xC0081B02,

0x12209200,0x58081B02,0x000F0000,0xB8081B02,0x00080000,0x04001B02,0x2D000200,0x08001B02,

0x0030331B,0x0C001B02,0xF3546B67,0x10001B02,0x830A8EB6,0x14001B02,0xDB00FF01,0x18001B02,

0x40172100,0x1C001B02,0x00800000,0x2C001B02,0xD2260000,0x30001B02,0x23106B00,0x40001B02,

0x4F000000,0x00001B02,0x00001884,0x1C001B02,0x32800002,0x1C001B02,0x33800000,0x1C001B02,

0x31800400,0x1C001B02,0x30802015,0x1C001B02,0x40800004,0x20001B02,0x00080000,0x18081B02,

0x27020000,0x04001B02,0x2D550200,0x04041B02,0x06100100,0x1C001B02,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,

0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00000000

};

通过编译产生imxdownload,可以用于uboot的SD启动文件load.imx。

gcc -o imxdownload imxdownload.c

将SD卡连接虚拟机后,将会在/dev/sdx设备(本次实验sdb),通过以下命令后,u-boot.bin文件+IVI DCD数据后,烧写到SD卡。

./imxdownload u-boot.bin /dev/sdb

开发板设置SD启动,uboot得以正常启动。 

下一节将继续完善 LCD 5.6、网络驱动更改。

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/1064985.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号