lib
initcall.cinitcall_run_list 初始化调用列表1234567891011121314151617181920212223242526272829303132333435363738394041int initcall_run_list(const init_fnc_t init_sequence[]){ ulong reloc_ofs; const init_fnc_t *ptr; enum event_t type; init_fnc_t func; int ret = 0; for (ptr = init_sequence; func = *ptr, func; ptr++) { reloc_ofs = calc_reloc_ofs(); //计算偏移 type = initcall_is_event(func); //判断是否是事件 //执行函数 是事件执行事件通知函数,否则执行函数 ret = type ? event_notify_null(type) : func(); if (ret) break; ...
of_live
[TOC] of_live 将平面设备树转换为分层设备树,将原来紧凑的二进制设备树转换为分层的设备树,以结构体的形式存储,便于查找和操作 of_live_build unflatten_device_tree, 创建活动设备树 of_alias_scan, 扫描设备树中的别名 struct device_node12345678910111213141516171819202122232425262728293031323334/** * struct device_node:设备树节点 * * 此树的顶部通常是 gd->of_root,它指向根节点。 * * 根节点(和任何其他节点)的子节点列表的头部为 * 在 @child 中,@sibling 提供指向下一个子项的链接。 * * 每个子项都有一个指向其父项的指针 @parent。 * * 节点可能具有属性,在这种情况下,属性列表的头部 * @properties指向第一个的指针,其中 struct property->@next 指向 * 到下一个。 * * @name:节点名称,根节点的 “” * @typ...
test
[TOC] testtest.hUNIT_TEST12345678//在段中定义一个测试用例函数#define UNIT_TEST(_name, _flags, _suite) \ ll_entry_declare(struct unit_test, _name, ut_ ## _suite) = { \ .file = __FILE__, \ .name = #_name, \ .flags = _flags, \ .func = _name, \ } ut.c 单元测试相关函数 参考Unity测试框架,不在分析
arm
[TOC] Kconfig中断控制器GIC (Generic Interrupt Controller) 通用中断控制器 GIC 是 ARM 处理器的一种通用中断控制器,用于管理和分发中断信号。GIC 支持多种中断类型,包括外部中断、定时器中断、软件中断等。GIC 通过中断控制器和中断分配器组件实现中断的管理和分发。 GICv2 GICV2是 ARM 提供的第二版通用中断控制器,广泛应用于 ARMv7 和部分 ARMv8 架构的处理器中。 中断管理:支持多达 1020 个中断源,包括外部中断和内部中断。提供中断优先级管理和中断屏蔽功能。 分布式架构:包括一个分配器(Distributor)和多个 CPU 接口(CPU Interface),分配器负责中断的分发,CPU 接口负责中断的处理。 中断路由:支持将中断路由到特定的 CPU 或多个 CPU,提供灵活的中断处理机制。 软件生成中断:支持软件生成中断(SGI),允许处理器之间通过中断进行通信。 GICv3 GICV3 是 ARM 提供的第三版通用中断控制器,广泛应用于 ARMv8 架构的处理器中。 扩展的中断管理:支持多达...
assembly
[TOC] 声明.globl 声明全局符号 使其在链接过程中可以被其他文件引用 .long 用于定义一个32位的整数.type 声明符号类型 .type reset, %function指令指定reset是一个函数类型的符号 段定义与操作.section 用于定义代码段 通过使用 .section 指令,开发者可以明确地指定代码和数据在内存中的布局,从而更好地控制程序的结构和行为。 pushsection 用于定义代码段并且设置段属性 pushsection 指令用于定义一个新的代码段,并且可以设置段属性。它的语法如下: 1pushsection section_name, flags section_name 是新的代码段的名称。 flags 是段属性,可以是以下值之一: awx:表示代码段,可读、可写、可执行。 a:表示代码段,可读。 w:表示代码段,可写。 x:表示代码段,可执行。 .text 指定了代码段为 .text.macro 定义宏.macro 指令用于在汇编代码中定义一个宏。宏是一段可以重复使用的代码块,可以带有参数。定义宏后,可以在代码中多...
other
Technical Documents and ResourcesThis directory contains a collection of technical documents, datasheets, and reference manuals, primarily focused on ARM architecture and embedded systems design. File IndexHere is a brief description of each file in this collection: 05_Thumb.pdf A reference document detailing the ARM Thumb instruction set, which is a 16/32-bit instruction set designed for code density. 2792846233RV043056B0.pdf The datasheet for an RFID module, likely the RV-43-C56B ...
tmc5160
grblconfig Inc\my_machine.h中取消注释进行配置开启如下配置进行学习 12345678910111213141516171819202122#define BOARD_BTT_SKR_20 // F407 based 3D Printer board#define TRINAMIC_ENABLE 5160 // Trinamic TMC5160 stepper driver support.#define N_AXIS 6#define TRINAMIC_DYNAMIC_CURRENT#define TRINAMIC_EXTENDED_SETTINGS#define TRINAMIC_POLL_STATUS// 这些选项需要自行配置,不配做使用默认值#define TMC_DRVCONF#define TMC_COOLCONF_SEMIN#define TMC_COOLCONF_SEMAX#define TMC_COOLCONF_SEDN#define TMC_COOLCONF_SEUP#define TMC_COOLCONF_SE...
SuffixString
[TOC] HDiffPatch\libHDiffPatch\HDiff\private_diff\suffix_string.cpp后缀数组后缀 (Suffix):一个字符串的后缀是指从字符串的某个位置开始到字符串末尾的所有字符组成的子串。例如,对于字符串 banana,它的所有后缀是: banana (从位置0开始) anana (从位置1开始) nana (从位置2开始) ana (从位置3开始) na (从位置4开始) a (从位置5开始) 后缀数组 (Suffix Array):后缀数组不是存储这些后缀字符串本身,而是存储这些后缀的起始位置索引。最关键的一步是,这些索引是按照它们所代表的后缀字符串的**字典序(字母顺序)**进行排序的。 我们来为 banana 构建一个后缀数组: 列出所有后缀及其起始位置: 起始位置 后缀 0 banana 1 anana 2 nana 3 ana 4 na 5 a 按字典序对后缀进行排序: a ana anana banana na nana 构建后...
hpatch_lite
[TOC] 学习笔记HPatchLite\HDiffPatch\libHDiffPatch\HPatchLite\hpatch_lite.cHptach 算法1. Hptach 的核心:加法差分 (Additive Diff)这种方法可以被称为加法差分或增量差分。 核心公式: NewData = OldData + DiffData 反向公式: DiffData = NewData - OldData (在生成补丁时计算) 工作流程图: 1234567891011121314151617181920212223242526272829303132 +----------------------+生成补丁时 (hpatch_diff) | | | 新文件 (New File) | +----------------------+ | (减法) ...








