首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

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

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


3.移植项目及说明
3.1压缩内核代码起始地址修改
修改文件:uClinux-dist/linux-2.4.x/arch/armnommu/boot/Makefile
修改内容:
ifeq
($(CONFIG_BOARD_MBA44),y)
ZTEXTADDR = 0x0c100000
ZRELADDR =
0x0c008000
endif
说明:
ZTEXTADDR:自解压代码的起始地址。
ZRELADDR:内核解压后代码输出起始地址。
3.2处理器配置选项的修改
修改文件:uClinux-dist/linux-2.4.x/arch/armnommu/config.in
修改内容:
define_bool
CONFIG_NO_PGT_CACHE y
define_bool CONFIG_CPU_WITH_CACHE y
define_bool
CONFIG_CPU_WITH_MCR_INSTRUCTION n
- define_int CONFIG_ARM_CLK 60000000
-define_bool CONFIG_SERIAL_S3C44B0X y
- define_int CONFIG_FORCE_MAX_ZONEORDER
5
+ define_int CONFIG_ARM_CLK 64000000 #72000000
+# define_bool
CONFIG_SERIAL_S3C44B0X y
+# define_int CONFIG_FORCE_MAX_ZONEORDER 5
if [
"$CONFIG_SET_MEM_PARAM" = "n" ]; then
- define_hex DRAM_BASE 0x00000000
+
define_hex DRAM_BASE 0x0C000000
define_hex DRAM_SIZE 0x00800000
-
define_hex FLASH_MEM_BASE 0x01000000
+ define_hex FLASH_MEM_BASE
0x00000000
define_hex FLASH_SIZE
0x00200000
fi
fi
……
说明:
修改了对ARM处理器主频的定义:
define_int
CONFIG_ARM_CLK 64000000
修改了存储器大小和起始地址的定义:
define_hex DRAM_BASE
0x0C000000;SDRAM的起始地址
define_hex DRAM_SIZE 0x00800000;SDRAM的大小
define_hex
FLASH_MEM_BASE 0x00000000;flash的起始地址
define_hex FLASH_SIZE
0x00200000;flash的大小
3.3内核起始地址的修改
修改文件:uClinux-dist/linux-2.4.x/arch/armnommu/Makefile
修改内容:
ifeq
($(CONFIG_BOARD_MBA44),y)
-TEXTADDR = 0x0c000000
+TEXTADDR =
0x0c008000
MACHINE = S3C44B0X
INCDIR = $(MACHINE)
-CORE_FILES :=
$(CORE_FILES) romfs.o
+CORE_FILES := $(CORE_FILES)
#romfs.o
endif
说明:
TEXTADDR:内核的起始地址,通常取值:DRAM_BASE+0x8000。
继承事业,薪火相传
返回列表