新增coding规范,规范SDK编写框架

This commit is contained in:
liyuanpeng 2026-03-12 19:43:04 +08:00
parent cc93e854a8
commit 1a6a76e6cd
2 changed files with 21 additions and 10 deletions

90
WL818 SDK框架规则.pdf Normal file
View File

@ -0,0 +1,90 @@
WeilaiChip WL818 SDK 框架规则 蔚来芯研发部
R&D
产品应用手册 V1.0.0 Date: 2026/3/12
摘要说明
类别 内容
关键词 WL818 SDK
摘要 WL818 SDK 框架规则
修订历史
版本 修订人 时间 审核 备注
V1.0.0 李元鹏 2026/3/12 初次修订
深圳市蔚来芯科技有限公司
蔚来芯研发部 文件版本号AN 1.0.0
目录
1. 适用范围和参考资料 ..................................................................................... 1
2. WL818 SDK 框架规则 .................................................................................. 2
2.1 WL818 SDK 分层架构 ............................................................................................. 2
2.2 hal 层封装规则 ......................................................................................................... 3
2.3 driver 层封装规则 .....................................................................................................3
3. 文档存放位置 ................................................................................................5
蔚来芯,显示领域的芯片专家 ©Shenzhen WeilaiChip Technology Co., Ltd.
1
蔚来芯研发部 文件版本号AN 1.0.0
1. 适用范围和参考资料
本文档规格仅应用于蔚来芯研发部,作为 WL818 SDK 的编写框架指导。
蔚来芯,显示领域的芯片专家 ©Shenzhen WeilaiChip Technology Co., Ltd.
1
蔚来芯研发部 文件版本号AN 1.0.0
2. WL818 SDK 框架规则
2.1 WL818 SDK 分层架构
架构分为 hal 层和 driver 层hal 层为直接暴露给客户的接口,格式参考如下:
而其中的寄存器操作,统一封装到 driver 层,仅为内部使用,抽象寄存器操作增加代
码可读性,格式参考如下:
蔚来芯,显示领域的芯片专家 ©Shenzhen WeilaiChip Technology Co., Ltd.
2
蔚来芯研发部 文件版本号AN 1.0.0
2.2 hal 层封装规则
由于 hal 层接口直接被用户使用,所以需要对入口参数进行检测,参考如下
2.3 driver 层封装规则
driver 层封装寄存器操作,让代码可读性更高,对于寄存器地址的抽象,如果是连续
地址,可抽象成结构体,后续操作通过结构体指针进行操作,参考如下:
蔚来芯,显示领域的芯片专家 ©Shenzhen WeilaiChip Technology Co., Ltd.
3
蔚来芯研发部 文件版本号AN 1.0.0
对于一些高频操作,也可以宏定义的方式增加代码可读性,参考如下:
抽象封装增加代码可读性的同时,也需要注意运行效率,比如单一寄存器的操作需要
内联,参考如下:
蔚来芯,显示领域的芯片专家 ©Shenzhen WeilaiChip Technology Co., Ltd.
4
蔚来芯研发部 文件版本号AN 1.0.0
3. 文档存放位置
已放置蔚来芯研发部“\\weilaichip\研发部\03_研发总结和积累\00_2025 年度研发总结
\李元鹏\【研发总结-李元鹏】WL818 SDK 框架规则”。
蔚来芯,显示领域的芯片专家 ©Shenzhen WeilaiChip Technology Co., Ltd.
5

View File

@ -1,10 +1,21 @@
1、SDK变量命名延续原SDK的下划线命名法不使用驼峰命名法
2、编码格式使用UTF-8
3、if判断相等时变量放在右值
4、对外接口必须检测入口参数
5、单一语句需内联
6、硬件操作相关变量定义需防优化
一、文本编码格式
编码格式使用UTF-8
二、编码规范
1、SDK变量命名延续原SDK的下划线命名法不使用驼峰命名法
2、宏定义统一大写
3、宏定义时宏值需要加括号防止编译器预处理替换之后不被视为一个整体处理
3、hal层函数命名统一hal开头
4、driver层函数命名统一drv开头
5、if判断相等时变量放在右值防止编写失误导致赋值
6、对外接口必须检测入口参数防止用户输入空指针等导致系统崩溃。
7、驱动层单一语句需强制内联增加运行效率
8、寄存器需要防编译器优化防止实际运行CPU没有对寄存器所在内存进行操作建议根据寄存器的读写权限使用宏__IO
三、框架规则
编写框架指导详见《WL818 SDK框架规则》
四、文件系统
WL818_SDK
├─compile
├─fw2flash
@ -16,8 +27,8 @@ WL818_SDK
├─code //用户app
│ └─project_case
│ └─RM692H5_120HZ_DSC3_1
├─driver //驱动层,对内封装寄存器地址
│ ├─include
│ ├─source
├─driver //该文件夹负责放驱动层不对外暴露的文件drv_mipi_tx和hal_mipi_tx.h
│ ├─include //放仅内部可见的驱动头文件比如drv_mipi_tx.h
│ ├─source //放仅内部可见的驱动源文件比如drv_mipi_tx.c和hal_mipi_tx.c
│ └─ulog
└─include //对外头文件hal和common定义
└─include //对外头文件hal和common定义如hal_mipi_tx.h