内核移植(2)arch/arm/mach-s3c2440/mach-smdk2440.c

发布者:码字狂徒最新更新时间:2016-03-31 来源: eefocus关键字:内核移植  arm  s3c2440 手机看文章 扫描二维码
随时随地手机看文章
对于s3c2410、s3c2440开发板,它们的CPU Id都是0x41129200,在arch/arm/mm/proc -arm920.S中的_ _arm920_proc_info结构中。

       定义开发板参数在arch/arm/mach-s3c2440/mach-smdk2440.c中,如机器类型ID、起始I/O物理地址、Bootloader传入的参数的地址、中断初始化函数等。

       arch/arm/kernel/head.S是内核执行的第一个文件。

     S3c2440开发板上启动uImage时串口输出乱码的原因,开发板晶振的频率设置有问题。

1、在arch/arm/mach-s3c2440/mach-smdk2440.c修改,

static void __init smdk2440_map_io(void)

{

       s3c24xx_init_io(smdk2440_iodesc, ARRAY_SIZE(smdk2440_iodesc));

        s3c24xx_init_clocks(16934400);

       s3c24xx_init_uarts(smdk2440_uartcfgs, ARRAY_SIZE(smdk2440_uartcfgs));

}

修改为:

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));

}

U-Boot控制界面,看到内核的启动信息如下:

OpenJTAG> bootm 0x32000000

## Booting image at 32000000 ...

   Image Name:   Linux-2.6.22.6

   Created:      2009-12-09  11:36:02 UTC

   Image Type:   ARM Linux Kernel Image (uncompressed)

   Data Size:    1511064 Bytes =  1.4 MB

   Load Address: 30008000

   Entry Point:  30008000

   Verifying Checksum ... OK

OK

 

Starting kernel ...

 

Uncompressing Linux......................................done, booting the kernel.

Linux version 2.6.22.6 (root@huanghuang-desktop) (gcc version 3.4.5) #1 Wed Dec 9 19:35:58 CST 2009

CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177

Machine: SMDK2410

Memory policy: ECC disabled, Data cache writeback

CPU S3C2410A (id 0x32410002)

S3C2410: core 200.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz

S3C24XX Clocks, (c) 2004 Simtec Electronics

CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on

CPU0: D VIVT write-back cache

CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets

CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets

Built 1 zonelists.  Total pages: 16256

Kernel command line: noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0

irq: clearing subpending status 00000002

PID hash table entries: 256 (order: 8, 1024 bytes)

timer tcon=00500000, tcnt a2c1, tcfg 00000200,00000000, usec 00001eb8

Console: colour dummy device 80x30

Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)

Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)

Memory: 64MB = 64MB total

Memory: 61696KB available (2788K code, 313K data, 132K init)

Mount-cache hash table entries: 512

CPU: Testing write buffer coherency: ok

NET: Registered protocol family 16

S3C2410 Power Management, (c) 2004 Simtec Electronics

S3C2410: Initialising architecture

S3C24XX DMA Driver, (c) 2003-2004,2006 Simtec Electronics

DMA channel 0 at c4800000, irq 33

DMA channel 1 at c4800040, irq 34

DMA channel 2 at c4800080, irq 35

DMA channel 3 at c48000c0, irq 36

usbcore: registered new interface driver usbfs

usbcore: registered new interface driver hub

usbcore: registered new device driver usb

NET: Registered protocol family 2

IP route cache hash table entries: 1024 (order: 0, 4096 bytes)

TCP established hash table entries: 2048 (order: 2, 16384 bytes)

TCP bind hash table entries: 2048 (order: 1, 8192 bytes)

TCP: Hash tables configured (established 2048 bind 2048)

TCP reno registered

NetWinder Floating Point Emulator V0.97 (double precision)

JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.

io scheduler noop registered

io scheduler anticipatory registered (default)

io scheduler deadline registered

io scheduler cfq registered

s3c2410-lcd s3c2410-lcd: no platform data for lcd, cannot attach

s3c2410-lcd: probe of s3c2410-lcd failed with error -22

lp: driver loaded but no devices found

ppdev: user-space parallel port driver

S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics

Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing enabled

s3c2410-uart.0: s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2410

s3c2410-uart.1: s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2410

s3c2410-uart.2: s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2410

RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize

loop: module loaded

dm9000 Ethernet Driver

Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2

ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx

BAST NOR-Flash Driver, (c) 2004 Simtec Electronics

S3C24XX NAND Driver, (c) 2004 Simtec Electronics

s3c2410-nand s3c2410-nand: Tacls=3, 30ns Twrph0=7 70ns, Twrph1=3 30ns

NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)

Scanning device for bad blocks

Creating 8 MTD partitions on "NAND 64MiB 3,3V 8-bit":

0x00000000-0x00004000 : "Boot Agent"

0x00000000-0x00200000 : "S3C2410 flash partition 1"

0x00400000-0x00800000 : "S3C2410 flash partition 2"

0x00800000-0x00a00000 : "S3C2410 flash partition 3"

0x00a00000-0x00e00000 : "S3C2410 flash partition 4"

0x00e00000-0x01800000 : "S3C2410 flash partition 5"

0x01800000-0x03000000 : "S3C2410 flash partition 6"

0x03000000-0x04000000 : "S3C2410 flash partition 7"

usbmon: debugfs is not available

s3c2410-ohci s3c2410-ohci: S3C24XX OHCI

s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1

s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000

usb usb1: configuration #1 chosen from 1 choice

hub 1-0:1.0: USB hub found

hub 1-0:1.0: 2 ports detected

mice: PS/2 mouse device common for all mice

S3C24XX RTC, (c) 2004,2006 Simtec Electronics

s3c2410-i2c s3c2410-i2c: slave address 0x10

s3c2410-i2c s3c2410-i2c: bus frequency set to 390 KHz

s3c2410-i2c s3c2410-i2c: i2c-0: S3C I2C adapter

TCP cubic registered

NET: Registered protocol family 1

drivers/rtc/hctosys.c: unable to open rtc device (rtc0)

List of all partitions:

1f00         16 mtdblock0 (driver?)

1f01       2048 mtdblock1 (driver?)

1f02       4096 mtdblock2 (driver?)

1f03       2048 mtdblock3 (driver?)

1f04       4096 mtdblock4 (driver?)

1f05      10240 mtdblock5 (driver?)

1f06      24576 mtdblock6 (driver?)

1f07      16384 mtdblock7 (driver?)

No filesystem could mount root, tried:  ext3 ext2 cramfs msdos vfat romfs

Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,3)

关键字:内核移植  arm  s3c2440 引用地址:内核移植(2)arch/arm/mach-s3c2440/mach-smdk2440.c

上一篇:Linux2.6.22内核移植
下一篇:u-boot-2012.04.01流程以及移植说明

推荐阅读最新更新时间:2024-03-16 14:48

揭秘:欧德宁离去 英特尔为什么没干过ARM
   欧德宁卸任CEO后,若是仅对欧德宁齐声说句再见,就完全低估了他作为世上最重要芯片制造商的领袖所作的贡献。英特尔是一部自己完成研发和部署的机器,并不是一个生态系统。本文重塑了一个更完整的欧德宁,以及那段离不开他却又被他错过的光辉岁月。   公正的评价任何人都是及其困难的,包括著名公司的CEO。欧德宁的卸任成为2013年科技巨头历史上的热门话题,而对欧德宁任期内的评价也众说纷纭。欧德宁为英特尔工作了四十年,担任CEO八年,带领英特尔成为计算机史上领先的芯片制造世界级企业,而最近一个十年中,却因错失移动端的大好趋势而饱受诟病,风头大减。英特尔曾经开创了未来,而未来能否体面的活下去?这是所有人的疑问。   正如《大西洋(行情 股吧
[手机便携]
Segars:ARM欢迎同Intel竞争 可时刻保持警惕性
据国外媒体报道,在今天早些时候,媒体就如何看待与Intel竞争关系时,ARM即将上任的新CEO Simon Segars表示:“有竞争永远是好事,他可以使你随时保持着高度警惕性。” Segars表示,其并不满足于ARM仅仅能成为Intel的竞争对手,而是更多的在某些领域完全超越了Intel。随着平板电脑销量节节攀高,预计2013年总出货量将超越PC,考虑到平板电脑基本都是基于ARM架构的处理器,从某种程度上来说,ARM在个人计算市场方面已经超过了Intel。 ARM现任CEO Warren East表示,对于退休并没有什么可说的。“我在半导体行业已经工作了将近30年,这几乎是我终身的事业。”East同时补充道,他对于英国的技术
[嵌入式]
Segars:<font color='red'>ARM</font>欢迎同Intel竞争 可时刻保持警惕性
ARM将与SMI联手在GDC上展示全新移动VR眼球追踪
ARM Holdings(ARM) 和眼球追踪公司 Sensormotoric Instruments(SMI) 将在 GDC 2017 上合作展示他们一个全新虚拟现实演示,该演示结合了强大的移动 GPU、眼球追踪和注视点渲染技术。那就请您跟随eeworldARM小编的脚步,来详细的了解下ARM将与SMI联手在GDC上展示全新移动VR眼球追踪。 ARM 是微电子设计领域的全球领导者之一,公司背后有着巨大成功的 Cortex 移动 CPU 和 Mali GPU,今年在旧金山举办的 GDC 大会上将与 SMI 合作,展示移动渲染如何与注视点渲染技术结合,以提供高质量的 VR 体验。 ARM 声称,其Mali系列 GPU 在 201
[单片机]
如何在arm上的界面上正常显示中文及其字体大小
我要感谢互联网,没有他,我想,我这辈子是什么都不会了。 我做的界面想显示很多东西,包括中文,可是尝试了很久,都没有成功,开始时字体较小,很小很小 。可是在显示中文的地方什么都没有,不对,有一个小黑点! 终于在网上找到这个 http://zzqh007.blog.163.com/blog/static/44434847201011312168296/ 于是我将我的main.c中这样写,一切就解决了 #include #include widget.h #include #include int main(int argc, char *argv ) { QApplication a(argc, argv);
[单片机]
Uboot在S3C2440上的移植详解(二)
一、移植环境 主 机: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 二、移植步骤 4)准备进入u-boot的第二阶段(在u-boot中添加对我们开发板上Nor Flash的支持)。 通常,在嵌入式bootloader中,有两种方式来引导启动内核:从Nor Flash启动和从Nand Flash启动。u-boot中默认是从Nor Flash启动,再从上一节这个运行结果图中看,还发现几个问题:第一,我开发板的Nor Flash
[单片机]
Uboot在<font color='red'>S3C2440</font>上的<font color='red'>移植</font>详解(二)
基于ARM微处理器的隧道照明智能控制器
隧道是高速公路的重要组成部分,隧道照明系统是车辆能够 安全 地进入、通过和离开隧道区域必不可少的基本保证。目前长隧道的照明分为入口段、过渡段、基本段、出口段,每段的灯具按功能又分为应急灯、全日灯和加强灯三种。应急灯除在停电时用作应急照明外还兼作全日照明,全日灯24小时不间断工作,加强灯根据洞口不同的亮度来开启。隧道内不同区域的亮度要求各不相同,它们和洞外亮度、交通流量、洞内废气的多少、行车速度、灯具的养护周期等诸多因素有关,甚至与路面的材料和洞壁的装修材料有关。这些灯的控制目前基本上是靠开关照明回路来进行控制的。一般隧道都有七八个照明控制回路,建设投资大,施工难度高,隧道开通后管理者仅能在有限的回路里进行控制,很难兼顾到运营成
[单片机]
基于<font color='red'>ARM</font>微处理器的隧道照明智能控制器
基于Arm-Linux的嵌入式智能家居控制系统的设计
嵌入式系统以其占用资源少、专用性强、功耗低的特点使其广泛应用在移动通信、工业生产、安全监控等领域。针对人们对高效、舒适、安全、便利、环保的居住环境的要求,提出了以Arm-Linux为平台的智能家居控制系统的设计。 1 智能家居控制器的总体设计 Arm-Linux嵌入式系统以其在性能、体积及功耗等方面的优势在智能家居领域得到越来越广泛的应用。系统采用基于ARM的嵌入式linux方案,系统分为五层分别为硬件层,系统引导层,系统层,应用支撑层及应用层。如图1所示应用层在Qtopia图形系统、SQLite数据库等的支撑下完成了电话报警、照明控制、安防控制、门禁控制以及网络浏览等应用。 2 系统硬件的设计 CPU处理器选用
[单片机]
基于<font color='red'>Arm</font>-Linux的嵌入式智能家居控制系统的设计
基于ARM的海底大地电磁信号采集系统主控模块改进
摘要:对现有海底大地电磁信号采集系统的主控模块进行了改进。采用AT91m40800为主控单元,通过移植嵌入式实时操作系统μC/OS-II进行任务管理,并扩展了ISA总线、串行接口和网络接口。概要介绍了改进方案的设计思路、μC/OS-II的移植以及ARM对外围器件的扩展,并通过ISA总线仿真了系统时序效果。 关键词:大地电磁 ARM μC/OS-II 动耗 1 海底大地电磁仪的分析 海底大地电磁数据采集器是对海底大地电磁场和海底环境信息进行自动采集的智能化仪器,旨在建立具有我国特色的海底大地电磁探测技术,并使之实用化,为我国海域区域地质调查提供新的技术支撑,为发展我国海洋电磁探测奠定基础。仪器于2000年研制成功后,在我国东
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

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

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

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved