uboot开发移植

开发设备正点原子imx6ull mini开发板
将NXP uboot 通过Filezilla 放置到Ununtu为其单独创建的文件夹下
在这里插入图片描述
可以看到我们的压缩包已经放到改文件下
在这里插入图片描述
使用

tar -xvjf file name 

或者图形一键解压
在这里插入图片描述
可以看到文件已经解压成功。进入到该文件中更改顶层Makefile,目的是为了方便编译uboot
找到下图位置
在这里插入图片描述

将其更给为下图
在这里插入图片描述

ARCH = arm即为编译ARCH下的哪一个目录,CROSS_COMPILE = arm-linux-gnueabihf-为使用哪种交叉编译器。然后使用

make mx6ull_14x14_evk_emmc_defconfig

生产.config文件,uboot 配置文件,如果是内核,就是内核的配置文件,在配置 uboot时候生成,所有的 Makefile 文件(包括顶层目录及各级子目录)都是根据 .config 来决定使用哪些文件。
然后通过

make V=1 -j16

进行编译。
在这里插入图片描述
可以看到uboot编译成功。
我们需要将编译生成的bin文件烧录到SD卡中。
我们通过sudo fdisk -l可以查看SD卡的位置
在这里插入图片描述
可以看到我们的SD卡在sdb,然后通过./imxdownload u-boot /dev/bin将bin文件烧录到SD卡,上电查看。
在这里插入图片描述
出现警告与错误我们可以先不用管。然后我们再看LCD出现花屏现象
在这里插入图片描述
这是因为nxp写的LCD与我们的屏幕是不适配的,我们去找到控制LCD的代码,这个可以想像成32工程文件,一个LED需要一个LED.c与LED.h文件。同理mx6ull这块板子需要一个mx6ullevk.c与mx6ullevk.h。NXP默认LCD是4.3寸480x272的屏幕,虽然我的也是4.3寸,但是我的分辨率是800x480的因此显示会出现问题我们打开board/freescale/mx6ullevk/mx6ullevk.c文件,找到下图代码:
在这里插入图片描述
将代码改成下图:
请添加图片描述

更改的参数要与你的屏幕型号对应,我的屏幕为整点原子的TFT4384。
在这里插入图片描述
以下为我的屏幕参数。pixclock需要我们自己进行计算。
在这里插入图片描述
像素时钟计算公式

打开include/configs/mx6ullevk.h文件找到下图代码:
在这里插入图片描述
将140行改为与board/freescale/mx6ullevk/mx6ullevk.c文件中787行相同的LCD名字。
在这里插入图片描述
更改完成后重新上电烧录
在这里插入图片描述
图像显示成功,下一次我们将讲解网络驱动等

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值