摘要:
步骤 1 关闭中断、进入 SVC 模式 步骤 2 查找指定处理器类型的 proc_info 步骤 3 检查 bootloader 传递的启动参数是否有效 步骤 4 当前内核镜像在内存中的布局 内核建立内核空间临时的线性映射,采用一级映射,也就是 section 模式,每个section 为 1MB. 阅读全文
摘要:
步骤 0 uboot 将 zImage 复制到内存之后,跳转到 zImage 处开始执行,首先执行的代码是 arch/arm/boot/compressed/head.S 文件,首先是一些涉及不同体系结构调试相关的汇编宏定义 ifdef DEBUG if defined(CONFIG_DEBUG_I 阅读全文
摘要:
前言 以前接触到的u boot启动方式只有Flash和Nand Flash这两种方式,最近接触是SD卡启动方式,SoC是S5P4418,启动方式也第一次接触到,根据S5P4418用户手册可以找到系统使用SD卡启动时,片内iROM内固化的代码会自动映射到0x00地址,也被称为第一阶段引导程序,该程序会 阅读全文
摘要:
引导 ARM Linux 本文翻译自:https://www.kernel.org/doc/html/latest/arm/booting.html 引导 ARM Linux 需要一个引导加载程序,它是一个先于内核运行的小段程序。引导加载程序被用于初始化各种设备,并最终调用 Linux 内核,同时给 阅读全文
摘要:
构建内核 shell 执行如下指令make zImage 全局变量 srctree := $(if $(KBUILD_SRC),$(KBUILD_SRC),$(CURDIR))objtree := $(CURDIR)src := $(srctree)obj := $(objtree)VPATH := 阅读全文
摘要:
内核版本 linux 2.6.32.2 配置内核的过程 配置内核可以通过执行 make menuconfig 来进行,下面分析该命令的执行流程 执行该目标 %config: scripts_basic outputmakefile FORCE $(Q)mkdir p include/linux in 阅读全文
摘要:
Linux 内核文档 该文件是 Linux 内核文档树中最顶层的,会随着内核一起更新;其目的是把散乱的文档集成为一个逻辑清晰的完整版,非常欢迎改善文档,如果想做出自己的贡献,加入vger.kernel.org中的 linuxdoc 列表中 许可证文件 见 Linux 内核源代码 Linux kern 阅读全文
摘要:
开源地址: "点击该链接" 前言 最近比较忙,这周几乎没有刷题,只刷了6道题~ 题目汇总 0387_first_unique_character_in_a_string类似的题目比较多了,字符串中找出特别的那一个,由于字符串数目有限,所以直接使用哈希表即可,使用 unordered_map 会有点慢 阅读全文
摘要:
开源地址: "点击该链接" 前言 最近一个多月发现以【每天一题】系列的形式来更新题目并不太合适,一是没有足够多合适的题目来更新,二是单独拿出来一个题来讲不太系统,应该把多个相似的题目放在一起讲,这样才能够达到举一反三的效果,所以决定停止【每天一题】系列,改为【每周小结】,然后每个月再进行一次月总结, 阅读全文
摘要:
开源地址: "点击该链接" 前言 十月份共有60道题目,全部属于 Easy 难度的,所以公众号中分享出来的并不多,只是挑了一些感觉还可以的才分享了出来,这60道题目我按照不同类别进行了分类整理,所有源码以及对应的解题思路均匀开源到 GitHub,公众号内回复“LeetCode”获取,具体题目如下。 阅读全文