微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM嵌入式系统软件实时时钟的设计

ARM嵌入式系统软件实时时钟的设计

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

7 PCF8563的读写程序
PCF8563 使用的是I2C总线,他的读写过程遵循总线的读写过程,S3C44B0X的I2C总线控制器为一个多主的控制器,其读写流程如图2所示。




根据流程编写了PCF8563的读写程序。该程序通过uclinux的交叉编译工具编译成为可以在S3C44B0X上面运行的程序,过程如下:该程序和它的头文件放到同一个目录下,然后打开终端在终端下执行:
cd 所在目录
arm-elf-gcc -elf2flt rtc main.c
这样就会生成一个uclinux下的可执行文件,通过NFS挂载过去,步骤如下:
ifconfig eth0 202.204.96.196
mount -t nfs 202.204.96.198:/root/nfs /host
用cd命令进入所挂载的目录,直接执行就可以了。
该过程在实际操作过程中可以用一种简便的方法来实现,这也是经行uclinux下开发程序的简便之处,那就是makefile文件。我们在一台服务器主机上建立一个虚拟机VM work station,里面安装的是linux系统和uclinux的交叉编译环境,在需要编译的文件所在目录下建立一个makefile文件,内容如下:
all: main.c //编译的文件
arm-elf-gcc -elf2flt -o rtc main.c//编译读写程序
cp rtc /root/nfs//复制rtc到NFS共享目录下
chmod +x /root/nfs/rtc//改变可执行文件rtc的属性
通过telnet获得虚拟机的root权限。然后进入main.c所在目录。这时候的编译就只需要在main.c所在目录下运行make命令就可以了,它会自动生成可执行文件rtc,自动复制到NFS共享文件夹中。在开发板上进入NFS共享文件夹,运行其中的应用程序。这种方法对程序的开发极其的方便,这也是linux下程序开发调试的优势之一。

8 结论:
本文使用PCF8563来代替CPU上集成的实时时钟,使系统时间不会丢失,在硬件上保证了实时性;精度相对集成实时时钟得到了提高。在其读写程序的编写编译过程中,还对uclinux下的高效程序开发方法进行了实践。在有较高的精度要求时,可以对时钟的精度进行调整以适应需求。同时这种扩展方法具有一定的通用性,可以在各种单片机和ARM应用系统中使用,有一定的使用和借鉴价值。

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

网站地图

Top