近日,华为在马云平台上开源了众多鸿蒙系统相关的源代码,吸引了很多编程爱好者,比如我,一睹鸿蒙的风采。
只是本次开放源代码的项目数量超过100多个,应该从哪个地方开始阅读呢?
俗话说得好,罗马不是一天建成的,胖子不是一天吃成的。作为编程新手,我选择了一个代码规模不大,作用不可或缺的项目开始阅读。
本次解读的项目是vendor_huawei_wifi_iot
阅读的版本为8283db7c0aaf84ed62c1e21ba56ac4791992c1fc
下载了仓库的压缩包之后,会看到该文件大小不到8000字节。
将其中的内容展开到本地之后可以发现,这个仓库的占用空间非常小,只有五十二千字节。
现在来看一看这个项目的文件结构
项目中总共有四个目录,五个文件。其中一个文件是许可证说明文件,标明了该项目使用的是阿帕奇许可证的2.0版本。另外还有两个构建文件,文件名都是以.gn结尾。构建文件的内容都不长,都注明了构建要用到的C语言源程序以及构建时需要包含的目录信息。
我们再来看看最后两个最重要的文件也就是源代码文件。他们在项目中的路径分别是
vendor_huawei_wifi_iot/hals/utils/sys_param/hal_sys_param.c
vendor_huawei_wifi_iot/hals/utils/token/hal_token.c
hal_sys_param.c文件中包含了硬件抽象层需要提供的一些系统参数,比如产品的类型、制造商、品牌、市场的名称、产品序列号、产品的型号、软件的型号、硬件的型号等等,这些信息都是以字符数组作为常量保存在代码中的。该文件中还包含了13个函数用来获取这些需要填写的信息。
hal_token.c文件中提供了一些硬件抽象层的票据相关的信息,包括了八个函数。其中前四个是需要原始设备生产商修改补充的,他们分别是读取票据、写入票据、获取密钥以及获取产品识别号。
看到这里,聪明的你一定已经发现,这个项目是专门为原始设备生产商准备的,为的就是便于让不同的设备接入到鸿蒙平台中。
本文参与了「解读鸿蒙源码」技术征文,欢迎正在阅读的你也加入。