| RSS
深圳电器感厂家
您当前的位置:电感器制造商 > 技术知识

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

来源:    作者:     发布时间:2015-04-24 17:53:26     点击数:

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。

3.4ROM文件系统的定位修改

修改文件:uClinux-dist/linux-2.4.x/drivers/block/blkmem.c

修改内容:

+#ifdef

CONFIG_BOARD_MBA44

+ {0, 0xc700000, -1},/*{0, 0x100000,

-1},*/

#endif

说明:将ROM file system在SDRAM中的地址定位在0xc700000。

3.5修改存储空间配置

修改文件:uClinux-dist/linux-2.4.x/include/asm-armnommu/arch-S3C44B0X/memory.h

修改内容:

-#define

PHYS_OFFSET (DRAM_BASE + 2*1024*1024)

+#define PHYS_OFFSET

(DRAM_BASE)//(DRAM_BASE + 2*1024*1024)

#define PAGE_OFFSET

(PHYS_OFFSET)

-#define END_MEM (DRAM_BASE + DRAM_SIZE -

2*1024*1024)

+#define END_MEM (DRAM_BASE+DRAM_SIZE)//(DRAM_BASE + DRAM_SIZE -

2*1024*1024)

说明:PHYS_OFFSET:RAM第一个bank的起始地址。

3.6初始化节拍定时器

修改文件:uClinux-dist/linux-2.4.x/include/asm-armnommu/arch-S3C44B0X/time.h

修改内容:

-extern

void s3c44b0x_timer_interrupt(int irq, void *dev_id, struct pt_regs

*regs);

+//extern void s3c44b0x_timer_interrupt(int irq, void *dev_id, struct

pt_regs *regs);

+static inline void s3c44b0x_timer_interrupt(int irq, void

*dev_id, struct pt_regs *regs)

+{

+ do_leds();

+

do_timer(regs);

+}//modified by hzh

/* TODO: THE, 2003-08-13, do timer setup lik电感器厂家e in eCos */

-#define

S3C44B0X_TIMER5_PRESCALER 16

+#define S3C44B0X_TIMER5_PRESCALER 32

extern __inline__ void setup_timer (void)

{

u_int32_t

tmod;

u_int32_t period;

+ __u32 rw_tmp;

period = (CONFIG_ARM_CLK/S3C44B0X_TIMER5_PRESCALER)/HZ;

outl(period,

S3C44B0X_TCNTB5);

@@ -36,8 +42,14 @@

outl(tmod, S3C44B0X_TCON);

/* initialize the timer period and prescaler */

- outl((5-1) << 16,

S3C44B0X_TCFG0);

- outl( (0x3 <<20), S3C44B0X_TCFG1); /* prescaler

*/

+ rw_tmp = inl(S3C44B0X_TCFG0);

+ rw_tmp &= ~(0xff<<16);

+

rw_tmp |= (16-1)<<16;

+ outl(rw_tmp, S3C44B0X_TCFG0电感器设计); // prescaler =

1/16

+ rw_tmp = inl(S3C44B0X_TCF功率电感G1);

+ rw_tmp &=

~(0xf<<20);

+ rw_tmp |= 0<<20;

+ outl(rw_tmp, S3C44B0X_TCFG1);

// mux = 1/2

说明:这里,uClinux使用了S3C44B0X的内部定时器5,并利用定时器5的中断来产生节拍。

3.7定义二级异常中断矢量表的起始地址

修改文件:uClinux-dist/linux-2.4.x/include/asm-armnommu/proc/system.h

修改内容:

+#ifdef

CONFIG_BOARD_MBA44

+#undef vectors_base()

+#define vectors_base()

(DRAM_BASE)

+#endif

说明:vectors_base()定义了二级异常中断矢量表的起始地址,这个地址与Bootloader中的_IRQ_BASEADDRESS相对应。

3.8定义CPU体系结构和交叉编译器

修改文件:uClinux-dist/linux-2.4.x/Makefile

修改内容:

-# ARCH :=

armnommu

+ARCH := armnommu

# ARCH := m68knommu

# ARCH := h8300

#

ARCH := niosnommu

……

HOSTCFLAGS = -Wall -Wstrict-prototypes -O2

-fomit-frame-pointer

# CROSS_COMPILE = m68k-elf-

-# CROSS_COMPILE = arm-elf-

+CROSS_COMPILE

模压电感器= arm-elf-

# CROSS_COMPILE 电感器生产厂家= h8300-elf-

# CROSS_COMPILE = nios-elf-

#

CROSS_COMPILE = e1-coff-

说明:这里定义了CPU体系结构:ARCH :=

armnommu和对应的交叉编译器名称:CROSS_COMPILE = arm-elf-。

3.9以太网卡寄存器地址的偏移量修改

这里针对ARMSYS的硬件结构,要做两处特殊的修改:

修改文件:uClinux-dist/linux-2.4.x/driver/net/8390.h

修改内容:#define

ETH_ADDR_SFT 8

说明:访问RTL8019内部寄存器地址的偏移量。1

集成门极换向晶闸管(IGCT)是集成门极驱动电路和门极换流晶闸管(GCT)的总称,其中GCT是以GTO为基础的器件。IGCT采用了硬驱动、缓冲层和透明阳极发射极等新技术,与GTO相比具有开

贴片绕线电感的作用。基本作用:电感滤波、振荡、延迟、陷波等;形象说法: 通直流,阻交流 细模压电感生产厂化解说:在电子线路中,电感线圈对交流有限流作用,它与电阻器或电容器能组成高通或低通滤波器、移

插件电感器工厂 相信大家对开关电源变压器并不陌生,开关电源变压器在各种电子装备中都常被用到,它作为一种主要的软磁一体成型电感厂家电磁元件,在电源技术中和电力电子技术中得到广泛的应用,开关电功率电感器


上一篇: AT89C51串并转换驱动数码管实验指导
下一篇:功率电感器
来顶一下
返回首页
返回首页
相关文章
推荐资讯
电感数字转换器
电感数字转换器
相关文章
栏目更新
栏目热门