新增coding规范,规范SDK编写框架
This commit is contained in:
parent
cc93e854a8
commit
1a6a76e6cd
|
|
@ -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
|
||||
|
||||
|
|
@ -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
|
||||
Loading…
Reference in New Issue