linux-3.0内核移植到fl2440开发板(以MINI2440为模板)

发布者:甜美瞬间最新更新时间:2024-07-10 来源: elecfans关键字:内核移植  fl2440开发板 手机看文章 扫描二维码
随时随地手机看文章

我们的fl2440开发板使用的是s3c2440的芯片,与MINI2440十分相似,因此需要改动的地方不多,移植也比较容易。

1.[weishusheng@localhost kernel]$ sudo tar -xjf linux-3.0.tar.bz2 

2. 进入 linux-3.0,修改顶层Makefile

配置CPU类型和交叉编译器(195,196行)

ARCH        ?= arm

CROSS_COMPILE   ?= /opt/buildroot-2011.11/arm920t/usr/bin/arm-linux-

添加zImage头制作(559行后面)

cp arch/arm/boot/zImage . -f

    /home/weishusheng/kernel/linux-3.0/mkimage -A arm -O linux -T kernel -C none -a 30008000 -e 30008040 -n 'Linux Kernel' -d   zImage    

linuxrom-s3c2440-wei.bin

rm -f zImage

mkimage是在制作u-boot的时候生成的,在u-boot的/tools目录下,这里我把它拷贝到内核目录下,这段是在linux编译的内核的前面,加上一个64字节的头,让u-boot能够引导内核启动。

3.拷贝 arch/arm/configs/mini440_defconfig作为.config的模板

[weishusheng@localhost linux-3.0]$ sudo cp arch/arm/configs/mini2440_defconfig .config

文章里许多地方我用了sudo,是因为我在实验室的.3服务器上做,很多命令没有权限,大家依据自己的情况决定用不用加

4.[weishusheng@localhost linux-3.0]$ export TERM=vt100

[weishusheng@localhost linux-3.0]$ sudo make menuconfig

 System Type  ---> 

               S3C2440 and S3C2442 Machines  --->                      

                         [ ] Simtec Electronics ANUBIS (NEW) 
                         [ ] Openmoko GTA02 / Freerunner phone (NEW)
                         [ ] Simtec IM2440D20 (OSIRIS) module (NEW) 
                         [ ] HP iPAQ rx3715 (NEW) 
                         [*] SMDK2440 
                         [ ] NexVision NEXCODER 2440 Light Board (NEW) 
                         [*] SMDK2440 with S3C2440 CPU module (NEW) 
                         [ ] SMDM2440 with S3C2442 CPU module (NEW) 
                         [ ] Avantech AT2440EVB development board (NEW) 
                         [ ] MINI2440 development board 
                         [ ] HP iPAQ rx1950 (NEW)

Device Drivers  ---> 

          <*> Telephony support  ---> 

5.修改时钟和串口,将arch/arm/mach-s3c2440/mach-smdk2440.c中的__init smdk2440_map_io()函数中对时钟的初始化修改为12MHz:

static void __init smdk2440_map_io(void)
{
s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));
s3c24xx_init_clocks(12000000);
s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));
}

6.将drivers/tty/serial/samsung.c中设置如下:

57行

#define S3C24XX_SERIAL_NAME  'ttyS'

            

885行

.driver_name    = 'ttyS',

7.修改arch/arm/tools/mach-types,将machine_ID配置为如下

s3c2440         ARCH_S3C2440        S3C2440         1999

mini2440        MACH_MINI2440       MINI2440        362 

8.开始编译:make


关键字:内核移植  fl2440开发板 引用地址:linux-3.0内核移植到fl2440开发板(以MINI2440为模板)

上一篇:基于S3C2440和DM9000移植LWIP
下一篇:linux设备树-linux内核设备树移植(二)

推荐阅读最新更新时间:2024-11-05 10:53

Exynos4412 内核移植(二)—— 内核编译过程分析
内核的编译同样是从Makefile 来分析: 一、内核源码结构 Linux内核文件数目近2万,出去其他架构CPU的相关文件,他们分别位于顶层目录下的17个子目录,各个目录功能独立,下面是常用目录: arch:体系结构相关代码 ipc:进程调度相关代码 mm:内存管理 Documentation:帮助文档 net:网络协议 lib:库 scripts:编译相关脚本工具 tools:编译相关工具 drivers:设备驱动 fs:文件系统实现 对于ARM 架构的Exynos4412,其体系相关的代码在arch/arm/目录下,在后面进行的Linux移植时,开始的工作正式修改这个目录下的文件。 二、Linux Make
[单片机]
Exynos4412 <font color='red'>内核</font><font color='red'>移植</font>(二)—— <font color='red'>内核</font>编译过程分析
Linux-2.6.32.2内核在mini2440上的移植(十八)---将UART2更成普通串口
移植环境 1,主机环境:VMare下CentOS 5.5 ,1G内存。 2,集成开发环境:Elipse IDE 3,编译编译环境:arm-linux-gcc v4.4.3,arm-none-linux-gnueabi-gcc v4.5.1。 4,开发板:mini2440,2M nor flash,128M nand flash。 5,u-boot版本:u-boot-2009.08 6,linux 版本:linux-2.6.32.2 7,参考文章: 嵌入式linux应用开发完全手册,韦东山,编著。 Mini2440 之Linux 移植开发实战指南 【1】硬件原理 S3C2440 芯片具有3 个串口:UART0,1,2,我们下载的L
[单片机]
Linux-2.6.32.2<font color='red'>内核</font>在mini2440上的<font color='red'>移植</font>(十八)---将UART2更成普通串口
linux内核移植s3c2410,准备工作
1.首先是获得linux内核源码,好像是废话,下载地址如下:ftp://ftp.kernel.org/pub/linux/kernel/v2.6/下载: linux-2.6.16.22.tar.bz2 patch-2.6.22.6.bz2 上面一步需要说明的是一般而言,linux内核的各个补丁文件是根据某个linux内核的版本号来作的patch。 将上面的两个压缩文件解压: tar jxvf linux-2.6.22.tar.bz2 tar jxvf patch-2.6.22.6.bz2 cd linux-2.6.22 patch -p1 ../patch-2.6.22.6 2.linux内核源码结构和Makefile分析 li
[单片机]
内核移植(3)修改MTD分区
修改MTD分区,在arch/arm/plat-s3c24xx/common-smdk.c修改: static struct mtd_partition smdk_default_nand_part = { = { .name = Boot Agent , .size = SZ_16K, .offset = 0, }, = { .name = S3C2410 flash partition 1 , .offset = 0, .size = SZ_2M, }, = { .
[单片机]
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
更多往期活动
随便看看

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved