首页 > 编程知识 正文

嵌入式软件 架构,嵌入式软件设计方案

时间:2023-05-03 05:13:32 阅读:185683 作者:2589

那么,1 .在底部,只需将原来的MCU相关代码替换为存储器IC驱动器即可。 2 .添加中间层、视频播放的API函数。

这样,许多原始代码可以重用,大大节省了时间。

如果需求不变的话,只需更换功能IC,就会考虑成本,或者缺货,或者出现新的更好的IC。 此外,您只需更换与硬件驱动程序相关的IC文件即可。

三、举一个实际项目作为例子借鉴。

在某个项目中使用显示器显示网络数据。 以显示模块为例,分析三层体系结构的运用。 假设显示驱动为st7789,且MCU为FSMC方案st7789,定时器pwm控制背光。

这里对显示模块部分进行说明。

1 .硬盘层(底层)两个C文件和对应的头文件)单片机内部资源驱动文件mcu_bsp_drv.c,st7789驱动文件lcd_drv.c。

mcu_bsp_drv.c . 包含所有各功能模块所需的MCU资源初始化驱动程序代码,每个模块只使用一个函数,并以_mcu_init结尾。 这样的函数一般只使用一次,所以不要害怕又臭又长。 但是,需要详细的评论。 显示模块初始化函数的名称是lcd_mcu_init (;

lcd_drv.c,这实际上是st7789的驱动程序文件,为什么不命名为st7789.c呢? 因为如果更换驱动程序IC,也不需要更改中间层头文件的包含代码。 显示模块应提供初始化函数、点绘制函数、单色方形填充函数、数据填充函数、显示开/关函数、背光控制函数的接口。 命名方式为lcd_drv_xxx ()。 这些函数用lcd_drv.h声明,并向中间层明确提供API;

2 .模块功能层(中间层) lcd_api.c及相应的头文件

中间层实现显示相关函数:初始化函数、背光控制

制函数,各种几何图形(直线,圆,方框等)绘制函数,各种控件(窗口,按钮等)绘制函数,假如使用了第三方GUI系统,这些就不需要自己实现了。

3.业务逻辑层(顶层):这一层与具体业务有关,也是程序员最花时间与精力的一部分。如果业务复杂,还可以细化分层。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。