10025.Microwindows 简介

2023-11-10 17:38
文章标签 简介 10025 microwindows

本文主要是介绍10025.Microwindows 简介,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Microwindows 是一个著名的开放式源码嵌入式GUI 软件,目的是把图形视窗环
境引入到运行Linux 的小型设备和平台上。作为X Window 的替代品,Microwindows
可以使用更少的RAM 和文件存储空间(100K-600K)提供与X Window 相似的功能。
        Microwindows 允许设计者轻松加入各种显示设备、鼠标、触摸屏和键盘等。
        Linux2.2 以上版本的内核代码允许用户将图形显存作为帧缓存(FrameBuffer)进行
存取,这样当用户对显示设备进行写入、控制时可以避免对内存映射区进行操作,
因此用户可以在不了解底层图形硬件或没有使用过X Window 的情况下进行图形
程序的开发。这就是为什么现在在嵌入式系统中广泛使用Microwindows 的原因。
        Microwindows 的可移植性非常好,基本上用 C 语言实现,只有某些关键代码
使用了汇编以提高速度。Microwindows 支持 Intel 16 位、32 位CPU,MIPS R4000 以
及 ARM 芯片。尽管Microwindows 完全支持Linux,但是它内部的可移植结构是基于
一个相对简单的屏幕设备接口,可在许多不同的RTOS 和裸机上运行。这种特性的
优点突出体现在用户设计的图形程序不需重写就可以被不同的工程共享,甚至可以
运行在不同RTOS 的不同对象上。Microwindows 已经移植到一些掌上电脑。
        Microwindows 系统以图形方式支持在主机平台上的仿真目标平台。这样,为
Linux 设计的Microwindows 应用程序就可以在台式机上进行编写和开发而不用进行
交叉编译就可测试和运行,并且直接在目标平台上运行。
        Microwindows 的图形引擎能够运行在任何支持readpixel,writepixel,drawhorzline,
 drawvertline 和setpalette 的系统之上。在底层函数的支持之下,上层实现了位图,
字体,光标以及颜色的支持。系统使用了优化的绘制函数,这样当用户在移动窗口
时可以提供更好的响应。内存图形绘制和移动的实现使得屏幕画图显得很平滑,
这点特别在显示动画、多边形绘制、任意区域填充、剪切时有用。
        Microwindows 支持新的Linux 内核帧缓存(FrameBuffer)结构,目前提供每像素1、
2、4、8、16、24 和32 位的支持,另外还支持彩色显示和灰度显示,其中彩色显示
包括真彩色(每像素15、16 和32 位)和调色板(每像素1, 2, 4 和 8 位)两种模式。
在彩色显示模式下,所有的颜色用RGB 格式给出,系统再将它转换成与之最相似的
可显示颜色,而在单色模式下中则是转换成不同的灰度级。Microwindows支持窗口
覆盖和子窗口概念、完全的窗口和客户区剪切、比例和固定字体,还提供了字体
和位图文件处理工具。
        Microwindows 采用分层设计方法。在最底层,屏幕,鼠标/触摸屏以及键盘驱动
程序提供了对物理设备访问的能力。在中间层,实现了一个可移植的图形引擎,支
持行绘制,区域填充,剪切以及颜色模型等。在上层,实现多种API 以适应不同的
应用环境。
        下面是三个示例应用。

这篇关于10025.Microwindows 简介的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/384227

相关文章

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

uva 10025 The ? 1 ? 2 ? ... ? n = k problem(数学)

题意是    ?  1  ?  2  ?  ...  ?  n = k 式子中给k,? 处可以填 + 也可以填 - ,问最小满足条件的n。 e.g k = 12  - 1 + 2 + 3 + 4 + 5 + 6 - 7 = 12 with n = 7。 先给证明,令 S(n) = 1 + 2 + 3 + 4 + 5 + .... + n 暴搜n,搜出当 S(n) >=

ASIO网络调试助手之一:简介

多年前,写过几篇《Boost.Asio C++网络编程》的学习文章,一直没机会实践。最近项目中用到了Asio,于是抽空写了个网络调试助手。 开发环境: Win10 Qt5.12.6 + Asio(standalone) + spdlog 支持协议: UDP + TCP Client + TCP Server 独立的Asio(http://www.think-async.com)只包含了头文件,不依

业务协同平台--简介

一、使用场景         1.多个系统统一在业务协同平台定义协同策略,由业务协同平台代替人工完成一系列的单据录入         2.同时业务协同平台将执行任务推送给pda、pad等执行终端,通知各人员、设备进行作业执行         3.作业过程中,可设置完成时间预警、作业节点通知,时刻了解作业进程         4.做完再给你做过程分析,给出优化建议         就问你这一套下

容器编排平台Kubernetes简介

目录 什么是K8s 为什么需要K8s 什么是容器(Contianer) K8s能做什么? K8s的架构原理  控制平面(Control plane)         kube-apiserver         etcd         kube-scheduler         kube-controller-manager         cloud-controlle

【Tools】AutoML简介

摇来摇去摇碎点点的金黄 伸手牵来一片梦的霞光 南方的小巷推开多情的门窗 年轻和我们歌唱 摇来摇去摇着温柔的阳光 轻轻托起一件梦的衣裳 古老的都市每天都改变模样                      🎵 方芳《摇太阳》 AutoML(自动机器学习)是一种使用机器学习技术来自动化机器学习任务的方法。在大模型中的AutoML是指在大型数据集上使用自动化机器学习技术进行模型训练和优化。

SaaS、PaaS、IaaS简介

云计算、云服务、云平台……现在“云”已成了一个家喻户晓的概念,但PaaS, IaaS 和SaaS的区别估计还没有那么多的人分得清,下面就分别向大家普及一下它们的基本概念: SaaS 软件即服务 SaaS是Software-as-a-Service的简称,意思是软件即服务。随着互联网技术的发展和应用软件的成熟, 在21世纪开始兴起的一种完全创新的软件应用模式。 它是一种通过Internet提供

LIBSVM简介

LIBSVM简介 支持向量机所涉及到的数学知识对一般的化学研究者来说是比较难的,自己编程实现该算法难度就更大了。但是现在的网络资源非常发达,而且国际上的科学研究者把他们的研究成果已经放在网络上,免费提供给用于研究目的,这样方便大多数的研究者,不必要花费大量的时间理解SVM算法的深奥数学原理和计算机程序设计。目前有关SVM计算的相关软件有很多,如LIBSVM、mySVM、SVMLight等,这些

urllib与requests爬虫简介

urllib与requests爬虫简介 – 潘登同学的爬虫笔记 文章目录 urllib与requests爬虫简介 -- 潘登同学的爬虫笔记第一个爬虫程序 urllib的基本使用Request对象的使用urllib发送get请求实战-喜马拉雅网站 urllib发送post请求 动态页面获取数据请求 SSL证书验证伪装自己的爬虫-请求头 urllib的底层原理伪装自己的爬虫-设置代理爬虫coo