【说明】
某公司承接了一个数据处理模块的项目,由沈工负责模块的方案设计,沈工的设计方案如图4-1所示。该数据处理模块以PowerPC处理器为核心,设计了存储器、以太网、温度传感器、调试接口等功能电路。
处理器外接FLASH存储器用于存储上电初始化程序和应用程序。处理器通过I2C接口连接测温电路,监控模块的工作温度。以太网、串口、调试离散量等用于软件调试和状态显示。
测温电路选用ADT7461AR芯片,用于测试模块温度,ADT7461AR是一个双通道数字温度计,工作电压3v至5v,具有低/超温报警功能,采用I2C接口实现主机对远程/本地温度数据的采集,采集数据存储在高/低两个数据寄存器中,每个寄存器为16位,高寄存器表示整数值,低寄存器表示小数值。
存储模块采用某公司的FLASH存储芯片。支持编程、擦除、复位等操作命令。该FLASH芯片的常用命令序列如表4-1所示。表中的地址和数据皆为16进制数。
【问题1】
ADT7461AR芯片支持两种测温模式,其中第一种模式为二进制模式,用0表示0度,测温范围为0℃~+127℃;第二种模式为偏移二进制模式,用64表示0度,测温范围为-55℃~+150℃,温度数据转换关系如表4-2所示。
请在(1)~(4)处写出对应温度的二进制数。
【问题2】
沈工用C语言实现对FLASH的操作,需按照表4-1中定义的命令序列顺序执行即可。仔细阅读下列代码,请在(1)~(4)处将对应的C语言代码补全。
【问题3】
该嵌入式系统对处理的性能要求较高,沈工在完成软件设计后,需要对每一个函数的执行性能进行测试,检测其是否满足系统设计的要求。沈工通过PowerPC处理器内部的高精度时钟寄存器(TimeBase)进行计时,该寄存器由高低两个32位的寄存器组成,根据总线频率自动递增,当低32位寄存器递增到0xFFFFFFFF时,向高32位寄存器进位。计数值可以换算成时间值,精确到微秒级。
在功能函数fimction10的执行体前后,进行时间统计,最后计算出该函数的执行时间值,请在(1)~(2)处将对应的C语言代码补全。