版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、LINUX2.6.14 在 TE2410 开发板上的移植作者:王 鹏 乔 鹏本实验是在 TE2410 开发板上实现的。TE2410 开发板是保定飞凌技术研发的一款 ARM9 开发(),基于三星公司的 ARM 处理器 S3C2410A。一 准备必要的文件首先去的 linux 内核http:/因为 linux2.6.14 内核需要更新版本的编译器,所以需要交叉编译器ftp:/ftp.handhelds./projects/toolchain/arm-linux-gcc-3.4.1.tar.bz2二 安装文件把 arm-linux-gcc 安装在 /usr/local/arm/3.4.1 目录下,安
2、装方法和安装 gcc2.95.3 和gcc3.3.2 是相同的!接下来需要解压 linux 内核,输入命令:root localhost hfrk# tar jxvf linux-2.6.14.tar.bz2内核被解压到 linux-2.6.14 目录下。三 修改 makefile 文件内核的编译是根据 makefile 文件的指示进行的, Makefile 文件来组织内核的各模块之间的关系,了各个模块之间的相互联系和依赖关系。首先修改 linux-2.6.14 的根目录下的 makfile 文件,须改的主要内容是目标代码的类型和为编译内核指定一个编译器。注释掉以下内容:#ARCH?= $(S
3、UBARCH)PILE?=增加如下内容:ARCH: = armPILE =/usr/local/arm/3.4.1/bin/arm-linux-四 修改相关的文件。11、修改 archarmmach-s3c2410devs.c 文件增加头文件定义#include#include#include/*end add*/Te2410 开发板 mtd 分区表:nameoffsetsizeflagvivi: 0 x000000000 x000200000128kparam: 0 x000200000 x00010000064kkernel: 0 x000300000 x001c000001M+768kr
4、oot: 0 x002000000 x0040000004Musr: 0 x006000000 x03a00000058M增加nand flash分区信息/*add here*/sic struct mtd_partition partition_info =name: vivi,size: 0 x00020000,offset: 0, name: param,size: 0 x00010000,offset: 0 x00020000, name: kernel,size: 0 x001c0000,offset: 0 x00030000, 2name: root,size: 0 x004000
5、00,offset: 0 x00200000,mask_flags: MTD_WRITEABLE, name: user,size: 0 x03a00000,offset: 0 x00600000,;struct s3c2410_nand_set nandset =nr_partitions: 5 ,partitions: partition_info ,;struct s3c2410_platform_nand superlpplatform=tacls:0,twrph0:30,twrph1:0,sets: &nandset,nr_sets: 1,;/*end add*/struct pla
6、tform_devi3c_device_nand = .name= s3c2410-nand,.id= -1,.num_resour= ARRAY_SIZE(s3c_nand_resource),.resource = s3c_nand_resource,3/*add here*/.dev = .platform_data = &superlpplatform/*end here*/;2. 修改 archarmmach-s3c2410mach-smdk2410.c 文件Startic struct platform_device *smdk2410_devi initdata=&s3c_dev
7、ice_usb,&s3c_device_lcd;&s3c_device_wdt,&s3c_device_i2c;&s3c_device_iis,&s3c_device_nand, /*add here*/;五 解决 ECC 问题修改 drivers/mtd/nand/s3c2410.c 文件:vi drivers/mtd/nand/s3c2410.c找到 s3c2410_nand_init_chip()函数,在该函数体最后加上一条语句:chip-eccmode = NAND_ECC_E;保存,退出。六做完以上修改以后,内核编译以后就可以在 te2410 开发板上运行了。打开终端窗口,切换到 l
8、inux-2.6.14 目录下,输入命令:root localhost linux-2.6.14# make smdk2410_defconfigroot localhost linux-2.6.14#make meueconfig配置选项如下:System Type-*S3C2410 DMA supportGeneral setup-*NWFPE math emulationMemory Technology Devi(MTD)-*MTD partitioning support4*d line partition table parsingNAND Flash DeviceDrivers*
9、NAND Deviupport*NAND Flashsupport for S3C2410 SoCBlock devi-*Initial RAM disk(initrd) supportCharacter devi-*-standard serial port support*S3C2410 RTC DriverFile systems-Miscellaneous filesystems*Compressed Rom file system support(cramfs)-Pseudo filesystems*Virtual memory file system support(former
10、shm fs)*/dev file system support(OBSOLETE)* Automatically mounbootroot localhost linux-2.6.14# make等编译完成以后,会生成镜像文件 arch/arm/boot/zImage ,把这个文件到开发板上!七 修改 vivi 串口参数在 2.6 内核中, 2410 的串口由原来的 ttyS0 变为 ttySAC0启动 te2410 目标板,进入 vivi,在vivi 提示符下输入:viviparam set linux_cmd_line noinitrd root=/dev/mtdblock/3init=
11、/linuxrc console=ttySAC0,115200viviparam save八启动信息eS3C2410 DEVELOP KITVIVI ver0.1.4 HYPERLINK mailto:(rootlocalhost.local (rootlocalhost.local) (gcc ver2.95.2 20000516(release) ) #0.1.4 日 12 月 24 13:09:55 CST 2006MMU tabase address = 0 x33DFC0005Succeed memory map.NAND device: Manufacture ID: 0 xec,
12、 Chi: 0 x76 (Samsung K9D1208V0M)Found saved vivi parameters.CS8900 - type: 630e, rev: a00CS8900 - sus: ad6 (EEPROM present)Setting MAC address.Display format changed to VGA 640X480 modePress Return to start the LINUX now, any other key foCopy linux kernel from 0 x00030000 to 0 x30008000, size = 0 x0
13、01c0000 . donezImage= 0 x016f2818Setup linuxparameters at 0 x30000100linuxd line is: noinitrd root=/dev/mtdblock/3init= nuxrcconsole=ttySAC0 ,115200MACH_TYPE =193NOW, Booting Linux.pressingLinux. done, booting the kernel.Linux ver2.6.14 HYPERLINK mailto:(rootlocalhost.local (rootlocalhost.local) (gc
14、c ver3.4.1) #1 SatAug11 16:36:16 CST 2007CPU: ARM920Tid(wb) 41129200 rMachine: SMDK2410ATAG_INITRD is deprecated; pleaseupdate your bootloader.Memory policy: ECC disabled, Dache writebackCPU S3C2410A (id 0 x32410002)S3C2410: core 200.000 MHz, memory100.000 MHz, peripheral 50.000 MHzS3C2410 Clocks, (
15、c) 2004 Simtec Electronics CLOCK: Slow mode (1.500 MHz), fast,MPLL on, UPLL on6CPU0:DVIVT write-back cacheCPU0:Icache: 16384 bytes, assotivity 64, 32 byines, 8 setsCPU0:Dcache: 16384 bytes, assotivity 64, 32 byines, 8 setsBuilt1zonelistsKerneld line: noinitrdroot=/dev/mtdblock/3init=nuxrc console=tt
16、ySAC0 ,115200irq: clearing subpending sus 00000003irq: clearing subpending sus 00000002hash table entries: 512(order: 9, 8192 bytes)timer tcon=00000000, tcnt a2c1, tcfg 00000200,00000000, usec 00001eb8Console: colour dummy device 80 x30Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)In
17、ode-cache hash table entries: 8192 (order: 3, 32768bytes)Memory: 64MB = 64MB totalMemory: 62720KB available (1620K code, 32Mount-cache hash table entries: 512CPU: Testing write buffer coherency: oksoftlockup thread 0 started up.NET: Registered protocol family 16S3C2410:Initialising architectureusbco
18、re:registerednewdriver usbfsusbcore:registerednewdriver hubS3C2410 DMADriver,(c)2003-2004 Simtec ElectronicsDMAchannel0atc4800000,irq33DMAchannel1atc4800040,irq34DMAchannel2atc4800080,irq35DMAchannel3atc48000c0,irq36NetWinder FloatingPoEmulator V0.97 (double preci)Console: switchingto colour frame b
19、uffer device 80 x25fb0: Virtual framebuffer device, using 1024K ofmemory7S3C2410 RTC, (c) 2004 Simtec Electronicss3c2410_serial0atMMIO0 x50000000(irq=70)isaS3C2410s3c2410_serial1atMMIO0 x50004000(irq=73)isaS3C2410s3c2410_serial2atMMIO0 x50008000(irq=76)isaS3C2410ioschedulernoop registeredioscheduler
20、ipatory registeredioschedulerdeadline registeredioschedulercfq registeredRAMDISK driver initialized: 16 RAM disks of 4096K sizeS3C24XX NAND Driver, (c) 2004 Simtec Electronicss3c2410-nand: mapped registers at c4980000s3c2410-nand: timing: Tacls 10ns, Twrph0 40ns, Twrph1 10nsNAND device: Manufacturer
21、 ID: 0 xec, Chi: 0 x76 (Samsung NAND 64MiB 3,3V 8-bit)Scanning device for bad blocksCreating 5 MTD partitions on NAND64MiB 3,3V 8-bit:0 x00000000-0 x00020000:vivi0 x00020000-0 x00030000:param0 x00030000-0 x001f0000:kernel0 x00200000-0 x00600000:root0 x00600000-0 x04000000:userusbmon: debugfs is not
22、availablemice: PS/2 mouse device common forall miceNET: Registered protocol family 2IP route cache hash table entries:1024 (order: 0, 4096 bytes)TCP established hash table entries: 4096 (order: 2, 16384 bytes)TCP bind hash table entries: 4096 (order: 2, 16384 bytes)TCP: Hash tables configured (estab
23、lished 4096 bind 4096)TCP reno registeredTCP bic registered8NET: Registered protocol family 1Please press Enter to activate this console.Starting714, console /dev/console:/bin/shBusyBox v0.60.3 (2002.05.13-08:36)Built-ins(ash)Enter help for a listofbuilt-inds.#九、网卡驱动的移植:91、把 cs8900.c 和 cs8900.h 两个针对
24、 2.6.14 的内核的驱动程序源代码,将其放在 drivers/net/arm/目录下面。#cp cs8900.c ./drivers/net/arm/ #cp cs8900.h ./drivers/net/arm/并在 cs8900_probe()函数中,memset (&priv,0,sizeof (cs8900_t);函数之后添加如下两条语句: raw_wri(0 x2211d110,S3C2410_BWSCON); raw_wri(0 x1f7c,S3C2410_BCON3);2、修改 drivers/net/arm/目录下的 Kconfig 文件,在最后添加如下内容: Config
25、 ARM_CS8900trise CS8900 supportdepends on NET_ETHERNET & ARM & ARCH_SMDK2410 helpSupport for CS8900A chipset based Ethernet cards. If you have a network (Ethernet) card of this type, say Y and read the Ethernet-HOWTO, available from as well as . To compile this driver as a module, choose M here and
26、read.The module will be called cs8900.o.内核系统配置文件由 2.4 版本的config.in 变成了 2.6 版本Kconfig 文件,在这个文件里面添加如上内容,则在运行 makeconfig 或者 make xconfig 命令的时候就会出现: CS8900 support这一选项。3、修改 drivers/net/arm/目录下的 Makefile 文件,在最后添加如下内容:10obj-$(CONFIG_ARM_CS8900) += cs8900.o2.6 版本内核的 Makefile 文件也与 2.4 版本的有所不同。添加以上语句,就会使内核在编译的时候根据配置将 cs8900A 的驱动程序以模块或静态的方式编译到内核当中。4、在/arch/arm/mach-s3c2410/mach-smdk2410.c 文件中,找到 smdk2410_iodesc结构数组,添加如下如下内容:vSMDK2410_ETH_IO, 0 x19000000, SZ_1M, MT_DEVICE修改之后变成了:sic struct map_desc smdk2410_iodesc initdata = /* nothing here yet */* Map the ethernet controller CS8
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030智慧水网建设项目市场需求现状分析及行业投资布局推进优化规划评估实施专项报告
- 2025-2030智慧水利行业市场深度调研及发展前景与趋势预测研究报告
- 2025-2030智慧校园管理系统行业市场应用现状及行业竞争格局研究
- 2026湖北汽车工业学院人才引进90人备考题库附答案详解(培优)
- 2026湖南株洲攸县中医院高校毕业生就业见习人员招聘37人备考题库附答案详解ab卷
- 2026黑龙江五大连池市乡镇卫生院招聘医学相关专业毕业生1人备考题库及答案详解【夺冠系列】
- 2026广西物资学校招聘高层次人才4人备考题库及答案详解【夺冠系列】
- 2025-2030智慧工厂RFID识别系统行业市场供需分析及投资规划评估研究报告
- 2026福建漳州港务集团有限公司应届毕业生春季招聘6人备考题库及答案详解【新】
- 2026广西物资学校招聘高层次人才4人备考题库带答案详解(突破训练)
- 2026湖北宜昌夷陵区小溪塔街道办事处招聘民政助理1人笔试备考试题及答案解析
- 2026新疆兵团第七师胡杨河市公安机关社会招聘辅警358人考试参考试题及答案解析
- 2026陕西榆林市旅游投资集团有限公司招聘7人考试备考试题及答案解析
- 2024版前列腺癌药物去势治疗随访管理中国专家共识课件
- 2026年基于责任区的幼儿园联片教研活动设计方案
- 《油气管道地质灾害风险管理技术规范》SYT 6828-2024
- 2026新疆喀什正信建设工程检测有限公司招聘12人考试参考试题及答案解析
- 2026年宁夏工业职业学院单招职业技能考试题库含答案详解(完整版)
- IMPA船舶物料指南(电子版)
- 地理科学专业教育实习研习报告1
- 中国石油集团公司井喷事故案例汇编
评论
0/150
提交评论