Bootloader transplants uClinux's S3C44B0

The S3C44B0 is a 32-bit processor developed by Samsung for handheld devices or other general-purpose devices. It is based on the ARM7TDMI core and has no memory management unit (MMU). The uClinux system is widely used in embedded systems using MMU-free microprocessors. As a derivative system of Linux, it has the advantages of supporting multi-tasking, kernel streamlining, high efficiency and stability, and open source code. The basic process of system migration includes: obtaining a newer version of the linux-2.6.9 kernel source code, modifying the relevant parts of the source code and the hardware platform according to the target platform, adding necessary peripheral drivers, and performing crossover on the target platform for the system. Compile, download and debug the generated kernel image file.

Hardware environment introduction

The hardware platform takes S3C44B0 as the core, the external crystal frequency is 6MHz, the core frequency can reach 66MHZ, the platform uses 2MB AMD29LV160DB to do rom, its address space is 0~1fffff, and the memory is HY57V1620HG sdram, the address space is 0c000000~ 0c7fffff, a total of 8MB, with RTL8019as as the network control chip, connected to Bank5 of S3C44B0, through the parallel connection of JTAG and PC to support online debugging and program programming.

Bootloader transplants uClinux's S3C44B0

Figure 1 hardware platform block diagram

uClinux porting

3.1 Establishment of a cross-compilation environment

Cross-compilation is the process of compiling a source program to generate object code running on another machine (target machine) using a compiler running on a machine (host). The cross-compilation environment of this paper is established as follows: Install the Linux operating system on our PC as our host, the version is FEDore Core 5, download the cross-compilation toolchain arm-elf-tools20040427 from http: //uClinux.org/ and install it. On a Linux host, this creates a cross-compilation environment for uClinux-arm.

3.2U-Boot-1.1.2 transplantation

The Bootloader is the first piece of code that runs after the system is powered up. In an ARM-based embedded system, the system usually starts from address 0X00000000 when it is powered on or reset, and this address is usually the system bootloader. The segment program can initialize the hardware device and establish a map of the memory space, thereby adjusting the system hardware and software environment to a suitable state, in order to prepare the correct environment for the final call of the operating system kernel.

In this article, the bootloader is implemented by transplanting U-Boot. The full name of U-Boot is Universal Boot Loader. It is a Bootloader boot program developed by DENX in Germany for various embedded CPUs. It supports PowPC, ARM, MIPS, M68K and other processor platforms, and supports Linux, VxWorks, NetBSD, etc. A variety of embedded operating systems, mainly used to develop embedded system initialization code bootloader, which is easy to tailor and debug, respect the GPL (General Public License) convention, completely open source. You can get the source code of multiple versions from it. This article is based on u-boot-1.1.2 as an example.

Before the porting, you can check the main structure of the U-Boot source code by looking at the doc file. The directories related to porting in many directories are mainly boards, cpu, drivers, and so on. The basic process of porting is as follows:

(1) Find a hardware platform with S3C44B0 processor as the core, this purpose is to simplify the porting difficulty;

Run find-exec grep -l 44B0 {} on board/ to find /dave/B2/B2.c, so we know that Dave's B2 platform is based on S3C44B0 processor, so the migration can refer to B2 platform;

(2) Create a directory lanlan of our target platform, copy the files of the B2 board to the created directory, but need to modify the name of the file;

(3) Modify the name of the file in the newly created directory, and change all B2 in the file to lanlan;

(4) Add the configuration file lanlan.h of the target platform in include/configs/; this file can be created with reference to B2.h;

(5) Modify the Makefile in the general directory and add the compilation information of the target board;

After this process is completed, you can run make lanlan_config in the u-boot/ directory. Make is compiled. If you can generate u-boot.bin and other files after compiling, the previous process is correct. If an error occurs, you need to follow the error. Information related to modification;

(6) Modify the hardware-related files. There is a directory of S3C44B0 in cpu/, indicating that U-Boot has provided support for S3C44B0. We just need to modify some files to make it suitable for our target platform. The main modification is cpu/ Under start.S and serial.c, include/configs/ under lanlan.h about cpu frequency, serial port baud rate, PLLCON register, flash and sdram size, base address and base address of network control chip, etc. Make sure to modify the correct run after running lanlan_config; make command, compiled u-boot.bin is the boot program we need;

(7) Write the generated u-boot.bin to the 0x0 address of the target platform through JTAG, configure minICom under Linux or HyperTerminal under Windows. Note that the configured serial port and serial port baud rate should be set in U-Boot. Similarly, press the reset button or power on to restart the target platform, you can see from the minicom or HyperTerminal that U-Boot is running in the system.

Through the above steps, the main work of U-Boot transplantation is completed.

Portable Power Stations

We are dedicated charging solution Manufacturer since 2005.



Supply various Power Station including Portable Power Stations, Solar Power Generators, Smallest Generator etc.


Manufacturing high quality products for customers according to international standards, such as CE ROHS FCC REACH UL SGS BQB etc.


To constantly offer clients more innovative products and better services is our consistent pursuit.




portable power stations for camping, solar pow er stations, jackery portable power station

TOPNOTCH INTERNATIONAL GROUP LIMITED , https://www.micbluetooth.com