如何修改嵌入式linux启动进度条

如何修改嵌入式linux启动进度条,第1张

1.分析

ARM-Linux启动时会先在LCD左上角显示一个ARMLINUX的小企鹅图案,也就是我们所说的bootlogo。

首先分析一下Logo的显示代码:

不难发现Logo显示是在加载显示驱动fb后由kernel/drivers/video/fbcon.c中的fbcon_show_logo函数来完成的。

fbcon_show_logo函数中有很多兼容性代码,不是都会用到的!

再仔细看一下,这里用到的显示数据均来自kernel/include/linux/linux_logo.h。这里同样也有一些兼容性的数据,其中对我们有用的是:

linux_logo_red[] —— 调色板中的红色分量

linux_logo_green[] —— 调色板中的绿色分量

linux_logo_blue[] —— 调色板中的蓝色分量

linux_logo[] —— Logo图案的点阵

以上数据都是不需要你修改的在fbcon_show_logo里只做了256色的显示,所以要先设置一个RGB调色板。这里的调色板是从0x20色开始编的,所以实际好象只有最多224色的显示。linux_logo.h里默认是做了一个214级的灰度调色板,如果想要更多色彩的话可以自已修改(注意调色板的颜色不能超过224种)

再看linux_logo[],这是Logo图案的点阵。因为是256色的图,所以每点为一个Byte。Logo图案是80*80大小,所以这里总共有6400 Byte。一共是800行,每行8 Byte即8 Point,每10行数据对应Logo图案中一行。可以先自己试试放一些简单图形进去显示看看。(同样注意颜色要从0x20开始,0-0x1f的32种颜色是不确定的)。

以上分析是针对系统原版内核256色80x80的启动图标的说明。而我们要通过修改或替代原内核文件,来实现我们制做公司的的启动图标,要求如下:

1.开发板起动以后以全屏显示即240x320模式显示

2.图像以224色彩显示

2.方案设计

当然你不会只想显示一些简单图形,而是希望能把自已做的图片放上去。建议使用PhotoShop8.0这里提供三个方法加工图片:

1)先搞一个256色调色板,前面32个颜色空着,把后面224种颜色设一下吧。注意要尽量把颜色选全一些,要能覆盖到整个颜色区域上。这样就有一个通用的调色板,可适用所有图片,但颜色的真实性稍差。然后把自己的图片打开,先将颜色设置到RGB空间里,然后裁剪/缩放到240x320象数的尺寸,再将颜色优化到先前定义好的调色板里,图片就加工好了。

2)不用通用调色板,打开自己的图片,先将颜色设置到RGB空间,裁剪/缩放到240x320象素的尺寸,然后指定优化为224色图象。这样图片就加工好了,但其调色板就是专用的,不适合用到其他图片里。

3)GIMP+FBLOGO GIMP为LINUX下一个绘图程序,我们使用它打开图片后在菜单栏先择: 图片->模式->索引颜色,然后通过工具选项将图片大小调整到240x320象数大小,保存为.png格式。在使FBLOGO工具将其转换成linux_logo.h文件。

使用前两种方法加工图片,还需要把数据放到我们的linux_logo.h里。调色板可以直接保存为文件,然后可以通过自制的小程序读出来就可以了。图片的点阵比较难取,当然也可以自己做个程序去取屏幕上的点,不过比较困难。而后一种方法使用fblogo工具将用GIMP转换的图片文件自动生成linux_logo.h文件。

3.最终实施方案

通过以上内容分析,我们确定使用第三种方法GIMP加fblogo工具的方案进行实施,以下我们制做的流程及其方法:

软件环境:linux虚拟机、fblogo工具、linux下的图像编辑工具GIMP

硬件环境:X86PC机一台、优龙ST2410开发板一个、交叉网线一条。

1.调试并编译开发板所相对应的内核包,调试通过后保留.config配制文件,准备编译bootlogo时使用。

2.在linux上解压fblogo_0.52.tgz包,并进行软件安装,生成fblogo二进制可执行文件。

3.进入linux的kde图形界面,在终端下使用gimp命令运行gimp工具。

4.打开公司的logo.jpg图像文件,依次选择 图像->模式->索引颜色、并将其图片大小调至240x320象素,最后将文件保存为logo.png格式。

5.将上述文件保存到fblogo工具所在文件夹,首先在命令行下执行convert –colors 223 logo.png logo.png 将文件保存为224色素(目前fblogo工具仅支持到224色),接着再使用fblogo logo.png linux_logo.h 生成linux_logo.h内核启动代码中的图像缓冲区文件格式。

6.将linux_logo.h文件拷贝到kernel的include/linux目录即可。

7.重新编译linux系统内核,将生成的zImage内核镜像拷贝到windows下,准备对目标板进行烧写。

8.用串口将目标板与PC主机相连,接通电源,使用bnw工具进入目标板的bios程序并将生成的zImage内核镜像拷烧写到板子上,重起目标板,你会发现目标板上已经出现了美丽的logo图片。如果没有,请核对以上的步骤,并重新测试直到成功为止。

4 方案总结

4.1 方案实施过程中的关键问题

1.确保内核能够正常运行,编译时对开发板各硬件的驱动支持及其相关的配制,启动后能够自动加载文件系统。

2.安装fblogo工具,fblogo工具的编译需要使用到第三方的库文件libpng.so库以及zliba.a库的支持,编译成功后,在命令行试运行fblogo 如果安装成功将出现其使用的帮助信息。

3.fblogo工具对图片的要求是仅支持PNG格式的224色图片。

4.最后针对不同的开发板的LCD显示屏应使用与其相适应的图片大小,否则可能使系统无法正常工作。

4.2 方案实施后的遗留问题

由于使用到了logo的制做工具fblogo 所以图片在色彩上最大仅能支持到224色图片,在bootlogo启动文件linux_logo.h中有图像的色彩域点阵代码(即图片的16位进制的代码),如有需要可以自行修改,但其难度可想而知,建议可以将图片保存为TIF之类的非压缩格式,然后自已编写小程序将其从图象文件中的固定位置取点阵数据。

5 2.6内核启动Logo

在配置内核的时候选中了启动Logo的支持。

使用下面的方法可以将企鹅的Logo换成自己喜欢的任意图片。

首先准备一幅自己喜欢的图片,然后将背景涂成黑色。然后将该图片保存成png格式,例如linuxlogo.png。在Linux下使用下面的命令:

# pngtopnm linuxlogo.png >linuxlogo.pnm

# pnmquant 224 linuxlogo.pnm >linuxlogo224.pnm

# pnmtoplainpnm linuxlogo224.pnm >linuxlogo224.ppm

然后用生成的linuxlogo224.ppm替换/usr/src/linux-2.6.8.1/drivers/video/logo/logo_linux_clut224.ppm(最好先做好备份),然后删除同一目录下的logo_linux_clut224.c文件,重新编译内核,启动之后就可以在屏幕左上方看到自己的Logo了。

rt1052 linux手册,i.MX RT1052核心板仅68元-飞凌嵌入式最新发布跨界开发平台 转载

2021-05-14 03:40:13

Emmamkq0.~

码龄6年

关注

原标题:i.MX RT1052核心板仅68元-飞凌嵌入式最新发布跨界开发平台

2018年8月23日飞凌嵌入式最新发布基于NXP i.MX RT1052处理器的核心板FET1052-C与开发板套件OK1052-C,核心板最低售价68元!

NXP推出的全球首款跨界处理器i.MX RT系列,融合了低功耗应用处理器MCU和高性能微控制器MPU的优势,深受电子界的欢迎,被评为最强M芯,它巧妙的把应用在简单、实时性要求较高的产品与场合的MCU与具备更为全面的拓展性,可以进行更为复杂的运算的MPU的特点相结合,使其兼具应用处理器的高集成度、扩展性和高性能,以及微控制器的易用性、低功耗和实时性,实现了MCU和MPU的优势重合,开创了嵌入式领域处理器应用的新篇章!

4dccd7d49df98709c31b3ade2ec7caad.png

飞凌嵌入式与NXP进行技术与产品上的密切合作,此次推出的OK1052-C开发板与FET1052-C核心板,具备i.MX RT1052处理器的跨界与功能优势,采用工业级要求进行设计,运行温宽-40℃~85℃,核心板体积小巧,尺寸31mm* 43mm,除支持裸机外,独家开发、优化移植了uCLinux系统,配合行业最低爆炸性售价,飞凌嵌入式致力于打造一款最强M核(核心板),最低成本的嵌入式核心板!

下面我们来详细了解下OK1052-C开发板/FET1052-C核心板:

★ 兼容性设计,一种设计,两种配置

5b9f88cf5bea420977f5dd73a4896b38.png

核心板配置1:

7df87c54ca9f2905b07590ab904f58d6.png

产品售价:68元

核心板配置2:

4492bde56285609f49c5ff6195a71735.png

产品售价:88元

★ 双形态诠释跨界,独家支持uclinux

FET1052-C核心板支持裸机运行与uCLinux *** 作系统,兼具MCU与MPU的双重形态,按需选择,更加灵活。支持裸机程序,简单易用、实时性高、功耗更低;支持uCLinux *** 作系统,多任务运行、代码易维护、应用移植性强。

ef4c754f189a62f076f123afb6b99cd9.png

★ 工业级品质

板卡设计充分考虑信号完整性,保证最佳电气性能;优化电源架构,调整电源上电时序,提高了系统鲁棒性

ae741cfae2ff4e365ce731a1fea05ef7.png

★ 多媒体能力突出

24位LCD接口,最大支持1366*768分辨率,支持2D图形加速,MCU模式下支持emWin图形库,支持并行摄像头接口和3路IIS音频接口

2adb56213ef3957791b6b7f49f2557fc.png

★ 体积小巧

核心板体积小巧,仅31mm* 43mm,采用防反插板对板连接器设计,方便前期开发测试与后期批量装配并且连接器设计方式,焊接简单

595dd862522241cc34629e36c2e28e2b.png

★丰富实用的通讯接口 支持8路UART,最高5Mbps;10/100M自适应以太网,支持lwip协议包;支持2路CAN,2.0B协议;支持20路ADC,12位精度;支持32路PWM,互补输出、正交解码、电机故障检测;

fe41b061c95de0bf418db8013c4c7a38.png

★开发板评估套件接口展示

c6fa2b8ba2a565eee457fff9044dd79d.png

产品优势不胜枚举,想要深入了解的朋友们,请关注飞凌官网产品详细介绍或咨询我们专业的销售工程师!

飞凌嵌入式愿与您一起,共同打造出高品质的嵌入式产品!

产品更多信息,请至飞凌官网查询

NXP i.MXRT1052系列FET1052-C核心板:http://www.forlinx.com/99.htm

NXP iMXRT1052系列OK1052-C开发板:http://www.forlinx.com/imxrt1052.htm返回搜狐,查看更多

责任编辑:

文章知识点与官方知识档案匹配

CS入门技能树Linux入门初识Linux

24015 人正在系统学习中

打开CSDN,阅读体验更佳

IMX6Q 核心板的原理图和PCB.zip

内含 iMX6Q 开发原理图和 PCB 文件,分享给各位一起学习参考。

rtp包抖动计算公式_RTP 协议详解

概述:实时传送协议(Real-time Transport Protocol或简写RTP,也可以写成RTTP)是一个网络传输协议,它是由IETF的多媒体传输工作小组1996年在RFC 1889中公布的。RTP协议详细说明了在互联网上传递音频和视频的标准数据包格式。它一开始被设计为一个多播协议,但后来被用在很多单播应用中。RTP协议常用于流媒体系统(配合RTCP协议或者RTSP协议)。因为RTP自身...

继续访问

如何选择一款合适的核心板进行开发

很多工程师在选择嵌入式核心板的时候往往会陷入选择困难症,选择ARM9还是A8平台?选择Linux还是Android、选择创客平台还是主流核心板?选择芯片方案还是核心板方案?本文将为大家提供一些参考意见。 选择硬件平台是一个项目的开始,选择是否正确有时候往往关乎到一个项目的成败。但是当下是一个信息爆炸的年代,放到我们眼前的方案多种多样。作为一名合格的工程师不仅要关注产品性能是否够用,还要把握项目的

继续访问

linux内核开机进度条,ARM核心板如何在Linux启动时显示开机进度条?

ARM核心板如何在Linux启动时显示开机进度条?本文基于ZLG ARM9开发套件,主要介绍了如何实现在Linux *** 作系统启动时显示开机进度条,其方法适用于其他产品。开发主机环境:Ubuntu 12.04(64位)、arm-none-linux-gnueabi-gcc系列交叉工具链硬件清单:EasyARM-i.MX257开发套件或EasyARM-i.MX283A/287A开发套件或EPC-28xC...

继续访问

rt1052 linux手册,开箱折腾处女贴--在Linux下配合MCUXpresso开发RT1052

本帖最后由 msr06rr 于 2018-5-2 18:05 编辑熬夜盖楼,有幸获得iMX-X1开发板,我就不多晒板子的图了,避免拉来仇恨板子靓照gg.jpg (311.59 KB, 下载次数: 1)2018-5-2 18:04 上传安富莱给的教程一般都是针对Keil的,我花了大半天尝试了在Linux下做开发,当然IDE选择官方的MCUXpresso咯,同样都是基于Eclipse,比起英飞凌的DA...

继续访问

rt1052 linux手册,【正点原子号令者RT1052使用】8.RT1052之USMART调试组件

本帖最后由 煮饺子水洗脚 于 2018-7-22 16:09 编辑USMART 是由 ALIENTEK 开发的一个灵巧的串口调试互交组件,通过它你可以通过串口助手调用程序里面的任何函数,并执行。因此,你可以随意更改函数的输入参数(支持数字 ( 10/16进制, 支持负数)、字符串、函数入口地址等作为参数),单个函数最多支持 10 个输入参数,并支持函数返回值显示。USMART 的功能类似 linu...

继续访问

最新发布 NXP i.MX RT1052介绍

1-NXP i.MX RT1052 连载之 MCU 简介【1】_KiFF的博客-CSDN博客 2-NXP i.MX RT1052 连载之 Boot 简介【2】_KiFF的博客-CSDN博客(重要) 3-i.MXRT单片机-Cortex-M7 i.MX RT1052 跨界核心板 - ARM核心板 - 保定飞凌嵌入式技术有限公司 这两个插座型号是什么? 在核心板上安装的这两个插座,是3710F插座(公头)。 那么与之对应的是3710F插座(母座),如下图所示。 正点原子官网...

继续访问

rt1052 linux手册,i.mx rt1052 ucLinux烧写

使用的开发平台是飞凌嵌入式的开发板,按照厂家提供的烧写教程遇到问题,特此记录,提供给其他网友作为参考。按照手册《OK1052-C_Linux-用户手册》附录中的烧写步骤,使用createSdcard.sh创建SD卡启动盘后发现SD卡的文件系统被损坏了,然后查看了脚本代码,发现写入启动盘的内容如下:dd if=/dev/zero of=${DRIVE} bs=1k seek=384 conv=fsy...

继续访问

RT1052-初次相识

1.RT1052性能介绍 i.MX RT1050 是业界首款跨界处理器,兼具应用处理器的高性能与高度集成,以及微控制器的易用性和实时功能。i.MX RT1050基于Arm® Cortex®-M7内核,运行频率为600 MHz。 高性能Arm Cortex-M7 芯片采用六级流水线,集成双精度浮点计算单元DPFPU和DSP指令 3020 CoreMark/1284 DMIPS @ 600 ...

继续访问

AWTK G2D 硬件加速移植案例

目录一、简介二、AWTK 默认自带的 STM32 的移植分析三、NXP 的 PXP 的硬件加速移植教程 一、简介 AWTK是 ZLG 开发的开源 GUI 引擎,官网地址:https://www.zlg.cn/index/pub/awtk.html。 G2D 硬件加速是指将计算量较大的图像处理工作分配给专门的硬件外设来处理,减轻 CPU 的计算量,以此提高图像绘制的性能。 不同硬件平台的硬件加速外设不一样,其实现方法也有区别,在 AWTK 中,用户需要实现 awtk/src/base/g2d.h 文件中的相

继续访问

NXP i.MX RT1052 连载之 MCU 简介【1】

i.MX RT 系列芯片,是由 NXP 半导体公司推出的跨界处理理器芯片,该系列下又包括 i.MX RT1010、 i.MX RT1015、 i.MX RT1020、 、 i.MX RT1024、 i.MX RT1050、 i.MX RT1060、 i.MX RT1064、 i.MX RT1160、 i.MX RT1170、 i.MX RT500 以及 i.MX RT600 等子系列芯片。所谓 “跨界”,是指它自身的定位既非传统的应用处理器也非传统的微控制器。

继续访问

rt1052 usb速率_如何才能赋予RT1052超级视频编解码能力?

本文导读Cortex-M7处理器的核心本质为微控制器,却拥有高达600MHz的主频,高密度的512KB TCM SRAM和16MB的高速SDRAM,超快的实时响应,超强处理性能赋予了RT1052视频编解码的能力。对于视屏应用来说,当处理器内部不具备GPU单元时,编解码库对视频文件的解码需要由CPU提供快速的运算能力以及大量的内存作为缓冲,这是传统单片机无法胜任的主要因素,所以视频应用多采用M6Y2...

继续访问

linux开发板最好芯片,既然是中国十大最有影响力的芯片之一 一定要有个好开发板...

原标题:既然是中国十大最有影响力的芯片之一 一定要有个好开发板要评选中国影响力十大芯片,ESP8266必在其中。虽然开发文档有些混乱,各种生态纷杂,但它的低价,给了开发者更低门槛,也让更多人都参与到WiFi的开发体验中来。 从这种意义上来说,ESP8266是一款伟大的SoC!可能生态太繁茂了,所以官方开发板显得并不重要,曝光度也不高。但是我们还是想要尝试一下它的开发体验。下面正文开始ESP8266...

继续访问

热门推荐 【Linux】Linux版本介绍(内核版本和发行版本)

百度百科 linux内核版本的分类 内核版本 稳定版本 开


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8735666.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-20
下一篇2023-04-20

发表评论

登录后才能评论

评论列表(0条)

    保存