0849-340121906
当前位置:主页 > 新闻动态 > 内部发布 >

嵌入式开发经验:时钟管理器的设计与实现_yobo体育全站app下载

发布时间:2022-05-05 16:01   浏览次数:次   作者:yobo体育全站app下载
本文摘要:目前,在嵌入式产品的研发中,低档微处理器软件多使用裸机研发模式构建。在这种研发模式中,常有如下市场需求: (1)在经历特定的时间段后,继续执行特定操作者; (2)根据等价周期继续执行特定操作者。 传统的作法是利用前后台方式:原作硬件定时器,使其在后台以特定周期对各涉及操作者的标志变量不作计数操作者;前台则大大对各标志变量巡回演唱查找,若找到标志变量超过预计值,则继续执行特定操作者。可见,上述市场需求须要必要操作者硬件定时器构建,其过程繁复,且必须用户对涉及硬件有了解理解。

yobo体育全站app下载

目前,在嵌入式产品的研发中,低档微处理器软件多使用裸机研发模式构建。在这种研发模式中,常有如下市场需求:  (1)在经历特定的时间段后,继续执行特定操作者;  (2)根据等价周期继续执行特定操作者。  传统的作法是利用前后台方式:原作硬件定时器,使其在后台以特定周期对各涉及操作者的标志变量不作计数操作者;前台则大大对各标志变量巡回演唱查找,若找到标志变量超过预计值,则继续执行特定操作者。可见,上述市场需求须要必要操作者硬件定时器构建,其过程繁复,且必须用户对涉及硬件有了解理解。

因此,本文设计、构建了一种使用方便的低端系统时钟管理器。  本时钟管理器限于于可获取最少一个硬件定时器的处理器。其为用户获取了有益、友好关系的剪裁途径,以符合有所不同目标系统的实际必须。

通过剪裁,该时钟管理器的目标代码大于可至100B以下,仅次于也不多达1KB。  时钟管理器在构建中,将与硬件密切相关的部分构成一独立国家模块(文件)。

yobo体育全站app下载

针对有所不同的目标系统处理器,替换该模块才可。为使阐释不过抽象化,本文以8051系列单片机为目标系统处理器、C51为工具语言阐释该嵌入式时钟管理器的设计与构建。  1设计  该时钟管理器模块(文件)结构如图1右图。  (1)cONfigClk.h定义了有关系统剪裁、配备的固定式参数,通过对configClk.h中涉及宏参数的配备,才可构建对该时钟管理器系统的配备和剪裁。

  (2)clk_impl.*功能模块用来PCB目标系统的一个硬件定时器,以屏蔽有所不同处理器间的硬件差异,起着HAL(HardwareAbSTractLayer)起到。系统时钟在此建构。  (3)clk.*模块在clk_impl.*获取的HAL基础上更进一步PCB,通过一个钩子(Hook)函数,为系统获取时钟脉冲,且脉冲宽度固定式(配备configClk.h中的涉及宏参才可)。  (4)WdLib.*模块为用户应用于获取多个软件定时器。

  2构建  2.1硬件定时器的底层PCB  硬件定时器底层PCB在图1右图的clk_impl.*中构建。其中定义了一个初始化接口函数和一个定时器中断的ISR(InterruptServiceRouTIne)。令其搭配的硬件时钟为定时器0(可在configClk.h中配备)。  (1)初始化接口函数void_clkInit(void){}  用户通过调用该接口函数,可周期性地继续执行适当的ISRclkTick_ISR,从而构成逻辑上的系统时钟。

yobo体育全站app下载

另外,本接口函数不为用户必要采访,而在上层模块clk.*中被调用。  (2)定时器0的ISRclkTick_ISR  voidclkTick_ISR(void)interrupt1usingREG_GRP_FOR_  SYS_CLK{}  其中:REG_GRP_FOR_SYS_CLK为定义于configClk.h中的固定式参数,用来原作本ISR的工作寄存器组。

  2.2时钟脉冲的获取  时钟脉冲在图1右图的clk.*中构建。  本文获取三个用户接口函数和一个用户可改动、但不能调用的钩子函数(clkTick_ISR_hook仅有能在clkTick_ISR中被调用)。其用户模块声明如下:  externvoidconstructClk(void);  externvoiddestructClk(void);  externUINT8getClkRate(void);  其中:constructClk借以建构系统时钟,要用于本文所述的时钟管理器,须要首先通过调用_clkInit(定义于clk_impl.*模块)构建对本函数的调用;destructClk借以解析至此建构的系统时钟;getClkRate借以提供系统当前的时钟节奏亲率(即定义于configClk.h中的宏SYS_CLK_RATE的当前值)。

  clkTick_ISR_hook由系统声明,用户可改动其定义,其最后仅有为系统不作周期性调用。用户可将自己须要展开的周期性操作者敲于其中,后面描述的软件定时器的城主例程(wdDaemon)正是置放此处而被周期调用。

由于置放其中的操作者将在中断继续执行,所以这些操作者不应尽量结尾、省时。


本文关键词:yobo体育全站app下载,嵌入式,开发,经验,时钟,管理器,的,设计,与

本文来源:yobo体育全站app下载-www.hblctgj.com