- 博客(10)
- 资源 (3)
- 收藏
- 关注
原创 U-BOOT-2016.07移植 (第四篇) 修改代码,从NOR启动
U-BOOT-2016.07移植 (第四篇) 修改代码,从NOR启动1. 修改lowlevel_init.S2. 修改start.S3. 修改smdk2440.c4. 编译、烧写、启动单板
2016-09-09 15:44:46 2774
原创 U-BOOT-2016.07移植 (第三篇) 代码重定位
U-BOOT-201607移植 第三篇 代码重定位1.分析board_init_f2.分析relocate_code
2016-09-08 19:32:08 5117 2
原创 U-BOOT-2016.07移植 (第二篇) 添加单板
U-BOOT-201607移植 第二篇 添加单板1. 在board中创建单板目录2. 创建单板相关头文件3. 创建defconfig文件4. 修改arch/arm/Kconfig文件5. 尝试配置并编译
2016-09-08 01:46:31 4158 2
原创 U-BOOT-2016.07移植 (第一篇) 初步分析
U-BOOT-201607移植 之 初步分析1. 更新交叉编译工具(arm-linux-gcc 4.4.3) 2. 下载u-boot-2016.07并解压3. 分析顶层Makefile, 找出目标依赖关系4. 配置并试编译u-boot5. u-boot启动流程分析(start.S, crt0.S)
2016-09-07 11:46:02 12209 2
转载 [转载] 终于理解list_entry和list_for_each_entry
原文地址:http://blog.sina.com.cn/s/blog_533074eb0101do71.html内核中经常采用链表来管理对象,先看一下内核中对链表的定义 struct list_head { struct list_head *next, *prev; }; 一般将该数据结构嵌入到其他的数据结构中,从而使得内核
2016-07-27 00:43:26 9855
原创 [Funkunux] Linux_2.6.22.6 内核 start_kernel 函数分析之 rest_init
前面我们已经对parse_args函数进行了分析,得到三个参数:saved_root_name="/dev/mtdblock3"; console_cmdline[0].name= "ttySAC";console_cmdline[0].options= 0;console_cmdline[0].idx= 0;
2016-07-20 15:48:41 1100
原创 [Funkunux] Linux_2.6.22.6 内核start_kernel函数分析之console_init
在我的上一篇文章中,已经对start_kernel函数中的parse_init函数进行分析,该函数运行完后,可以得到如下三个变量:saved_root_name="/dev/mtdblock3"; console_cmdline[0].name= "ttySAC";console_cmdline[0].options=
2016-07-20 14:03:37 2210
原创 [Funkunux] Linux_2.6.22.6 内核start_kernel函数分析之parse_args
在我的上一篇文章 [Funkunux] Linux_2.6.22.6的Makefile分析 中,已经找到linux内核的第一条代码的位置是head.s,在head.s中,内核将bootloader中传给内核的参数进行解析,比对机器ID等参数,设置页表,开启MMU,然后跳转到/init/Main.c中的start_kernel()中进行一系列初始化。以下是start_kernel函数的分析,重点
2016-07-20 12:23:11 2391
原创 [Funkunux] Linux_2.6.22.6的Makefile分析
当我们分析内核的时候,第一件事就是找出内核运行的入口点在哪里,也就是第一个文件。所以我们需要对内核的顶层目录Makefile进行分析。一般我们编译内核的时候,需要把内核镜像文件uImage编译出来,然后烧进开发板上,所以在顶层Makefile中搜索uImage,可以找到这么一句话zImage Image xipImage bootpImage uImage: vmlinux $(Q)
2016-07-20 11:29:35 671
原创 [Funkunux] 自己写MMU实验 基于S3C2440
代码的顺序分别为head.S, led.c, Makefile我把0x56000000映射到0xb0000000,把sdram的地址映射到0xa0000000,这里的做法也和韦老师的相反,主要内容是head.S.text.global _start_start: bl Disable_Watch_Dog bl MemSetup bl MMUSetup b
2016-07-20 11:24:00 555
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人