Chapter 14: TIny4412 U-BOOT Transplantation 14 Compile and Generate Kernel

Publisher:脑力激荡Latest update time:2021-12-07 Source: eefocusKeywords:TIny4412 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1. Modified file description

Because there are many modifications in each file in the previous chapters, it takes too much time to record them one by one, so I have talked about a lot of principles. Here I will summarize the files I have modified. The modified files mentioned here are relative to the u-boot platform code created in the first chapter.


1. /makefile

2. The entire sd_fuse folder. I copied the entire sd_fuse folder under the uboot provided by FriendlyARM. Because this file is used to burn the SD card, I copied it directly and used it.

3. /include/configs/zthtiny4412.h

4. /board/Samsung/zthtiny4412

5. /arch/arm/lib/board.c

6. /arch/arm/include/asm/arch-exynos/cpu.h

7. / arch/arm/include/asm/arch-exynos/movi_partition.h

8. / arch/arm/cpu/armv7/exynos/irom_copy.c Actually, this file does not need to be modified. I changed it for debugging.


These should be the files. Now we can compile the kernel.


2. Compile, burn and debug

The following commands are provided for reference:

cp -R /media/sf_share/u-boot_zth .

chmod –R 777 u-boot_zth /

cd u-boot_zth

make distclean

make zthtiny4412_config

make

The following is the SD card file provided by FriendlyARM.

cd sd_fuse/

make

cd zthtiny4412/

./sd_fusing.sh /dev/sdb

The serial port information after running is shown in the figure below:



Figure 14-1, u-boot debugging output information

To be honest, I didn't expect uboot to be able to run to the step of entering commands, and the output information can be said to be basically the same as that provided by FriendlyArm, except for the two places I marked above, the differences in other places were deliberately added when I modified the code.


To be honest, I feel surprised and happy at this point, but also a bit frustrated, because I didn't expect it to go this far at once. I thought I would have to change this and that to support the network, commands, etc. I didn't expect it to get to this point at once, so I had to change my plan. I don't have the courage and energy to get a source code from the UBOOT official website to port it, because I killed this idea at the beginning. I was still impatient, and my goals were different. I didn't have much time, so I always wanted to do it quickly. I don't want to do it again, so let's just leave it at that. The next step is to port the LCD.


One more point needs to be explained. I tried to find the reasons for the above two differences by comparing them with the codes provided by FrienlyARM. I didn't compare them in detail, so I didn't find the specific reasons and I'm still unsure.

Keywords:TIny4412 Reference address:Chapter 14: TIny4412 U-BOOT Transplantation 14 Compile and Generate Kernel

Previous article:Chapter 13: Tiny4412 U-BOOT transplantation 13 DDR3 initialization source code analysis
Next article:Chapter 16: Android LCD (II): LCD Common Interface Principles

Recommended ReadingLatest update time:2024-11-16 19:48

【ARM】Porting Linux Kernel 2.6.13 to the board step by step
#1 Materials needed for environment construction Linux kernel code translater File system samba tftp SecureCRT6.0 Development board uboot nfs-kernel-server #2 The relationship between the materials needed to build the environment #3 Development board used #4 Translate the kernel ##4.1 Modify makefile ##4.2 Cop
[Microcontroller]
【ARM】Porting Linux Kernel 2.6.13 to the board step by step
Mini2440 kernel stops at booting the kernel problem and solution to the problem of being unable to run linuxrc
In the past few days, I have transplanted the 2.6.32.2 kernel on the 2440 board and used the ready-made uboot. However, every time the uImage self-decompressed, it got stuck. After booting the kernel, there was nothing to do. It took me a long time to find out that the uImage was created. Question, I directly made uIm
[Microcontroller]
Arm Linux from entry to start_kernel code analysis - 3
2. Determine the machine type       In arch/arm/kernel/head.S: 00079:   bl  __lookup_machine_type    @ r5=machinfo                          00080:   movs  r8, r5        @ invalid machine (r5=0)?  00081:   beq  __error_a      @ yes, error 'a'  Line 79: Jump to the __lookup_machine_type function. In __lookup_machi
[Microcontroller]
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号