微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于uClinux内核移植ARM开发板应用

基于uClinux内核移植ARM开发板应用

时间:12-05 来源:互联网 点击:

k-elf-tools/arm-elf-tools-20030314.sh

将arm-elf-tools-20030314.sh拷贝到根目录,运行安装:

sh arm-elf-tools-20030314.sh

5.2内核配置

下面就可以开始配置uClinux的内核和用户选项了。打开终端。

# cd /home/uClinux-dist

# make

menuconfig

进入uClinux配置(uClinux v3.1.0 Configuration),选中“Kernel/Library/Defaults

Selectionà”敲空格进入。其中有两个选项:定制内核设置和定制用户选项设置:

[*] Customize Kernel Settings

[

] Customize Vendor/User Settings

选中定制内核设置选项,按下ESC键退出,在询问是否保存时,选择Yes并回车。

终端将首先进入内核配置选单。我们在配置uClinux内核时,就可以通过对这些选项的选择和取消选择来设定内核所具有的功能项。这也是裁减uClinux内核的基本方法。

每个选项都对应着一个宏定义,make

menuconfig执行结束后,自动将配置结果保存为.config文件,将前一次的配置结果备份为.config.old文件。

读者可到http://www.hzlitai.com.cn/download/linux/8019/kernelconfig_eth

处下载内核配置文件(其中包括对网卡驱动的配置),读者可对照进行配置。

5.3交叉编译

按下面的步骤对uClinux源码包进行编译:

# make dep

# make clean (非必要)

# make

lib_only

# make user_only

# make romfs

# make image

#

make

初次移植时,在make

lib_only到make这5步编译过程中很可能产生错误,无法继续下去。如果产生了错误,可以尝试根据报告的错误内容修改一下源程序,这一过程将有助于你熟悉uClinux内核源程序的结构,或者可以跟我们联系

Support@hzlitai.com.cn

交叉编译成功后,在 uClinux-dist/目录下产生images目录,其中包含的3个文件:image.ram,

image.rom和romfs.img就是我们可以使用的二进制文件。参考《uClinux的移植包在ARMSYS上的使用说明》的方法,下载或烧录这些二进制文件,并启动运行uClinux。

6.启动信息

正确启动信息的例子如下:

Linux version 2.4.24-uc0 (root@localhost) (gcc

version 2.95.3 20010315

(release)(ColdFire patches - 20010318 from http://fiddes

.net/coldfire/)(uClinux XIP and shared

lib patches from http://www.snapgear.com/

)) #165 五 10月 8

20:04:10 CST 2004

Processor: Samsung S3C44B0X revision 0

Architecture:

S3C44B0X

On node 0 totalpages: 2048

zone(0): 0 pages.

zone(1): 2048

pages.

zone(2): 0 pages.

Kernel command line: root=/dev/rom0

init=/linuxrc

Calibrating delay loop... 31.84 BogoMIPS

Memory: 8MB = 8MB

total

Memory: 6592KB available (1270K code, 155K data, 40K init)

Dentry

cache hash table entries: 1024 (order: 1, 8192 bytes)

Inode cache hash table

entries: 512 (order: 0, 4096 bytes)

Mount cache hash table entries: 512

(order: 0, 4096 bytes)

Buffer cache hash table entries: 1024 (order: 0, 4096

bytes)

Page-cache hash table entries: 2048 (order: 1, 8192 bytes)

POSIX

conformance testing by UNIFIX

Linux NET4.0 for Linux 2.4

Based upon

Swansea University Computer Society NET3.039

Initializing RT netlink

socket

Starting kswapd

ttyS0 at I/O 0x1d00000 (irq = 3) is a

S3C44B0

ttyS1 at I/O 0x1d04000 (irq = 2) is a S3C44B0

ne.c:v1.10 9/23/94

Donald Becker (becker@scyld.com)

Last

modified Nov 1, 2000 by Paul Gortmaker

NE*000 ethercard probe at 0x8000000:

00 00 e8 12 34 56

eth0: NE1000 found at 0x8000000, using IRQ 22

Blkmem

copyright 1998,1999 D. Jeff Dionne

Blkmem copyright 1998 Kenneth

Albanowski

Blkmem 1 disk images:

0: C400000-C47CBFF [VIRTUAL

C400000-C47CBFF] (RO)

RAMDISK driver initialized: 16 RAM disks of 1024K size

1024 blocksize

NET4: Linux TCP/IP 1.0 for NET4.0

IP Protocols: IC

IP:

routing cache hash table of 512 buckets, 4Kbytes

TCP: Hash tables configured

(established 512 bind 512)

VFS: Mounted root (romfs filesystem)

readonly.

Freeing init memory: 40K

Shell invoked to run file:

/etc/rc

Command: hostname Samsung

Command: /bin/expand /etc/ramfs.img

/dev/ram0

Command: mount -t proc proc /proc

Command: mount -t ext2

/dev/ram0 /var

Command: mkdir /var/config

Command: mkdir

/var/tmp

Command: mkdir /var/log

Command: mkdir /var/run

Command: mkdir

/var/lock

Command: cat /etc/motd

Welcome to

____ _ _

/

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

网站地图

Top