Research on GUI Development for ARM Embedded Systems

Publisher:532829319hmkLatest update time:2011-06-30 Keywords:ARM Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

With the development of embedded systems, they are becoming more and more complex in software and hardware, and the requirements for the efficiency of human-computer interaction are also increasing, especially for some complex industrial control equipment and consumer electronic products. Therefore, the graphical user interface (GUI) has been separated from the system program of the embedded system. Since the development of embedded GUI, there are many types and powerful functions. Embedded GUI has become an indispensable component of a successful embedded system [1]. This paper develops a graphical interface on an embedded system with ARM as the core and simulates the Windows interface.

1 ARM processor

Embedded systems are the result of combining advanced computer technology, semiconductor technology, electronic technology, and specific applications in various industries. This determines that it must be a technology-intensive, capital-intensive, highly decentralized, and constantly innovative knowledge integration system. [2] ARM is the most widely used microprocessor in the current embedded field [3]. ARM (Advanced RISC Machines) microprocessors are microprocessors that use ARM technology intellectual property (IP) cores. This ARM core technology is licensed by ARM, a British company. Major semiconductor manufacturers around the world purchase ARM microprocessor cores designed by ARM, and according to their respective application fields, add appropriate peripheral circuits to form their own ARM microprocessor chips and enter the market.

In this design, ARM7TDMI is used as the kernel of the embedded system. The ARM7TDMI core is a general-purpose 32-bit microprocessor core that adopts the von Neumann architecture and has the characteristics of high performance and low power consumption. ARM7TDMI uses a three-stage pipeline technology to increase the speed of the processor instruction flow, and all parts of the processor and memory can work continuously. Usually, while executing one instruction, the next instruction is decoded and the third instruction is taken out of the memory [4]. The ARM structure is designed based on the principle of reduced instruction set computers. The instruction set and related decoding mechanism are much simpler than those of complex instruction set computers.

2 Graphical User Interface Characteristics and Development Trends

2.1 Characteristics of Graphical User Interface

The widespread popularity of the Graphical User Interface (GUI) is one of the major achievements of today's computer technology. It greatly facilitates the use of non-professional users. People no longer need to memorize a large number of commands, but can easily operate through windows and menus. "Visual" has become a popular adjective, such as Visual Basic, Visual C++, etc. The main features of the graphical user interface are as follows [5]:

1. WIMP

W (Windows) refers to windows, which refers to a working area of ​​a user or system. There can be multiple windows on a screen. I (Icons) refers to graphics, which are figurative graphic symbols that are easy for people to understand. M (Menu) refers to menus, which are function prompts that users can choose. P (Pointing Devices) refers to the mouse, etc., which makes it easy for users to directly operate screen objects.

2. User Model

GUI uses many desktop metaphors to share an intuitive interface framework for users. Because people are familiar with the desk, they can easily understand the meaning of the graphic symbols displayed on the computer, such as folders, inboxes, brushes, workbooks, keys, and clocks.

3. Direct operation

In the past, interfaces not only required memorizing a large number of commands, but also required specifying the location of the operation object, such as line number, number of spaces, X and Y coordinates, etc. After adopting GUI, users can directly operate objects on the screen, such as dragging, deleting, inserting, and even enlarging and rotating. After the user performs an operation, the screen can immediately give feedback or results, so it is called what you see is what you get. Using viewing and clicking (mouse) instead of memorizing and clicking (keyboard) brings convenience to users.

2.2 Development Trends of Graphical User Interfaces

With the rapid development of virtual reality, scientific computing visualization and multimedia technology, new human-computer interaction technologies continue to emerge, and more natural interaction methods will gradually be valued by people. The main features of the new generation of interfaces can be described as follows: user-centric, intelligent, high-bandwidth, unlimited location, graphic programming, etc.

3 ARM Embedded System GUI Development

In recent years, embedded systems have developed rapidly, with various product forms. As embedded products become more commercialized, the requirements for graphical user interfaces (GUIs) are becoming higher and higher.

3.1 LCD and its driver

This design uses a 2.2-inch TFT LCD screen - TFT6758 LCD module, which has an operating voltage of 3.3V and a built-in white LED backlight. It can be directly connected to the controller using an 8-bit, 16-bit or 18-bit bus (because the LCD module contains HD66781 and HD66783 LCD control drivers). In order to obtain a higher data transmission rate, a 16-bit bus interface is used when designing the circuit. According to the HD66781 chip data sheet, the IM3 and IM0 pins need to be connected to 0 level, and the 16-bit data are connected to the DB17~DB10 and DB8~DB1 pins respectively. The unused DB0 and DB9 pins are grounded. The circuit connection is shown in Figure 1 [6]. When using the LCD screen, you need to add its corresponding driver first. The driver chip of the dot matrix LCD display TFT6758 is HD66781, and the gate driver chip is HD66783.

Figure 1 TFT6758 LCD module application circuit

3.2 Selection of software platform

At present, there are several mature and representative embedded GUI development software on the market, such as MiniGUI of Beijing Feiman Software Company, MicroWindows of Century Software Company in the United States, Qt/Embedded of Troltech Company in Norway, etc. These GUI systems have their own characteristics, but most of them need to be ported to embedded operating systems, which will definitely increase the investment of time and energy. Therefore, after comprehensively considering various factors, ZLG/GUI is used as the software platform for this design.


ZLG/GUI is a simple graphical user interface software for embedded systems that takes up little resources and is easy to use. It can be used directly without being ported to an embedded operating system. It provides the most basic drawing functions and has some more advanced interface functions. It supports monochrome, grayscale, pseudo-color, true-color and other graphic display devices and is simple and easy to learn. [page]

3.3 Design and implementation of simulating Windows interface

The desktop of the Windows system that we often use is a gorgeous graphical user interface, so the design simulates the graphical interface of the Windows desktop.

The design idea of ​​this interface is: fill the full screen with a picture as the desktop background pattern of Windows. After calculating the coordinate value of the status bar, select green and blue to fill two rectangles at the bottom of the LCD screen as the status bar. Still use the fill rectangle function to make the background color of the start menu. Obtain the display coordinate value of the Chinese character by calculation at the corresponding place, and display the Chinese character at the corresponding position. Determine whether a key is pressed. If not, continue to display the desktop. If a key is pressed, display the start menu. The process of displaying the Windows interface is shown in Figure 2. The simulated Windows interface is displayed on the LCD as shown in Figure 3.

Figure 2 shows the Windows interface process

Figure 3 Simulating Windows interface

4 Conclusion

In recent years, with the development of embedded technology, embedded systems have developed rapidly. Embedded devices will be applicable to a wider range of fields, such as aerospace, aviation, military, medicine, as well as home appliances, transportation, communications, etc. that are closely related to people's lives. As embedded products become more commercialized, they will involve issues of user convenience, and the requirements for graphical user interfaces (GUIs) are getting higher and higher. How to develop a GUI system suitable for one's own hardware conditions has become an important part of embedded system development. This design uses ZLG/GUI as the software platform. For complex applications, MiniGUI and other software can be used as the software platform.

The author's innovation: Using ZLG/GUI as a software platform, a Windows-like graphical user interface was developed, providing a simple, low-cost and feasible solution for GUI development in embedded systems.

Keywords:ARM Reference address:Research on GUI Development for ARM Embedded Systems

Previous article:Application of ARM in digital remote video monitoring system
Next article:Research on transplantation and optimization of Gameboy emulator based on ARM Linux

Recommended ReadingLatest update time:2024-11-16 17:41

ARM transplants ssh to realize remote root login and sftp login
Host: ubuntu16.04 64bit Target board: mini2440 Cross-compilation tools: 4.4.3 1. Download the required source code: mkdir -p ~/arm/fs ;mkdir -p ~/arm/source Download zlib-1.2.3: wget -c http://www.zlib.net/fossils/zlib-1.2.3.tar.gz Download openssl-0.9.8d: wget -c http://www.openssl.org/source/openssl-0.9.8d.tar.g
[Microcontroller]
ARM transplants ssh to realize remote root login and sftp login
Booting process of ARM-based LPC1768 microcontroller
Basic concepts (CMSIS): Cortex Micro-controller Software Interface Standard, microcontroller software interface standard. 2. CMSIS standard file structure: a) core_cm.c (stdint.h) b) system_.c (core_cm, system_) c) startup_.s Among them, core_cm.c and core_cm are the kernel access layer, which defines the periphe
[Microcontroller]
Detailed explanation of arm function call and return process
ATPCS recommends that the number of formal parameters of a function should not exceed 4. If the number of formal parameters is less than or equal to 4, the formal parameters are passed through the four registers R0, R1, R2, and R3; if the number of formal parameters is greater than 4, the part greater than 4 must be p
[Microcontroller]
Build jz2440v3 (arm s3c2440) development and gdb debugging environment under win10
I originally planned to develop it entirely under Ubuntu, but my level was limited and I couldn't find a suitable tool to read large codes under Ubuntu, so I had to build a development environment on Windows. 1. Main contents: 1. Build arm (s3c2440) development environment under windows10 Use vmware workstation12 pr
[Microcontroller]
ARM processor program status register (CPSR, SPSR) access instructions
 ARM microprocessors support program status register access instructions for transferring data between the program status register and general registers. Data, program status register access instructions include the following two: - MRS program status register to general register data transfer instruction - MSR gene
[Microcontroller]
ARM Cortex-M3 Study Notes (4-3)
I'm studying ARM Cortex-M3 recently, and I found a book called "An Definitive Guide to The ARM Cortex-M3" which is considered a classic. This series of study notes is actually the reading notes I made while studying this book. Data processing instructions Cortex-M3 supports a lot of data processing instructions. He
[Microcontroller]
ARM Cortex-M3 Study Notes (4-3)
MiniGUI1.33 open source version ported on ARMSYS2410-B
0. Preparation (a) Create the following directory: minigui |--build_x86 /Build MiniGUI running on PC |--build_arm /Build MiniGUI running on ARM |--tarball /All package resource storage points (b) download MiniGUI: Download libminigui-1.3.3.tar.gz and minigui-res-1.3.3.tar.gz from www.minigui.com and put tarball direct
[Microcontroller]
10. Learning ARM assembly
Learning ARM assembly is very necessary. Learning ARM assembly is not to write programs in assembly in the future, but to understand and modify it. Because in the later projects related to the kernel and bootloader, some codes will be written in assembly. In the bootloader, once the system is powered on, the first p
[Microcontroller]
10. Learning ARM assembly
Latest Microcontroller Articles
  • Download from the Internet--ARM Getting Started Notes
    A brief introduction: From today on, the ARM notebook of the rookie is open, and it can be regarded as a place to store these notes. Why publish it? Maybe you are interested in it. In fact, the reason for these notes is ...
  • Learn ARM development(22)
    Turning off and on interrupts Interrupts are an efficient dialogue mechanism, but sometimes you don't want to interrupt the program while it is running. For example, when you are printing something, the program suddenly interrupts and another ...
  • Learn ARM development(21)
    First, declare the task pointer, because it will be used later. Task pointer volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • Learn ARM development(20)
    With the previous Tick interrupt, the basic task switching conditions are ready. However, this "easterly" is also difficult to understand. Only through continuous practice can we understand it. ...
  • Learn ARM development(19)
    After many days of hard work, I finally got the interrupt working. But in order to allow RTOS to use timer interrupts, what kind of interrupts can be implemented in S3C44B0? There are two methods in S3C44B0. ...
  • Learn ARM development(14)
  • Learn ARM development(15)
  • Learn ARM development(16)
  • Learn ARM development(17)
Change More Related Popular Components

EEWorld
subscription
account

EEWorld
service
account

Automotive
development
circle

About Us Customer Service Contact Information Datasheet Sitemap LatestNews


Room 1530, 15th Floor, Building B, No.18 Zhongguancun Street, Haidian District, Beijing, Postal Code: 100190 China Telephone: 008610 8235 0740

Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号