The startup process of the S5PV210 microprocessor

Publisher:幸福满溢Latest update time:2021-01-04 Source: eefocusKeywords:S5PV210 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

      When S5PV210 is powered on, it will execute the solidified boot code BL0 from IROM, which initializes the clock, determines the boot device, and copies BL1 (maximum 16KB) from the boot device to IRAM (address 0xD0020000, where the 16 bytes before 0xD0020010 store the check information and size of BL1), and checks BL1. After the check is successful, it will be transferred to BL1 for execution.


      BL0: refers to the boot code solidified in the IROM of the S5PV210 microprocessor.

      BL1: refers to the first 16kB code of the uboot.bin binary file automatically copied from the external memory (nand/sd/usb) in IRAM.

      BL2: refers to the complete code of UBOOT executed in memory after redirection in the code.


     The relationship between the above three is: BL0 loads BL1 into IRAM, then BL1 runs in IRAM and loads BL2 into SDRAM, and BL2 loads the embedded operating system kernel. BL is the abbreviation of bootloader.


     The address range of the IRAM of the S5PV210 microprocessor is 0xD0020000~0xD003FFF. After power-on, the stubborn BL0 is executed, and the code of the boot device is copied to the IRAM and jumped to 0xD0020010 for execution.


     The 16-byte header information from 0xD0020000 to 0xD0020010 is arranged as follows:

     0x0 address: BL1 size

     0x4 address: must be set to 0;

     0x8 Address: CheckSum.

     0xc address: must be set to 0.

     I summarize the flowchart of the header operation as follows:


Keywords:S5PV210 Reference address:The startup process of the S5PV210 microprocessor

Previous article:i.MX6Q (TQIMX6Q/TQE9) Study Notes-LTIB Installation and Configuration
Next article:S5PV210 development board flashing (SD card uboot, serial port + USB-OTG flashing method)

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号