假设某ARM处理器端口F寄存器(GPFCON, GPFDAT, GPFUP)的设计方案如下:
寄存器 地 址 读/写 描 述 复位值
GPFCON 0x56000050 R/W 端口F配置寄存器 0x0
GPFDAT 0x56000054 R/W 端口F数据寄存器 未定义
GPFUP 0x56000058 R/W 端口F上拉控制寄存器 0x0
GPFCON寄存器:
GPF0 [1:0] 00 = Input 01 = Output 10 = EINT[0] 11 = reserved
GPF1 [3:2] 00 = Input 01 = Output 10 = EINT[1] 11 = reserved
GPF2 [5:4] 00 = Input 01 = Output 10 = EINT[2] 11 = reserved
GPF3 [7:6] 00 = Input 01 = Output 10 = EINT[3] 11 = reserved
GPF4 [9:8] 00 = Input 01 = Output 10 = EINT[4] 11 = reserved
GPF5 [11:10] 00 = Input 01 = Output 10 = EINT[5] 11 = reserved
GPF6 [13:12] 00 = Input 01 = Output 10 = EINT[6] 11 = reserved
GPF7 [15:14] 00 = Input 01 = Output 10 = EINT[7] 11 = reserved
GPFUP寄存器:
GPFUP 位 描 述
GPF[7:0] [7:0] 0:使能对应引脚的上拉功能,1:对应引脚的上拉功能无效
现应用该处理器端口F的GPF4-GPF7四个I/O管脚分别控制4个LED的亮灭,如上图所示:
已知:①系统提供5V直流电源;②系统时钟20MHz,电路工作电压为2.5V和3.3V;③程序存储器选用1M*16位SST39VF160芯片。
1. 硬件设计(15分)
完成S3C44B0X与一片SST39VF160存储器的扩展连线,要求将该Flash安排在Bank0,即地址从0x0开始。并进一步说明嵌入式系统接口设计的一般方法。
2. 软件编程(15分〕
应用uC/OS-II,创建至少三个任务,完成模拟量采集,数码管显示,当超过设定值时LED指示灯闪烁报警。假定处理器选用44B0,模拟量信号输入接AD通道0,LED阴极接GPB4脚。
要求:
①写出完整的C程序框架,代码只写到任务一级即可;
②应对所调用的函数加以注释说明;
③以GPIO口驱动LED灯为例简单说明硬件驱动编程方法。
|