对于一些不需要复杂图形用户界面、通信协议和复杂文件操作(如同时打开多个文件)的应用,如果选用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.
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
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- EEWORLD University ---- Industrial Motor Driver - Introduction to Texas Instruments System Solutions
- Updated PYBCN_V2 and PYBNANO_V2 firmware
- IIR filter software implementation (Matlab+C++)
- Design of ultrasonic distance measuring sensor system
- Crowdfunding of micro:bit robot PLEN:bit
- AD19 only shows wireframe after copper is laid, which does not look like laid copper
- Application of MSP430F5xxx in the highway toll collection system (ETC)
- Is it useful for people who work with microcontrollers to read "Introduction to Algorithms" and "Data Structures"?
- Design of electronic piano based on LPC2000 series ARM chip
- How do analog switches ensure bandwidth without distortion?