- 博客(140)
- 资源 (5)
- 收藏
- 关注
原创 Linux2.6.32内核笔记(4)内核链表使用与分析
摘要:描述了普通链表、内核链表以及他们之间的区别,介绍了对链表进行创建,插入,遍历和删除的操作,使用内核链表对足球队球员信息进行操作,详细对内核链表中的各个函数进行了分析。 一、链表的概念与种类 链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针连接次序实现的。链表由一系列节点组成,节点可以运行时动态生成。每个节点包括两个部分:一是存储数据元
2015-09-11 21:30:27 564
原创 Linux2.6.32内核笔记(3)进程管理子系统
一、进程与程序的区别 程序是一段存放在存储介质上的一系列代码和数据的映像,是一个静态的实体。 进程是执行起来的程序,是一个动态地实体,还包括它管理的资源(如打开的文件,挂起的信号,地址空间等等)。 二、进程四要素 1.有一段程序供其执行,该程序不一定是一个进程独享,也可以和其他进程共享。 2.有进程专用的内核空间堆栈。 3.在内核中
2015-09-10 17:17:55 1020
原创 Linux2.6.32内核笔记(2)内存管理子系统
Linux各子系统认识,内存管理子系统,虚拟地址和物理地址,虚拟地址到物理地址的转化,1G内核空间映射方式,物理内存分配方式
2015-09-09 20:31:11 1176
原创 Linux2.6.32移植到MINI2440(4)移植+分析DM9000网卡驱动
开发环境: 主机:fedora 14 虚拟机:vmware workstation 10 交叉编译工具:arm-linux-gcc 4.3.2 开发板:mini2440(2m nor ,64m sdram,256m nand) 内核版本:linux2.6.32.2 上一篇帖子的uImage可以起yaffs2文件系统,但是起不了nfs
2015-09-07 21:39:25 1049
原创 Linux2.6.32移植到MINI2440(3)支持yaffs2文件系统
开发环境: 主机:fedora 14 虚拟机:vmware workstation 10 交叉编译工具:arm-linux-gcc 4.3.2 开发板:mini2440(2m nor ,64m sdram,256m nand) 一、获取yaffs2源码 我这里是从友善之臂的光盘里有一个压缩包,不过是zip格式的,可以在windows下解压,然
2015-09-07 16:28:53 813
原创 Linux2.6.32移植到MINI2440(2)添加Nand Flash驱动,修改分区
开发环境: 主机:fedora 14 虚拟机:vmware workstation 10 交叉编译工具:arm-linux-gcc 4.3.2 开发板:mini2440(2m nor ,64m sdram,256m nand) 一、添加头文件 在/arch/arm/mach-s3c2440/mach-mini2440.c中 vim
2015-09-06 10:52:02 606
原创 Linux2.6.32移植到MINI2440(1)初步移植
根据友善之臂提供的手册——《MINI2440 Linux移植开发实战指南-内核部分-2010.9.9》以及网络上一些帖子,在此对他们的工作表示感谢,基本过程大都一致,主要是为了熟悉内核的基本移植方法,目的是为了能够生成一个MINI2440上可用的内核。 开发环境: 主机:fedora 14 虚拟机:vmware workstation 10 交叉编译工具:ar
2015-09-06 09:39:17 780
原创 U-boot-2014.04移植到MINI2440(11) 第二启动阶段分析
回顾一下u-boot启动其一阶段做了哪些事: 第一:设置CPU为SVC模式第二:关闭看门狗第三:关中断和子中断第四:设置时钟第五:MMU关闭,清除cache和TLB,使能地址对齐检查等第六:初始化SDRAM 在我前面的分析里,第一阶段的最后,通过bl _main,跳到了arch/arm/lib/crt0.S里面去了,从这里开始时第二阶段的入口,
2015-09-05 17:39:58 777
原创 U-boot-2014.04移植到MINI2440(10) 移植nand flash保存环境变量、添加分区
一.保存环境变量到nand flash第一步:修改mini2440.h由于我们执行saveenv这个命令,然后保存环境变量,u-boot的命令都是在common下实现的,切进去执行gerp “saveenv” –nr ./*.c,查找出如下结果:这里出现了很多,打开Makefile:# environmentobj-y += env_attr.oobj-y += e
2015-09-04 15:51:45 1445
原创 obj-y +=和obj-y :=的区别
今天在移植u-boot使其支持nand flash启动的时候,在最后编译的时候出现问题,一路追踪代码,错误提示如下:提示我对一个函数未定义,可是我已经定义了,这时候我发现是否是函数在编译的时候,哪个模块没有被编译进去,或者编译顺序出现了问题,上面提示里面的函数都在一个文件里面,就是nand_rean_b.c这个文件,于是我回头查看我的u-boot.lds和该文件目录下的Makefile
2015-09-02 19:51:57 9594
原创 U-boot-2014.04移植到MINI2440(9) nor flash启动和nand flash 启动
在mini2440上,nor flash启动和nand flash启动可以满足不同的需要,这里进行移植,nor的启动移植比较简单,因为不需要进行代码的重定向,nand的启动相对复杂,这里先从nor开始,进入正题: 一.修改支持nor flash启动 第一步:修改mini2440.h 在第27行: #define CO
2015-09-02 19:27:28 1852
原创 U-boot-2014.04移植到MINI2440(8) nand flash 读写支持移植
mini2440上有一个k9f2g08u0c,进行nand flash读写移植
2015-09-02 10:21:59 1435
原创 U-boot-2014.04移植到MINI2440(7) nand flash datasheet及arm9控制寄存器分析
我的MINI2440上有一个256M的nand flash,后面我们需要从nand启动u-boot,然后引导加载内核,再挂载根文件系统,这里先对其做一个较为细致的认识。主要是硬件管脚定义,控制方式,处理器的控制寄存器对其做一个了解,因为现在市面上nand的用途比较广泛,数码相机,mp3都要使用,进入正题。 一.nand flash datasheeet在移植好的u-boot
2015-08-29 11:05:47 1783
原创 U-boot-2014.04移植到MINI2440(6) DM9000网卡移植
MINI2440上有一个DM9000网卡,关于这部分的驱动其实是比较复杂的,但是u-boot对其支持比较好,我们在移植的时候只需要修改少量的代码。这部分的代码主要在u-boot/drivers/net/下以及mini2440.h。 一.修改mini2440.h首先看drivers/net/Makefile,打开,第18行:obj-$(CONFIG_DESIGNWARE_ETH) +
2015-08-25 09:29:31 1000
原创 U-boot-2014.04移植到MINI2440(5) Nor FLASH 读写支持移植
MINI2440有一个2M的NOR FLASH,NOR FLASH在MINI2440上其实是一个容量较小的ROM,不过它比NAND要好的地方在于可以执行代码。当开关打在nor的时候,就选择从NOR FLASH启动,NOR FLASH是直接映射到0x00000000地址上开始工作的。关于nor和nand的区别以及在mini2440上启动时候的差别请参看CSDN上的帖子,分析的挺好,这里不赘述了。
2015-08-24 19:45:48 1482
原创 U-boot-2014.04移植到MINI2440(4) 第一启动阶段start.S等详细分析
u-boot的启动阶段分为两个,第一部分主要为start.S文件,帖子尽可能的分析了每一行代码的意思,查看了很多手册,分析的目的也是为了学习吧,写博客也是想给自己的学习留下点东西,这些东西网上其实很多,但是感觉看别人写的和字自己分析写一遍,差别好大。转载请注明出处,下面进入正题。第11行:#include //由kbuild自动生成,且不管#include //include下包含
2015-08-22 19:16:45 2056
原创 U-boot-2014.04移植到MINI2440(3) Makefile分析
u-boot2014.04 makefile分析,包括配置过程,编译过程,mkconfig,u-boot.lds分析
2015-08-21 15:32:17 1362 1
原创 U-boot-2014.04移植到MINI2440(2) Readme翻译分析
为什么要阅读README,我觉得是更加方便我们理解U-BOOT吧,尤其是在整体上的把握,当然,开发人员写了二十多万个字符,一共六千多行的README,里面有很多涉及到具体配置和使用的部分,其实这就是U-BOOT的使用说明书,这里着重关注几个部分部分,按照README的顺序,就当做英文阅读理解吧。1. 总结(summary)首先看看开发者对U-BOOT的定义:a boot loade
2015-08-21 15:26:31 1245
Xilinx_SDK_2017.4_LINUX(64位)
2018-02-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人