700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > NXP i.MX6 linux应用层替换开机logo

NXP i.MX6 linux应用层替换开机logo

时间:2019-04-30 23:53:49

相关推荐

NXP i.MX6 linux应用层替换开机logo

项目场景:

在眺望电子TW-IMX6DL-EVM开发板上开机Logo默认是编译进内核的,更换起来很不方便,通过改写内核源码,可以实现应用层直接更换内核Logo。在此基础上,本文介绍通过两种方式在应用层更换开机Logo。

编译环境及开发包: 主机:ubuntu18.04

交叉编译器:arm-linux-gnueabihf-gcc

QT5.12.8:qt-everywhere-opensource-src-5.12.8

开发板:TW-IMX6DL-EVM

Linux:Linux-4.1.15

注意:本文章的所有命令涉及到的路径均为眺望电子官方环境路径,需根据自身实际环境改变。本文所演示的平台来自于眺望电子 iMX6 ARM嵌入式平台,这是一个基于NXP iMX6 ARM处理器,支持单核/双核Cortex-A9的核心板。


解决方案:

1.源码修改

1.1 u-boot修改

修改include/configs/mx6sabre_common.h后重新编译uboot。

目录:include/configs/mx6sabre_common.h

添加"loadlogo=mmc read 0x15000000 0x1000 0x2800;\0" \

新增

#define CONFIG_BOOTCOMMAND \"mmc dev ${mmcdev};" \"if mmc rescan; then " \"run loadlogo; " \ /* 新增 */"if run loadimage; then " \"run mmcboot; " \"else " \

1.2 kernel修改

修改内核源码drivers/video/logo/Kconfig,在最后新加一个LOGO_LINUX_CUSTOM_CLUT224的配置选项:

/* 在如下配置 */config LOGO_LINUX_CUSTOM_CLUT224bool "Custom 224-color linux logo"default yendif # LOGO

将附件中的src/kernel/logo.c替换掉内核源码drivers/video/logo/logo.c,在然后重新编译内核。配置内核时,需要去掉logo路径下的其它选项,只保留Custom 224-color linux logo这一个选项。

然后,重新烧写生成的固件。根据芯片的类型,可以选择附件中image目录下的现有固件进行烧写测试。

2.图片格式修改

2.1 JPG格式图片修改方法

从网络上先下载一张JPG格式图片,注意图片分辨率最好和显示屏最佳分辨率保持一致。将附件解压到虚拟机,同时将图片放在解压后的Tools\jpgburn,如图所示。

执行目录中的makelogo.sh脚本,成功后将在burnlogo文件夹下生成mylogo.bin文件。如图所示。

该文件即为可以直接进行烧写的图像二进制文件。注意:执行脚本过程中可能报错,需要安装相关的图像处理工具。

$ sudo apt-get install netpbm$ sudo apt-get install imagemagick

将生成的mylogo.bin文件和同一目录下的burnlogo.sh文件拷贝到开发板同一目录,执行burnlogo.sh脚本,烧写图像到emmc,重启后即可看到效果。

注意:loadlogo=mmc read 0x15000000 0x1000 0x2800;\0"

如果从emmc的0x1000读取logo,则需要修改burnlogo.sh中的seek,如下0x1000对应十进制4096

dd if=/dev/zero of=/dev/mmcblk3 bs=512 seek=4096 count=16384dd if=mylogo.bin of=/dev/mmcblk3 bs=512 seek=4096sync

2.2 BMP格式图片修改方法

因为Logo图片中所使用的颜色数不能超过224种,如果超过将无法正常显示,因此我们需要制作符合要求的图像。需要256 色位图的 bmp图片

将成功保存的图片下载到开发板,使用附件中Tools\bmpburnbmpburn.sh脚本文件进行烧写。(注意:脚本中默认图像文件名为mylogo.bmp,如果不一致需要修改脚本文件。)重启后即可看到实际效果。

内核默认设置成自动读取通过方式1或者方式2烧写进去的图像文件作为开机Logo,如果没有进行烧写,将会读取原来默认的小企鹅图标作为开机Logo。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。