
首页
博客
研修院
VIP
APP
问答
下载
社区
推荐频道
活动
招聘
专题
打开CSDN APP
Copyright © 1999-2020, CSDN.NET, All Rights Reserved
打开APP
2020-08-09 23:17:27
求佛_ce123
码龄12年
关注
GUI的一般架构
图形用户界面GUI(Graphics User Interface)是迄今为止计算机系统中最为成熟的人机交互技术。一个好的图形用户界面的设计不仅要考虑到具体硬件环境的限制,而且还要考虑到用户的喜好等。
由于图形用户界面的引入主要是从用户角度出发的,因此用户自身的主观感受对图形用户界面的评价占了很大比重,比如,易用性、直观性、友好性,等等。另外,从纯技术的角度看,仍然也会有一些标准需要考虑,比如,跨平台性、对硬件的要求等。在嵌入式系统开发和应用中,我们所考虑的问题主要集中在图形用户界面对硬件的要求,以及对硬件类型的敏感性方面,在提供给用户的最终界面方面只是要求简单实用就够了。
虽然不同的GUI系统因为其使用场合或服务目的不同,具体实现互有差异,但是总结起来,一般在逻辑上可以分为以下几个模块:底层I/O设备驱动(显示设备驱动、鼠标驱动、键盘驱动等)、基本图形引擎(画点、画线、区域填充)、消息驱动机制、高层图形引擎(画窗口、画按钮),以及GUI应用程序接口(API)。
底层I/O设备驱动,例如,显示驱动、鼠标驱动、键盘驱动等构成了GUI的硬件基础。由于此类设备的多样性,需要对其进行抽象,并提供给上层一个统一的调用接口;而各类设备驱动则自成一体,形成一个GUI设备管理模块。当然,从 *** 作系统内核的角度看,GUI设备管理模块则是 *** 作系统内
文章知识点与官方知识档案匹配
CS入门技能树Linux入门初识Linux
26057 人正在系统学习中
点击阅读全文
订阅专栏 解锁全文
打开CSDN APP,看更多技术内容
ARM9嵌入式Linux开发-嵌入式Linux开发环境构建
目录 1、嵌入式Linux开发简介 1.1嵌入式系统 1.2嵌入式 *** 作系统简介 1.2.1嵌入式 *** 作系统的发展 1.2.2几种代表性嵌入式 *** 作系统 1.3嵌入式Linux简介 2、搭建嵌入式Linux开发环境 2.1基本概念 主机系统和目标系统 交叉编译 2.2软件安装及使用 3、基本的Makefile语法 3.1最基本的Makefile文件 3.2MakeFile简介...
继续访问
基于ARM-LINUX嵌入式GUI的研究与开发.pdf
基于ARM-LINUX嵌入式GUI的研究与开发.pdf
基于ARM嵌入式系统GUI开发研究
随着嵌入式系统的发展,它在软件和硬件上日趋复杂,对于人机交互的效率的要求也日渐提高,特别是一些复杂的工控设备和消费电子产品。因此,图形用户界面(GUI)就从嵌入式系统的系统程序中被独立了出来。嵌入式GUI发展至今,已经有了许多的种类,具有了强大的功能。嵌入式GUI已经成为一个成功的嵌入式系统不可缺少的组成部分[1]。本文在ARM为的嵌入式系统上进行了图形界面的开发,并对Windows界面进行了模拟。 1 ARM处理器 嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物。嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功
《嵌入式设计及Linux驱动开发指南——基于ARM9处理器》读书笔记
嵌入式设计及Linux驱动开发指南——基于ARM9处理器》 读书笔记 第一章嵌入式系统基础 1、 嵌入式系统定义: “嵌入式系统是用来控制或者监视机器、装置、工厂等大规模系统的设备。” ——电气工程师协会 “嵌入到对象体系中的专用计算机系统” ——北京航空航天大学何立民教授 “嵌入性”、“专用性”与“计算机系统”是嵌入式系统的三个基本要素。 2、 嵌入式 *** 作系统: 硬实时系统有一个
继续访问
chengdongyue的笔记
---------------------------------------- Linux 基础 --------------------------------1.Linux的诞生 1.unix两大分支:BSD和system V 2.GUN计划:允许软件自由复制更改移植 3.Linux发行版本:red_hat(red_hat) Debian(ubuntu) 系列 4...
继续访问
DOS工控界面开发-图形用户界面
eCGUI功能特性介绍 eCGUI=微型16/32位嵌入式GUI,自主开发,历时四年左右,拥有全部版权.体积小巧 大小在 100KB~180KB!特性: 多窗口支持| 完全中文输入/显示| 多数常用GUI控件| 99.9% ANSI C 编写| 已成功移植 DOS,Linux,uc/OS-II| 组
继续访问
适合arm9的linux图形,ARM9+Linux平台上计算机视觉的实现.pdf
总第266期 计算机与数字工程 VoI.39No.122011年第12期 Computer&DigitalEngineering 134马智叶林葛俊锋(华中科技大学控制科学与工程系武汉430074)摘要文章以在ARM9+Linux平台上实现人脸检...
继续访问
最新发布 在Linux下开发GUI程序的方法
AWT是AbstractWindowToolkit(抽象窗口工具包)的缩写,这个工具包提供了一套与本地图形界面进行交互的接口,与wxWidgets类似,因此具有相对比较高的运行效率。GTK+是基于GLib构建的,其中GLib是一个通用的C语言库,类似于C++中的STL,提供了对动态数组、链表、队列、散列表、平衡二叉树、线程 *** 作和XML解析等功能。,wxWidgets则是另一个使用广泛的图形库,此外使用Java中的Swing/AWT组件也可以用于开发Linux下的GUI应用。...
继续访问
嵌入式系统/ARM技术中的嵌入式系统中的GUI开发
作者:穆煜,华清远见嵌入式培训中心讲师近年来手持式设备、消费类电子产品得到了飞速的发展。随着这些产品用户的增多,对其用户界面也提出了越来越多的要求。在这类产品刚进入市场的时候,例如,手机、PDA、数字机顶盒等,这类产品的用户界面都比较单一,而到了今天,我们可以看到,在市场销售的这些电子产品都具有漂亮的图形用户界面,甚至要求能够支持全功能的浏览器,使得用户能够随时随地进行网络信息的浏览。但是,由于消费类电子的成本敏感性特点,这些产品大多数希望建立在一个有限占用系统资源的轻量级GUI系统之上,这与 PC机中 GUI 系统有根本性的区别。 另外一个轻量级GUI系统的需求存在于工业控制领域、
嵌入式系统/ARM技术中的基于Linux的轻量级嵌入式GUI系统及实现
1、引言 近年来,随着信息家电、手持设备、无线设备的迅速发展,人们对嵌入式系统的需求逐渐增多,要求也越来越高。这使为嵌入式系统提供一个友好方便、稳定可靠的G UI系统成为非常紧迫要求[5]。嵌入式技术是当前微电子与计算机技术中的一个重要分支[1], 它是指以应用为中心, 以计算机技术为基础,软件、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等的严格要求的专用计算机系统[2]。常用的PC机上的GU I因嵌入式设备对资源的严格要求显得过于庞大,而不适合嵌入式系统[6]。与普通环境下的GUI 系统相比较.嵌入式环境下的GUI 系统要求轻型、占用资源少、高性能、高可靠性、可配置等。同
从ARM9到A15 手机处理器架构进化历程
手机中国 【原创】 作者:手机中国 徐磊 责任编辑:白沫飞 2012年04月13日 05:30 随着智能手机越来越普及,消费者在选购手机的时候也越来越理性化,除了关心价格和外观之外,手机的性能也成为了人们最关心的因素,大家都知道,处理器是影响手机性能的最关键的因素,像德州仪器、高通、英伟达以及三星等主流的处理器厂商,大家都已经耳熟能详。 随着智能手机越来越普及,消费者在选购手机的
继续访问
基于KEIL4开发ARM9(S3C2440)的裸机程序
本文主要介绍如何使用Keil4开发ARM9(S3C2440)裸机程序。 说明: 一、平台: *** 作系统:Windows XP系统 KEIL版本:4.73 开发板:ARM9(S3C2440) 二、建立工程: 1、新建工程,选择S3C2440A处理器: ...
继续访问
ARM9嵌入式Linux开发-Linux基础知识
目录 1 Linux简介 1.1 Linux的内核版本 1.2 Linux的发展历史 1.3 Linux的发行版本 1.4 Linux内核源码目录结构 2 Linux内核的配置和编译 2.1 Linux的配置 2.2 Linux内核的编译 2.2.1 Linux的Makefile体系 2.2.2 Linux内核文件编译 2.2.3 Makefile如何决定编译哪些文件 2.3.4 Makefile是怎样编译这些文件的? 2.3.5 Makefile是怎样连接这些文件 2...
继续访问
linux-arm9显示图片程序,Linux和ARM9下视频图像采集与显示系统设计
摘要:随着嵌入式系统的逐步发展, 实现在嵌入式系统上的视频采集与显示能够提高嵌入式的应用范围与实用性.基于这个目的, 设计了基于S3C2440控制芯片、Linux *** 作系统的视频采集与显示系统, 对PAL制式的模拟摄像头进行信号采集和解码, 然后显示在LCD显示屏上.根据视频显示测试结果, 该系统具有稳定性好、可移植等优点, 在生产生活中有较高的实用价值.关键词:嵌入式系统ARM-Linux...
继续访问
ARM9嵌入式Linux开发-开篇
将自己之前学习嵌入式开发的一些资料整理出来。这些文章适合入门,文章中涉及的一些工具比较老(暂时不去更新了),但不影响对嵌入式开发技术本质的思考和理解。博主目前的工作主要系统框架和中间件的开发,感兴趣的朋友可以一起进行讨论和交流。 当今社会,嵌入式系统已经渗透到人们工作、生活中的各个领域。而嵌入式Linux系统也蓬勃发展,不仅继承了Linux源码开放、内核稳定高效、软件丰富等优势,...
继续访问
ARM GUI画线函数
嵌入式系统中GUI中在1pixel基础上绘制粗线(3 pixel)
ARM ucGUI界面模拟器
本压缩文档提供了一个基于VC++的ucGUI模拟器及例子程序
eCGUI 0.3 for Linux-ARM 嵌入式GUI
微型16/32位嵌入式GUI,自主开发,历时四年左右,拥有全部版权. 最新增加对JPEG图像支持!!! 最新动态 http://www.ecgui.com 联系: ecgui.com@gmail.com 体积小巧 大小在 100KB~180KB! 特性: 多窗口支持| 完全中文输入/显示| 多数常用GUI控件| 99.9% ANSI C 编写| 已成功移植 DOS,Linux,uc/OS-II| 组件式 API(易用,高效) 目前可以使用的控件有: MainWindow 主窗口 DialogWindow 对话窗口 Button 按钮,多种风格 TextBox 单行文本框,可设置字体,背景颜色等 完全简体中文输入/显示/编辑 支持 EditBox 多行文本框,可设置字体,背景颜色等 完全简体中文输入/显示/编辑 支持 HScrollBar 横向 滚动条 VScrollBar 竖向 滚动条 SelectBox 列表选择框 MainMenu 主菜单 PopMenu d出式菜单 Combobox 组合框 ChoiceBox,CheckBox 单/多选框 Label 文字标签 -------------- 这个包适用于 三星ARM9 2440
热门推荐 主流嵌入式开源GUI比较
本文主要说明了MicroWindows、MiniG、QT、GTK+、OpenGUI和FLTK,第七小节是对比的详细表格,内容是根据网上的一些资料还有各大开源GUI的官网的资料整理而来,目的是为自己以后学习把握方向。
继续访问
数据库课程设计
c语言文件读写 *** 作代码
html+css+js网页设计
写评论
评论
2
点赞
踩
分享
前往
一:C语言 嵌入式Linux工程师的学习需要具备一定的C语言基础,C语言是嵌入式领域最重要也是最主要的编程语言,通过大量编程实例重点理解C语言的基础编程以及高级编程知识。包括:基本数据类型、数组、指针、结构体、链表、文件 *** 作、队列、栈等。二:Linux基础 Linux *** 作系统的概念、安装方法,详细了解Linux下的目录结构、基本命令、编辑器VI ,编译器GCC,调试器GDB和 Make 项目管理工具, Shell Makefile脚本编写等知识,嵌入式开发环境的搭建。
三:Linux系统编程 重点学习标准I/O库,Linux多任务编程中的多进程和多线程,以及进程间通信(pipe、FIFO、消息队列、共享内存、signal、信号量等),同步与互斥对共享资源访问控制等重要知识,主要提升对Linux应用开发的理解和代码调试的能力。
四:Linux网络编程 计算机网络在嵌入式Linux系统应用开发过程中使用非常广泛,通过Linux网络发展、TCP/IP协议、socket编程、TCP网络编程、UDP网络编程、Web编程开发等方面入手,全面了解Linux网络应用程序开发。重点学习网络编程相关API,熟练掌握TCP协议服务器的编程方法和并发服务器的实现,了解HTTP协议及其实现方法,熟悉UDP广播、多播的原理及编程方法,掌握混合C/S架构网络通信系统的设计,熟悉HTML,Javascript等Web编程技术及实现方法。
五:数据结构与算法 数据结构及算法在嵌入式底层驱动、通信协议、及各种引擎开发中会得到大量应用,对其掌握的好坏直接影响程序的效率、简洁及健壮性。此阶段的学习要重点理解数据结构与算法的基础内容,包括顺序表、链表、队列、栈、树、图、哈希表、各种查找排序算法等应用及其C语言实现过程。
六:C++ 、QT C++是Linux应用开发主要语言之一,本阶段重点掌握面向对象编程的基本思想以及C++的重要内容。图形界面编程是嵌入式开发中非常重要的一个环节。由于QT具有跨平台、面向对象、丰富API、支持2D/3D渲染、支持XML、多国语等强大功能,在嵌入式领域的GUI开发中得到了广范的应用,在本阶段通过基于QT图形库的学习使学员可以熟练编写GUI程序,并移植QT应用程序到Cortex-A8平台。包括IDE使用、QT部件及布局管理器、信息与槽机制的应用、鼠标、键盘及绘图事件处理及文件处理的应用。
七:Cortex A8 、Linux 平台开发 通过基于ARM Cortex-A8处理s5pv210了解芯片手册的基本阅读技巧,掌握s5pv210系统资源、时钟控制器、电源管理、异常中断控制器、nand flash控制器等模块,为底层平台搭建做好准备。Linux平台包括内核裁减、内核移植、交叉编译、GNU工具使用、内核调试、Bootloader介绍、制作与原理分析、根文件系统制作以及向内核中添加自己的模块,并在s5pv210实验平台上运行自己制作的Linux系统,集成部署Linux系统整个流程。同时了解Android *** 作系统开发流程。Android系统是基于Linux平台的开源 *** 作系统,该平台由 *** 作系统、中间件、用户界面和应用软件组成,是首个为移动终端打造的真正开放和完整的移动软件,目前它的应用不再局限于移动终端,还包括数据电视、机顶盒、PDA等消费类电子产品。
八:驱动开发 驱动程序设计是嵌入式Linux开发工作中重要的一部分,也是比较困难的一部分。本阶段的学习要熟悉Linux的内核机制、驱动程序与用户级应用程序的接口,掌握系统对设备的并发 *** 作。熟悉所开发硬件的工作原理,具备ARM硬件接口的基础知识,熟悉ARM Cortex-A8处理器s5pv210各资源、掌握Linux设备驱动原理框架,熟悉工程中常见Linux高级字符设备、块设备、网络设备、USB设备等驱动开发,在工作中能独立胜任底层驱动开发。
以上就是列出的关于一名合格嵌入式Linux开发工程师所必学的理论知识,其实,作为一个嵌入式开发人员,专业知识和项目经验同样重要,所以在我们的理论学习中也要有一定的项目实践,锻炼自己的项目开发能力。
刚开始要学C语言,懂2进制,16进制,10进制转化,要理解位运算,学好C,然后熟悉linux这个系统,要掌握的命令不多,熟悉了linux系统后,就在linux上用C编程,推荐看《Linux就该这么学》 ,新手容易上手,技术也能跟的上,挺不错的。欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)