Overall analysis: What is your purpose?
What are your plans?
What problems will you encounter?
How did you solve the problem?
Did you do what you were supposed to do today?
Can you finish what you need to do today?
What are the modification precautions?
Note: The path nand_spl/board/samsung/smdk6410 in the Makefile in Toodir has not been changed
If nand BUG occurs, check config.mk under nand_spl/board/samsung/oko6410
How much do you know about S3C6410?
Bookmark the data sheet for easy reference...it's too tiring to search one by one!!!
Debugging tips: Mark the modified parts by xcc to facilitate debugging.
Startup successful, flash initialization problem.
Add a task: port a Linux, the kernel version is tentatively set to 3.1.
Step 1: Create an open environment
Problem encountered: The cross-compilation environment on the AMD platform virtual machine has a problem that the hardware compilation environment does not support it. Arm-linux-gcc:souch file cannot be found
Solution: Build your own cross-compilation environment
Step 2: Analysis
Achieve goals:
The features of this transplant include:
-
Support Nand Flash read and write
-
Support booting from Nor/Nand Flash
-
Support CS8900 or DM9000 network card
-
Support Yaffs file system
-
Support USB download (not yet implemented)
1. Understand the main directory structure and boot process of u-boot, and read the code
2. Generate a basic uboot.bin, burn it to the development board, test it and it will not run correctly, and the hardware cannot be initialized correctly.
Step 3: Steps to transplant OK6410 development board
Analysis of stage1 entry point of OK6410 development board u-boot.
Generally, in embedded system software development, after all source code files are compiled, the linker needs to read a link allocation file, which defines the program entry point, code segment, data segment, etc. The link file of our my2440 development board u-boot is cpu/arm1176s/u-boot.lds. Open this file and read the following code:
Make a file system analysis example diagram
The stage1 code of u-boot is usually placed in the cpu/xxxx/start.S file, which is written in assembly language;
The stage2 code of u-boot is usually placed in the lib_xxxx/board.c file, which is written in C language.
The flowchart of each part is as follows:
Step 3: Start transplanting
1. Build your own development board project and test it
Currently, u-boot directly supports many CPUs. You can check some subdirectories of the board directory, such as the board/samsung/ directory, which supports some Samsung ARM processors, including smdk2400, smdk2410 and smdk6400, but not ok6410, so we will build our own development board project here.
Question: Based on what modifications should I make to port the uboot I need?
Answer: 1. uboot documentation, Makefile, config file
2. Data sheet, change entry address, download address, etc.
*************************************************** ****************************
**************************Use Uboot to light up the LED light to facilitate uboot debugging******************************
*************************************************** ****************************
Previous article:Chapter 7 The LED will blink for me: Controlling light-emitting diodes
Next article:Interrupt handling study notes
- 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
- CGD and Qorvo to jointly revolutionize motor control solutions
- CGD and Qorvo to jointly revolutionize motor control solutions
- Keysight Technologies FieldFox handheld analyzer with VDI spread spectrum module to achieve millimeter wave analysis function
- Infineon's PASCO2V15 XENSIV PAS CO2 5V Sensor Now Available at Mouser for Accurate CO2 Level Measurement
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- A new chapter in Great Wall Motors R&D: solid-state battery technology leads the future
- Naxin Micro provides full-scenario GaN driver IC solutions
- Interpreting Huawei’s new solid-state battery patent, will it challenge CATL in 2030?
- Are pure electric/plug-in hybrid vehicles going crazy? A Chinese company has launched the world's first -40℃ dischargeable hybrid battery that is not afraid of cold
- What do you need to prepare for TI's hands-on wireless training session on June 4?
- STM32 may crash, and it will work normally after rewriting the program
- CH549EVT development board test - driving LCD5110 display
- EEWORLD University Hall----Live Replay: ADI Digital Active Noise Cancelling Headphone Solution
- If the number of 1 bits in the accumulator is odd, P is set (odd parity); otherwise, P is cleared.
- 【NXP Rapid IoT Review】W3 Environmental Data Collection
- [Flower carving hands-on] Interesting and fun music visualization project (09) - X Music Spectrum
- Fudan Micro FM33LC046N Review Summary
- TMS320C55x Assembly Language Programming
- Tektronix 618 promotion has started! The lowest price of the year!