Clarify ARM development ideas for ARM beginners

Publisher:影子猎人Latest update time:2021-04-23 Source: eefocusKeywords:ARM Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

Introduction: We will explain to novices from four aspects: startup code, chip information, operating system program, and minimum system version to help you sort out ARM development ideas.


Make a minimum system board: If you have never done ARM development, it is recommended not to be greedy and complete at the beginning, and make all the applications well, because the startup method of ARM is different from that of DSP or MCU, and various problems will often be encountered. Therefore, it is recommended to first lay out a small system board with only Flash, SRAM or SDRAM, CPU, JTAG, and reset signal, leaving an expansion interface. If the minimum system can run normally, the task is half completed. Fortunately, the peripheral interfaces of ARM are basically standard interfaces. It would be even better if you have experience in wiring these hardware.


Write startup code

Write a small bootable code based on the hardware address, including the following parts: initialize the port, shield interrupts, copy the program to SRAM, complete code remapping, configure interrupt handles, and connect to the C language entry. Maybe some sample programs have a lot of bootloaders, but don't be bothered by these complicated programs, because they need to be designed in the process of designing the development board and are not included in the scope of ARM design.


Research chip information

Although ARM is compatible in terms of core, each chip has its own characteristics, and these issues must be considered when writing programs. Especially girls, don't be dependent here, always want to modify other people's sample programs, but the more you modify, the more messy it becomes.


Understand operating system programs

There are many open source programs for ARM applications. If you want to improve yourself, you should read more other people's programs. Linux, uc/os-II, etc. are all very good source codes.


hardware

If the designer makes the hardware by himself, each manufacturer basically has a DEMO board schematic for the chip. If you digest the schematic first, you will have a clear idea of ​​the resource allocation when you design in the future. The device's DATSHEET must be digested well.


Minimum system board

Many people will ask, is it better to make a minimum system board with 2 layers or 4 layers? Answer: Only AT91 can use a two-layer board, and the others can use at least 4 layers; 44b0 ground and power supply can also be handled with a two-layer board; Talk about four-layer boards and 33 ohm resistors: The selection of four-layer boards is not only a matter of power and ground, but also the impedance of the high-speed digital circuit has requirements for the impedance of the wiring, and the impedance of the two-layer board is not easy to control. The 33 ohm resistor is generally added to the driver end, which also plays the role of impedance matching; when wiring, the data address line and the high-speed line that needs to be guaranteed should be laid first; at high frequencies, the wiring on the PCB board should be regarded as a transmission line.


Transmission lines have their characteristic impedance. Those who have studied transmission line theory know that when there is a sudden impedance change (mismatch) somewhere on the transmission line, the signal will be reflected, and the reflection will interfere with the original signal. In serious cases, it will affect the normal operation of the circuit. When using a four-layer board, the outer layer usually has signal lines, and the middle two layers are power and ground planes. This isolates the two signal layers on the one hand, and more importantly, the outer layer of the lines and the planes they are close to form a transmission line called a "microstrip", whose impedance is relatively fixed and can be calculated.


It is more difficult to do this for a two-layer board. This transmission line impedance is mainly related to the width of the trace, the distance to the reference plane, the thickness of the copper plating, and the characteristics of the dielectric material. There are many ready-made formulas and programs for calculation. A 33-ohm resistor is usually connected in series at one end of the driver (not necessarily 33 ohms, ranging from a few ohms to fifty or sixty ohms, depending on the specific situation of the circuit). Its function is to match the impedance of the trace after being connected in series with the output impedance of the transmitter, so that the signal reflected back (assuming that the impedance of the receiving end is not matched) will not be reflected back again (absorbed), so that the signal at the receiving end will not be affected.


The receiving end can also be matched, for example, by using resistors in parallel, but it is rarely used in digital systems because it is more troublesome, and in many cases, multiple signals are sent at once, such as the address bus, which is not as easy to do as the source end matching. The high frequency mentioned here does not necessarily refer to a circuit with a very high clock frequency. Whether it is a high frequency depends not only on the frequency, but more importantly on the rise and fall time of the signal. Usually, the rise (or fall) time can be used to estimate the frequency of the circuit, generally taking half of the reciprocal of the rise time. For example, if the rise time is 1ns, then its reciprocal is 1000MHz, which means that when designing the circuit, it is necessary to consider the frequency band of 500MHz.


Sometimes it is necessary to deliberately slow down the edge time. The output slope of the driver of many high-speed ICs is adjustable. Linux itself has a complete set of tool chains, which makes it easy to establish the development environment and cross-operation environment of embedded systems by yourself, and can overcome the barriers of simulation tools (ICE) in embedded system development. The complete openness of the kernel allows people to design and develop real hard real-time systems by themselves, and soft real-time systems are also easy to implement in Linux. Powerful network support makes it possible to use Linux's network protocol stack to develop it into an embedded TCP/IP network protocol stack. Linux provides the basic kernel for completing embedded functions and all the required user interfaces. It is multifaceted. It can handle embedded tasks and user interfaces.


A small embedded Linux system only needs the following three basic elements: * Boot tools * Linux microkernel, which consists of memory management, process management and transaction processing * Initialization process If you want it to do something and continue to keep it small, you have to add: * Hardware drivers * One or more applications that provide the required functions. To add more functions, you may need these: * A file system (perhaps in ROM or RAM) * TCP/IP network stack.


Keywords:ARM Reference address:Clarify ARM development ideas for ARM beginners

Previous article:Research on Wireless Monitoring System Based on Embedded Windows CE5.0
Next article:A USB host design based on ARM and μC/OS-Ⅱ

Recommended ReadingLatest update time:2024-11-17 01:57

Design of DC system ground fault detection application based on ARM
0 Introduction The DC power supply system of power plants and substations is the working power supply of control and signal systems, relay protection and automatic devices. It is very important to ensure the safe operation of power systems, which requires that the DC system and its network must have high reliabi
[Microcontroller]
Design of DC system ground fault detection application based on ARM
A Reconfigurable MAC Protocol Design Based on ARM and FPGA
0 Introduction The advantages of the MAC protocol based on CSMA/CA are its simplicity and robustness. It is suitable for distributed networks. Each node does not need to maintain and dynamically update the status information of the surrounding adjacent nodes. It can independently decide when to access the channel. As
[Microcontroller]
A Reconfigurable MAC Protocol Design Based on ARM and FPGA
Analysis of the startup file of ARM CM3
Let's take the startup code of the ARM Cortex_M3 bare core as an example to do a simple analysis. First, three tasks are completed in the startup file: 1. Initialization of stack and heap 2. Locate the interrupt vector table 3. Call the Reset Handler. Before the introduction, let's first understand the usage of som
[Microcontroller]
Analysis of the startup file of ARM CM3
Azure ARM (11) Create a virtual machine and configure a load balancer in ARM mode
  In the previous chapters, we did the preparation work:   1. Create an ARM Resource Group called LeiResourceGroup   2. Create an ARM Storage Account called leistorageaccount   3. Create an ARM Virtual Network called LeiARMVNet       In this chapter, I will introduce how to create a virtual machine VM in ARM mode. It
[Microcontroller]
Azure ARM (11) Create a virtual machine and configure a load balancer in ARM mode
ARM assembly instruction set eight - shift instruction (operation)
1. LSL (or ASL) operation The format of an LSL (or ASL) operation is: General register, LSL (or ASL) operand      LSL (or ASL) can perform a logical (or arithmetic) left shift operation on the contents of a general register, shifting left by the amount specified by the operand, and filling the low bits with zeros.
[Microcontroller]
Establishment of arm-linux-qt environment
Establishment of Arm-Linux Embedded QT/E Environment (qt/e 3.x series) The QT/E 3.x series has been greatly improved over the QT/E 2.x series, greatly improving the development progress. It no longer uses tmake, and the installation is also simpler. However, there are still relatively few introductions to the QT/E 3.x
[Microcontroller]
ZigBee protocol porting (ARM+Linux)
The steps of porting ZigBee protocol stack are as follows: 1)            Learn the similarities and differences between the custom hardware platform and the hardware supported by Microchip ZigBee protocol stack in detail. Analyze and compare the user-defined hardware platform and the hardware platform supported by Micr
[Microcontroller]
About the register configuration of ARM clock system
1. Clock source system The clock configuration determines the clock source of a chip, the operating frequency of the CPU, the clock frequency of the memory controller, etc. From the results, the register controls three clock routes, FCLK, HCLK and PCLK; FCLK - for the CPU, HCLK - AHB bus for the memory controller, i
[Microcontroller]
About the register configuration of ARM clock system
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号