Mini2440 system transplantation kernel startup process

Publisher:创新思维Latest update time:2016-12-01 Source: eefocusKeywords:mini2440 Reading articles on mobile phones Scan QR code
Read articles on your mobile phone anytime, anywhere

1.1. Phase 1


arch/arm/kernel/vmlinux.lds

--------------------Makefile

 

2.1 arch/arm/boot/compressed/start.S decompression code

 

2.2 arch/arm/kernel/head.S

2.2.1 __lookup_machine_type Machine ID

  àMACH_START

àmachine_desc //Put it in __arch_info_begin…__arch_info_end

2.2.2 __create_page_tables creates page tables

2.2.3 Enabling MMU

2.2.4 __switch_data

àb start_kernel jump to C code


1.2. Phase 2


2.3 init/main.c

2.3.1  start_kernel

setup_arch(&command_line) parses command line arguments

setup_processor();

setup_machine(machine_arch_type);

parse_tags(tags);

parse_cmdline(cmdline_p, from);

paging_init(mdesc);

devicemaps_init(mdesc);

mdesc->map_io()

setup_command_line(command_line)

parse_early_param()

do_early_param

init_IRQ()

 

console_init();

s3c24xx_serial_initconsole

 

reset_init()

kernel_init

prepare_namespace

mount_root mounts the file system

init_post


Keywords:mini2440 Reference address:Mini2440 system transplantation kernel startup process

Previous article:Mini2440 system transplantation chapter rootfs production
Next article:u-boot analysis of mini2440 system transplantation

Recommended ReadingLatest update time:2024-11-25 10:14

Mini2440 bare metal experiment LED program, buttons, interrupts
Test platform: Mini2440 Win7 64 ADS development environment test This program mainly considers the relationship between buttons, LED lighting, and interrupt mode (IRQ) The following is the main.c code part. For other information, please refer to the 2440 use case code provided by Samsung. #define GLOBAL_CLK 1
[Microcontroller]
Mini2440 bare metal experiment LED program, buttons, interrupts
Mini2440 porting qt-extended4.4.3
Due to project requirements, I ported qt-extended4.4.3 to Mini2440 some time ago. I will now briefly describe the porting process, hoping that it will be helpful to friends who are doing related work. 1. Development Environment Host computer: Fedora 9.0 Cross compiler version: arm-linux-gcc4.4
[Microcontroller]
Mini2440 porting qt-extended4.4.3
Mini2440 Hardware - DMA
1. Hardware Principle The commonly used data input/output methods in computer systems include query mode (including unconditional and conditional transfer modes) and interrupt mode. These modes are suitable for data exchange between CPU and slow and medium-speed peripherals. However, when high-speed peripherals need
[Microcontroller]
Analysis of MINI2440 startup configuration file /etc/init.d/rcS
Mini2440 startup configuration file description  For mini2440, although the GUI of the root_qtopia file system is based on Qtopia, its initialization startup process is mostly completed by busybox, and Qtopia (qpe) is only enabled at the last stage of startup.  Since the default kernel command line has init=/linuxrc,
[Microcontroller]
Nor Flash boot and Nand Flash boot of mini2440
CPU Processor - Samsung S3C2440A, main frequency 400MHz, maximum 533Mhz   SDRAM Memory - On-board 64M SDRAM - 32-bit data bus - SDRAM clock frequency up to 100MHz  FLASH storage - On-board 128M Nand Flash, non-volatile when power off - On-board 2M Nor Flash, non-volatile when power off, BIOS already installed  T
[Microcontroller]
Mini2440 bare metal programming -------- touch screen driver
The mini2440 is connected to a resistive touch screen, which is based on AD conversion. That is, when a certain position is pressed, the voltage at that point will change. The voltage can be used to determine which point is pressed, and the arm can get the coordinates of this point. Because the touch screen and the LC
[Microcontroller]
mini2440 development board network settings (permanent changes, not restored after restart)
The simplest way to set up the network of the mini2440 development board is to use ifconfig. However, after this setting, the IP and gateway after ifconfig is restarted will still be the same as before. So how can we set it so that ifconfig sees the ideal IP after resetting or restarting the development board? The fol
[Microcontroller]
OK6410A development board (eight) 16 linux-5.11 OK6410A start_kernel print angle second stage do_initcalls
log // init_jiffies_clocksource- ... - __clocksource_register_scale clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns // futex_init futex hash table entries: 256 (order: -1, 3072 bytes, linear) // netlink_proto_init NET: Registered protocol family 16 // atomic_pool_
[Microcontroller]
Latest Microcontroller Articles
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号