微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > TE2410移植linux-2.6.14及调试过程总结(1)

TE2410移植linux-2.6.14及调试过程总结(1)

时间:11-10 来源:互联网 点击:

浮点数,在许多情况下要使用,所以最好选上

对MTD(Memory Technology Devices)设备(如Flash RAM等芯片)进行配置,选择配置如下

Device Drivers->

Memory Technology Devices(MTD)->

[*]MTD partitioning support

Device Drivers->

Memory Technology Devices(MTD)->

RAM/ROM/Flash chip drivers->

<*>Detect flash chips by Common Flash Interface(CFI)probe

<*>Detect non-CFI AMD/JEDEC-compatible flash chips

<*>Support for Intel/Sharp flash chips

<*>Support for AMD/Fujitsu flash chips

<*>Support for ROM chips in bus mapping

Device Drivers->

Memory Technology Devices(MTD)->

NAND Flash Device Drivers->

<*>NAND Device Support

<*>NAND Flash support for S3C2410/S3C2440 SoC

为了要内核支持devfs(Device Filesystem,设备文件系统),以及在启动时能自动加载/dev为devfs,需要对文件系统进行设置。

File systems ->

< >Second extended fs support#去除对ext2的支持

Linux2.6.14 fs/Kconfig没有支持devfs的选项(从2.6.13开始),所以make menuconfig时找不到相关菜单项

从2.6.10的fs/Kconfig中copy几项过来

config DEVFS_FS

bool "/dev file system support (OBSOLETE)"

depends on EXPERIMENTAL

help

This is support for devfs, a virtual file system (like /proc) which

provides the file system interface to device drivers, normally found

in /dev. Devfs does not depend on major and minor number

allocations. Device drivers register entries in /dev which then

appear automatically, which means that the system administrator does

not have to create character and block special device files in the

/dev directory using the mknod command (or MAKEDEV script) anymore.

This is work in progress. If you want to use this, you *must* read

the material in , especially

the file README there.

Note that devfs no longer manages /dev/pts!If you are using UNIX98

ptys, you will also need to mount the /dev/pts filesystem (devpts).

Note that devfs has been obsoleted by udev,

.

It has been stripped down to a bare minimum and is only provided for

legacy installations that use its naming scheme which is

unfortunately different from the names normal Linux installations

use.

If unsure, say N.

config DEVFS_MOUNT

bool "Automatically mount at boot"

depends on DEVFS_FS

help

This option appears if you have CONFIG_DEVFS_FS enabled. Setting

this to Y will make the kernel automatically mount devfs onto /dev

when the system is booted, before the init thread is started.

You can override this with the "devfs=nomount" boot option.

If unsure, say N.

config DEVFS_DEBUG

bool "Debug devfs"

depends on DEVFS_FS

help

If you say Y here, then the /dev file system code will generate

debugging messages. See the file

for more

details.

If unsure, say N.

File systems ->

Pseudo filesystems ->

[*]/proc file system support

[*]/dev file system support(OBSOLETE)

[*]Automatically mount at boot

[*]Virtual memory file system support(former shm fs)

Miscellaneous filesystems ->

<*>Compressed ROM file system support(cramfs)

Network File Systems ->

<*>NFS file system support

除此之外,还需要配置一下选项支持S3C2410 RTC,USB,MMC/SD卡驱动,具体选项如下:

Device Drivers->

Character devices->

[*]Nonstandard serial port support

[*]S3C2410 RTC Driver

Device Drivers->

USB Support->

<*>Support for Host-side USB

Device Drivers->

MMC/SD Card Support

<*>MMC Support

<*>MMC block device driver

调试过程中出现的问题及解决办法

1.Starting kernel ...就打住了

应该是从u-boot跳转至内核的地址不正确,我下载的加了0x40字节头信息的内核镜像,下载到0x30008000,正确的跳转地址应该是0x30008040,在

u-boot-1.1.3\lib_arm\armlinux.c的do_bootm_linux函数代码如下:

void do_bootm_linux (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[],ulong addr, ulong *len_ptr, int verify)

{

DECLARE_GLOBAL_DATA_PTR;

ulong len = 0, checksum;

ulong initrd_start, initrd_end;

ulong data;

void (*theKernel)(int zero, int arch, uint params);

image_header_t *hdr = &header;

bd_t *bd = gd->bd_t *bd

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top