嵌入式学习笔记--GEC6818--bmp图片显示

本文介绍了在GEC6818开发板上显示BMP图片的步骤,包括开发环境的搭建,理解BMP图片显示原理,解决因编码差异导致的显示问题,并探讨了如何实现图片的循环显示和切换功能。涉及到的关键技术有ARM Linux环境,BMP图片编码,LCD驱动,以及串口通信。
摘要由CSDN通过智能技术生成

一、开发环境

1.ARM+linux

2.ubuntu16.04(安装了GCC,arm-linux-gcc 5.4.0)

安装方法ubuntu16.04
https://blog.csdn.net/qq_40592257/article/details/106296000

安装arm-linux-gcc 5.4.0

https://blog.csdn.net/weixin_42108484/article/details/84295214

3.GEC6818开发板

4、安装SecureCRT

二、bmp图片显示原理

1、bmp图片显示的格式

常见的图片格式有:bmp,jpg,png,gif

我们使用的是bmp图片
    计算机中用RGB表示每个像素点的颜色值
    bmp格式图片的编码方式:
    第一个:每个像素点占3个字节(24位二进制),分别存放的是BGR的数值(正常我们习惯的顺序RGB,但是bmp图片编码的时候是反的)
    第二个:lcd要求每个像素点占4个字节,多出来的一个字节(A存放的是透明度),也就是说lcd要求是ARGB
    第三个:bmp图片RGB的排列顺序并不是我们常规理解的RGB,而是BGR
    并且bmp图片像素点上下也是颠倒的
    第四个:bmp图片的宽所占的字节数如果不能被4整除,windows在保存的时候,会在每一行的后面添加垃圾数凑够4整除
    领悟道理:每种图片都有自己独特的编码方式,显示图片实际上先要了解图片的编码方式,然后使用文件IO配合算法解决图像显示的问题

2.分析bmp图片显示的思路
开发板的基本信息:

       cpu:  三星s5p6818芯片   基于ARM架构的

       ARM:英国一家半导体公司,设计芯片的内核和架构,自己不生产芯片
           高通
           联发科
           三星
           华为
       液晶屏: 7英寸,分辨率 800*480
思路:
(1)打开你要显示的bmp图片
打开lcd的驱动 --》文件IO可以对硬件设备进行操作
(2)读取bmp图片的像素点颜色值
(3)把读取的颜色值写入到lcd中
(4)关闭bmp,lcd驱动            
3.开发板的基本使用
设置字体大小:secure  CRT中的选项---》会话选项--》外观--》字体
(1)连接电脑,使用secure CRT软件通过串口线查看开发板系统中的内容
usb转串口线连接电脑,安装驱动
安装secureCRT软件,配置该软件(见day04图示)
(2)使用开发板
 第一:编译程序
 gcc  --》只适合编译得到X86平台的程序(电脑上运行)
 arm-linux-gcc(交叉编译工具) --》只适合编译得到ARM平台的程序(开发板上运行)

 arm-linux-gcc  hello.c   -o   hello

补充: file  文件名  //查看该文件的属性
交叉编译
程序在PC端编译,程序运行在开发板上运行(程序的编译和运行不在同一个平台)--》把这个过程叫做交叉编译
第二:下载程序到开发板
方法一:使用串口下载(下载速度慢)
    rx  要下载的文件名   回车 --》点击传输--》选择发送xmodem--》自动弹出对话框,你找到要下载的文件,双击自动下载、
    可以把文件打包之后下载(速度快)
    补充:  压缩(打包)      tar  -jcf  压缩包名字.tar.bz2   文件1  文件2  .....   
    tar  -zcf  压缩包名字.tar.gz     文件1  文件2  .....                                                                                             
    比如:  tar  -jcf  88.tar.bz2   1.bmp  2.bmp   3.bmp   
    解压               
    tar  -jxf  压缩包的名字.tar.bz2
    tar  -zxf  压缩包的名字.tar.gz
    常见的压缩包格式:两种bz2结尾和gz结尾
第三:安装交叉工具
第一步:解压压缩包
 tar  -xf   arm-linux-gnueabi-5.4.0.tar.xz
第二步:设置环境变量(为了让arm-

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值