ARM9 entry learning experience sharing

ARM9 adopts Harvard architecture, instructions and data belong to different buses and can be processed in parallel. In the assembly line, ARM7 is a three-stage assembly line and ARM9 is a five-stage assembly line. Because of different structure, ARM7 is less efficient than ARM9. Usually referred to as ARM7, ARM9 actually refers to the ARM7TDMI, ARM9TDMI soft core, this processor soft core does not come with MMU and cache, can not run such as linux embedded operating system. The ARM company has extended this architecture, so with the ARM710T, ARM720T, ARM920T, ARM922T and other processor cores with MMU and cache. This article first introduced the advantages and characteristics of ARM9. Secondly, it described the content summary and book recommendation of ARM9, and finally introduced ARM9 learning experience.

ARM9 advantages

1) Improvement of clock frequency

Although the ARM7 and ARM9 cores have the same architecture, the ARM7 processor uses a von Neumann architecture with a 3-stage pipeline; and ARM9 uses a 5-stage pipelined Harvard architecture. The increased pipeline design improves clock frequency and parallel processing capabilities. A five-stage pipeline can allocate each instruction processing to five clock cycles, and there are five simultaneous instructions in each clock cycle. In the commonly used chip production process, ARM7 generally runs at about 100MHz, and ARM9 is at least above 200MHz.

2) Improvement of instruction cycle

The improvement of the instruction cycle is very helpful for improving the performance of the processor. The extent of performance improvement depends on the overlap of instructions when the code is executed, which is actually a problem of the program itself. For the most advanced languages, the performance improvement is generally around 30%.

3) MMU (memory management unit)

ARM7 generally does not have an MMU (memory management unit), (the ARM720T has an MMU).

ARM9 generally has MMU, ARM9940T only MPU, not a complete MMU.

This one is very important, MMU unit is the necessary hardware support for large-scale operating systems, such as LINUX; WINCE. This means that ARM7 can only run small real-time systems such as UCOS-II, eCOS, etc., while ARM9 does not have this limitation, the general operating system can be transplanted. In fact, even if the ARM720T can support LINUX; WINCE and other systems, it is rarely used, because the running speed of this large-scale operating system ARM7, it is a bit difficult. In addition, the application fields of the two are obviously different, and this is not necessary.

ARM9 features

1. Provide a 1.1MIPS/MHz Harvard architecture.

2. Support 32-bit ARM instruction set and 16-bit Thumb instruction set.

3, support 32-bit high-speed AMBA bus interface.

4, full-featured MMU, supports Windows CE, Linux, PalmOS and other mainstream embedded operating systems.

5. MPU supports real-time operating system.

6, support for data cache and instruction cache, with higher instruction and data processing capabilities. The size is 16K.

ARM9 entry learning experience sharing

ARM9 to learn content summary

1, learn Linux system installation, commonly used commands, application installation.

2, learning C programming under Linux, this book must learn "UNIX environment advanced programming", "UNIX network programming", written by Rechard Stevens, C master mostly learned "C and pointer", "C defects and traps", "High-quality C/C++ Programming Guide", "C Expert Programming", "The C programming Language"

3, programmers must learn: data structure, embedded programmer data structure must learn!

4, the bottom of the developer must learn: microcomputer principle, computer architecture, embedded developers must learn!

5, SCM can let a person engaged in software development to understand and how to operate the hardware, it is necessary to learn, because from the beginning to start from ARM, not realistic!

6, ARM architecture, which has a compilation.

7, digital circuit is necessary to learn, otherwise you really do not know how to see the schematic when doing bottom-level development, at least have to understand and OR.

8, ARM + Linux application development. (The premise is to have a development board) At this point, you are barely a preliminary entry in the embedded Linux industry, but unfortunately this is not enough!

9, to do the underlying development, we must know how the hardware and software are linked together and work together, then the electronic technology should be a good study, and many times will use analog circuit knowledge, which is the difference between the difference between a good hand and a rookie one.

10. The assembly under Linux should be learned so that you can really understand how your program is written on a specific piece of hardware. This is the difference between a good hand and a rookie.

11, TCP / IP protocol stack to learn, all embedded masters have to master things, this is the difference between a good hand and rookie differences.

12. With these things, it is no longer necessary to win the Linux driver. It requires you to learn the Linux kernel source code and Linux driver design. This is a technical sublimation.

13, audio, video decoding and decoding technology you have to learn.

14, a variety of IC, a variety of bootloader you can participate in its development and design.

ARM9 entry learning experience sharing

ARM9 introduction books recommended

1. "ARM Embedded System Development ------ Software Design and Optimization"

2, "Arm program analysis and design"

3, "bird brother's Linux private kitchen"

4, "Qt GUI Design"

5, "Linux advanced program design"

6. "Building an Embedded Linux System"

ARM9 entry learning experience

1, on bare metal program download problems, the use of J-link:

(1) Additional power line power supply, the prerequisite for the development board to work properly must have power supply;

(2), connecting J-link, J-link in the 2440 development process has two roles:

The first is for downloading the 2440.jflash program.

Second, used to download U-boot to Nor Flash

In conjunction with the use of J-Flash ARM software, open J-Flash ARM, and then open project-"s3c2440.jflash, after loading the program, click Target-" connect, connect to the ARM development board, pay attention to perform this operation before The ARM development board should be powered on and J-Link connected to the PC. The J-link needs to be installed in advance. After the connection is successful, it indicates that a connection has been established between the PC-side software and the ARM development board, and the program can be downloaded.

Ensure that the Flash boot switch at this time is on Nor Flash (it should be dialed to Nor before power on), then open data file-"u-boot.bin, load u-boot program, after loading successfully, select address 0, select Target-Auto will download U-boot to the development board.

2. The function of downloading U-boot is to allow the development board to be guided by the PC's control instructions. The main purpose is to interact and facilitate the download of later programs.

3. Use the serial terminal secureCRT for terminal control, Nor starts, and after sending power, it will automatically send messages to the terminal. At this time with space to stop u-boot boot, enter n, will download the bare metal program to Nand Flash, this time the development board will receive the command, wait for the PC to download the bare metal program

4. Use DNW software to send bare metal programs to be downloaded. Transmit.

5. The above 3 and 4 can be directly completed under Linux, using minicom software and DNW software under Linux.

Electronic Cigarette

Electronic Cigarette,Largest E-Cig Oem,China E-Cig Oem,Vape Pen Oem,Vape Device Oem

Shenzhen MASON VAP Technology Co., Ltd. , https://www.masonvap.com