自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 linux下MMC/SD/SDIO驱动系列之四 ---- SDIO的识别与操作

从上篇文章的最后,我们知道host在扫描卡的过程中,其识别的顺序为SDIO  SD MMC,并且从它的注释可以看出,这个顺序是很重要的。那这篇文章,我们就看看SDIO的识别过程,它对应的函数就是mmc_attach_sdio(host) (函数位于文件drivers/mmc/core/sdio.c)                这个函数大概来说做了如下的工作

2013-11-21 15:32:54 29630 7

原创 linux下MMC/SD/SDIO驱动系列之三 ---- host注册过程(二)

上篇文章说到了探测函数sdhci_s3c_probe,现在就来仔细分析这个函数的作用   在分析代码之前,先简要的概括一下这个函数的功能:    1、既然是讲host的注册,那么首先必须构造出一个host,这个host就是通过sdhci_alloc_host函数来构造出来的,它是一个struct sdhci_host类型的结构体。同时,也通过mmc_alloc_host函数构造了一个str

2013-10-24 00:14:47 13802 4

原创 linux下MMC/SD/SDIO驱动系列之二 ---- host注册过程(一)

上篇文章说到了MMC/SD/SDIO(以下简称MMC)的驱动从大的方面来说分为主设备驱动和从设备驱动,那本文就来详细的讲述主设备驱动注册的过程。         MMC主设备(也就是host)指的是集成于CPU内部的MMC controller,笔者用的是4412芯片,从datasheet可以看出,里面集成了四个MMC controller,分别是mmc0,mmc1,mmc2,mmc3。

2013-10-18 01:22:18 12623 1

原创 linux下MMC/SD/SDIO驱动系列之一 ---- 概述

最近在研究WIFI驱动,驱动模块为broamd4330,基于SDIO接口,所以趁机研究了一下内核中对于SDIO设备的注册。             (我使用的linux内核版本为3.2.0    硬件为samsung 4412)            在介绍内核之前,有必要先了解一下MMC  SD  SDIO三种卡,从发展历程来看,是先有MMC卡,后来有SD卡,这两种都是纯粹的存储

2013-10-16 20:43:22 12734 1

原创 uboot系列之-----新增命令

看了《UBOOT命令的实现》,就知道要想往Uboot里面增加一条自己的命令,就需要通过U_BOOT_CMD宏定义,将命令写进.u_boot_cmd段。下面详细讲解如何新增加一个命令justtest1、  在include/configs/$(BOARD).h文件里增加如下宏定义   #defineCONFIG_CMD_JUSTTEST  表示该文件支持justtest命令2

2013-01-15 22:45:34 1793

原创 uboot系列之-----命令的处理过程(源码)

在uboot运行到第二个阶段后,会进入到main_loop函数中,该函数有一个作用就是处理用户所输入的命令,下面详细分析命令处理的流程:一、命令的结构及定义在uboot里面,命令的创建是通过宏定义U_BOOT_CMD来实现的,该宏定义在文件include/command.h文件中,         #define U_BOOT_CMD(name,maxargs,rep,cmd,us

2013-01-12 23:09:31 1824

原创 uboot系列之-----代码重定位(源码)

从上一篇我们知道,board_init_f函数的最后返回到relocate_code,调用该函数的原型是Relocate_code(addr_sp,id,addr),再讲一下三个参数的意义:addr_sp是地址空间里面堆栈的首地址id是存储gd_t类型全局参数的首地址addr是uboot的重定位地址,也就是加载地址这三个参数的值都是在board_init_f函数里面定义好了的(

2013-01-06 20:56:28 3438 2

原创 uboot系列之-----板级初始化(源码)

接上篇,分析uboot对开发板的初始化,入口在arch/arm/lib/board.c文件里面的 board_init_f函数voidboard_init_f (ulong bootflag){        ……         gd = (gd_t *)((CONFIG_SYS_INIT_SP_ADDR) & ~0x07);   //gd是Uboot里面用于存储全局

2013-01-05 22:09:46 4078 3

原创 uboot系列之------CPU初始化概述(源码)

这一篇主要讲述uboot对于CPU的初始化 Uboot源码开始的地方可以参考链接文件u-boot.lds里面的.text段的第一句话,对于2010.12版本的uboot(基于4412平台),其内容是这样的:.text :                          {                  arch/arm/cpu/armv7/start.o

2012-12-29 00:07:01 5826 1

原创 uboot系列之-----顶层Makefile分析(三)

接上篇分析,本篇主要分析目标文件以及相关的依赖文件ALL += $(obj)u-boot.srec $(obj)u-boot.bin$(obj)System.map $(U_BOOT_NAND) $(U_BOOT_ONENAND)all:             $(ALL)当用make命令编译时,执行的就是这个all变量$(obj)u-boot.hex:        $

2012-12-17 23:16:11 4175 2

原创 uboot系列之-----顶层Makefile分析(二)

继续上篇,这篇主要分析跟编译和连接库文件相关的变量ifeq ($(obj)include/config.mk,$(wildcard $(obj)include/config.mk))……else  # !config.mkall $(obj)u-boot.hex $(obj)u-boot.srec $(obj)u-boot.bin \$(obj)u-boot.img $(o

2012-12-13 11:09:18 4422 3

原创 uboot系列之-----顶层Makefile分析(一)

这篇主要分析Makefile文件开头部分对与一些编译环境以及编译路径等变量的初始化 VERSION = 2010PATCHLEVEL = 12SUBLEVEL =EXTRAVERSION =ifneq "$(SUBLEVEL)"""U_BOOT_VERSION =$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)e

2012-12-08 14:51:18 5089

原创 uboot系列之----Uboot配置过程详细分析

继上篇博客,详细的分析顶层目录下的mkconfig文件APPEND=no         # Default: Create new config fileBOARD_NAME=""        # Name to print in make outputTARGETS="" arch=""cpu=""board=""vendor=""soc=""opti

2012-12-04 22:22:05 5580 4

原创 uboot 系列之-----uboot配置流程分析

该uboot系列的版本是uboot-2010.12,基于samsung的4412芯片Uboot里面的字母u代表了“通用”的意思,因此,为了编译出符合特定CPU,特定电路板的启动代码,就必须首先进行配置,告诉编译器需要编译成什么样的体系架构,什么样的cpu等等。下面以4412为例,讲述配置过程配置命令为make smdk4412_config,我们来看这条命令是如何执行的。首先进

2012-12-03 16:53:24 4152 6

原创 博文概述

之前一直做单片机,偶然有机会接触嵌入式方面,就选择了跟硬件比较接近的uboot和内核方面,准备做个学习笔记系列,包括Uboot系列和内核系列,主要分析uboot源码和内核源码。不过与其他分析不同的是,此博文将从由单片机转向嵌入式的初学者角度,侧重于理论与实际的结合,记录本人学习uboot以及内核的过程与理解,也希望初学者或大牛门共同探讨,批评指正。

2012-11-28 09:12:34 1121

linux 内核情景分析

经典的《LINUX 内核情景分析.PDF》是学习驱动的入门教材

2013-01-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除