写在前面:聚沃科技SDK使用GD固件库基础上开发了MCU外设驱动的中间层以及板级外设的驱动,相关例程调用驱动函数实现,用户在基于聚沃科技的SDK做产品开发时,可以很方便的适配新的硬件,直接调用相关驱动接口开发上层应用即可,类似STM32hal库,弥补了原厂这一块的空缺,并且在驱动中做了很多容错性处理,总结了应用中常见一些问题,可靠性比原厂demo例程更好,可在裸机、RTOS等不同开发框架下稳定运行,能很好的缩短软件开发周期。

本文主要针对SDK如何重定义硬件接口和外设参数进行说明,方便让大家快速灵活使用聚沃科技SDK

 软件架构简介

聚沃科技SDK框架如下图所示,底层驱动为官方提供的外设库,聚沃科技实现了抽象层驱动包括MCU_DriverBSP_Driver,其中MCU_DriverMCU底层外设驱动,调用底层驱动进行再次封装,BSP_Driver为板级资源驱动,调用MCU_Driver进行再次封装,便于应用层调用,应用层及应用层驱动为上层应用,包括主函数文件以及相关上层驱动。该例程架构经过多层封装便于读者开发中直接使用。

主要功能介绍:

• driver_public.c

该文件主要会初始化延时模块、系统tick中断、配套例程的LCD和串口打印,不同系列之间也会根据芯片特点做一些必要性初始化,比如H7SDK中还做了cache的使能、中断向量表到SRAMcopy和偏移、基础MPU的配置。

mian函数开始调用driver_init即可,产品开发中不需要LCD和串口打印可配置LCD_DEBUG0或直接删除对应代码:

提供了机器周期延时、us延时、ma延时函数,采用了仅查询方式实现,支持函数重入、ROTS下调用等。

提供了定时任务函数指针可方便增加一些简单的定时任务,配置时间值并指向函数即可自动调用执行:

• driver_public.h

测试例程功能时,在该头文件中可以选择LCD打印信息,并选择对应的屏幕类型,例程结果会显示在LCD上,不使用LCDLCD_DEBUG配置0即可;

该文件中预留了分散加载的宏定义,可以方便的指定变量、函数位置,需要配合工程配置以及SCT文件使用:

• driver_xx.c\bsp_xx.c中定义接口和参数

在驱动文件上方提供了注册接口或参数的示例,可参考修改即可:

○ 普通GPIO

GPIO_DEF括号内内容分别是:注册名称、PORTPINGPIO模式、默认电平、IO中断回调函数;需要增加或者修改可以复制模版后修改名称和参数。

调用驱动时将注册名称指针传输调用:

○ UARTSPII2C等:

定义USART时参考模版分别定义TXRXDMA通道,USART波特率和模式,如没有使用DMA任意填写参数;

通信类外设有三个模式:MODE_POLLMODE_DMAMODE_INT可选,根据需要选择配置,也可以应用中修改结构体参数并重初始化来灵活变更模式。

聚沃科技开发板资料下载

https://www.gd32bbs.com/cms/kaifaban.html

GD32MCU技术交流群:859440462


点赞(0)

评论列表 共有 0 条评论

暂无评论