Software-related knowledge about ARM embedded systems

Publisher:EtherealEssenceLatest update time:2015-10-08 Source: eefocusKeywords:ARM Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere
Due to the great differences in embedded systems, different software design methods, development platforms and system tools must be selected for different application requirements.

 

对于一些不需要复杂图形用户界面、通信协议和复杂文件操作(如同时打开多个文件)的应用,如果选用CortexM3核的处理器就已可以满足要求,任务数不多,任务之间的关系也不复杂,则不一定需要移植复杂的操作系统。这样一方面可以降低系统硬件开销,也可以获得更好的实时性和执行速度。不过,这样的软件开发方法需要开发人员有较好的程序设计思想,对所用器件有深入的了解,并掌握其编程控制方法。若引入一个简单的操作系统,如霤/OS,可以简化程序结构,但开发者最好熟悉其内核结构,并有使用经验,否则可能会需要更多的系统开发、调试时间。

 

If you choose an ARM processor with a memory management unit (MMU) (such as ARM920T, CortexA8, etc.), it is generally more appropriate to transplant a more powerful operating system, such as Linux, WinCE, or even the new Android, based on factors such as application, real-time performance, and development environment. The difficulty of developing this system lies mainly in the transplantation of the OS and the development of the hardware driver. After these two steps are completed, the main software development work is not much different from development on a PC, and can be carried out according to general software engineering methods. The only thing to pay attention to is the software optimization issues related to the arm hardware platform.

 

Due to the limited hardware resources of embedded systems, the main difference between embedded software and other application software is that embedded software must have higher efficiency, including execution speed and storage space, although the two are often contradictory. At present, more requirements are generally placed on speed optimization. To write efficient ARM programs, developers need to be familiar with ARM's architecture, including kernel structure, instruction system, cache and memory structure, etc., and have good programming ideas and a deep understanding of some commonly used functions and algorithms. This process is also the path of advancement from low-level to high-level ARM system development.

 

At present, as application systems become more and more complex, the portability and reusability of embedded software have also received great attention, because it directly affects the development efficiency and quality of embedded software. Choosing a common development environment and high-level programming language so that the developed embedded software can be easily ported to different hardware platforms is the basis for realizing software reuse. At present, in the development of ARM embedded systems, ARM RealView, Keil and IAR's EWarm are better development platforms. C/C++ language is the most widely used programming language, and it has a wide range of library functions and program support. For a long time to come, it will still occupy an important position in the field of embedded system applications.

Keywords:ARM Reference address:Software-related knowledge about ARM embedded systems

Previous article:About S3C2440 RTC real-time clock driver configuration and modification under Linux
Next article:Detailed explanation of Bootloader under Linux system

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

Comparison between ARM and 51 MCU
First, fast processing speed, strong processing power, large storage capacity, and convenience for users The traditional 51 MCU is an 8-bit processor, while the ARM chip is a 32-bit processor. Simply put, the 51 MCU is the "Celeron" computer we used in the early stage, and the ARM chip is the "dual-core" co
[Microcontroller]
Testing and analysis of 8051, ARM and DSP instruction cycles
In real-time control systems, the most important issue when selecting the indicators of a microcontroller is the calculation speed. The instruction cycle is an important indicator that reflects the computing speed. For this reason, this article analyzes and tests the instruction cycles of the three most representative
[Microcontroller]
Comparing AVR and ARM, talking about the similarities and differences
I saw hyloo's question and wanted to answer it, but then I thought, it's not worthwhile to write a lot of posts and count other people's cool posts, so I decided to open a post myself and make a name for myself^_^. I have used AVR for 2 months, and I have only read 2 books on ARM, so please correct me if I am wrong.
[Microcontroller]
LCD control and touch screen interface design based on ARM processor
0Introduction ​ With the continuous development of information technology, embedded systems are being more and more widely used in aerospace, consumer electronics, communication equipment and other fields. In embedded systems, LCD is one of the main devices for human-computer interaction, and the d
[Microcontroller]
LCD control and touch screen interface design based on ARM processor
ARM working mode - how to use exceptions and interrupts
A brief introduction to Arm920T registers: R1-R15: General registers R13: Stack pointer register R14: Program connection register. When the BL subroutine call instruction is executed, R14 obtains a backup of R15 (program counter register pc). When an interrupt or exception occurs, the corresponding R14_svc, R14_irq, e
[Microcontroller]
Design of real-time power load control management system based on ARM9 and GPRS
In today's industrial society where electricity is scarce, timely and accurate acquisition of users' electricity load information and timely control and dispatch based on it are of great practical significance for improving energy utilization. Traditional electricity settlement relies on manual on-site data reading
[Power Management]
Design of real-time power load control management system based on ARM9 and GPRS
Home remote medical monitoring terminal based on ARM9 processor
Telemedicine is the product of the combination of network technology and medical technology. With the development of my country's economy, the advancement of science and technology, and the need to enter an aging society, the development of telemedicine has become an inevitable trend. Telemedicine can be divided into h
[Medical Electronics]
Home remote medical monitoring terminal based on ARM9 processor
ARM Study Notes 001 arm-linux-gcc 4.3.2 Download and Installation
Download arm-linux-gcc-4.3.2.tgz (84MB) Install the cross-compilation toolchain: 1. First log in as root user 2. Copy arm-linux-gcc-4.3.2.tgz to the tmp folder in the root directory 3. Decompression command     tar xvzf arm-linux-gcc-4.3.2.tgz -C /     Note that there is a space between tgz and -C, -C is upperca
[Microcontroller]
ARM Study Notes 001 arm-linux-gcc 4.3.2 Download and Installation
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号