Share this

ARM Virtual Development Based on Proteus

2026-04-06 08:17:23 · · #1
0. Introduction Embedded devices are now ubiquitous in our lives, including digital cameras, mobile phones, TV set-top boxes, and PDAs. These devices mostly use 32-bit RISC embedded processors as their core components. Among them, ARM-based embedded processors dominate, holding over 75% of the market share in 32-bit RISC processors. ARM-based embedded processors are typically programmed in C. Currently, ARM's development tools, such as ADS, RealView, and Keil, integrate well with ARM processors and are widely recognized by embedded systems learners. In traditional embedded systems learning, an embedded development platform is indispensable. Platforms with fewer resources are inexpensive but have limited functionality, while those with more resources are expensive, undoubtedly posing an obstacle for many embedded systems enthusiasts. However, is there a way to achieve the same or even better development without increasing or reducing development costs? This article introduces Proteus software, a powerful tool that allows for virtual development of embedded systems completely independent of a hardware platform, representing a revolution in embedded systems learning. 1. Introduction to Proteus: Proteus software is an EDA tool from Labcenter Electronics in the UK. It is an electronic design teaching platform, experimental platform, and innovation platform, covering all functions of electrical and electronic laboratories, electronic technology laboratories, and microcontroller application laboratories. Its revolutionary function is to coordinate circuit simulation and microprocessor simulation, and to directly program and debug the processor on the virtual prototype based on the schematic diagram, and to verify the function. Through dynamic devices (such as motors, LEDs, LCDs, switches, etc.) and virtual instruments configured in the system (such as oscilloscopes, logic analyzers, etc.), the effects of input and output after running can be seen in real time. Its main features are as follows: (1) It can simulate and analyze various analog devices and integrated circuits. It supports the ARM (LPC series) of Pillips. Proteus simulation is based on SPICE3F5, so it can also perform circuit analysis like other EDA software, such as analog analysis, digital analysis, mixed signal analysis, frequency analysis, etc.; (2) It provides virtual instruments such as virtual oscilloscopes, logic analyzers, signal generators, counters, meters, and Virtual Terminals for selection; (3) It can design SCH (schematic diagram) and PCB (printed board) circuits; (4) It only comes with an assembler and does not support C language. However, it can be connected to Keil and ADS integrated development environments. After compiling programs written in assembly and C languages, system simulation combining software and hardware can be performed immediately, achieving excellent simulation results. 2. System Design and Simulation in the Proteus Environment Proteus is similar to software such as PROTEL and EWB. To draw a schematic diagram, you must first retrieve the required component symbols from the component library and lay them out in the drawing area, while editing the component parameters. Then, you need to make connections and add necessary net labels. The following is a simple example to illustrate how to use Proteus software to implement ARM (taking LPC2124 as an example) system design and simulation. The example uses the LPC2124 controller as the core, and forms a stepper motor controller with L297 and L298. Necessary peripheral circuits are added to realize the forward and reverse control of the stepper motor. 2.1 Circuit Schematic Design After running Proteus VSM ISIS, the main window interface shown in Figure 1 appears. Click "File" - "New Design" to create a new design project. Next, you need to add the required components. Clicking the "Add Component" button will bring up the "Pick Devices" dialog box. Select the components you want to add and add them to the component list area. Then, click on the components in the list area one by one, place them in the drawing area, and edit their properties. After a reasonable layout, you can start connecting the wires. Similar to PROTEL, Proteus also has automatic node snapping and automatic routing functions. When connecting wires, when the mouse pointer is close to the pin of an object, an "×" tooltip will appear next to the mouse pointer. Click the left mouse button to draw the line, and click to confirm at the end point to complete a wire segment. After drawing all the wires, click the power button, add the necessary power and ground symbols, and edit their properties. The schematic drawing is now complete, as shown in Figure 2. Figure 1 Proteus main window [align=center] Figure 2 Circuit schematic [/align] 2.2 Program code writing The program code writing is mainly divided into four parts: (1) LPC2124 initialization code; (2) LPC2124 exception vector entry and the interface between the exception vector and C language code, including the code for initializing the stack; (3) LPC2124 target board special code, including exception handling program and target board initialization program; (4) According to our example requirements, combined with the schematic, write the code to implement the expected function, that is, the usual execution code, and save the code file as "main.c". Usually, in order to save the developer's time, these files are usually saved in a folder, and the folder is temporarily named "lpc2124 module". In this way, when writing program code later, this module can be directly called, and "main.c" can be rewritten according to different requirements, without having to rewrite these programs, saving a lot of time and greatly improving work efficiency. This section mainly explains the writing of "main.c". The function to be implemented is to use a stepper motor controller composed of an LPC2124 controller, LP297, and L298 to control the operation of the stepper motor. The schematic diagram shows the pin connections of each component. Seven voltage probes are also shown in the diagram, with a digital graph displaying the voltage level changes over time at each node. The KEY key controls the forward and reverse rotation of the motor (pressing the KEY key reverses the motor). The program flowchart is shown in Figure 3. The executable code file "main.c" is written according to the program flowchart. Figure 3 Program Flowchart [align=center] Figure 4 ADS Compilation Environment Window[/align] 2.3 Simulation The ADS integrated development environment is used in this paper for program compilation and linking settings. The ADS integrated development environment is an ARM core microcontroller integrated development tool launched by ARM, short for ARM Developer Suite. The mature version is ADS1.2. ADS1.2 supports all ARM series microcontrollers prior to ARM10, supports software debugging, supports assembly, C, and C++ source code, and features high compilation efficiency and powerful system library functions. Open the ADS1.2 integrated development environment CodeWarrior IDE, click Project→New Project to create a new project lcd.mcp, and add all the compiled code files to the project, as shown in Figure 4. After making the relevant settings, select Project→Make command to compile and link the project, generating the stepper.hex file. Right-click the microcontroller LPC2124 in the schematic diagram, and then click again to bring up a property setting window Edit Component, as shown in Figure 5. Add the path of the generated stepper.hex file to Program File, and click OK to complete the settings. Click the run button in the lower left corner of the schematic diagram to start the simulation. The simulation results are shown in Figure 6. The digital graph shows the curves of the voltage level values ​​of each voltage node changing over time. The stepper motor runs as required, and the motor reverses when the KEY key is pressed. The simulation results fully meet the design requirements. [align=center] Figure 5 Component Editing Window[/align] [align=center] Figure 6 Simulation Result[/align] 3 Conclusion Through the above simple stepper motor control system design process, we can see the advantages of using Proteus software for ARM virtual development. Using Proteus for ARM virtual development not only reduces the investment in experimental hardware capital but also overcomes the limitations of experimental content on actual development boards, allowing developers to fully utilize their initiative. Proteus simulation significantly reduces development costs and improves development efficiency. I believe that with the continuous development and improvement of electronic technology, the application of software-based hardware virtual development will play an increasingly important role. References [1] Microcontroller control of stepper motor based on L297/L298 chip [J]. Microcomputer Information, 200, 12-2: 134-135. [2] PHILIPS. LPC2214/2124/2212/2214 User Manual. PHILIPS, 2004. [3] Zhou Runjing et al. Circuit and microcontroller system design and simulation based on PROTEUS [M]. Beijing: Beijing University of Aeronautics and Astronautics Press, 2006. [4] Zhou Ligong et al. Basic tutorial of ARM embedded system [M]. Beijing: Beijing University of Aeronautics and Astronautics Press, 2005. [5] Zhao Xinghan et al. Principles and applications of ARM development tool ADS [M]. Beijing: Beijing University of Aeronautics and Astronautics Press, 2006.
Read next

CATDOLL 136CM Sasha (Customer Photos)

Height: 136cm Weight: 23.3kg Shoulder Width: 31cm Bust/Waist/Hip: 60/54/68cm Oral Depth: 3-5cm Vaginal Depth: 3-15cm An...

Articles 2026-02-22