1.1. 第1阶段
arch/arm/kernel/vmlinux.lds
--------------------Makefile
2.1 arch/arm/boot/compressed/start.S 解压代码
2.2 arch/arm/kernel/head.S
2.2.1 __lookup_machine_type 机器ID
àMACH_START
àmachine_desc //放在__arch_info_begin…__arch_info_end
2.2.2 __create_page_tables 创建页表
2.2.3 使能MMU
2.2.4 __switch_data
àb start_kernel 跳到C代码
1.2. 第2阶段
2.3 init/main.c
2.3.1 start_kernel
setup_arch(&command_line) 解析命令行参数
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 挂接文件系统
init_post
关键字:mini2440 系统移植 kernel 启动流程
引用地址:
mini2440系统移植篇之kernel启动流程
推荐阅读最新更新时间:2024-03-16 15:22
玩转mini2440开发板之【64位Ubuntu系统无法运行arm-linux-gcc】
前段时间由于工作原因,将虚拟机重装了,由原来的Ubuntu 12.04(32位)升级成了Ubuntu 16.04(64位)。自然,原来安装在Ubuntu 12.04中的所有mini2440开发板相关的工具和源码,都要重装一遍。今天刚好得空,于是就开始整。 第一步当然是安装交叉编译器了,仍然是友善之臂arm-linux-gcc 4.4.3的版本,按照官方手册的步骤,直接解压,然后添加环境变量,一气呵成。可是,当我注销完重新登录之后,输入命令时,系统却给出了一个出错提示: leon@Ubuntu:~$ arm-linux-gcc -v /opt/FriendlyARM/toolschain/4.4.3/bin/arm-linu
[单片机]
用jlink在mini2440上烧写uboot
首先,附上我安装jlink驱动: http://download.csdn.net/detail/zzmno1/3776716#comment 以及我使用的uboot.bin文件下载地址: http://blog.chinaunix.net/uid-20543672-id-94368.html 安装成功后有俩个东东,分别是jlink和jflash。 我用j-link连接的时候没有成功,而在j-flash下安装成功。 不过在jflash下连接成功是有前提条件的: 点击file》open project》S3C2440.jflash(如果没有这个文件的话,猛戳http://download.csdn.net
[单片机]
Windows下u-boot-2011.03在Mini2440移植详解(7)
Nand Flash 启动 && Nor Flash和Nand Flash双启动 Nand Flash启动 参考网址: http://blog.csdn.net/canjiangsu/article/details/6162677 http://blog.chinaunix.net/uid-28335137-id-3721851.html http://www.cnblogs.com/LoongEmbedded/archive/2010/11/18/1880379.html http://www.crifan.com/switch_s3c2410_nandflash_k9f1208u0ak9f1208u0b_r
[单片机]
mini2440的nor flash与nand flash启动过程区别
简介:一、调试经验;二、问答;三、ARM的nor flash与nand flash启动过程区别。 -------------------------------------------------------- 目标:祥读mini2440说明书 -------------------------------------------------------- 一、调试经验 1.一位老电脑科学家的提示:当你遇到怪问题时,重启是一种最简单的解决办法之一。因为操作系统本身有不完善之处,不管是微软视窗还是苹果电脑。 2.USB转口线出现乱码问题:说明串口线的功能和性能不稳定。可购买性能好的代替之。 二、问答 1.
[单片机]
ucos-ii移植到ARM上的一个简单例子mini2440
基于mini2440的一个简单移植程序led.c #include config.h #define LED1 (0 5) //定义LED,GPB5 #define TaskStkLength 64 //定义堆栈长度 OS_STK TaskLEDStk ; //定义任务LED的堆栈 void TaskLED(void *pdata); //声明任务LED int Main(void) //ADS中不能写成main(void),一定大写 { TargetInit(); //目标板初始化 OSInit(); //uC/OS-II初始化 OSTimeSet(
[单片机]
【MINI2440】linux系统下载全流程
一、首先,需要下载BOOT到NOR FLASH 官方资料给出两种硬件下载方式。JTAG串口下载 和 LPT并口下载。 时代发展至今,笔记本已经不支持并口了。导致软件H-JTAG的LPT下载功能不能正常使用。 使用JTAG方式下载boot程序到开发板的NOR FLASH中。 学习视频 https://www.bilibili.com/video/BV17h411o7TK?p=17&spm_id_from=pageDriver 准备好boot文件 开发板是友善之臂的,bootloader使用他们提供的supervivi文件。提供了两个文件,选择128M的进行下载(我是64M的板子,也下载128M的vivi文件)。为了让下载工具识别
[单片机]
mini2440挂载文件系统
1、Nfs 挂载根文件系统 1.1 mini2440选择在NOR下烧写u-boot.bin到NAND flash 1.2 Mini2440选择NAND flash启动,进入u-boot命令行 1.3使用print打印开发板系统信息,设置u-boot命令,设置 printenv setenv ipaddr 192.168.1.100 // 开发板IP setenv serverip 192.168.1.101 //Windows IP setenv gatewayip 192.168.1.1 // 网关 saveenv 1.4 把uImage放到tftpboot目录下,自动加载 烧写uIma
[单片机]
基于PXA255的ARM Linux操作系统移植
1. 引言 ARM处理器是当今应用最为广泛的处理器芯片,它功耗小、成本低、性能优越,在消费电子类产品中占据主导地位。Linux操作系统近年来在嵌入式领域中发展很快,由于其强大的性能和开源免费的特点,越来越受到嵌入式系统开发商的青睐,信息家电、网络设备、手持终端等都是嵌入式Linux应用的广大市场。
在嵌入式开发中,把操作系统移植到开发板是进行嵌入式应用开发的前提和基础。ARM Linux是针对ARM体系结构的嵌入式Linux操作系统。本文主要阐述了将ARM Linux系统移植到基于PXA255处理器的开发板CSB226上的方法和关键技术。
2. 软硬件平台环境 2.1. 硬件平台
(1)PXA255处理器
[嵌入式]