哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处
http://blog.csdn.net/woshixingaaa/archive/2011/02/19/6194637.aspx
由于linux启动代码,仍然出现乱码,而我将启动信息输出到lcd就没有乱码。暂时这个问题还没有解决,lcd其实早已完成,今天整理下,再解决那个问题。
下面是我绘制的主要的lcd驱动调用流程图。start_armboot()在lib_arm/board.c中,stdio_init()在common/stdio.cdrv_video_init(),video_init(),video_logo (),video_fb_address()在drivers/video/cfb_console.c中,video_hw_init()在drivers/video/s3c2410_fb.c中,board_video_init()在board/samsung/TE2440II/TE2440II.c。
最终调用了board_video_init()函数,这个函数由我们自己来编写,由于以前写过裸机的lcd程序,所以时序就可以直接拿来用,不用调了,哈哈。在这个函数中主要还是对那5个lcd的控制寄存器进行初始化。这里要注意根据不同的屏,进行x,y的调整,我用的是东华WXCAT35-TG3#001,主要就是初始化一个GraphicDevice *pGD结构体。
明白上边的流程后一切变得很简单,只要根据自己的屏调整好时序就行了。添加一个驱动文件这个是一个外国的牛人已经写好的。在drivers/video/下添加s3c2410_fb.c。代码如下:
在你的配置头文件中添加如下宏定义:
这样就基本完成了,重新启动一下是不是就显示出samsung的logo了。如果先改成自己喜欢的图片,修改tools/logos/denx.bmp,记住一定是是8bpp的bmp图,修改Makefile文件,修改/tools目录下的Makefile文件,大约是44~46行,
把 denx.bmp 替换为你需要显示的logo图片的文件名,保存退出,重新编译uboot。图片的转化方法,在终端输入命令:
jpegtopnm $1 | ppmquant 31 | ppmtobmp -bpp 8 > $2
使用方法: (脚本名) ( 待处理的JPG图片名) (输出文件名)
这样就可以显示出你自己喜欢的logo图片了。
如果想将串口的打印信息显示在lcd上,添加环境变量。
只要让stdout等于vga就可以了。在lib_arm/board.c文件中可以看到console_init初始化两次,我们修改的影响第二次的初始化,第一次的不影响,所以还会有部分输出信息显示在串口上的。Lcd就到这里,有什么问题我再及时改正吧。
分享到:
相关推荐
arm+linux.pdf arm+linux.pdf arm+linux.pdf
ARM+LINUX路线,主攻嵌入式Linux及应用软件
高清_arm+linux入门实践. 以实例讲解arm 与 linux知识点.
华为的ARM和linux系统移植的资料,适合ARM和linux的程序员看看
嵌入式Linux学习思路及参考资料(ARM+LINUX路线)
ARM+LINUX下的LCD驱动程序及注释.pdf
嵌入式ARM+Linux驱动开发嵌入式ARM+Linux驱动开发嵌入式ARM+Linux驱动开发嵌入式ARM+Linux驱动开发嵌入式ARM+Linux驱动开发嵌入式ARM+Linux驱动开发
一位资深的嵌入式高手的学习经验。学ARM+Linux的入门级书籍,很实用。
ARM+LINUX学习路线ARM+LINUX学习路线ARM+LINUX学习路线ARM+LINUX学习路线
arm+linux学习路径-介绍了学习arm+linux的一般步骤,有了参考以后也就有了方向
arm+linux开发平台软件需求规格说明书.pdf
非常详细的移植文档,可以让刚开始从事相关工作的人快速入门。
linux+Arm+ucgui的移植过程[收集].pdf
备注:这里移植的LinuxCNC实时性能测试(latency-test)有问题,翻阅英文网页说的是ARM平台不支持LinuxCNC(虽然可以运行,但应该不可以实际运用到工业控制中),得用LinuxCNC的分支——MachineKit,最近在着手处理...
ARM+Linux的启动分析(zImage)
ARM+Linux培训班课件
基于ARM的嵌入式Linux移植真实体验(1)――基本概念 79 基于ARM的嵌入式Linux移植真实体验(2)――BootLoader 91 一道著名外企面试题的抽丝剥茧 106 基于ARM的嵌入式Linux移植真实体验(3)――操作系统 110 基于...
ARM+LINUX入门与实践 对于初学者来说是一本非常好的教材
实例说明了移植ARM Linux到特定硬件平台上的实现过程,并对ARM Linux的启动代码做了分析。
ARM+linux+bootloader资料下载大全