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

相关文章

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

新一代车载(E/E)架构下的中央计算载体---HPC软件架构简介

老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师: 屏蔽力是信息过载时代一个人的特殊竞争力,任何消耗你的人和事,多看一眼都是你的不对。非必要不费力证明自己,无利益不试图说服别人,是精神上的节能减排。 无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事.而不是让内心的烦躁、焦虑、毁掉你本就不多的热情和定力。 时间不知不觉中,快要来到夏末秋初。一年又过去了一大半,成

AI学习指南深度学习篇-带动量的随机梯度下降法简介

AI学习指南深度学习篇 - 带动量的随机梯度下降法简介 引言 在深度学习的广阔领域中,优化算法扮演着至关重要的角色。它们不仅决定了模型训练的效率,还直接影响到模型的最终表现之一。随着神经网络模型的不断深化和复杂化,传统的优化算法在许多领域逐渐暴露出其不足之处。带动量的随机梯度下降法(Momentum SGD)应运而生,并被广泛应用于各类深度学习模型中。 在本篇文章中,我们将深入探讨带动量的随