基于ARM9核的S3C2410芯片和操作系统实现调色板显示系统的设计

发布者:SereneDreams最新更新时间:2022-12-27 来源: elecfans关键字:ARM9核  操作系统 手机看文章 扫描二维码
随时随地手机看文章

对于一个显示设备,数据的更新率正比于画面的像素数和色彩深度的乘积。在嵌入式Linux系统中,受处理器资源配置和运算能力的制约,当使用大分辨率显示时(如在一些屏幕尺寸较大的终端上,往往需要640×480以上),需要降低显示的色彩深度。否则,由于数据处理负担过重会造成画面的抖动和不连贯。这时,调色板技术将发挥重要作用。ARM9内核的S3C2410在国内的嵌入式领域有着广泛的应用,芯片中带有LCD控制器,可支持多种分辨率、多种颜色深度的LCD显示输出。在此,将S3C2410的调色板技术,以及嵌入式Linux系统下调色板显示的实现方法进行分析。


1 S3C2410调色板技术概述

1.1 调色板的概念

在计算机图像技术中,一个像素的颜色是由它的R,G,B分量表示的,每个分量又经过量化,一个像素总的量化级数就是这个显示系统的颜色深度。量化级数越高,可以表示的颜色也就越多,最终的图像也就越逼真。当量化级数达到16位以上时,被称为真彩色。但是,量化级数越高,就需要越高的数据宽度,给处理器带来的负担也就越重;量化级数在8位以下时,所能表达的颜色又太少,不能够满足用户特定的需求。


为了解决这个问题,可以采取调色板技术。所谓调色板,就是在低颜色深度的模式下,在有限的像素值与RGB颜色之间建立对应关系的一个线性表。比如说,从所有的16位彩色中抽取一定数量的颜色,编制索引。当需要使用某种彩色时,不需要对这种颜色的RGB分量进行描述,只需要引用它的索引号,就可以使用户选取自己需要的颜色。索引号的编码长度远远小于RGB分量的编码长度,因此在彩色显示的同时,也大大减轻了系统的负担。


以256色调色板为例,调色板中存储256种颜色的RGB值,每种颜色的RGB值是16位。用这256种颜色编制索引时,从OOH~FFH只需要8位数据宽度,而每个索引所对应的颜色却是16位宽度的颜色信息。在一些对色彩种类要求不高的场合,如仪表终端、信息终端等,调色板技术便巧妙地解决了数据宽度与颜色深度之间的矛盾。


1.2 S3C2410中的调色板

ARM9核的S3C2410芯片可通过内置的LCD控制器来实现对LCD显示的控制。以TFT LCD为例,S3C2410芯片的LCD控制器可以对TFT LCD提供1位、2位、4位、8位调色板彩色显示和16位、24位真彩色显示,并支持多种不同的屏幕尺寸。


S3C2410的调色板其实是256个16位的存储单元,每个单元中存储有16位的颜色值。根据16位颜色数据中,RGB分量所占位数的不同,调色板还可以采取5:6:5(R:G:B)和5:5:5:1(R:G:B:1)两种格式。当采用5:6:5(R:G:B)格式时,它的调色板如表1所示。

基于ARM9核的S3C2410芯片和操作系统实现调色板显示系统的设计

表1中,第一列为颜色索引,中间三列是R,G,B三个颜色分量对应的数据位,分别是5位、6位和5位,最后一列是对应颜色条目的物理地址。当采用5:5:5:1(R:G:B:1)格式时,R,G,B三个颜色分量的数据位长度都是5位,最低位为1。


用户编程时,应首先对调色板进行初始化处理(可由操作系统提供的驱动程序来完成),赋予256色调色板相应的颜色值;在进行图像编程时,可以将图像对象赋予所需的颜色索引值。程序运行时,由芯片的LCD控制器查找调色板,按相应的值进行输出。S3C2410芯片图像数据输出端口VD[23:O]有24位,当使用不同的色彩深度时,这24位数据可以表示一个或多个点的颜色信息。


1.3 调色板颜色的选择

调色板中颜色的选择可以由用户任意定义,但为了编程方便,颜色的选取应遵循一定的规律。例如在Windows编程中,系统保留了20种颜色。另外,在Web编程中,也定义了216种Web安全色,这些颜色可以尽量保留。2S3C2410调色板在嵌入式Linux系统下的使用ARM实现图像显示时,由LCD控制器将存储系统中的视频缓冲内容以及各种控制信号传送到外部LCD驱动器,然后由LCD驱动器实现图像数据的显示。实际应用中,常通过驱动程序由操作系统对寄存器、调色板进行配置。以Linux 2.4内核为例,对调色板的配置是在驱动程序S3C2410fb.c中完成的。


在一些公司Linux源码包的S3C2410fb.c文件中,并没有对调色板进行配置,因此在8位以下的显示设置下。LCD不能正常工作。若需要使用调色板,必须对此文件进行修改。


2.1 驱动程序的修改

查S3C2410数据手册,调色板的物理起始地址为0x4d000400,应先将调色板的物理地址映射到内核中的虚拟地址,然后对其进行赋值。具体步骤如下:

(1)在S3C2410.h文件中添加:

#define MYPAL(Nb)__REG(Ox4d000400+(Nb)*4)

其作用是实现物理地址到虚拟地址的映射。

(2)在S3C24lOfb.h文件,通过下列语句定义256种颜色。

static const u_short my_color[256]={0x0000,0x8000,…}:

数组中的每个16位二进制数表示一种颜色,RGB分量采用的是5:6:5格式。

(3)在S3C2410fb.c文件的S3C2410fb-activate_var(…)函数中,通过下列语句对这256个调色板进行赋值。

(4)另外,注意改变LCD控制寄存器LCDCON1的BPPMODE值,设定为需要的颜色深度。

(5)重新编译内核,烧写内核。


2.2 应用程序的编写

当S3C2410用于嵌入式Linux操作系统时,其图形功能一般是依靠帧缓存(Frame buffer)实现的。屏幕上的每个点都被映射成一段线性内存空间,通过应用程序改变这段内存的值,就可以改变屏幕的颜色。当色深在16位以上时,用户直接指定颜色的RGB分量;当色深在8位以下时,用户应当指定颜色在调色板中的索引值。


当使用MiniGUI等嵌入式图形系统时,只需要将界面元素的颜色值设为所需颜色的索引值即可。例如:

WinElementColors[ i]=142;

就是将WinElementColors[ i]的颜色设置为索引号为142的调色板颜色。


3 结语

在笔者开发的某型指挥车仿真终端中,其显示分辨率设置为640×480。如果色深设置为16 b/p,在系统使用时,画面将会出现明显的抖动、不连贯,这是由于芯片的运算负荷过重造成的。如果按本文中提到的方法对显示驱动加以修改,采用8位色深显示,颜色的选取可以满足需要,画面的显示将明显稳定。这说明,在显示分辨率较高,色彩种类要求比较简单的嵌入式应用中,调色板技术是一个非常值得重视的选择。


关键字:ARM9核  操作系统 引用地址:基于ARM9核的S3C2410芯片和操作系统实现调色板显示系统的设计

上一篇:基于S3C2410和AT2042芯片实现服务器的远程监控系统的设计
下一篇:基于S3C2440A嵌入式微处理器实现高速接入网络的设计

推荐阅读最新更新时间:2024-11-04 12:04

WinCE操作系统的基本体系结构
操作系统的基本体系结构 Windows CE 是由许多离散模块构成的,每一模块都提供特定的功能。这些模块中的一部分被划分成组件。组件使 Windows CE 变得非常紧凑(只占不到 200 KB 的 RAM),因此只占用了运行设备所需的最小的ROM、RAM 以及其它硬件资源。Windows CE 包含提供操作系统最关键功能的 4 个模块:内核模块;对象存储模块;图形、窗口和事件子系统 (GWES) 模块以及通信模块。Windows CE 还包含一些附加的可选择模块,这些模块可支持的任务有管理可安装设备驱动程序、支持 COM 等。 内核 内核是 OS 的核心,通过 Coredll 模块表示。它提供在所有设备中都出现的
[嵌入式]
支持Android™ 操作系统的新汉数字标牌播放器
新汉搭配Android™操作系统的 数字标牌播放器NDiS B114将帮助顾客转换商场实体店。配备充足的多媒体功能和网络连接,NDiS B114是精简又能支持Android系统的数字标牌播放器,可以增强营销信息同时简化零售商的内容和系统管理。 NDiS B114 运行Android4.3版本和应用一个四核 Freescale™ i.MX 6Quad 处理器。NDiS B114可以播放flash, 全高清视频, 和 2D/3D图形,吸引顾客交流和增加购买兴趣。NDiS B114 可以展示陈列产品的细节,结账柜台的顾客优惠信息播放,增强顾客购买体验和转换客户流量为销售量。 为了便于管理,NDiS B114支持在线
[嵌入式]
支持Android™ <font color='red'>操作系统</font>的新汉数字标牌播放器
国产操作系统机会何在?
    中央国家机关政府采购中心近日公告禁止采购装有视窗8(Windows 8)操作系统的计算机,国产操作系统界为之振臂欢呼——尽管国产操作系统替代计划尚未全面展开,但这已为国产操作系统的成长赢得了时间和空间。 记者了解到,国产操作系统在易用性和安全性上已具备替代性,其成长关键在于构建系统生态圈。 政府采购为什么对视窗8说不? 近日,中央国家机关政府采购中心下发《关于进行信息类协议供货强制节能产品补充招标的通知》,其中有条目规定,国家机关“信息类协议供货强制节能产品采购招标”中,所有计算机类产品不允许安装视窗8操作系统。 政府采购缘何对视窗8说不? 首先,尽管视窗8出身“名门”,由美国微软公司出品,但难称精品力作,用户频频吐槽太难用
[手机便携]
实时操作系统在星载计算机中的应用
摘要:介绍在星载计算机中应用实时操作系统的两种方式:使用一种源码开放的RTOS——RTEMS和自主开发RTOS,并对两种方法进行比较。 关键词:实时操作系统 星载计算机 RTOS 随着我国航天技术的不断发展,越来越多的卫星应用在通讯、资源探测、遥感、气象、对地观察等领域。卫星的功能越来越强,对星务管理和有效载荷控制的星载计算机提出了更高的要求。星载计算机软硬件系统日趋复杂,传统的星载计算机软硬件设计方法,特别是软件的设计方法和开发手段已逐渐不适应这种要求。引入实时操作系统(RTOS)能够有效地解决这些问题。RTOS把任务管理调度、任务间通信、内存管理等系统功能以函数调用的方式提供给用户,使用户能够将精力放在应用程序的开发上,
[嵌入式]
首批升级HarmonyOS操作系统,华为Mate X2价格17999元起
集微网2月22日消息,今天华为举行线上新品发布会,正式推出新一代折叠屏手机Mate X2。HarmonyOS操作系统2021年4月即将上线,华为Mate X2将首批升级HarmonyOS操作系统! 华为Mate X2的 8GB+256GB版本售价17999元,8GB+512GB版本售价18999元,将于2月25日开售。对与外界担心的供货问题,余承东表示,将提供足够大的产能。 据悉,华为 Mate X2内屏采用8英寸柔性屏,上覆截止目前业界首发磁控纳米光学膜,有效降低屏幕反光率。外屏采用 6.45 英寸双挖孔设计,内外屏均支持90Hz高刷新率与 P3 广色域,屏幕使用和观看体验舒适顺滑。 华为 Mate X2 铰链系统采
[手机便携]
嵌入式系统设计师考试笔记之基础知识篇
一、引言 自《嵌入式系统设计师考试复习笔记之存储管理篇》在嵌入式在线的博客出现后,意外的得到很多朋友的关注和评论,收到不少朋友的邮件,问一些有关考试的问题,希望得到我的复习笔记的其他部分。我非常感谢他们,他们的热切关注,使我有了继续往下写的无限动力,使我萌生了将我以前的复习笔记、考试经验结合大纲教程并重新按《教程》的章节顺序整理一份适合考生复习的笔记手册,笔记后面再分析历年的真题,按章节考点找出相关的考题进行分析,希望能和有兴趣的人们一起讨论讨论。 嵌入式系统设计师的一天考试分为上午和下午部分,两部分的考试方式、试题难度、考点分布和复习方法都是不同的。这次我们讨论的是嵌入式系统基础知识,我本人觉得,这部分出下午大题的可能性不大
[单片机]
纳微软操作系统?宏达电不评论
    微软在公布并购诺基亚手机部门后,仍积极拉拢其它手机业者。彭博社报导,微软有意与宏达电洽谈,让宏达电的手机可以下载Windows Phone操作系统。宏达电昨天表示,对于此一市场谣言与臆测,公司不予评论。 彭博社引述知情人士透露,微软希望以些许或零费用方式,让宏达电的Android手机中,可以下载视窗操作系统,作为Android操作系统以外的第二选择。 微软操作系统部门主管迈尔森(Terry Myerson)本月的亚洲行,也将与宏达电洽谈这项方案。迈尔森希望透过减少或取消授权费用,让此想法更具吸引力。目前双方磋商仍在初步阶段,尚未作成任何决议。 微软日前已公布并购诺基亚手机部门,诺基亚正是目前视窗阵营的大将,另外宏达电、三星等
[手机便携]
基于Intel PXA270的WinCE操作系统移植
  随着科学技术进步和3G时代的到来,高性能PDA产品作为一种电子消费品越来越受青睐。作为这些高性能的PDA产品核心的嵌入式实时操作系统是开发嵌入式应用的关键环节。向来以界面友好,易操作性,易开发性为卖点的Windows CE.net嵌入式操作系统得到了广泛的使用。然而,WindowsCE在不同CPU,不同硬件环境下的移植成为了限制其进一步发展的障碍。本文利用PlatformBuilder工具并以EEliod Evluation开发板为对象,介绍了基于Intel PXA270WindowsCE的移植方法和内容。并给出了在此操作系统成功开发的应用程序的运行结果。    1.系统硬件平台   论文使用的开发平台为深圳亿道公司提
[嵌入式]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved