diff --git a/WL818 SDK框架规则.pdf b/WL818 SDK框架规则.pdf new file mode 100644 index 0000000..1cc9bcf --- /dev/null +++ b/WL818 SDK框架规则.pdf @@ -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 + diff --git a/coding_rule.txt b/coding_rule.txt index fff5293..68af86e 100644 --- a/coding_rule.txt +++ b/coding_rule.txt @@ -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定义 \ No newline at end of file + └─include //对外头文件hal和common定义,如hal_mipi_tx.h \ No newline at end of file