linux内核配置文件.config,基于s3c2410实现

合集下载

基于S3C2410处理器的Linux移植

基于S3C2410处理器的Linux移植

内核启 动参数 , 内核 (e e 和根 文件系统 四个 部 km 1 )
分 , Fah中存 储 的示 意 图如 图 1 示 。 在 l s 所
长足 的发展 。嵌 入式 Lnx 按 照嵌 入 式 操 作 系统 i 是 u 的要 求设计 的一 种小 型操 作系统 。 由一个 内核 以及

些 根据需 要 进行 定 制 的系统模 块组 成 。其 内核很
主要面 向手 持式 设备 以及高 性 价 比 , 低功 耗 的应用 , 内部集 成 L D, S C U B等 控 制 器 。Lnx内核采 用 26 i u . 版本 的 内核 , 吸 收 了一 些 新 技 术 , 它 在性 能 , 可靠 性 和 可扩展 性 方面 有较 大 提高 。
1 嵌 入 式 Lnx移 植 方 法 i u
维普资讯
2 0 年第8 07 期
中图分类号 :P 1 T 36 文献标识码 : A 文 章编号 :0 9 52 20 )8 O7 4 10 — ¥ 2 1 理 器 的 Lnx移 植 3 4 0处 C iu
杨建伟 ,杨 燕翔
图 l lah中存 储 的 示 意 图  ̄s l
小 , 般 只有几 百 k ,即使 加 上其他 必 要 的模 块 和 一 b 应用 程序 ,所需 的存 储 空问 也很 小 。非 常 适合 于移 植到 嵌 入式 系统 中去 ,同时 它还 具有 多 任 务 多进 程
b s d o e p o e s ro 3 2 1 F rt t a st e t n p a t to f mb d e i u te t e cie a e n t rc so f¥ C 4 0. i y r s l e me d o e d d L n x, n i d s r s h s is h a n d h e h b h w t u l p a n i n n rt s l t, c s g o e f me r d f n t n l y o o f a e d o o b i u n e vr me tf a p a d o o r n n f u i n t r wok a u ci ai fB o o d r a o n h a n o t l n r p a n x k me . hi t s l t f iu e 1 1 sme o rv sh g f c i .t e t s l td L n x i e e e d d s s m n a n o L td p e ih e e t e h r p a e i u n t mb d e y t h o v n a n h e

S3C2410 vivi 详解

S3C2410 vivi 详解

s3c2410的Bootloader(Vivi)源代码分析----基于S3C2410处理器作者:forkchenEmail:chenjun@QQ:56155986欢迎广大嵌入式之友多多交流目录1.1 Vivi简介 (2)1.2 vivi的配置与编译 (3)1.2.1 建立交叉开发环境 (3)1.2.2 配置和编译vivi 41.3 vivi代码分析 (4)1.4 vivi的运行 (5)1.4.1 vivi的第一阶段 (5)1.4.2 vivi的第二阶段 (15)1.5 启动代码执行流程图 (17)1.6 vivi的配置文件 (19)1.1 Vivi简介Vivi 是韩国mizi 公司开发的bootloader, 适用于ARM9处理器。

Vivi有两种工作模式:启动加载模式和下载模式。

启动加载模式可以在一段时间后(这个时间可更改)自行启动linux内核,这时vivi的默认模式。

在下载模式下,vivi为用户提供一个命1.2 vivi的配置与编译1.2.1 建立交叉开发环境1、在宿主机上安装标准Linux 操作系统:Redhat 9.0 ( 主机系统为win2000,用虚拟机vmware安装的Redhat 9.0,内核版本为2.4.18) 。

2、宿主机上安装交叉编译器。

我这边的2410开发板提供的光盘上已附交叉编译器工具:arm-linux-gcc-2.95.3(源码为cross-2.95.3.tar.bz2)。

先以root 用户的身份登陆到linux 下。

进入/usr/local 目录,创建名为arm的目录:cd /usr/localmkdir arm将光盘提供的cross-2.95.3.tar.bz2解压到/usr/local/arm目录:tar jxvf cross-2.95.3.tar.bz2 –C /usr/local/arm然后修改修改PATH 变量:为了可以方便使用arm-linux-gcc编译器系统, 把arm-linux 工具链目录加入到环境变量PATH中:修改/etc/profile文件,添加pathmunge /usr/local/arm/2.95.3/bin即可。

基于s3c2410的Linux移植

基于s3c2410的Linux移植
42Ln x内核 的 移 植 . iu 从官方 网站上下载的 内核不能直接在硬件平台上运行。需要跟据 具体的硬件平 台重新裁剪 、 编译 内核 , 根据硬件平台特性编写相应的硬
U B等来调试编译好的驱动或应用程 序。当编译 、 S 调试通过后, 再添加
到内核中去 。首先要正确安装 Ln x iu 操作系统, 下面介绍用 Cos l rst 制 o 作交叉工具链 。 首先下 载所需要的资源文件 t :

¥ d 2 1/ 32 1 ps k 4 0 s c 4 0 m

在 i ld/of / n u e n g 目录下复制 s k4 0h e e i md 2 1 .: 修改 AR M编译器的 目录名及前缀 ;
测试 配置 :
_
¥。 md 2 0hs c 41 . ps k 41 . 3 2 0h
件相关的代码 , L u 移植到硬件平 台。以下是对内核代码的修改: 将 ix n () 1 修改 内核 目录树 根下 的 Mae l, 到 A C kfe找 i R H和 C O S C M— R S O PL IE,修改 A C ?=r ,R S C RH at C OS_ OMPL n IE?=aniu ,然后 设 置 nl x n PT A H环境变 量 ,在 文件 -b h /a r s e中添加 epr A H / ro lr /. xo P T = s l a a 3 t u /e /m 44 i:P T 使其可 以找到交叉编译工具链 , ./ n ¥ A H, b 重新登 陆。 ( 设置 fs 分 区, 2 ) lh a 修改 a h r / ah32 1/ v.用以指明分区 r / m m c se4 0 es ea d e 信息该文件的 内容建立 nn f h分 区表 ;修改 ac/r / c sc 4 0 ad a l s rhammah32 1/ mahmd 2 1 . cs k 40e文件指定启动时初始化 ,enl kre 启动时依 据对分 区的设

Jflash-s3c2410(linux 版本)源码分析

Jflash-s3c2410(linux 版本)源码分析

Jflash-s3c2410(linux 版本)源码分析最近在远峰公司买了arm9的板子,S3C2410,ARM920T ,没有Nor flash ,Nand Flash 是64M ,SDRAM 是K9f1208,本人对linux 的热情大于windows ,所以想在linux 下做开发,可是远峰公司只给我YFSJF.exe 文件,而且没有源代码,每次在linux 下编译好了后还得切换到windows 下烧录,很是麻烦,于是在网上找了很多Jflash 类似的程序,不过不同的烧录针对不同的硬件平台,Jflash 是跟硬件紧密结合的,比如有的针对Nor Flash ,有的针对Nand Flash 的,不同内核有不同的Jflash ,而且相同的内核也有不同的版本,因为Jtag 的原理图不同,就只能有相对应的Jflash ,程序中的定义要与pc 机并口与Jtag 接口的对应相一致。

在进入源码分析之前要介绍一些预备的知识,有助于理解源代码,毕竟这个程序和硬件联系很紧密的。

首先介绍一下对PC 并口做一些简要的介绍一、PC 标准配备并行口介绍本文主要介绍计算机的标准配备并行端口即25针的母接头端口的应用,在此基础上可以运用相同的原理使用其它模式的并行端口。

并行端口共有25支脚,但不是每支脚均被使用到。

这些脚被区图1分为3种主要的功能,分别是用于数据的传送、检查打印机的状态及控制打印机,其接口如下所示:注:18~脚为GND在PC 机中,标准并行口使用3个8位对这些寄存器,也就是所说的数据、25号的端口寄存器,PC 就是通过状态、控制寄存器的读写访问并口的信号的。

本文中使用一些通用的叫法,8个数据位分别为D0~D7,5个状态位为S3~S7,4个控制为C0~C3。

其中字母表示了端口寄存器,数字则表示该信号在寄存器中的位。

数据寄存器据端口或称数据寄存器(D0~D7)保存了写入数据输出端口的一字节信息。

数据端口可以写入数数据寄存器(即数据输出端口)可擦写、基地址数据,也可以读出数据(即可擦写);写进去的当然是我们希望从数据端口引脚输出的数据,不过读进来的也只是我们上次写进去的数据,或是原来保留在里面的数据,并不是从端口引脚输入PC 的数据。

Linux下基于S3C2410的通信方案研究

Linux下基于S3C2410的通信方案研究

究生 , 研究方 向为测试计 量技术及仪器 。
1 2 69
12 通信 模 块 .
p 。它支持 自动 的 R S C S或 D R D R硬件 s T/ T T/ S 流控制 , o/ o 软 件 流控 制 和 R 4 5半 双工 XnXf S8
网络通信 电路 的设 计 包 括 串 口扩 展 电路 、
扩 展 网络 接 口 以适 应 不 同 应 用 环 境 。 器 与 智 能 遥 控 小 车 、 P 、 子 G S电
罗 盘 间 的 通 信 , 控 器 可 以 同时 收 到 G S数 据 、 遥 P 电子 罗盘 数 据 , 定 目标 位 置 , 导 小 车 寻 找 目标 。 确 引
要求 , 以选 用 E A 所 X R生 产 的 X 6 7 8通 用 R1 L 8
1 B的指令 C ce M U虚拟 存储 器管理 , 6k ah , M L D控制器 , C 支持 N N l h系统引导 , A DF s a 系统
管理 器 , 3通 道 U R , 通 道 D A T4 MA, 4通 道 P WM定 时器 , 0端 口 , T 8通道 l I / R C, O位 A C D 和触 摸 屏 接 口,I — U I B S接 口 , S 主机 , S C UB UB 设 备 ,D主 卡 &MMC卡 接 口, S 2通 道 的 S I以 P
理 图如 图 1 。
收 稿 日期 :00 —3 2 1 ̄71
基 金 项 目:国 家 自 然 科 学 基 金 资 助 项 目
( 07 2 2 。 5 6 5 1 )
作 者 简 介 : 建 ( 9 6 ) 男 , 西 定 襄 县 人 , 士 研 齐 18一 , 山 硕
图 1 ¥ C 4 0最 小 系 统 原 理 图 321

s3c2410_gpio_cfgpin等内核导出函数

s3c2410_gpio_cfgpin等内核导出函数

s3c2410_gpio_cfgpin等内核导出函数2011-06-29 23:45:34| 分类:嵌入式驱动| 标签:|字号大中小订阅s3c2410_gpio_cfgpin等内核导出函数收藏//这里面的函数都是内核导出函数/plat-s3c24XX/gpio.c中#include <linux/kernel.h>#include <linux/init.h>#include <linux/module.h>#include <linux/interrupt.h>#include <linux/ioport.h>#include <linux/io.h>#include <mach/hardware.h>#include <mach/gpio-fns.h>#include <asm/irq.h>#include <mach/regs-gpio.h>//设置gpio的工作模式,是输入,输出还是其他的//s3c2410_gpio_cfgpin(S3C2410_GPB(5),S3C2410_GPIO_INPUT),就是设置GPB5为输入模式void s3c2410_gpio_cfgpin(unsigned int pin, unsigned int function){void __iomem *base = S3C24XX_GPIO_BASE(pin);unsigned long mask;unsigned long con;unsigned long flags;if (pin < S3C2410_GPIO_BANKB) {mask = 1 << S3C2410_GPIO_OFFSET(pin);} else {mask = 3 << S3C2410_GPIO_OFFSET(pin)*2;}switch (function) {case S3C2410_GPIO_LEAVE:mask = 0;function = 0;break;case S3C2410_GPIO_INPUT:case S3C2410_GPIO_OUTPUT:case S3C2410_GPIO_SFN2:case S3C2410_GPIO_SFN3:if (pin < S3C2410_GPIO_BANKB) {function -= 1;function &= 1;function <<= S3C2410_GPIO_OFFSET(pin);} else {function &= 3;function <<= S3C2410_GPIO_OFFSET(pin)*2;}}/* modify the specified register wwith IRQs off */local_irq_save(flags);con = __raw_readl(base + 0x00);con &= ~mask;con |= function;__raw_writel(con, base + 0x00);local_irq_restore(flags);}EXPORT_SYMBOL(s3c2410_gpio_cfgpin);//作用:返回对应的GPIO的配置情况,例如pin=s3c2410_GPB5,则unsigned int s3c2410_gpio_getcfg(unsigned int pin){void __iomem *base = S3C24XX_GPIO_BASE(pin);unsigned long val = __raw_readl(base);if (pin < S3C2410_GPIO_BANKB) {val >>= S3C2410_GPIO_OFFSET(pin);val &= 1;val += 1;} else {val >>= S3C2410_GPIO_OFFSET(pin)*2;val &= 3;}return val | S3C2410_GPIO_INPUT;}EXPORT_SYMBOL(s3c2410_gpio_getcfg);//设置相应的GPIO的上拉电阻,当to为1时候,相应的pin引脚设置为1,表示该GPIO 要上拉电阻,to为0时候,相应的pin引脚配置为0,表示不要上拉电阻void s3c2410_gpio_pullup(unsigned int pin, unsigned int to){void __iomem *base = S3C24XX_GPIO_BASE(pin);unsigned long offs = S3C2410_GPIO_OFFSET(pin);unsigned long flags;unsigned long up;if (pin < S3C2410_GPIO_BANKB)return;local_irq_save(flags);up = __raw_readl(base + 0x08);up &= ~(1L << offs);up |= to << offs;__raw_writel(up, base + 0x08);local_irq_restore(flags);}EXPORT_SYMBOL(s3c2410_gpio_pullup);int s3c2410_gpio_getpull(unsigned int pin){void __iomem *base = S3C24XX_GPIO_BASE(pin);unsigned long offs = S3C2410_GPIO_OFFSET(pin);if (pin < S3C2410_GPIO_BANKB)return -EINVAL;return (__raw_readl(base + 0x08) & (1L << offs)) ? 1 : 0;}EXPORT_SYMBOL(s3c2410_gpio_getpull);//当GPIO的工作为输入时候,设置某个GPIO的值//s3c2410_gpio_setpin(S3C2410_GPB(5),0),设置GPB5的输入值是0,就是低电平,to为1,表示该pin输出为1void s3c2410_gpio_setpin(unsigned int pin, unsigned int to){void __iomem *base = S3C24XX_GPIO_BASE(pin);unsigned long offs = S3C2410_GPIO_OFFSET(pin);unsigned long flags;unsigned long dat;local_irq_save(flags);dat = __raw_readl(base + 0x04);dat &= ~(1 << offs);dat |= to << offs;__raw_writel(dat, base + 0x04);local_irq_restore(flags);}EXPORT_SYMBOL(s3c2410_gpio_setpin);//当GPIO为输出模式时候,获取GPIO的输出数值//s3c2410_gpio_getpin(S3C2410_GPB(5)),获取GPB5的输出值unsigned int s3c2410_gpio_getpin(unsigned int pin){void __iomem *base = S3C24XX_GPIO_BASE(pin);unsigned long offs = S3C2410_GPIO_OFFSET(pin);return __raw_readl(base + 0x04) & (1<< offs);}EXPORT_SYMBOL(s3c2410_gpio_getpin);unsigned int s3c2410_modify_misccr(unsigned int clear, unsigned int change) {unsigned long flags;unsigned long misccr;local_irq_save(flags);misccr = __raw_readl(S3C24XX_MISCCR);misccr &= ~clear;misccr ^= change;__raw_writel(misccr, S3C24XX_MISCCR);local_irq_restore(flags);return misccr;}EXPORT_SYMBOL(s3c2410_modify_misccr);int s3c2410_gpio_getirq(unsigned int pin){if (pin < S3C2410_GPF(0) || pin > S3C2410_GPG(15))return -EINVAL; /* not valid interrupts */if (pin < S3C2410_GPG(0) && pin > S3C2410_GPF(7))return -EINVAL; /* not valid pin */if (pin <。

基于ARMS3C2410的指纹识别系统设计与实现

基于ARMS3C2410的指纹识别系统设计与实现
第 22 卷 第 10 期 文章编号: 100325850 ( 2009) 1020055204
电脑开发与应用
( 总 815)
・55・
基于 ARM S3C 2410 的指纹识别系统设计与实现
D es ign and I m plem en ta tion of F ingerpr in t Ver if ica tion System ba sed on ARM S3C 2410
第 22 卷 第 10 期
电脑开发与应用
2 V a r 3 ( P ( i , j ) - M ean 0 ) V a r0
( 总 817)
・57・
值化图像应该纹路突出, 并且保留原始指纹图像的细 节特征。 本系统采用动态阈值法来选取合适的阈值: ① 分别求出图像最大和最小灰度值 Z m ax 和 Z m in , 并令初始阈值为 T 0 = ( Z m ax + Z m in ) 2。 ② 根据阈值 T k 将图像分割成两部分 ( 目标和背 景) , 并分别求出两部分的平均灰度值 Z o 和 Z b。 ③ 求出新的阈值 T k + 1 = ( Z o + Z b ) 2。 ④ 如果 T k + 1 = T k , 运算结束, 否则令 k = k + 1, 跳 转到步骤 2 继续运算。 应用上述算法得到的二值化图像如图 4 (d ) 所示。
S3C 2410 是 Sam sung 公司推出的一款高性能、 低功耗的微处理器, 采用 A RM 920T 内核, 集成了丰 富 的 外 围 接 口, 非 常 利 于 其 扩 展。M B F 200 是 由 低功耗、 低成本的电容式 Fu jit su 公司生产的高性能、 固态指纹传感器, 该芯片具有 256x300 传感器阵列, 能 采集到 500d i 的指纹图像, 工作电压为 313V~ 5V , 提 供 3 种总线接口:M CU ( 8 位微处理器总线接口) 、 SP I ( 集成的串行外围设备接口) 、 U SB ( 集成的 U SB 全速 接口) , 具有自动指纹检测功能。 鉴于接口简单、 实现容 易并且占用的管脚资源较少, 本系统选择 SP I 接口来 完成指纹的采集操作。

Linux2.6内核移植系列教程

Linux2.6内核移植系列教程

Linux2.6内核移植系列教程第一:Linux 2.6内核在S3C2440平台上移植此教程适合2.6.38之前的版本,其中2.6.35之前使用同一yaffs补丁包,2.6.36--2.6.28 yaffs文件系统有所改变,2.6.39之后的暂时不支持,源码下载请到:/1.解压linux-2.6.34.tar.bz2源码包#tar jxvf linux-2.6.34.tar.bz22.修改linux-2.6.34/Makefile文件,在makefile中找到以下两条信息并做修改ARCH ? =armCROSS_COMPILE?=/usr/local/arm/4.3.2/bin/arm-linux-注意:交叉编译器的环境变量也需要改为4.3.2#export PATH=/usr/local/arm/4.3.2/bin/:$PATH其中ARCH变量用来决定:配置、编译时读取Linux源码arch目录下哪个体系结构的文件PATH 用来决定交叉编译器版本3.修改机器类型ID号Linux源码中支持多种平台的配置信息,内核会根据bootloader传进来的mach-types决定那份平台的代码起作用,本人手里的板子是仿照三星公司官方给出的demo板改版而来,所以采用arch/arm/mach-s3c2440/mach-smdk2440.c此配置文件,打开此文件,翻到最后,有以下信息:MACHINE_START(S3C2440, "SMDK2440")/* Maintainer: Ben Dooks <ben@> */.phys_io= S3C2410_PA_UART,.io_pg_offst= (((u32)S3C24XX_VA_UART) >> 18) & 0xfffc,.boot_params= S3C2410_SDRAM_PA + 0x100,.init_irq= s3c24xx_init_irq,.map_io= smdk2440_map_io,.init_machine= smdk2440_machine_init,.timer= &s3c24xx_timer,MACHINE_ENDMACHINE_START(S3C2440, "SMDK2440")决定了此板子的mach-types,可以在以下文件中找到S3C2440对应的具体数字,"arch/arm/tools/mach-types"文件查找S3C2440,362,这里刚好与我们的bootloader相同,所以不用做修改,直接保存退出即可,如果不同则根据bootloader的内容修改此文件,或根据此文件修改boorloader的内容(在vivi中可通过param show查看,u-boot在Y:\test\u-boot_src\u-boot_edu-2010.06\board\samsung\unsp2440\unsp2440.c文件:gd->bd->bi_arch_number = MACH_TYPE_S3C2440;中决定)。

linux26221的在s3c2410板子上的移植

linux26221的在s3c2410板子上的移植

linux26221的在s3c2410板子上的移植----------------------------------------------bootloader编译环境:vivi版本:0.1.4交叉编译器(CROSS-COMPILE)版本:2.95.3(下载地址略:网上专门多搜下。

)操作系统:redhat server 5======================================linux内核编译环境:内核版本:linux2.6.22.2交叉编译器:自己做的适合Linux2.6.22.2版本的交叉编译器操作系统:redhat server 5======================================文件系统编译环境:busybox1.5.1,或1.4.2交叉编译器(CROSS-COMPILE)版本:同上操作系统:redhat server 5----------------------------------------------硬件:自己做的2410开发板内存:64MB SDRAM(2×16M×16位);CPU:S3C2410 ARM处理器,Nor Flash:2MB的Nor Flash,用于固化测试程序(用来下载bootloader,内核,或文件系统);NANDflash: 64MB的Nand Flash,用于储备Bootloader、Linux内核及文件系统、应用程序和数据;++++++++++++++++++++++++++++++++++++++++++++++====================================================================== ============================一:编译环境搭建====================================================================== ============================一:搭建交叉编译环境讲明:由于编译交叉编译环境比较繁琐,建议大伙儿用差不多编译好的交叉编译环境。

linux内核配置make-menuconfig菜单详解

linux内核配置make-menuconfig菜单详解

linux内核配置make-menuconfig菜单详解前言一、配置系统的基本结构Linu某内核的配置系统由三个部分组成,分别是:1、Makefile:分布在Linu某内核源代码根目录及各层目录中,定义Linu某内核的编译规则;2、配置文件(config.in(2.4内核,2.6内核)):给用户提供配置选择的功能;3、配置工具:包括配置命令解释器(对配置脚本中使用的配置命令进行解释)和配置用户界面(提供基于字符界面、基于Ncure图形界面以及基于某window图形界面的用户配置界面,各自对应于Makeconfig、Makemenuconfig和make某config)。

这些配置工具都是使用脚本语言,如Tcl/TK、Perl编写的(也包含一些用C编写的代码)。

本文并不是对配置系统本身进行分析,而是介绍如何使用配置系统。

所以,除非是配置系统的维护者,一般的内核开发者无须了解它们的原理,只需要知道如何编写Makefile和配置文件就可以。

二、makefilemenuconfig过程讲解当我们在执行makemenuconfig这个命令时,系统到底帮我们做了哪些工作呢?这里面一共涉及到了一下几个文件我们来一一讲解Linu某内核根目录下的cript文件夹arch/$ARCH/Kconfig文件、各层目录下的Kconfig文件Linu某内核根目录下的makefile文件、各层目录下的makefile文件Linu某内核根目录下的的.config文件、arm/$ARCH/下的config文件Linu某内核根目录下的include/generated/autoconf.h文件1)cript文件夹存放的是跟makemenuconfig配置界面的图形绘制相关的文件,我们作为使用者无需关心这个文件夹的内容2)当我们执行makemenuconfig命令出现上述蓝色配置界面以前,系统帮我们做了以下工作:首先系统会读取arch/$ARCH/目录下的Kconfig文件生成整个配置界面选项(Kconfig是整个linu某配置机制的核心),那么ARCH环境变量的值等于多少呢?它是由linu某内核根目录下的makefile文件决定的,在makefile下有此环境变量的定义:或者通过makeARCH=armmenuconfig命令来生成配置界面,默认生成的界面是所有参数都是没有值的比如教务处进行考试,考试科数可能有外语、语文、数学等科,这里相当于我们选择了arm科可进行考试,系统就会读取arm/arm/kconfig文件生成配置选项(选择了arm科的卷子),系统还提供了某86科、milp科等10几门功课的考试题3)假设教务处比较“仁慈”,为了怕某些同学做不错试题,还给我们准备了一份参考答案(默认配置选项),存放在arch/$ARCH/config下,对于arm科来说就是arch/arm/config文件夹:此文件夹中有许多选项,系统会读取哪个呢?内核默认会读取linu某内核根目录下.config文件作为内核的默认选项(试题的参考答案),我们一般会根据开发板的类型从中选取一个与我们开发板最接近的系列到Linu某内核根目录下(选择一个最接近的参考答案)#cparch/arm/config/3c2410_defconfig.config4).config假设教务处留了一个心眼,他提供的参考答案并不完全正确(.config文件与我们的板子并不是完全匹配),这时我们可以选择直接修改.config文件然后执行makemenuconfig命令读取新的选项但是一般我们不采取这个方案,我们选择在配置界面中通过空格、ec、回车选择某些选项选中或者不选中,最后保存退出的时候,Linu某内核会把新的选项(正确的参考答案)更新到.config中,此时我们可以把.config重命名为其它文件保存起来(当你执行makeditclean时系统会把.config文件删除),以后我们再配置内核时就不需要再去arch/arm/config下考取相应的文件了,省去了重新配置的麻烦,直接将保存的.config文件复制为.config即可.5)经过以上两步,我们可以正确的读取、配置我们需要的界面了那么他们如何跟makefile文件建立编译关系呢?当你保存makemenuconfig选项时,系统会除了会自动更新.config外,还会将所有的选项以宏的形式保存在Linu某内核根目录下的include/generated/autoconf.h文件下内核中的源代码就都会包含以上.h文件,跟宏的定义情况进行条件编译。

LINUX内核配置详解

LINUX内核配置详解

内核编译配置选项简介(2.4.18-rmk7-pxal)来源: ChinaUnix博客作者:发布时间:2007-01-02Code maturity level options 代码成熟度选项Prompt for development and/or incomplete code/drivers显示尚在研发中或尚未完成的代码和驱动.除非您是测试人员或研发者,否则请勿选择我是研发者,所以选[ ]Prompt for obsolete code/drivers显示废弃的代码或驱动Loadable module support 可加载模块支持Enable loadable module support打开可加载模块支持,假如打开他则必须通过"make modules_install"把内核模块安装在/lib/modules/中[ ]Set version information on all module symbols允许使用其他内核版本的模块(可能会出问题)建议不选,能够避免模块版本不匹配kernel module loader让内核通过运行modprobe来自动加载所需要的模块,比如能够自动解决模块的依赖关系System Type 系统类型(S3C2410-based) ARM system typeARM系统,基于S3C2410---S3C2410 Implementation 基于S3C2410架构的实现SMDK (MERI TECH BOARD)SMDK2410是Samsung的S3C2410的Reference board,即公板公板是芯片厂家提供的样板卡。

现在市面上的产品绝大多数都是公板的,因为使用公板能够减少研发成本,特别是现在产品的推陈出新速度很快,造成绝大多数生产厂商为了追新,只能使用公板。

change AIJI支持AIJI的更新韩国爱极(AIJI)系统有限公司是三星公司最重要的技术合作伙伴,能够提供基于任何三星处理器尤其是三星ARM处理器的研发解决方案,如基于44B0、2410、2412、2413、2440、PSA926EJ和PSA920T等处理器的研发板by threewater--]三水==刘淼,呵呵,博创技术总监S3C2410 USB function support支持S3C2410的USB功能Support for S3C2410 USB character device emulation支持S3C2410的USB字符设备仿真---Processor Type 处理器类型ARM920T CPU idleARM920T I-Cache onARM920T Instruction CacheARM920T D-Cache onARM920T Data Cache一级缓存中分数据缓存(Data Cache,D-Cache)和指令缓存(Instruction Cache,I-Cache)。

S3C2410使用手册

S3C2410使用手册

JTAG 调试接口
我们通过并口线把计算机的并口和 JTAG 下载线连接,然后把 JTAG 下载线和开发板的 JTAG 接口连接,接下来我们安装驱动(DISK1\Flash 烧写工具\驱动\安装驱动.exe)然后执行 DISK1\Flash 烧写工具“c.bat”,接下来的怎么做呢?看一下\DISK1\Flash 烧写工具\演示.exe 吧! 怎么样?很简单吧!您可能要问了“DISK1\Flash 烧写工具\sjf2410”目录下是什么呢?这就是 我们这个烧写工具的源代码,即文件 sjf2410.exe 的源代码,有兴趣可以看一看,如果您想编 译它,可以用 VC6.0,还要安装 windows 的 DDK。如果您没有这些工具,你就不用管它了(补 充一句,我们 PC 端的驱动,都需要使用 windows 的 DDK 编译)。(在此您要注意的是:您的 JTAG 要设置成 wiggler 模式,否则程序会告诉你找不到 CPU 的 ID 号)。
HFRK2410嵌入开发平台是针对S3C2410的一款高性能开发平台,硬件软件都可根据自己的 需求定制,具有高性能、低功耗、接口丰富等特点,因此你可以在此基础上开发自己的产品; 而又因为开发板布局合理,接口排列整齐,适合直接按装使用,所以HFRK2410开发板同样也 可以作为您的最终产品的一部分,可以直接把开发板整合到您的产品中。
对一的,一种是 2-3 转换的)!
USB 设备
串口 0
现在打开串口调试软件 dnw.exe(这个软件在光盘的“disk1\工具软件\dnw.exe”),首先设 置这个软件。选择[configuration options],如图:
-3-
北京恒丰锐科科技有限公司

010-63726790/63734126

Jflash-s3c2410, linux版本修改,适用博创2410-S实验箱

Jflash-s3c2410, linux版本修改,适用博创2410-S实验箱

Jflash-s3c2410, linux版本修改,适用博创2410-S实验箱实验室电脑太老,用虚拟机非常容易死机,于是装了双系统,让学生在linux下进行开发。

这学期很多实验都是裸机开发,可是博创没有提供linux下烧写2410-s的软件,如果每次烧写都要重启到windows就麻烦了,与博创客服联系没有得到回应,只好找百度帮忙。

Jflash是个开源的软件,是可以用在linux 上的,花了些时间终于找到了Jflash的源码,在网上读了一些相关文章,只要弄清楚jtag的连接方式就可以修改成功。

普通的并口连接JTAG的方式有三种:Wiggler、Sdt、自定义,经过查看2410-s的电路图以及windows下配置H-jtag 的文档,弄清楚了博创的连接方式,但是经过修改后还是没有解决问题,Jfalsh 始终找不到CPU,网上有位大哥也是遇到的同样的问题,百度上翻遍了都没有解决方案,只好硬着头皮看代码和文档。

最终找到了问题所在,需要修改的代码如下:// Pin Connections Jflash-S3C2410默认是Wiggler方式// TCK :DATA[0] (2) // up-tech is DATA[0] (2)// TDI :DATA[1] (3) // up-tech is DATA[6] (8)// TMS :DATA[2] (4) // up-tech is DATA[1] (3)// TDO :STATUS[7] (11)//up-tech is STATUS[4] (13)#define TCK_H 0x01 //(1<<0)#define TDI_H 0x40 //(1<<6)#define TMS_H 0x02 //(1<<1)//#define TRST 0X04 // (1<<2)#define JTAG_SET(value) OutputPpt(value| TRST )/*这里修改之后就成功找到CPU和FLASH了,可以烧写了,博创自定义的连接方式与Wiggler、Sdt的的一个重要区别是nTRST这个JTAG的复位信号没有反转,nTRST连接的是Pin4 D2,于是在JTAG_SET()里手动反转过来*/#define JTAG_GET_TDO() ( (InputPpt()&(1<<4)) ? LOW:HIGH ) //TDO连接的是Pin13 STATUS[4],不反转。

基于S3C2410的嵌入式Linux操作系统移植方法

基于S3C2410的嵌入式Linux操作系统移植方法
1 嵌 入 式 系统 开 发 Байду номын сангаас 境
进 行嵌 入式 系 统设 计 ,通 常使 用 P 机 和 目标 板 交 叉 编 译 的开 发 模 式 。交 叉 编 译 是 在 P 机 上 编 C C 译 并 生 成 能 够在 目标 板 上 运 行 的 代码 ,然 后 下 载 到 目标 板 上 运行 调 试 。 本 系 统 硬 件 平 台 采 用 广 州友 善 之 臂计 算 机 科 技 有 限公 司 设 计 生 产 的 S C2 1 V6开 发 板 ,它 基 于 B 40 三星公司 A RM 9处 理 器 ¥ C 4 0 ,具 有 高性 能 、低 功 耗 、接 口丰 富 和体 积 小 等 优 良特 性 。 3 2 1X 主 机 P 的 开 发 环 境 为 :VMwa 60+ e o a iu 6 Ken l v r o ..8 g c编 译 器 为 C r . F d r n x , re es n 261 ; c e L i g c ..:交 叉 编 译 器 为 aT—iu — c341 c411 ni l x g c ..。需 要 说 明 的是 a h u - c341放 在 / s lcl r 目 n r m- n x g c .. ur o a am / / 录 下 .并 添 加 到 环境 变 量 P H 中 。 AT
s d d fu t na m k ea l nd
基于 ¥ C 4 3 21 0的嵌入式 L iu x操作 系统移植方法 n
冯 达 芳
( 州 职业 技 术 学 院 电子 电 气 工程 系 ,广 西 柳 柳 州 5 5 0 ) 4 0 6
摘要 :主要 介 绍 了 Ln x 262 . iu 一 ..44内核 的移 植 和 根 文 件 系统 的制 作 ,并 描 述 了嵌 入 式 Ln x操 作 iu 系统 移植 到 S C2 1 3 4 0的全 过 程 。 关 键词 :¥ C2 1 ;嵌 入 式 Ln x 3 40 iu ;移植 过 程 ; 内核 的 移 植 ;根 文件 系统 的制 作 中图分类 号 :T 3 1 4 P 1. 5

基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用

基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用
换器 , 来越 受到关注。 越 ¥ C 4O 3 2 1是韩国三 星电子公 司推 出的一款基 于AR 2T内核 M9 0
的1 /3位R S 嵌入式微处理裂 sc4 O 6 2 IC ,32 1配合s RA F AS D M、 L H、 网 口和 串 口就构 成了基本的AR M嵌入 式硬件平 台。 嵌入式设备种类繁多的特点决定了不同的嵌 入式产品在开 发 时都必须设计和开发 自己的设备驱动程序 , 使得 嵌入 式Ln x iu -  ̄备 驱动程序的开发在整个嵌入式系统 开发工作中 占有 非常重要的地 位。 下面分析Ln x iu  ̄符设备驱动程序的结 构以及ADC 驱动程序 的 开发方法 , 本驱动可 以测试 电压信号 , 或着作为工业传感器接 口的 了 。 3I驱 动 程 序 的 功 能 . 部分对现场标准工程量信号进行采集处理 , 的硬件平台基于 本文 驱动程序作为 内核 的一部分 , 主要完成功能有 : ) ( 对设备进 行 1 北京博创嵌 入式经典平 台( - 3 2 1 ) UP ¥ C 4 0 。 初始化 和释放 , 如向内核注册设备 , 设置相 关I 参数 , O 分配设置使用 2 32 1 、S c 4 0及 AD C横块 内存 等。2把数据 从内核传送到硬件或 从硬 件读取数据 并提交 给 () sc4 0 32 1芯片 内部集成了一个8 O 路1位的A 1转换器 , /) 并且支持 内核 。3读取应 用程 序传送给设备 文件 的数据和 回送应用程序 请 () 触摸屏功 能。 RM2 1- 发板只用作3 A 40 [ Y : 路A/) 1转换器 , 其最大转换 求 的数据 。 ) 和处理硬件设备 出现 的错 误。 ( 检查 4 效率为50 非线性度为 士15 , 0 K, .位 如果系统 时钟为5 Mh , 0 z 比例值 32驱 动 程序 开发 、调 试 的 方 法 . 为 4 , 转 换 频率 为 1 z 转 换 时 间为 5 I。 9则 Mh , “s4 1 种是将 其作为内核的一部分 , 直接编译 到 内核 中, 即静态编 对A 的操作 , DC 主要是通过A 的几组寄存器进行读写操作 : 译 。 DC 另一种是将驱动程序单独作为一 个模 块编译 , 在需要 时再动态 A 控制寄存器 ( DC O , RM2 1开发板上对应 的物 地把它加载到内核 , DC A C N)在A 4O 不需要时可 以从内核 中卸载 , 即动态连接。 由于 理地址 为0 5 00 0 。 C x 800 0 AD 数据寄存器 ( C T )对应的物理 Sc4O AD DA l , 0 32 1芯片 中有MMU, 使用动态连接方式进行加载便于调试 。 本 地 址为0 5 0 0 0 。 x 8 0 0c 文ADC 驱动使 用后一种方式 。 ADCC N寄存器的【】 O 1位是转换结 束标志 , 时表示转换结 为l 3 设 备 文件 和设备 号 . 3 束o] [位表示A D 1 4 / 转换的预定标器使能位 , 1 为 表示预定标器启动 。 Ln x iu  ̄用设备 文件的概念来统一对设 备的访 问接 口。 . 在24 [3 6位表示预 定标器的数值 , 1 :】 需要注意 的是如果这里的值为N, 则 版内核 中引入 了设备 文件系统( e ̄)而之前的l u  ̄设备文件 d vs , ix n 除数 因子为N+ 。 :】 I[ 3 5 位表示模 拟通道选择 位,o- 示I , 1表 放 在 “ d c 目录 下 。 oo  ̄ N0 l 1 / e” 示I 。 】 N7 【 位表示 待用模式选择位 。 】 2 [位是读使能A/ 转换开始位 。 1 D 传统的设备管理 中, 除了设备类型S ,n x bl u 内核 中还需要一对 i [】 0位置 1则A/ 转换开始 。 , D 称作主设备 号 、 次设备 号的参数才能唯一标示一 个设 备 。 A DA 0 DC T 的前 l [:1 啦 90表示转换后的结果 , (3f时为满 全1o e ) 3 设 备 文件相 关 的数 据 结构 . 4

U-boot2009.08基本的寄存器设置

U-boot2009.08基本的寄存器设置

嵌入式Linux之我行——u-boot-2009.08在2440上的移植详解嵌入式Linux之我行,主要讲述和总结了本人在学习嵌入式linux中的每个步骤。

一为总结经验,二希望能给想入门嵌入式Linux的朋友提供方便。

如有错误之处,谢请指正。

∙共享资源,欢迎转载:一、移植环境∙主机:VMWare--Fedora 9∙开发板:Mini2440--64MB Nand,Kernel:2.6.30.4∙编译器:arm-linux-gcc-4.3.2.tgz∙u-boot:u-boot-2009.08.tar.bz2二、移植步骤本次移植的功能特点包括:∙支持Nand Flash读写∙支持从Nor/Nand Flash启动∙支持CS8900或者DM9000网卡∙支持Yaffs文件系统∙支持USB下载(还未实现)1.了解u-boot主要的目录结构和启动流程,如下图。

u-boot的stage1代码通常放在cpu/xxxx/start.S文件中,他用汇编语言写成; u-boot的stage2代码通常放在lib_xxxx/board.c文件中,他用C语言写成。

各个部分的流程图如下:2. 建立自己的开发板项目并测试编译。

目前u-boot对很多CPU直接支持,可以查看board目录的一些子目录,如:board/samsung/目录下就是对三星一些ARM处理器的支持,有smdk2400、smdk2410和smdk6400,但没有2440,所以我们就在这里建立自己的开发板项目。

1)因2440和2410的资源差不多,主频和外设有点差别,所以我们就在board/samsung/下建立自己开发板的项2)因2440和2410的资源差不多,所以就以2410项目的代码作为模板,以后再修改3)修改u-boot跟目录下的Makefile文件。

查找到smdk2410_config的地方,在他下面按照smdk2410_config到此为止,u-boot对自己的my2440开发板还没有任何用处,以上的移植只是搭建了一个my2440开发板u-boot 的框架,要使其功能实现,还要根据my2440开发板的具体资源情况来对u-boot源码进行修改。

基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用

基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用

基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用ADC(Analog-to-Digital Converter)是一种将信号从模拟信号转换为数字信号的设备,广泛应用于控制系统、数据采集系统、仪器测量等领域。

本文将介绍基于S3c2410和嵌入式Linux的ADC驱动程序实现与应用。

1. 系统架构基于S3c2410和嵌入式Linux的ADC系统,主要包含以下组件:(1)S3c2410芯片:作为系统的CPU,能够实现外设控制、中断处理、定时器等功能。

(2)ADS7843/ADS7846:作为ADC芯片,能够实现模拟信号的转换。

(3)嵌入式Linux系统:作为操作系统,提供驱动程序和应用程序运行环境。

2. 驱动程序实现ADC驱动程序是将ADS7843/ADS7846芯片与S3c2410通信的重要组件。

其主要实现了以下功能:(1)初始化ADC芯片(2)设置采样频率和分辨率(3)读取ADC转换的结果ADC驱动程序可分为三个部分:低层驱动程序、中层驱动程序和应用程序。

(1)低层驱动程序:实现ADC芯片与S3c2410之间的通信,包括SPI接口和GPIO接口。

(2)中层驱动程序:提供一些通用接口,如读写寄存器、配置寄存器等功能。

(3)应用程序:调用中层驱动程序提供的接口,实现ADC数据采集等功能。

3. 应用程序实现基于ADC驱动程序,我们可以实现各种应用程序来获取模拟信号的数值。

以下是一个简单的应用程序示例:int main(void){int fd;unsigned short value1, value2;fd = open("/dev/adc", O_RDWR);ioctl(fd, ADC_SET_FREQ, 10000); // 设置采样频率为10KHzioctl(fd, ADC_SET_RES, 12); // 设置ADC分辨率为12位while(1){read(fd, &value1, sizeof(value1)); // 读取第1个通道的数值read(fd, &value2, sizeof(value2)); // 读取第2个通道的数值printf("value1: %d, value2: %d\n", value1, value2);}close(fd);return 0;}该应用程序利用了ADC驱动程序提供的接口,设置了采样频率为10KHz,分辨率为12位,并不断读取两个通道的数值,输出到终端。

基于S3C2410的嵌入式Linux移植

基于S3C2410的嵌入式Linux移植
改 为 t S C 。 更 改 ac/ r k re stpc文 件 中 p re tg t A O y rh am/ e l e . n / u as a_
Vv 是 当 前 比 较 流 行 的 、 门 针 对 A ii 专 RM9处 理 器 而 设 计 的

c die 函 数 , 注 释 掉 6 1行 ”t cy(ea l_ mm n_ie ml n 6 sl r p dfutc _o ad l , n

要 : 要 分 析 嵌 入 式 Ln x在 基 于 ¥ C 4 0处 理 器 的 目标 板 上 的 移 植 。 首 先 阐 述 了嵌 入 式 Ln x操 作 系统 的 特 主 iu 321 iu
点 , 后 介 绍 了 V v 的 移 植 , 点 介 绍 了 Ln x 内核 的 移 植 过 程 , 述 了根 文 件 系统 的 建 立 。 移 植 后 的 l u 然 ii 重 iu 叙 i x在 嵌 入 n 式 系统 中运 行 良好 。
C R0S C0MP L : / s/ o a / r S I E = u r l c l a m/34./ i / r ln x . 1 b n a m— i u 一

可 以任意 修改 以满 足 自己 的应用 ; 高 性能 、 裁剪 的内核 。 ② 可 内
核设 计十分 优 秀 , 行 时所 需资 源少 , 稳定 高 效 。 特 的模块 运 且 独
嵌 入 式L n x 作 系 统 iu 操
嵌入 式 Ln x是标 准 Ln x在嵌 入式 系统 上 的 移植 ,继 承 iu iu
删 除 掉 以 下 内容 :
# R H ?=¥( UB C A C S AR H)
# CROS C0MP LE ? = S I

Linux内核头文件中关于s3c2410 GPIO的宏

Linux内核头文件中关于s3c2410 GPIO的宏

Linux内核头文件中关于s3c2410 GPIO的宏一、GPIO寄存器定义1.#define GPCON(x) __REG2(0x56000000, (x) * 0x10)这句是定义2410的GPIO的控制寄存器,注意:__REG2的参数是寄存器的物理地址,这个物理地址经_REG2宏转换为虚拟地址,对照2410的手册可以得到一下对应关系:GPCON(1)------PORT A 0x56000000GPCON(2)------PORT B 0x56000010GPCON(3)------PORT C 0x56000020. . . .. . . .. . . .GPCON(8)------PORT H 0x560000702.#define GPDAT(x) __REG2(0x56000004, (x) * 0x10)这句是定义2410的GPIO的数据寄存器,定义方法同GPCON宏。

GPDAT(1)------PORT A 0x56000004GPDAT(2)------PORT B 0x56000014GPDAT(3)------PORT C 0x56000024. . . .. . . .. . . .GPDAT(8)------PORT H 0x560000743.#define GPUP(x) __REG2(0x56000008, (x) * 0x10)这句是定义2410的GPIO的上拉电阻屏蔽/激活寄存器,定义方法同GPCON 宏。

GPUP(1)------PORT A 0x56000008GPUP(2)------PORT B 0x56000018GPUP(3)------PORT C 0x56000028. . . .. . . .. . . .GPUP(8)------PORT H 0x56000078二、GPIO端口号定义以GPIO_G12来说明在内核头文件$(KERNEL_INCLUDE)/asm-arm/arch/s3c2 410.h中是如何来定义IO port的端口号的。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CONFIG_CPU_CACHE_V4WT=y
CONFIG_CPU_CACHE_VIVT=y
CONFIG_CPU_COPY_V4WB=y
CONFIG_CPU_TLB_V4WBI=y
CONFIG_CPU_CP15=y
CONFIG_CPU_CP15_MMU=y
#
# Processor Features
CONFIG_LOG_BUF_SHIFT=16
# CONFIG_SYSFS_DEPRECATED is not set
# CONFIG_RELAY is not set
# CONFIG_BLK_DEV_INITRD is not set
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
CONFIG_DEFAULT_CFQ=y
# CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="cfq"
#
# System Type
#
# CONFIG_ARCH_AAEC2000 is not set
# CONFIG_ARCH_INTEGRATOR is not set
#
# CONFIG_ARM_THUMB is not set
# CONFIG_CPU_ICACHE_DISABLE is not set
# CONFIG_ARCH_BAST is not set
# CONFIG_MACH_OTOM is not set
# CONFIG_MACH_AML_M5900 is not set
# CONFIG_MACH_VR1000 is not set
# CONFIG_MACH_QT2410 is not set
# CONFIG_ARCH_REALVIEW is not set
# CONFIG_ARCH_VERSATILE is not set
# CONFIG_ARCH_AT91 is not set
# CONFIG_ARCH_CLPS7500 is not set
# CONFIG_ARCH_CLPS711X is not set
# CONFIG_S3C2410_BOOT_WATCHDOG is not set
# CONFIG_S3C2410_BOOT_ERROR_RESET is not set
# CONFIG_S3C2410_PM_DEBUG is not set
CONFIG_S3C2410_LOWLEVEL_UART_PORT=0
#
CONFIG_ARM=y
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
CONFIG_GENERIC_GPIO=y
# CONFIG_GENERIC_TIME is not set
# CONFIG_GENERIC_CLOCKEVENTS is not set
CONFIG_MMU=y
CONFIG_NO_IOPORT=y
CONFIG_GENERIC_HARDIRQS=y
CONFIG_STACKTRACE_SUPPORT=y
CONFIG_LOCKDEP_SUPPORT=y
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
CONFIG_HARDIRQS_SW_RESEND=y
CONFIG_GENERIC_IRQ_PROBE=y
CONFIG_RWSEM_GENERIC_SPINLOCK=y
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
CONFIG_GENERIC_HWEIGHT=y
CONFIG_EVENTFD=y
CONFIG_SHMEM=y
CONFIG_VM_EVENT_COUNTERS=y
CONFIG_SLAB=y
# CONFIG_SLUB is not set
# CONFIG_SLOB is not set
CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_S3C2410_DMA=y
# CONFIG_S3C2410_DMA_DEBUG is not set
CONFIG_MACH_SMDK=y
#
# S3C2400 Machines
#
CONFIG_CPU_S3C2410=y
CONFIG_CPU_S3C2410_DMA=y
CONFIG_S3C2410_PM=y
CONFIG_SYSCTL=y
# CONFIG_EMBEDDED is not set
CONFIG_UID16=y
CONFIG_SYSCTL_SYSCALL=y
CONFIG_KALLSYMS=y
# CONFIG_KALLSYMS_EXTRA_PASS is not set
CONFIG_HOTPLUG=y
# CONFIG_ARCH_CO285 is not set
# CONFIG_ARCH_EBSA110 is not set
# CONFIG_ARCH_EP93XX is not set
# CONFIG_ARCH_FOOTBRIDGE is not set
# CONFIG_ARCH_NETX is not set
文件系统。我看了一下编译出来的uImage大概在800k左右,呵呵么这是本人第一次成功裁减内核。
#
# Automatically generated make config: don't edit
# Linux kernel version: 2.6.22.6
# Tue Mar 16 20:42:20 2010
linux内核配置文件.config,基于s3c2410实现
下面的文件的使用方法是:将下面的文件保存在linux内核源码目录中,文件的名称是.config,然后make menuconfig,在出现
的配置界面中选择Load Configuratio选项,然后可以在这个基础上修改自己的kernel。下面的配置是基于s3c2410,支持yaffs2
CONFIG_S3C2410_GPIO=y
CONFIG_S3C2410_CLOCK=y
#
# S3C2410 Machines
#
CONFIG_ARCH_SMDK2410=y
# CONFIG_ARCH_H1940 is not set
# CONFIG_MACH_N30 is not set
#
# CONFIG_EXPERIMENTAL is not set
CONFIG_BROKEN_ON_SMP=y
CONFIG_INIT_ENV_ARG_LIMIT=32
#
# General setup
#
CONFIG_LOCALVERSION=""
# CONFIG_LOCALVERSION_AUTO is not set
# CONFIG_ARCH_NS9XXX is not set
# CONFIG_ARCH_PNX4008 is not set
# CONFIG_ARCH_PXA is not set
# CONFIG_ARCH_RPC is not set
# CONFIG_ARCH_SA1100 is not set
#
# S3C2412 Machines
#
# CONFIG_MACH_SMDK2413 is not set
# CONFIG_MACH_SMDK2412 is not set
# CONFIG_MACH_VSTMS is not set
#
# S3C2440 Machines
#
# CONFIG_MACH_ANUBIS is not set
#
CONFIG_IOSCHED_NOOP=y
# CONFIG_IOSCHED_AS is not set
# CONFIG_IOSCHED_DEADLINE is not set
CONFIG_IOSCHED_CFQ=y
# CONFIG_DEFAULT_AS is not set
# CONFIG_DEFAULT_DEADLINE is not set
CONFIG_SWAP=y
CONFIG_SYSVIPC=y
# CONFIG_IPC_NS is not set
CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_UTS_NS is not set
# CONFIG_IKCONFIG is not set
# CONFIG_MACH_OSIRIS is not set
# CONFIG_MACH_RX3715 is not set
# CONFIG_ARCH_S3C2440 is not set
# CONFIG_MACH_NEXCODER_2440 is not set
#
# S3C2442 Machines
#
#
# S3C2443 Machines
#
# CONFIG_MACH_SMDK2443 is not set
#
相关文档
最新文档