完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
psplash 配方用于配置 Linux 内核动画启动画面!!!
在 U-Boot = 加载内核期间是否需要动画? 或者在 Linux 启动期间(直到用户空间准备就绪/应用程序正在运行)? PSplash 是一个用户空间图形启动启动画面,主要用于支持 16bpp 或 32bpp 帧缓冲区的嵌入式 Linux 设备。它几乎没有依赖项(只有 libc),支持基本的图像和文本并处理旋转。它的视觉外观可以通过基本的源代码更改来配置。还包括一个“客户端”命令实用程序,用于向 psplash 发送信息,例如引导进度信息。 所以“psplash”配方链接到 Linux 内核中的引导屏幕/不链接到 U-Boot 对于 U-Boot 方面,我认为 U-Boot 中不存在通用功能“动画启动画面” 除了内核的 U-Boot 加载之外的任何平台都应该足够快以避免动画需要.... 对于 Linux 部分,如果您使用我们的 Yocto 项目参考图像,这些图像使用 Linux 内核的闪屏功能,它只支持静止图像。 如果考虑动画,您需要将 pslash 支持更改为 plymouth “psplash”和“plymouth”是通用的 Linux / Yocto 特性。 它们不喜欢 OpenSTLInux 或 STM32MP15,您应该找到它们的资源。 => 今天仅支持固定徽标 (CONFIG_LCD_LOGO / CONFIG_VIDEO_LOGO) 或显示存在于 extlinux.conf 中的背景 BMP 文件 (./cmd/pxe_utils.c:1442 = bmp_display) 最后一个选项用于 OpenSTLinux / ST 板上,因为它对开发人员来说更容易 和演示(U-Boot 启动画面/Linux psplash = boots 中使用了相同的文件) 元-st/meta-st-stm32mp/classes/extlinuxconf-stm32mp.bbclass splashscreen_name = localdata.getVar('UBOOT_EXTLINUX_SPLASH') 但是由于 stm32mp15 的 U-Boot 提供了一个视频驱动程序,您可以实现任何板特定的功能来更新板上的附加屏幕。 动画可以在弱函数 show_boot_progress() 中处理,当 CONFIG_SHOW_BOOT_PROGRESS=y 时使用,因为它在 common/Kconfig.boot 中定义 => 你需要直接处理帧缓冲区来创建动画(例如,进度条, 您可以在代码中使用准备缓冲区并按原样使用 video_sync_copy() & video_sync() 在 video_bmp_display 中完成) 今天,一些开发板使用这个弱函数 show_boot_progress() 来处理引导 LED 或打印 这个控制台上的启动信息......但我没有看到任何动态显示更新! 最简单的图形解决方案是激活视频控制台并显示进度 在环境为“stdout=serial,vidconsole”的屏幕上(uart 上的输出相同) => 您可以在 U-Boot 控制台中显示启动进度, 例如在 board/st/stv0991/stv0991.c 中: #if CONFIG_IS_ENABLED(启动阶段) void show_boot_progress(int 进度) { printf("%in", 进度); } #万一 但它不是动画启动画面,只是控制台信息。 您也可以直接使用视频控制台 API(就像在 splash_display_banner 中所做的那样) 避免在 vidconsole 上复制 uart 控制台信息 => 使用便宜的“进度条”,例如只为每个预期进度显示“#”字符 通过使用 API:vidconsole_position_cursor() / vidconsole_put_string() / vidconsole_put_char() 警告:进度值不是 lineaire,最后一步是 BOOTSTAGE_ID_RUN_OS = 15 并且它不是最大的枚举 bootstage_id 或者在视频控制台上显示进度值: void show_boot_progress(int 进度) { 字符缓冲区[3]; 结构udevice *开发; int col, row, ret; ret = uclass_get_device(UCLASS_VIDEO_CONSOLE, 0, &dev); 如果(退) 返回; sprintf(buf, "%03in", 进度); vidconsole_position_cursor(dev, 10, 10); vidconsole_put_string(con, buf); } 警告:vidconsole 函数应仅在重新分配后/当视频控制台准备就绪时调用 避免问题,应在此示例中添加一些保护。 |
|
|
|
只有小组成员才能发言,加入小组>>
请教:在使用UDE STK时,单片机使用SPC560D30L1,在配置文件怎么设置或选择?里面只有SPC560D40的选项
2720 浏览 1 评论
3236 浏览 1 评论
请问是否有通过UART连接的两个微处理器之间实现双向值交换的方法?
1807 浏览 1 评论
3645 浏览 6 评论
6033 浏览 21 评论
1334浏览 4评论
208浏览 3评论
196浏览 3评论
对H747I-DISCO写程序时将CN2的st-link复用为usart1,再次烧录时无法检测到stlink怎么解决?
350浏览 2评论
STM32G474RE芯片只是串口发个数据就发烫严重是怎么回事?
441浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-21 00:43 , Processed in 1.109728 second(s), Total 79, Slave 62 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号