0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

openharmony代码注释 加注释方式是怎样的

独爱72H 来源:DoNews、CSDN 作者:DoNews、CSDN 2021-06-23 09:42 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

OpenHarmony是由基金会孵化及运营的开源项目,由基金会的OpenHarmony项目群工作委员会负责运作,遵循Apache 2.0等开源协议,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台。

OpenHarmony 2.0 自主研发,不兼容安卓。众多开发合作伙伴将以开源社区为中心,分阶段快速迭代,不断完善系统能力,逐步构建起面向万物互联时代的OpenHarmony生态。在全球范围内有兴趣、有需要的组织和个人都可以基于开源项目的章程参与OpenHarmony开源项目,实现共商、共建、共享、共赢。

openharmony加注释方式是怎样的?

鸿蒙内核6W+代码量,本身只有很少的注释, 中文注解以不对原有代码侵入为前提,源码所有英文部分都是原有鸿蒙注释,所有中文部分都是笔者的注释,尽量不去增加代码的行数,不破坏文件的结构,注释多类似以下的方式,笔者试图把每个知识点当场讲透彻。另外用字符画了一些图方便理解,直接嵌入到头文件中,比如虚拟内存的全景图,因没有这些图是很难理解内存是如何管理的,后续还会陆续加入更多的图方便理解。

精读内核源码当然是件很困难的事,时间上要以月为单位,但正因为很难才值得去做! 内心不渴望的永远不可能靠近自己。笔者一直坚信兴趣是最好的老师,加注也是在做自己感兴趣的事。如果能让更多人参与到内核的研究,减少学习的成本,哪怕就节省一天的时间,这么多人能节省多少时间, 这是件多好玩,多有意义的事情啊。

时代需要仰望星空的人,但也需要埋头走路的人, 从鸿蒙一行行的代码中笔者能深深体会到各中艰辛和坚持,及时鸿蒙对未来的价值,只因心中有目标,就不怕道阻且长。

本文整合自 DoNews、CSDN

责任编辑:fqj

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 代码
    +关注

    关注

    30

    文章

    4975

    浏览量

    74349
  • 注释
    +关注

    关注

    0

    文章

    11

    浏览量

    6680
  • 鸿蒙系统
    +关注

    关注

    183

    文章

    2642

    浏览量

    70106
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【原创】OpenHarmony系统投屏工具软件 - OpenHarmony_OHScrcpy使用推荐

    侧(服务端) :基于OpenHarmony系统C-API实现 特性 ?️实时屏幕镜像 :低延迟显示OpenHarmony设备屏幕 ?设备控制 :支持点击、滑动、按键等操作 ?多种连接方式 :支持USB
    发表于 01-22 18:34

    #OpenHarmony HDC调试

    OpenHarmony
    视美泰
    发布于 :2026年01月16日 09:46:28

    #OpenHarmony 开发环境准备

    OpenHarmony
    视美泰
    发布于 :2026年01月16日 09:44:31

    #OpenHarmony 镜像烧录

    OpenHarmony
    视美泰
    发布于 :2026年01月16日 09:42:36

    #OpenHarmony 系统概述

    OpenHarmony
    视美泰
    发布于 :2026年01月16日 09:39:20

    #OpenHarmony Hello World应用以及部署

    OpenHarmony
    视美泰
    发布于 :2026年01月16日 09:32:52

    OpenHarmony系统】本期视频将为您介绍怎样将镜像烧录到板卡中。

    OpenHarmony
    视美泰
    发布于 :2026年01月15日 14:29:55

    如何成为编程高手

    的缩进编排,变量的命名规则要始终保持一致。大家都知道如何排除代码中错误,却往往忽视了对注释的排错。注释是程序的一个重要组成部分,它可以使你的代码更容易理解,而如果
    发表于 12-29 06:57

    单片机C语言的误区介绍

    经常见网友们说,代码不能写太多了包括注释,单片机的ROM只有几个K的空间,其实这是表面问题的误解。 1、注释是写不进去hex文件的,下载到芯片里的只有你的有效代码汇编以后生成的机器码,
    发表于 12-22 12:45

    E203内核移植到FPGA开发板时出现时序违例的解决方式

    在移植内核时,用VIVADO进行综合实现后会出现时序违例,如图: 虽然可以上板正常进行开发,但是还是想把这些违例解决下^_^ 检查后,发现是 apb_adv_timer 这条路径报的违例,解决方式
    发表于 10-27 07:32

    蜂鸟E203乘法器代码注释

    // Use booth-4 algorithm to conduct the multiplication计算部分积 /*** wire [32:0] part_prdt_hi_r; //高位信息(即操作数相加后从dpath返回的信息) wire [32:0] part_prdt_lo_r;//低位信息(即需要右移的信息,参见蜂鸟书中153页图右移1位下面的框) wire [32:0] part_prdt_hi_nxt; //更新后的高低位信息 wire [32:0] part_prdt_lo_nxt; wire part_prdt_sft1_r; wire [2:0] booth_code = cycle_0th? {muldiv_i_rs1[1:0],1\'b0} // cycle0低位补0,高位补符号位,取后三位作为编码 : cycle_16th ? {mul_rs1_sign,part_prdt_lo_r[0],part_prdt_sft1_r} //周期结束,根据Booth算法补符号位与最后的低位信息 : {part_prdt_lo_r[1:0],part_prdt_sft1_r}; //取后两位并补低位形成3位boothcode //booth_code == 3\'b000 =0参考booth算法编码表 //booth_code == 3\'b001 =1 //booth_code == 3\'b010 =1 //booth_code == 3\'b011 =2 //booth_code == 3\'b100 = -2 //booth_code == 3\'b101 = -1 //booth_code == 3\'b110 = -1 //booth_code == 3\'b111 = -0 wire booth_sel_zero = (booth_code == 3\'b000) | (booth_code == 3\'b111); wire booth_sel_two= (booth_code == 3\'b011) | (booth_code == 3\'b100); wire booth_sel_one= (~booth_sel_zero) & (~booth_sel_two); wire booth_sel_sub= booth_code[2]; // 35 bits adder needed乘法中加减法操作数生成 wire [`E203_MULDIV_ADDER_WIDTH-1:0] mul_exe_alu_res = muldiv_req_alu_res; //取出返回值也即高位数值 wire [`E203_MULDIV_ADDER_WIDTH-1:0] mul_exe_alu_op2 = ({`E203_MULDIV_ADDER_WIDTH{booth_sel_zero}} & `E203_MULDIV_ADDER_WIDTH\'b0)//0*数=0 | ({`E203_MULDIV_ADDER_WIDTH{booth_sel_one }} & {mul_rs2_sign,mul_rs2_sign,mul_rs2_sign,muldiv_i_rs2}) //数字不变,仅符号拓展 | ({`E203_MULDIV_ADDER_WIDTH{booth_sel_two }} & {mul_rs2_sign,mul_rs2_sign,muldiv_i_rs2,1\'b0}) //2则左移一位,符号位不变 ; wire [`E203_MULDIV_ADDER_WIDTH-1:0] mul_exe_alu_op1 =//cycle0时,装入全0,后面填入乘数,参加蜂鸟书中153页部分积指向加法器的线路 cycle_0th ? `E203_MULDIV_ADDER_WIDTH\'b0 : {part_prdt_hi_r[32],part_prdt_hi_r[32],part_prdt_hi_r}; wire mul_exe_alu_add = (~booth_sel_sub);//dpath指示信号生成 wire mul_exe_alu_sub = booth_sel_sub; wire mul_exe_alu_mul = cycle_0th? 1\'b0 //周期结束信号 : cycle_16th ? 1\'b1 : 1\'b0; assign part_prdt_hi_nxt = mul_exe_alu_res[34:2]; //下一个部分积, 传入dpath保存 assign part_prdt_lo_nxt = {mul_exe_alu_res[1:0], //同理,只不过每次右移两位 (cycle_0th ? {mul_rs1_sign,muldiv_i_rs1[31:2]} : part_prdt_lo_r[32:2]) }; wire part_prdt_sft1_nxt = cycle_0th ? muldiv_i_rs1[1] : part_prdt_lo_r[1]; //设muldiv_i_rs1=10,首先在后面补0,此时为100,这样muldiv_i_rs1[1]即为右移两位后的末位,part同理 wire mul_exe_cnt_set = exec_cnt_set & i_op_mul; //控制最后一位的更新 wire mul_exe_cnt_inc = exec_cnt_inc & i_op_mul; wire part_prdt_hi_ena = mul_exe_cnt_set | mul_exe_cnt_inc | state_exec_exit_ena;//使能信号,控制传入dpath进行更新,dpath会传回最新的乘积信息 wire part_prdt_lo_ena = part_prdt_hi_ena; sirv_gnrl_dfflr #(1) part_prdt_sft1_dfflr (part_prdt_lo_ena, part_prdt_sft1_nxt, part_prdt_sft1_r, clk, rst_n); // This mul_res is not back2back case, so directly from the adder result若不是back2back情况,可以直接取出,Booth编码运算后最终结果取[32:1] wire[`E203_XLEN-1:0] mul_res = i_mul ? part_prdt_lo_r[32:1] : mul_exe_alu_res[31:0];
    发表于 10-22 07:11

    触觉智能RK3576开发板OpenHarmony开源鸿蒙系统USB控制传输功能示例

    本文介绍OpenHarmony开源鸿蒙系统的USB控制传输功能实现及相关代码示例,基于触觉智能RK3576开发板PurplePiOH2演示。OpenHarmony的USB通信介绍实现
    的头像 发表于 09-30 16:31 1776次阅读
    触觉智能RK3576开发板<b class='flag-5'>OpenHarmony</b>开源鸿蒙系统USB控制传输功能示例

    企业和个人基于业务知识和代码库增强的大模型生成代码实践

    :“这个功能之前做过类似的,你参考下历史代码。”可当他打开代码仓库,却发现注释寥寥,变量名像密码一样难懂,更找不到任何需求文档。他硬着头皮修改,结果上线后引发了线上故障——原来有个隐藏的业务规则,只有老员工才知道。 第二周:
    的头像 发表于 07-08 15:31 519次阅读
    企业和个人基于业务知识和<b class='flag-5'>代码</b>库增强的大模型生成<b class='flag-5'>代码</b>实践

    请问下,openharmony支持哪一款龙芯的开发板?有没有开源的龙芯的openharmony源码?

    想买个2k0300的开发板学习龙芯和openharmony,愣是没有看到提供openharmony源码的,也没与看到开源的代码。gitee上,openharmony的龙芯sig仓库也是
    发表于 04-26 13:06