Beginner's guide to ARM development hardware selection

Publisher:感恩的7号Latest update time:2011-06-21 Keywords:ARM Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1. If you have experience in hardware and single-chip microcomputers, it is recommended that you make a minimum system board yourself: If you have never done ARM development, it is recommended that you do not be greedy for perfection at the beginning, and make all the applications well, because the startup method of ARM is different from that of DSP or single-chip microcomputers, and you often encounter various problems. Therefore, it is recommended to first build a small system board with only Flash, SRAM or SDRAM, CPU, JTAG, and reset signals, leaving an expansion interface. If the minimum system can run normally, your task is half completed. Fortunately, the peripheral interfaces of ARM are basically standard interfaces. If you have experience in wiring these hardware, this is a very easy thing for you.
2. Write the startup code. According to the hardware address, first write a small code that can be started, including the following parts:
initialize the port, shield the interrupt, copy the program to SRAM; complete the code remapping; configure the interrupt handle and connect it to the C language entry. Maybe you see that in some sample programs given to you, the bootloader will have a lot of things, but don't be bothered by these complicated programs, because you are not making a development board, your task is to make a small program to make your application run.
3. If you are making hardware, each manufacturer basically has a DEMO board schematic for the chip. Digest the schematic first. In this way, you will have a clear idea of ​​resource allocation when you design in the future. The device's DATSHEET must be digested well.
4. Carefully study the information of the chip you are using. Although arm is compatible in the kernel, each chip has its own characteristics. These issues must be considered when writing programs. Especially girls, don't have a dependent mentality here. You always want to modify other people's sample programs, but the more you modify, the more messy it becomes.
5. Read more operating system programs. There are many open source programs in arm applications. If you want to improve yourself, you should read more programs from others. Linux, uc/os-II, etc. are all very good original codes.
6. If you are doing software, it is best to understand the mechanism of the operating system. Of course, this is a piece of cake for software engineers. But if you are a hardware engineer, it will be a bit difficult. [page]

Q: Is it better to make a minimum system board with 2 layers or 4 layers?
A: 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 used with a two-layer board;
Talking 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 it is not easy to control the impedance of a two-layer board. The 33 ohm resistor is generally added to the driver end, which also plays an impedance matching role; 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. The transmission line has its characteristic impedance. Those who have studied the transmission line theory know that when there is a sudden impedance change (mismatch) somewhere on the transmission line, the signal will be reflected when it passes through, and the reflection will interfere with the original signal, which will seriously 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's lines and the planes they are close to form a transmission line called a "microstrip", whose impedance is relatively fixed and can be calculated. This is more difficult to do for a two-layer board. The impedance of this transmission line is mainly related to the width of the line, the distance to the reference plane, the thickness of the copper cladding, and the characteristics of the dielectric material. There are many ready-made formulas and programs for calculation.
The high frequency mentioned here is not necessarily 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, half of the reciprocal of the rise time is taken. For example, if the rise time is 1ns, then its reciprocal is 1000MHz, which means that the circuit should be designed based on a frequency band of 500MHz. Sometimes you need to deliberately slow down the edge time. The output slope of many high-speed IC drivers is adjustable!
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 50 or 60 ohms, depending on the specific 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 reflected signal (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, such as using resistors in parallel, but it is rarely used in digital systems because it is more troublesome, and many times one send and multiple receive, such as the address bus, is not as easy to do as the source end matching!

Keywords:ARM Reference address:Beginner's guide to ARM development hardware selection

Previous article:Research on embedded service robot controller based on ARM
Next article:Power Management in ARM-Based Portable Systems

Recommended ReadingLatest update time:2024-11-16 16:37

Research and Simulation of ARM Parallel Bus Based on FPGA
    0 Introduction In the design of digital systems, the FPGA+ARM system architecture has been used more and more widely. FPGA mainly realizes high-speed data processing; ARM mainly realizes system process control, human-computer interaction, external communication and FPGA control functions. Serial bus interfaces
[Embedded]
Research and Simulation of ARM Parallel Bus Based on FPGA
Quickly learn Arm (30)--Memory addressing (3)
The LPC2300 series ARM contains on-chip Flash, on-chip SRAM, Boot ROM, etc. By remapping the exception vector table through the memory remapping mechanism, it is possible to handle exception events in different memories. If the exception vector table is remapped to the corresponding memory. Boot ROM refers to the part
[Microcontroller]
Quickly learn Arm (30)--Memory addressing (3)
ARM startup code principle and analysis
Contents Content keywords: Image File RO Code Snippet ZI uninitialized data segment RW data segment Load Address Execu on A ddress Stack Pointer Stack space pointer Boot related hardware • Flash Rom (can be used as bootrom storage) Boot related hardware Boot related hardware Main functions of Boot •
[Microcontroller]
ARM startup code principle and analysis
Design and implementation of large capacity NAND FLASH in ARM embedded system
1 Introduction With the increasing application of embedded systems in mobile devices such as digital cameras, digital video cameras, mobile phones, and mp3 music players, FLASH memory has gradually replaced other semiconductor storage components and become the main data and program carrier in embedded systems.
[Microcontroller]
Design and implementation of large capacity NAND FLASH in ARM embedded system
22 concepts about ARM
1. Explanation of some common English abbreviations in ARM MSB: most significant bit; LSB: least significant bit; AHB: Advanced High-Performance Bus; VPB: VLSI peripheral bus that connects on-chip and off-chip functions; EMC: External Memory Controller; MAM: Memory Acceleration Module; VIC: Vectored Interrupt Controll
[Microcontroller]
What did Nvidia and Arm CEOs say at the 2020 Developer Conference?
Comprehensive compilation from HPC and Techcrunch I don’t know if it was a coincidence, but during the National Day holiday, both Nvidia and Arm held developer conferences. Nvidia CEO Jensen Huang had just finished his GTC keynote speech, and then he had a lively conversation with Arm CEO Simon Segars at the Arm Dev
[Semiconductor design/manufacturing]
Summary of key knowledge points of ARM assembly
1. LDR R1, =COUNT means put the address of COUNT variable into R1 LDR R1, COUNT means assign the contents of the COUNT variable address to R1 2. Load-Store structure - This should be a more distinctive part of RISC design. In RISC, the CPU does not operate on the data in the memory, and all calculations are requir
[Microcontroller]
Summary of key knowledge points of ARM assembly
Multi-parameter measurement system of solar cell modules based on ARM
1. Introduction When generating electricity, solar cell modules do not convert all the light energy they receive into electrical energy, but only a small part of it. Most of the energy evaporates in the form of heat energy on the back panel of the solar cell module. At the same time, the volatilization of hea
[Microcontroller]
Multi-parameter measurement system of solar cell modules based on ARM
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号