1. Basic introduction:
Although I have learned 51 and 430 single-chip microcomputers before, I have not summarized much and I am very blind. I just read books and videos and then started to read and write codes. Although reading the 51 routine code at the beginning did give me an entry-level understanding of single-chip microcomputer programming, it was still very useful. However, after all, it was written in C language, and there was no subsequent resource to continue to learn chips, so I had no understanding of the internal structure, resources, and operation methods of 51 and 430. I could only do the most basic copy-paste programming of the programs I had seen. Now I am learning S3C2440 and using the JZ2440 development board, hoping to sort out all these things.
2. Understanding of embedded systems:
After a long period of preparation, I finally figured out some basic things: what is embedded, ARM instruction set architecture, ARM family, the difference between S3C2440 chip and ARM920T instruction set architecture, the structure of the operating system (boot loader, kernel composition, drivers and applications), basic operations of Linux instructions, etc.
(It is worth mentioning that when you don’t understand a field, reading a wide range of related books can give you a systematic understanding of this field. Books can provide people with a more comprehensive understanding of principles and systems. Don’t expect Baidu to explain it to you through a few videos. On the other hand, after understanding the systematic things, when you start to do actual operations, the introduction of relevant tools, specific operations and specific target board resources can help people get started quickly.)
After understanding the concepts and structure of a new operating system, we will now focus on a specific embedded chip: S3C2440, and begin to learn how to use this chip to control the hardware, the resources on the chip, and how to compile and download the code for the chip.
The above is the transition from reading a wide range of embedded books on some general directions (ARM history, architecture, operating system, etc.) to studying a specific embedded chip, and starting some specific learning and operations.
3. Actual operation:
1) Getting started with the operating system: Since most embedded systems are based on the Linux system, you should first become familiar with the operation of Linux. Later, it was discovered that 90% of the embedded Linux code is still compiled on the Linux system, so it is quite necessary to actually operate Linux.
After I wrote my first hello world program in VMware's Ubuntu last time, I felt unfamiliar with the new Linux operating system. I was even confused about where the files I created were, how to modify files, how to edit, compile and download programs for JZ2440, and what the instructions were.
The first thing that came to my mind was to get started with the practical application of Ubuntu, an extremely unfamiliar operating system. So I found a book in the library called "Ubuntu Linux from Beginner to Mastery (Version 9)" - edited by Xing Guoqing, Qiu Pengtao and Chen Jijun, and I thought it was pretty good.
The book has a certain introduction to Ubuntu's graphical interface, command line operations, how to create files, delete files, Shell, and Shell Script writing, and some basic command explanations. At least the first few chapters of the book gave me a new understanding of how to use commands to operate in Linux, its directory structure, and the application of basic commands. After knowing some operations, I found that commands are the essence of the Linux operating system, so I found a quick reference manual for commands, "Linux Command Example Quick Reference Manual" - compiled by Huang Zhaohe and others, to have a good understanding and study of the commands under this operating system. 2017.12.20
2) Editing, compiling and downloading the JZ2440 program: After constant efforts, I finally figured out how to edit the code under the host Windows, compile the code under the host Linux, transfer it back to the Windows system, and transfer the executable file to the target board.
Because actual operations such as downloading, editing, compiling, and file transfer between systems definitely require the use of some tools, the first thing in actual operations is to be familiar with and use various tools.
for example:
1. How to download the program to the target board JZ2440, through what method, what driver to install, and what software to use?
2. What editing software are there and under which system can they be edited?
3. What are the compilation software and under which system are they compiled?
4. What are the tools for transferring files between the host, Linux on the virtual machine, and the embedded Linux on the target board, and how do they communicate?
Of course, the types of tools mentioned above need to be combined with the specific resources on the target board.
For example, the serial-to-USB interface on the JZ2440 target board is used to send commands to the target board, receive and display the returned data. So how to operate this serial-to-USB interface, what driver to install, and what tool to use to send this command and receive data are all provided and explained step by step by the developer of the target board (as a novice, it is too difficult to do it completely by yourself). In this process, I mainly combined the supporting videos of the development board and the supporting book "Complete Manual for Embedded Linux Application Development" written by Wei Dongshan, some tool explanations in the book, and the introduction of resources on the development board, accompanied by Baidu, step by step to master the role and actual operation of various tools, and officially edited, compiled and downloaded the first program today.
Fortunately, it is finally time to learn about the S3C2440 chip resources and hardware operations on the target board. We can start to understand the chip resources and actually program the target board.
Previous article:JZ2440 bare metal development and analysis: ARM chip clock system 1
Next article:2.3 [Bare Metal Part] Mastering the ARM Chip Clock System
- Popular Resources
- Popular amplifiers
- Learn ARM development(16)
- Learn ARM development(17)
- Learn ARM development(18)
- Embedded system debugging simulation tool
- A small question that has been bothering me recently has finally been solved~~
- Learn ARM development (1)
- Learn ARM development (2)
- Learn ARM development (4)
- Learn ARM development (6)
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- LED chemical incompatibility test to see which chemicals LEDs can be used with
- Application of ARM9 hardware coprocessor on WinCE embedded motherboard
- What are the key points for selecting rotor flowmeter?
- LM317 high power charger circuit
- A brief analysis of Embest's application and development of embedded medical devices
- Single-phase RC protection circuit
- stm32 PVD programmable voltage monitor
- Introduction and measurement of edge trigger and level trigger of 51 single chip microcomputer
- Improved design of Linux system software shell protection technology
- What to do if the ABB robot protection device stops
- Wi-Fi 8 specification is on the way: 2.4/5/6GHz triple-band operation
- Wi-Fi 8 specification is on the way: 2.4/5/6GHz triple-band operation
- Vietnam's chip packaging and testing business is growing, and supply-side fragmentation is splitting the market
- Vietnam's chip packaging and testing business is growing, and supply-side fragmentation is splitting the market
- Three steps to govern hybrid multicloud environments
- Three steps to govern hybrid multicloud environments
- Microchip Accelerates Real-Time Edge AI Deployment with NVIDIA Holoscan Platform
- Microchip Accelerates Real-Time Edge AI Deployment with NVIDIA Holoscan Platform
- Melexis launches ultra-low power automotive contactless micro-power switch chip
- Melexis launches ultra-low power automotive contactless micro-power switch chip
- COCOFLY Tutorial - Crazy Shell Drone Series Quick Start [5] Remote Controller Firmware Burning
- EEWorld Chip Points Exchange Annual Rewards are coming~ Multiple shortcuts to earn points exposed + gift exchange spoilers
- idea
- Ti's C28x series MCU CAN bus
- The data read by BMI088 spi is always 0xFFFF
- EEWORLD University Hall----T-Box System and Solution Introduction
- What are OTP sheets and mask sheets? What is the difference between them?
- Lichee RV 86 PANEL Review (5) - Game streaming on Lichee RV-86
- Download "Five Factors Affecting Oscilloscope Test Accuracy" to learn how to improve test accuracy
- DIY some electronic devices to make daily life more intelligent