1 2 3 4 5 6 7 | 始发: 2014 - 05 - 04 13 : 32 : 49 版本信息: Linux : 2.6 . 31 U-Boot:u-boot- 2010.06 BusyBox: BusyBox 1.15 . 2 交叉编译器:arm-linux- v4. 3.3 |
这篇实践有两部分:一是驱动程序移植,二是制作自己的开机LOGO。
一、驱动移植
1、设置时钟频率,不采用源码中复杂的计算方式,直接修改。
修改 drivers/video/s3c2410fb.c 中的函数,如下红色粗体:
在 struct s3c2410fb_display 结构体中并没有 setclkval 成员,所以需要添加该成员:
arch/arm/mach-s3c2410/include/mach/fb.h
2、修改LCD的参数,这需要对照所用LCD的datasheet。
arch/arm/mach-s3c2440/mach-smdk2440.c
重要参数说明:
(1)pixclock — 像素时钟,即画1个点需要的时间值,单位皮秒(ps)。比如,如果datasheet指定时钟25MHz,那么:
1000000/25 = 40000(ps)
(2)setclkval — 是LCDCON1寄存器CLKVAL值,由它决定VCLK(Pixel clock signal)的值,如下图:
参数设置好后,还有一重要地方要改,就是其下面的函数:
3、配置内核,并支持启动LOGO。
Device Drivers: Graphics Support ---> <*>support for frame buffer devices ---> [*] Enable frameware EDID [*] Enable Vidoe Mode Handling Helpers <*> S3C24X0 LCD framebuffer support Console display driver support ---> <*> Framebuffer Console Support [*] Bootup Logo ---> <*> Standard 224-color Linux logo |
4、编译并烧写内核,可以看到左上角一只企鹅,说明驱动移植正常。
二、LOGO制作
LOGO制作需要用到GNU开源软件GIMP(GNU Image Manipulation Program)。
1、用光影魔术手或其他软件得到320x240尺寸的图片,复制到Linux系统,用GIMP打开:
注:若不转换成320x240大小的图片,图片体积会很大
2、在图片编辑区右键依次选择:
Image—>Mode—>Indexed,出现图片转换配置选项,做如下设置:
点击Convert进行转换。
3、得到.ppm格式的文件:
右键依次:File—>Export,在弹出的对话框中作如下设置:
4、把文件重命名为logo_linux_clut224.ppm,复制到drivers/video/logo文件夹,覆盖原文件。
5、重新编译内核,烧录,启动过程中即可看到我们的LOGO图片:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!