uboot之logo显示【转】
本文转载自:http://blog.csdn.net/tuwenqi2013/article/details/60583735
版权声明:本文为博主原创文章,博主欢迎各位转载。
一、logo的调用流程
|-->board_init_r: < board.c>
|--> stdio_init: <common/stdio.c>
|--> drv_lcd_init:<common/lcd.c>
|--> lcd_init: <common/lcd.c>
|--> lcd_ctrl_init: drivers/video/<与硬件相关 >
|-->lcd_clear();
|-->lcd_logo()<显示图片>
|-->bitmap_plot(0,85);<将图片读取到frambuffer>
二、读取bitmap写入frambuffer
1、 首先将图片数组的首地址赋给bmap。
- bmap = &bmp_logo_bitmap[0];
2、 然后将图片数组数据写入frambuffer,然后显示
- if(NBITS(panel_info.vl_bpix) == 16){
- u16 col16;
- fb16 = (ushort *)fb;
- for (i = 0; i < BMP_LOGO_HEIGHT; ++i) {
- for (j = 0; j < BMP_LOGO_WIDTH; j++) {
- col16 = bmp_logo_palette[(bmap[j]-16)];
- fb16[j] =
- ((col16 & 0x000F) << 1) |
- ((col16 & 0x00F0) << 3) |
- ((col16 & 0x0F00) << 4);
- }
- bmap += BMP_LOGO_WIDTH;
- fb16 += panel_info.vl_col;
- }
- }
备注:
1、图片转化函数:\tools\bmp-logo.c 将bmp文件转化为二维数组bmp_logo_bitmap[](\include\bmp_logo_data.h)
2、通过makefile查到驱动文件\u-boot\drivers\video\jz_lcd\lcd_panel/truly_tft240240_2_e.c
3、 改变图片显示的首地址:比如第85行开始显示
bitmap_plot(0, 85);-------------- common\lcd.c
4、Include\Bmp_logo.h 定义图片大小也是\tools\bmp-logo.c生成的。
- #defineBMP_LOGO_WIDTH 240
- #defineBMP_LOGO_HEIGHT 70
- #define BMP_LOGO_COLORS 240
- #defineBMP_LOGO_OFFSET 16
5、Include\Bmp_logo_data.h保存图片的二维数组,由\tools\bmp-logo.c生成的。
uboot之logo显示【转】的更多相关文章
- Android 不同阶段 Logo 显示
/********************************************************************* * Android 不同阶段 Logo 显示 * 说明: ...
- u-boot支持LCD显示(基于TQ2440)【转】
本文转载自:http://www.cnblogs.com/pengdonglin137/p/4633877.html u-boot支持LCD显示(基于TQ2440) 阅读目录(Content) 平 ...
- linux内核开机logo显示调试
要使内核支持开机logo显示需要配置内核 配置如下: make menuconfig: Device Drivers ---> Graphics support ---> ...
- u-boot支持LCD显示(基于TQ2440)
平台简介 Linux版本:Linux-3.14 u-boot版本:u-boot-2015.04 硬件:TQ2440(内存:64MB NandFlash:256MB) 作者:彭东林 邮箱:pengdo ...
- [RK3288][Android6.0] 关于uboot中logo相关知识点小结【转】
本文转载自:http://blog.csdn.net/kris_fei/article/details/76256224 Platform: Rockchip OS: Android 6.0 Kern ...
- 百度地图隐藏LOGO显示
在引入地图的页面加入下列样式即可隐藏百度地图左下角的LOGO <style type="text/css"> .anchorBL{display:none;} ...
- RK3288 st7703 mipi屏指令过长,程序跑飞
本文为博主原创文章,转载请注明出处:https://www.cnblogs.com/lialong1st/p/11218433.html CPU:RK3288 系统:Android 5.1 调试 mi ...
- mipi屏在内核可以显示logo但是u-boot无法显示的问题【转】
本文转载自:http://blog.csdn.net/fulinus/article/details/45071721 平台:瑞芯的rk3288 u-boot版本:u-boot-2014.10 ker ...
- [RK3288][Android6.0] 调试笔记 --- 移除uboot和kernel开机logo【转】
本文转载自:http://blog.csdn.net/kris_fei/article/details/71600690 Platform: RockchipOS: Android 6.0Kernel ...
随机推荐
- 利用github搭建个人网站
1.注册一个github https://github.com/ 2.新建一个仓库 仓库名 用 Owner.github.io 的格式,然后点击创建 3.源码上传至github 安装github桌 ...
- 1076. Wifi密码 (15)【模拟】
1076. Wifi密码 (15) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 下面是微博上流传的一张照片:“ ...
- codevs——1008 选数
1008 选数 2002年NOIP全国联赛普及组 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 已知 n ...
- gitlab升级、汉化、修改root密码
1.gitlab升级 # 查看当前版本 head -1 /opt/gitlab/version-manifest.txt gitlab-ce 8.9.5 grep "^external_ur ...
- 手动安装windows的磁盘清理工具
All you really need to do is copy some files that are already located on your server into specific s ...
- openfire Android学习(二)----对分组、好友和头像等一些操作
一.查询所有分组 通过Roster来获取所有分组,Roster可以通过connection.getRoster()来得到. [java] view plaincopy /** * 获取所有组 * * ...
- tensorflow global_variables_initializer()
老版本为 init = tf.initialize_all_variables() 新版本为 init = tf.global_variables_initializer()
- Qt中QVector与QList的应用
首先來看看QVector 的基本使用方式,建立一個可容納兩個元素的QVector ,並使用索引方式存取元素值:QVector<double> vect(2); vect[0] = 1.0; ...
- java中finalkeyword
在java中有3个地方须要用finalkeyword: 1.假设一个不希望被继承,那么用final来修饰这个类 2.假设一个方法不须要被重写.那么这种方法用final来修饰 3.假设一个变量的值不希望 ...
- iOS 插件制作
概述 我们平时也使用了非常多的xcode插件,尽管官方对于插件制作没有提供不论什么支持,可是载入三方的插件,默认还是被同意的.第三方的插件,须要存放在 ~/Library/Application Su ...