发 帖  
  • 发布了文章 2023-12-7 14:49
    宏和常量 ◎ 宏定义和常量使用大写字母或下划线。 ◎ 用宏定义表达式时,要使用完备的括号,如下: #define HEHE_AREA( a , b ) (( a ) * ( b )) ◎ 宏定义中尽量不要使用return、goto、cont...
    0
    695次阅读
    0条评论
  • 发布了文章 2023-12-7 14:42
    ◎ 不用或者少用全局变量 说明:单个文件内部可以使用static的全局变量,可以将其理解为类的私有成员变量。全局变量应该是模块的私有数据,不能作用对外的接口使用,使用static类型定义,可以有效防止外部文件的非正常访问。直接使用其他模块的...
    0
    343次阅读
    0条评论
  • 发布了文章 2023-12-7 14:33
    ◎ 一个函数仅完成一件功能 ◎ 重复代码应该尽可能提炼成函数。 说明:重复代码提炼成函数可以带来维护成本的降低。重复代码是不良代码最典型的特征之一。在“代码能用就不改”的指导原则之下,新需求增加带来的代码拷贝和修改,随着时间的迁移,产品中堆...
    0
    345次阅读
    0条评论
  • 发布了文章 2023-12-7 14:29
    编码规范 2.1 文件头申明 ◎ 新增.c必须添加注释,标注公司名称、文件功能说明,创建日期、作者,后续修改说明 范例如下: / **** **** **** **** **** **** **** **** **** **** **** ...
    0
    396次阅读
    0条评论
  • 发布了文章 2023-12-7 14:21
    1 编码原则 1.1 可读性原则 (1)清晰第一 清晰性是易于维护程序必须具备的特征。维护期变更代码的成本远远大于开发期,编写程序应该以人为本,计算机第二。一般情况下,代码的可阅读性高于性能,只有确定性能是瓶颈时,才应该主动优化。 (2)简...
    0
    358次阅读
    0条评论
  • 发布了文章 2023-12-7 11:36
    Python是一种非常流行的编程语言,可以用于多种用途,包括自动化任务。其中一个常见的自动化任务是自动发送邮件。在本文中,我们将介绍如何使用Python编写脚本来自动发送邮件。 要使用Python发送电子邮件,我们需要使用smtplib和e...
    0
    1311次阅读
    0条评论
  • 发布了文章 2023-12-7 11:34
    在完成地址无关fixup后,u-boot开始对一些系统寄存器进行初始化。 第一段代码如下: pie_fixup_done: #endif #ifdef CONFIG_SYS_RESET_SCTRL bl reset_sctrl ------...
    0
    886次阅读
    0条评论
  • 发布了文章 2023-12-7 11:25
    开启地址无关后的重定位地址操作 在由save_boot_params跳转回save_boot_params_ret后启动流程继续往下执行来到下面代码段: save_boot_params_ret: # if CONFIG_POSITION_...
    0
    880次阅读
    0条评论
  • 发布了文章 2023-12-7 11:22
    u-boot在汇编启动阶段对系统的一些初始化 当cpu交由u-boot接管进入u-boot后, 首先会到_start符号处开始执行初始化, 并在此期间完成一些必要的系统寄存器相关的初始化,包括保存boot参数, 进行地址无关fixed,系统...
    0
    585次阅读
    0条评论
  • 发布了文章 2023-12-7 11:19
    u-boot armv8链接脚本 在进行源码分析之前,首先看看u-boot的链接脚本,通过链接脚本可以从整体了解一个u-boot的组成,并且可以在启动分析中知道某些逻辑是在完成什么工作。 在armv8中,u-boot使用arch/arm/c...
    0
    616次阅读
    0条评论
  • 发布了文章 2023-12-7 11:16
    首先引用wiki上的简介: u-boot 是一个主要用于嵌入式系统的引导加载程序,可以支持多种不同的计算机系统结构。 u-boot最先是由德国DENX软件中心团队开发,后续众多有志于开放源码bootloader移植工作的嵌入式开发人员将各个...
    0
    817次阅读
    0条评论
  • 发布了文章 2023-12-7 11:12
    u-boot使用了同Linux一样的编译配置方式,即使用kbuild系统来管理整体代码的配置和编译,通过defconfig来定制各种不同厂商的芯片bootloader二进制程序。 编译只需要注意通过环境变量或者命令行参数的方式引入一个交叉编...
    0
    1048次阅读
    0条评论
  • 发布了文章 2023-12-7 11:09
    先看arm官网提供的一张图: 上图详细概括了arm官方推荐的armv8的启动层次结构: 官方将启动分为了BL1,BL2,BL31,BL32,BL33阶段,根据顺序,芯片启动后首先执行BL1阶段代码,接着验签启动BL2,BL2根据具体设计启动...
    0
    1958次阅读
    0条评论
  • 发布了文章 2023-12-5 18:11
    init / main .c start_kernel - > boot_cpu_init //引导cpu初始化 设置引导cpu的位掩码 online active present possible都为true - > setup_arch...
    0
    545次阅读
    0条评论
  • 发布了文章 2023-12-5 18:08
    处理函数根据funid来决定服务,可以看到PSCI_CPU_ON_AARCH64为0xc4000003,这正是设备树中填写的cpu_on属性的id,会委托psci_cpu_on来执行核上电任务。下面分析是重点:!!! - > psci_cp...
    0
    882次阅读
    0条评论
ta 的专栏

成就与认可

  • 获得 70 次赞同

    获得 0 次收藏

谁来看过他

关闭

站长推荐 上一条 /6 下一条

返回顶部