摘要: Installing and Booting from a Kernel 原文链接 我的博客 本书年代有点久,有些内容已经淘汰不用了 上一章展示了如何下载和编译你的内核。现在你具有了一个可执行文件,以及一些模块,现在是时候安装并启动这个内核了。本章,所有的命令都将以 root 用户权限运行。 Usi 阅读全文
posted @ 2022-07-14 21:10 ArvinDu 阅读(151) 评论(0) 推荐(0)
摘要: Upgrading a Kernel 原文链接 我的博客 不可避免有这样一种情况:你具有一个客制化内核,工作起来简直完美,而这个内核唯一的一个小缺憾也在最近被内核开发者解决。现在,就面临了更新内核的问题了。 本章介绍如何简单地保留前一版本的配置选项情况下,完成老内核版本到新内核的更新。 首先,请备份 阅读全文
posted @ 2022-07-14 21:10 ArvinDu 阅读(101) 评论(0) 推荐(0)
摘要: Retrieving the Kernel Source 原文链接 我的博客 当你编译自己的内核时,你需要最新的稳定版本。本章关注于确定下载哪一个内核源码,以及如何获取这些内核源码。 What Tree to Use 在过去,Linux 内核被分为两个源码树,一个为开发版,一个为稳定版。开发版分支使 阅读全文
posted @ 2022-07-14 21:09 ArvinDu 阅读(107) 评论(0) 推荐(0)
摘要: Configuring and Building 原文链接 我的博客 现在我们有了某个版本的内核源码。现在可以去编译代码了。第一步是是当地配置内核;之后可以对内核进行编译了。这两个任务都是使用标准的 make 工具实现。 Creating a Configuration 对内核的配置放置在源码树的顶 阅读全文
posted @ 2022-07-14 21:09 ArvinDu 阅读(148) 评论(0) 推荐(0)
摘要: Requirements for Building and Using the Kernel 原文链接 我的博客 本章描述你配置、编译、启动一个内核的流程。查看 Documentation/Changes 来确定本章中使用的各个工具针对某个内核版本所需要的特定工具版本是一个明智选择。本章是基于 2. 阅读全文
posted @ 2022-07-14 21:08 ArvinDu 阅读(217) 评论(0) 推荐(0)
摘要: introduction 原文链接 我的博客 虽然Linux Kernel 具有的代码量 (超过七百万行代码) 很大,它依然是现今最具灵活性的操作系统。它可以转换成不同的系统,运行在不同的情景下,比如运行在遥控模型直升机、一台手机、世界上最大的超级计算机上。通过客制化你自己独有的环境,有机会创建出相 阅读全文
posted @ 2022-07-14 21:07 ArvinDu 阅读(239) 评论(0) 推荐(0)
摘要: 天有不测风云,人有旦夕祸福。蜈蚣百足,行不及蛇;雄鸡两翼,飞不过鸦。马有千里之程,无骑不能自往;人有冲天之志,非运不能自通。 盖闻:人生在世,富贵不能淫,贫贱不能移。文章盖世,孔子厄于陈邦;武略超群,太公钓于渭水。颜渊命短,殊非凶恶之徒;盗跖年长,岂是善良之辈。尧帝明圣,却生不肖之儿;瞽叟愚顽,反生 阅读全文
posted @ 2022-07-05 23:06 ArvinDu 阅读(22) 评论(0) 推荐(0)
摘要: MSDN 上关于 PowerShell 的介绍 MSDN 上关于 cmdlet 的介绍 阅读全文
posted @ 2022-07-01 11:48 ArvinDu 阅读(46) 评论(0) 推荐(0)
摘要: GDB 常用命令 原文为《计算机系统基础》附录C,ISBN 号为 978-7-111-60489-1 我的博客 GDB 是一个程序调试工具软件,GDB 具有类似 shell 的命令补全功能。 启动 GDB 在 shell 命令行中输入 gdb 命令启动 GDB 程序,比如假设 shell 提示符为 阅读全文
posted @ 2022-06-30 23:09 ArvinDu 阅读(280) 评论(0) 推荐(1)
摘要: gcc 的常用命令行选项 原文为《计算机系统基础》附录B,ISBN 号为 978-7-111-60489-1 我的博客 选项及其含义: -c 只进行编译,不进行链接,生成 .o 后缀的可重定位目标文件 -o <file -o 将结果写入文件 <file> 中 不指定 <file> 时,默认结果文件名 阅读全文
posted @ 2022-06-30 22:28 ArvinDu 阅读(128) 评论(0) 推荐(0)
摘要: 数据结构: 类型、分类与应用 原文链接 我的博客 数据结构是计算机在内存种用于组织数据的集成块。它在高效地组织、处理、访问、存储数据时十分重要。但这不是数据结构的全部。不同类型的数据结构具有它们自己的特点、特性、应用、优点与缺点。因此,如何基于自己的任务选择最优的数据结构,这个数据结构意味着什么,有 阅读全文
posted @ 2022-06-17 22:16 ArvinDu 阅读(132) 评论(0) 推荐(0)
摘要: 介绍 原文链接 我的博客 数据 数据是用来呈现信息的数字、符号、字母的组合。 数据结构 数据结构是一组数据元素,提供最简单的方式来存储数据、对数据执行不同的操作。数据结构是计算机上一种特殊的数据组织形式,可以对数据进行高效使用。数据结构的思想是降低任务的时间复杂度与空间复杂度。 一个良好的数据结构选 阅读全文
posted @ 2022-06-17 22:02 ArvinDu 阅读(65) 评论(0) 推荐(0)
摘要: 裸金属 Bare Metal 原文链接 我的博客 裸金属听起来很酷!在计算机科学中,裸金属 (bare metal) 或裸机 (bare machine) 是直接在逻辑硬件上执行指令而无需操作系统的计算机。现代操作系统走过了不同的阶段,从最初级到现今复杂、高敏捷并提供多种服务的系统。在可编程计算机开 阅读全文
posted @ 2022-06-17 10:43 ArvinDu 阅读(2815) 评论(0) 推荐(1)
摘要: To be done 参考手册 阅读全文
posted @ 2022-05-13 09:09 ArvinDu 阅读(27) 评论(0) 推荐(0)
摘要: To be done GNU Binutils 阅读全文
posted @ 2022-05-12 16:15 ArvinDu 阅读(15) 评论(0) 推荐(0)
摘要: 静态库与动态库 我的博客 蒋炎岩老师的操作系统课程 本文例来自《深入理解计算机系统》英文书为《Computer Systems A Programmer's Perspective》即 CS APP. 静态库 源文件 main.c #include <stdio.h> #include "vecto 阅读全文
posted @ 2022-04-27 20:38 ArvinDu 阅读(91) 评论(0) 推荐(0)
摘要: UNIX 环境高级编程第一个例子 我的博客 本文是对《UNIX 环境高级编程》这本书的第一章第一个例子进行的实现,本文给出了 myls.c 源码,Makefile 源码,以及后续所有章节都会用到的附录中的头文件以及头文件函数实现源码。 我的目录结构是这样的: # myls.c 源码放在如下目录下 a 阅读全文
posted @ 2022-03-27 13:46 ArvinDu 阅读(145) 评论(0) 推荐(0)
摘要: ABI (Application binary interface) 原文链接 我的博客 在电脑软件中,一个应用二进制接口 (ABI) 是两个二进制程序模组之间的接口。通常,模组中的一个是库或操作系统服务,另一个为用户运行的程序。 一个 ABI 定义了数据接口或计算机程序是如何在机器码中被访问到的, 阅读全文
posted @ 2022-03-19 22:06 ArvinDu 阅读(1729) 评论(0) 推荐(0)
摘要: 嵌入式软件技能 原文链接 我的博客 软实力 市场调研 项目评估 提出议案 客户处理 风险评估 项目预算 需求分析 结构设计 仿真 设计优化 模块集成 文档 问题处理 技术支持 人际关系 深入思考 逻辑分析 硬实力 板卡开发/调试 Linux 内核编译、优化与引导顺序 信号、中断处理 固件、软件的设计 阅读全文
posted @ 2022-03-06 21:04 ArvinDu 阅读(69) 评论(0) 推荐(0)
摘要: TAP and TAP Controller 原文链接 我的博客 本文绘制图形使用工具 Test Access Port (TAP) 这个是用来进行 JTAG 控制的接口,IEEE 标准规定了四个强制 TAP 信号以及一个可选信号,详见。 TDI TDO TCK TMS TRST TAP Contr 阅读全文
posted @ 2022-03-03 11:18 ArvinDu 阅读(3409) 评论(0) 推荐(1)
摘要: JTAG 接口 原文链接 我的博客 简短介绍 JTAG 为 Joint Test Action Group 的缩写,是在生产后用来校验、测试印刷电路板的一种标准。 JTAG 作为数字仿真工具的一种补充,被电子设计自动化 (EDA) 使用的一种标准。它规定了一个串行通信接口作为调试端口,不需要外部访问 阅读全文
posted @ 2022-03-03 11:16 ArvinDu 阅读(1421) 评论(0) 推荐(0)
摘要: SVF 规范 原文链接 我的博客 SVF: Serial Vector Format 介绍 本文档描述 SVF 串行向量格式文件的语法。 SVF 文件设计来鼓励对串行向量在产品生命周期中的重用,从设计阶段的引入到服务阶段的部署。 SVF 文件以 ASCII 进行描述,由一系列 SVF 语句组成。单行 阅读全文
posted @ 2022-03-03 09:41 ArvinDu 阅读(2589) 评论(0) 推荐(0)
摘要: To Be Continued 阅读全文
posted @ 2022-02-10 22:56 ArvinDu 阅读(36) 评论(0) 推荐(0)
摘要: 约定 我的博客 原文链接 注意: 除非另有指定,本文档假定: 以 ARM Cortex-M3 处理器的小端模式 ARM EABI 应用二进制接口 GNU GCC 工具链 工具链 一个完整的软件工具链包括如下程序: 将源代码转化为二进制机器码;将单独的汇编/编译的代码模块链接到一起;反汇编二进制代码; 阅读全文
posted @ 2022-02-07 23:04 ArvinDu 阅读(1136) 评论(0) 推荐(0)
摘要: C 编译过程 我的博客 原文链接 本文介绍 C 编译过程,即,如何从源码生成可执行文件,目标程序。C是一类比较贴近人类使用习惯的高级语言,真正与硬件打交道的是机器码,由0、1组成。为了方便记忆机器码,发明了汇编语言,为了帮助编程,又有了C语言。那么整个编译过程就是从C到机器码的过程。在程序执行时,程 阅读全文
posted @ 2022-01-22 22:16 ArvinDu 阅读(242) 评论(0) 推荐(0)