[STemWin教程入门篇] 第一期:emWin介绍

转自:http://bbs.armfly.com/read.php?tid=1544

SEGGER公司介绍

了解emWin之前,先了解一下SEGGER这家公司,了解生产商才能对emWin有更加全面的认识。

SEGGER公司成立于1997年,到现在的2013年,有差不多16年的历史了,这家公司主要有两个

office,一个是在德国的Hilden,另个在美国的 Massachusetts。官网还有一个他们工作地方的照片,看着很不错,我这里也把这个照片贴上。

[STemWin教程入门篇] 第一期:emWin介绍

这家公司的产品主要有三个大的方向,下面分别的说一下:

RTOS和中间件

embOS  (Real Time Operating System)

embOS/IP  (TCP/IP Stack)

emWin (Graphic Software & GUI)

emFile (File System)

emUSB Device (USB Device Stack)

emUSB Host (USB Host Stack)

J-Link Debug Probes

J - Link PRO

J - Link ULTRA+

J - Link PLUS

J - Link

J - Trace Cortex-M3

J - Trace ARM

Production Programmers

Flasher  ARM

Flasher  RX

Flasher  STM8

Flasher  ST7

Flasher  5

Flasher  5 PRO

官网上面也有一个论坛,不过论坛的打开速度比较的慢,而且是英文的,问个问题也不太方便

http://forum.segger.com/  有兴趣的可以去看看。

想了解价格和授权的可以看看这里http://www.segger.com/pricing.html,现在了解的NXP, ST,Energy Micro获得了SEGGER的授权,可以免费的使用,想了解其他信息的可以去官网查看,这里有几个官网张贴的,客户设计界面,设计的的确很好看。

[STemWin教程入门篇] 第一期:emWin介绍

[STemWin教程入门篇] 第一期:emWin介绍

[STemWin教程入门篇] 第一期:emWin介绍

其实话说回来,要想设计比较好的界面还是得手工设计,用控件很难做出这种效果,除非有这种效果的控件。

emWin5.xx的简介

1.  目标系统(硬件)

目标系统必须具有:

• 一个CPU(8/16/32/64位)

• 一个具有最小内存的RAM和ROM

• 一个完整图形显示器 (任何类型和任何分辨率)

存储器要求取决于使用的是软件的哪部分以及目标编译器的效率。因此不可能指定精确的值,但是以

下值适用于典型的系统。

小系统 (无窗口管理器)

•RAM:100字节

• 堆栈:600字节

•ROM:10-25 kb(取决于所使用的功能)

大系统 (包含窗口管理器和小工具)

•RAM:2-6 kb(取决于所需的窗口数)

• 堆栈:1200-1800字节 (取决于所使用的功能)

•ROM:30-60 kb(取决于所使用的功能)

请注意,如果应用程序使用了很多字体,则对ROM的要求会提高。上述所有值都是粗略估算值,不保证能正常使用。

2.  特性

emWin设计用于提供高效且独立于处理器和显示控制器的图形用户界面,用于任何使用图形显示进行操作的应用。它与单任务和多任务环境、专用操作系统或具有任何商业RTOS兼容,emWin的发货形式为C语言源代码。它可适用于任何尺寸的、具有任何显示控制器和CPU的物理和虚拟显示器。其特性包括:

一般特性

• 支持使用任何控制器的任何 (单色、灰度或彩色)显示器 (如果有正确的驱动)。

• 在较小显示器上无显示控制器也可运行。

• 使用配置宏可支持任何接口。

• 显示尺寸可配置。

• 可在显示器上的任何点 (而不仅仅是在偶数位字节地址)上写入字符和位图。

• 已针对尺寸和速度优化了各种例程。

• 利用编译时间切换可进行不同优化。

• 对于较慢的显示控制器,可在存储器中缓存显示,将存取操作减到最少,从而获得非常高的速度。

• 结构清晰。

• 支持虚拟显示;虚拟显示可大于实际显示。

图形库

• 支持不同色深的位图。

• 可使用位图转换器。

• 绝对无浮点使用。

• 快速线/点绘制 (不使用浮点)。

• 圆形/多边形绘制非常快速。

• 不同的绘图模式。

字体

• 基本软件配备多种不同的字体:4*6、6*8、6*9、8*8、8*9、8*16、8*17、8*18、24*32

以及像素高度为8、10、13、16的比例字体。有关详细信息,请参阅字体一章。

• 可以定义新的字体并只需简单链接。

• 只有应用程序使用的字体才实际链接到生成的可执行程序,从而使ROM使用最小。

• 字体可分别在X和Y方向完全缩放。

• 可使用字体转换器;主机系统 (即Microsoft Windows)上有的任何字体都可以转换。

字符串/值输出例程

• 例程可以十进制、二进制、十六进制、任何字体形式显示值。

• 例程可以十进制、二进制、十六进制、任何字体形式编辑值。

窗口管理器(WM)

• 完整的窗口管理操作,包括裁剪。窗口的客户区以外的区域不可能被覆盖。

• 窗口可以移动和调整大小。

• 支持回调例程 (可选择是否使用)。

• WM使用最小的RAM(每个窗口大约50字节)。

PC界面外观的可选小工具• 提供各种小工具 (窗口对象,也称为控件)。它们通常自动操作并且简单易用。

支持触摸屏和鼠标• 对于按钮小工具等窗口对象,emWin提供触摸屏和鼠标支持。

PC工具

• 模拟脉冲查看器。

• 位图转换器。

• 字体转换器。

3.  RTOS对emWin的支持

官方的GUI_X文件里面有各种RTOS对emWin多任务的支持,没有的话,移植一个也非常的方便,里面没有UCOS - III和FreeRTOS的移植,后面现成的添加进去就可以的。

[STemWin教程入门篇] 第一期:emWin介绍

emWin的简单介绍先说这么多,后面开始讲详细的入门。

4.  基本的内存需求

  Example Hello world Window application
ROM GUI core 5.9 kB 43 kB
  Fonts 1.8 kB 12.5 kB
  Application 38 B 2.7 kB
  Startup code 300 B 300 B
  Library 0.1 kB 1.5 kB
  Total 8.1 kB 60 kB
RAM GUI core 62 B 5.2 kB
  Application - 40 B
  Stack 272 B 1.4 kB
  Total 334 B 6.6 kB

5.  控件预览

Name Screenshot (classic) Screenshot (skinned) Description
button [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 button which can be pressed. text or bitmaps may be displayed on a button.
checkbox [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 check box which may be checked or unchecked.
dropdown [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 dropdown listbox, opens a listbox when pressed.
edit [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 single-line edit field which prompts the user to type a number or text.
framewin [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 frame window. creates the typical gui look.
graph [STemWin教程入门篇] 第一期:emWin介绍   graph widget, used to show curves or measured values.
header [STemWin教程入门篇] 第一期:emWin介绍   header control, used to manage columns.
iconview [STemWin教程入门篇] 第一期:emWin介绍   icon view widget. useful for icon based plat- forms as found in common hand held devices.
image [STemWin教程入门篇] 第一期:emWin介绍   image widget. displays several image formats automatically.
listbox [STemWin教程入门篇] 第一期:emWin介绍   listbox which highlights items as they are selected by the user.
listview [STemWin教程入门篇] 第一期:emWin介绍   listview widgets are used to creates tables.
listwheel [STemWin教程入门篇] 第一期:emWin介绍   listwheel widget. the data can be moved and accelerated via pointer input device.
menu [STemWin教程入门篇] 第一期:emWin介绍   menu widgets are used to create horizontal and vertical menus.
multiedit [STemWin教程入门篇] 第一期:emWin介绍   multiedit widgets are used to edit multiple lines of text.
multipage [STemWin教程入门篇] 第一期:emWin介绍   multipage widgets are used to create dialogs with multiple pages.
progbar [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 progress bar used for visualization.
radio [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 radio button which may be selected. only one button may be selected at a time.
scrollbar [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 scrollbar which may be horizontal or vertical.
slider [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 slider bar used for changing values.
spinbox [STemWin教程入门篇] 第一期:emWin介绍 [STemWin教程入门篇] 第一期:emWin介绍 spinning box to display and adjust a specific value.
text [img]http://micrium.com/wp-content/uploads/2012/07/text_classic.png[/img]   static text controls typically used in dialogs.
treeview [img]http://micrium.com/wp-content/uploads/2012/07/treeview_classic.png[/img]   treeview widget for managing hierarchical lists.
上一篇:React componentWillUpdate


下一篇:第2章 初学 emWin 的准备工作及其快速上手