嵌入式系统设计AD转换器 联系客服

发布时间 : 星期一 文章嵌入式系统设计AD转换器更新完毕开始阅读

点击超级终端任务栏上“传送”下拉菜单中的“发送文件”,选择好镜像文件root.cramfs,协议为Xmodem,点击“发送\分钟左右 root.cramfs烧写完毕。

5.交叉编译

5.1 Makefile文件编写

Makefile文件源代码如下: TOPDIR = ../

include $(TOPDIR)Rules.mak EXTRA_LIBS += -lpthread EXEC= $(INSTALL_DIR)/ad ./ad OBJS= main.o all: $(EXEC) $(EXEC): $(OBJS)

$(CC) $(LDFLAGS) -o $@ $(OBJS) $(EXTRA_LIBS) $(EXP_INSTALL) $(EXEC) $(INSTALL_DIR)

clean:

rm -f *.o a.out ad *.gdb

5.2 交叉编译的过程

进入/arm2410s/exp/basic/04_ad 目录,使用 vi 编辑器或其他编辑器阅读理解源代码。

运行make生成ad可执行文件

6.程序源代码设计与调试

6.1 程序源代码设计 程序代码详见附录一

12

6.2 运行调试

换到 minicom 终端窗口,使用 NFS mount开发主机的/arm2410s 到/mnt 目录。

7.总结

通过本论文的写述过程,我熟悉了整个嵌入式系统构建的基本流程。并通过本论文设计学会了在虚拟机环境下建立Linux操作系统与编程环境。通过代码的编写,初步了解了嵌入式驱动函数的基本书写规律以及如何实现与用户层的接口,同时,我们还学习到了硬件如何实现用代码的转化,可谓收益匪浅。

学习嵌入式的道路很漫长,我们不能通过一篇论文就能有很好的了解与掌握,只能通过不断的努力与学习,积累更多的经验,才能收获更多。

13

附录一: 程序代码

/********************************************************/ /*

*/ */

*/ */

/* Samsung S3C44B0 /* tpu /*

/********************************************************/ #ifndef __ASM_ARCH_HARDWARE_H #define __ASM_ARCH_HARDWARE_H #define REGBASE #define REGL(addr) #define REGW(addr) #define REGB(addr)

0x01c00000

(*(volatile unsigned int *)(REGBASE+addr)) (*(volatile unsigned short *)(REGBASE+addr)) (*(volatile unsigned char *)(REGBASE+addr))

/*****************************/ /* CPU Wrapper Registers */ /*****************************/ #define SYSCFG #define NCACHBE0 #define NCACHBE1 #define SBUSCON

REGL(0x000000) REGL(0x000004) REGL(0x000008) REGL(0x040000)

/************************************/ /* Memory Controller Registers */ /************************************/ #define BWSCON #define BANKCON0 #define BANKCON1 #define BANKCON2 #define BANKCON3 #define BANKCON4

REGL(0x080000) REGL(0x080004) REGL(0x080008) REGL(0x08000c) REGL(0x080010) REGL(0x080014)

14

#define BANKCON5 REGL(0x080018) #define BANKCON6 REGL(0x08001c) #define BANKCON7 REGL(0x080020) #define REFRESH REGL(0x080024) #define BANKSIZE REGL(0x080028) #define MRSRB6 REGL(0x08002c) #define MRSRB7

REGL(0x080030)

/*********************/ /* UART Registers */ /*********************/ #define ULCON0 REGL(0x100000) #define ULCON1 REGL(0x104000) #define UCON0 REGL(0x100004) #define UCON1

REGL(0x104004) #define UFCON0 REGL(0x100008) #define UFCON1 REGL(0x104008) #define UMCON0 REGL(0x10000c) #define UMCON1 REGL(0x10400c) #define UTRSTAT0 REGL(0x100010) #define UTRSTAT1 REGL(0x104010) #define UERSTAT0 REGL(0x100014) #define UERSTAT1 REGL(0x104014) #define UFSTAT0 REGL(0x100018) #define UFSTAT1 REGL(0x104018) #define UMSTAT0 REGL(0x10001c) #define UMSTAT1 REGL(0x10401c) #define UTXH0 REGB(0x100020) #define UTXH1 REGB(0x104020) #define URXH0 REGB(0x100024) #define URXH1

REGB(0x104024)

15