发布时间:2013-01-11 15:18:08
从MACHINE_START开始
注:下面的内容是以linux-2.6.38和mini6410为例进行学习的。
玩过或者移植过arm-linux的都应该知道在/arch/arm目录下有许多与具体处理器相关的目录,当然对于6410的话所对应的目录就是mach-s3c64xx,在里面找到与具体板子相关的文件mach-mini6410.c,没错,就是它。无论是出于想移植到新的内核还是出于想深入学习某一款arm等,对这个文件的学习是必不可少的。这个文件大部分内容是对平台设备(例如串口,LCD,N......【阅读全文】
发布时间:2012-12-22 17:52:13
Linux下spi驱动开发(1)
一、概述
基于子系统去开发驱动程序已经是linux内核中普遍的做法了。前面写过基于I2C子系统的驱动开发。本文介绍另外一种常用总线SPI的开发方法。SPI子系统的开发和I2C有很多的相似性,大家可以对比学习。本主题分为两个部分叙述,第一部分介绍基于SPI子系统开发的理论框架;第二部分以华清远见教学平台FS_S5PC100上的M25P10芯片为例(内核版本2.6.29),编写一个SPI驱动程序实例。
二、SPI总线协议简介
介绍驱动开发前,需要先熟悉下SPI通讯协议中的几个关键的地方,后面在编写驱动时,需要考虑相关因素。
SPI总线由MISO(串行......【阅读全文】
发布时间:2012-12-21 10:14:10
在不同版本的内核源码上,头文件所在的位置是不同的,比如说在 #include<asm/arch/regs-gpio.h> #include<mach/regs-gpio.h> 同样是regs-gpio.h,<asm/arch/regs-gpio.h>是在比较低的版本(比如2.6.25)上位于arch/arm/include/asm中,而mach/regs-gpio.h则是位于arch/arm/mach-s3c2410/include/mach中,2.6.30版本的内核是这种结构,所以,要根据所采用的不同的版本内核来修改头文件的位置!俺就是照抄别人的......【阅读全文】
发布时间:2012-12-19 12:05:18
原文:
1)TEXT_OFFSET 内核在RAM中的起始位置相对于RAM起始地址偏移。值为0x00008000
./arch/arm/Makefile
111 textofs-y := 0x00008000
112 textofs-$(CONFIG_ARCH_CLPS711X) := 0x00028000
113 # We don't want the htc bootloader to corrupt kernel during resume
114 textofs-$(CONFIG_PM_H1940) := 0x00108000
115......【阅读全文】
发布时间:2012-12-18 15:56:28
关于do_initcalls函数的说明 - 嵌入式 分类: linux基础 2010-11-25 21:18 260人阅读 评论(0) 收藏 举报 1.在看linux核心代码的时候看到/init/main.c 里面的do_initcalls函数static void __init do_initcalls(void)742 {743 initcall_t *call;744 745 f......【阅读全文】