摘要: gcc 的常用命令行选项 原文为《计算机系统基础》附录B,ISBN 号为 978-7-111-60489-1 我的博客 选项及其含义: -c 只进行编译,不进行链接,生成 .o 后缀的可重定位目标文件 -o <file -o 将结果写入文件 <file> 中 不指定 <file> 时,默认结果文件名 阅读全文
posted @ 2022-06-30 22:28 ArvinDu 阅读(104) 评论(0) 推荐(0) 编辑
摘要: 数据结构: 类型、分类与应用 原文链接 我的博客 数据结构是计算机在内存种用于组织数据的集成块。它在高效地组织、处理、访问、存储数据时十分重要。但这不是数据结构的全部。不同类型的数据结构具有它们自己的特点、特性、应用、优点与缺点。因此,如何基于自己的任务选择最优的数据结构,这个数据结构意味着什么,有 阅读全文
posted @ 2022-06-17 22:16 ArvinDu 阅读(114) 评论(0) 推荐(0) 编辑
摘要: 介绍 原文链接 我的博客 数据 数据是用来呈现信息的数字、符号、字母的组合。 数据结构 数据结构是一组数据元素,提供最简单的方式来存储数据、对数据执行不同的操作。数据结构是计算机上一种特殊的数据组织形式,可以对数据进行高效使用。数据结构的思想是降低任务的时间复杂度与空间复杂度。 一个良好的数据结构选 阅读全文
posted @ 2022-06-17 22:02 ArvinDu 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 裸金属 Bare Metal 原文链接 我的博客 裸金属听起来很酷!在计算机科学中,裸金属 (bare metal) 或裸机 (bare machine) 是直接在逻辑硬件上执行指令而无需操作系统的计算机。现代操作系统走过了不同的阶段,从最初级到现今复杂、高敏捷并提供多种服务的系统。在可编程计算机开 阅读全文
posted @ 2022-06-17 10:43 ArvinDu 阅读(2337) 评论(0) 推荐(1) 编辑
摘要: To be done 参考手册 阅读全文
posted @ 2022-05-13 09:09 ArvinDu 阅读(23) 评论(0) 推荐(0) 编辑
摘要: To be done GNU Binutils 阅读全文
posted @ 2022-05-12 16:15 ArvinDu 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 静态库与动态库 我的博客 蒋炎岩老师的操作系统课程 本文例来自《深入理解计算机系统》英文书为《Computer Systems A Programmer's Perspective》即 CS APP. 静态库 源文件 main.c #include <stdio.h> #include "vecto 阅读全文
posted @ 2022-04-27 20:38 ArvinDu 阅读(75) 评论(0) 推荐(0) 编辑
摘要: UNIX 环境高级编程第一个例子 我的博客 本文是对《UNIX 环境高级编程》这本书的第一章第一个例子进行的实现,本文给出了 myls.c 源码,Makefile 源码,以及后续所有章节都会用到的附录中的头文件以及头文件函数实现源码。 我的目录结构是这样的: # myls.c 源码放在如下目录下 a 阅读全文
posted @ 2022-03-27 13:46 ArvinDu 阅读(129) 评论(0) 推荐(0) 编辑
摘要: ABI (Application binary interface) 原文链接 我的博客 在电脑软件中,一个应用二进制接口 (ABI) 是两个二进制程序模组之间的接口。通常,模组中的一个是库或操作系统服务,另一个为用户运行的程序。 一个 ABI 定义了数据接口或计算机程序是如何在机器码中被访问到的, 阅读全文
posted @ 2022-03-19 22:06 ArvinDu 阅读(1589) 评论(0) 推荐(0) 编辑
摘要: 嵌入式软件技能 原文链接 我的博客 软实力 市场调研 项目评估 提出议案 客户处理 风险评估 项目预算 需求分析 结构设计 仿真 设计优化 模块集成 文档 问题处理 技术支持 人际关系 深入思考 逻辑分析 硬实力 板卡开发/调试 Linux 内核编译、优化与引导顺序 信号、中断处理 固件、软件的设计 阅读全文
posted @ 2022-03-06 21:04 ArvinDu 阅读(53) 评论(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 阅读(2725) 评论(0) 推荐(1) 编辑
摘要: JTAG 接口 原文链接 我的博客 简短介绍 JTAG 为 Joint Test Action Group 的缩写,是在生产后用来校验、测试印刷电路板的一种标准。 JTAG 作为数字仿真工具的一种补充,被电子设计自动化 (EDA) 使用的一种标准。它规定了一个串行通信接口作为调试端口,不需要外部访问 阅读全文
posted @ 2022-03-03 11:16 ArvinDu 阅读(1115) 评论(0) 推荐(0) 编辑
摘要: SVF 规范 原文链接 我的博客 SVF: Serial Vector Format 介绍 本文档描述 SVF 串行向量格式文件的语法。 SVF 文件设计来鼓励对串行向量在产品生命周期中的重用,从设计阶段的引入到服务阶段的部署。 SVF 文件以 ASCII 进行描述,由一系列 SVF 语句组成。单行 阅读全文
posted @ 2022-03-03 09:41 ArvinDu 阅读(2205) 评论(0) 推荐(0) 编辑
摘要: To Be Continued 阅读全文
posted @ 2022-02-10 22:56 ArvinDu 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 约定 我的博客 原文链接 注意: 除非另有指定,本文档假定: 以 ARM Cortex-M3 处理器的小端模式 ARM EABI 应用二进制接口 GNU GCC 工具链 工具链 一个完整的软件工具链包括如下程序: 将源代码转化为二进制机器码;将单独的汇编/编译的代码模块链接到一起;反汇编二进制代码; 阅读全文
posted @ 2022-02-07 23:04 ArvinDu 阅读(1023) 评论(0) 推荐(0) 编辑
摘要: C 编译过程 我的博客 原文链接 本文介绍 C 编译过程,即,如何从源码生成可执行文件,目标程序。 编译 第一个阶段是编译 compilation。 编译器为定义内容分配内存,从程序语句生成操作码,生成一个可重分配的目标文件 .o,汇编器也会将汇编语言源文件生成 .o 文件。 编译器一次完成一个转换 阅读全文
posted @ 2022-01-22 22:16 ArvinDu 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 写在最后 我的博客 关于 Linux 介绍 系列,是对一本接近 20 年前的书籍Introduction to Linux - A Hands on Guide的翻译,有很多内容已经跟不上时代了,大家看看看个乐就好! 阅读全文
posted @ 2022-01-18 22:08 ArvinDu 阅读(28) 评论(0) 推荐(0) 编辑
摘要: 网络 我的博客 将以如下几个部分进行讨论: 支持的网络协议 网络配置文件 配置、探测网络的命令 守护进程与客户程序开启不同的网络应用 文件共享与打印 命令与应用的远程执行 基础网络交互连接 远程应用的安全执行 防火墙与入侵诊断 网络概览 OSI 模型 一个协议是用作沟通的的一组规则。 为了从网络上获 阅读全文
posted @ 2022-01-15 21:10 ArvinDu 阅读(191) 评论(0) 推荐(0) 编辑
摘要: 基础备份技术 我的博客 将以如下几个部分进行讨论: 归档文件 制作备份 加密数据 介绍 虽然 Linux 是一个十分安全的操作系统,即便它被设计来不关机持续运行,数据依然可能丢失。数据丢失有时候是用户的过失,有时候是系统故障 (比如硬盘故障),因此备份重要的数据是十分必要的操作。 准备你的数据 使用 阅读全文
posted @ 2022-01-15 20:50 ArvinDu 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 协议 我的博客 本文原文 lwIP 是一模块化的框架,支持很多的协议,大部分代码可以为了精简代码删除。 链路与网络协议 ARP: 地址解析协议 地址解析协议 ARP: Address Resolution Protocol 是链路层协议,用来转换本机硬件地址 (即 MAC 地址) 与 IP 地址。 阅读全文
posted @ 2022-01-12 13:06 ArvinDu 阅读(1886) 评论(0) 推荐(0) 编辑
摘要: lwIP 介绍 我的博客 本文原文 现今,无线网络技术比如蓝牙与 IEEE 802.11b/g (wifi),已经成为大部分人生活不可或缺的一部分。这使得关于健康管理、安全加密、传输、工业处理等相关设施的蓬勃发展。小的设备比如传感器,可以连接到现有的网络设施,在网络上进行监控。 网络技术已经证明自身 阅读全文
posted @ 2022-01-10 22:19 ArvinDu 阅读(535) 评论(0) 推荐(0) 编辑
摘要: 受众 我的博客 本文原文 谁需要阅读本手册 任何想开发网络应用的开发者。 需要哪些预备知识 具有 C ANSI 以及 TCP/IP 的良好基础。 需要提前阅读哪些内容 本手册是最基础的内容,阅读其他手册前需要阅读本手册。 阅读全文
posted @ 2022-01-10 22:14 ArvinDu 阅读(45) 评论(0) 推荐(0) 编辑
摘要: 1 Licence 本工作以Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License许可。访问https://creativecommons.org/licenses/by-nc-sa/3.0查看该证书。 [ 阅读全文
posted @ 2022-01-10 21:58 ArvinDu 阅读(502) 评论(0) 推荐(0) 编辑
摘要: 家目录 我的博客 将以如下几个部分进行讨论: 组织你的环境 常用的 shell 配置文件 shell 配置 配置提示符 安装新软件 更新现有的包 注意: 文中的内容可能因人而异,因系统而异 维护好家目录 介绍 把使用的环境弄得脏乱,是十分简单的事。下面的方式可以帮助你维持一个良好的环境。 为你自己的 阅读全文
posted @ 2022-01-10 21:51 ArvinDu 阅读(49) 评论(0) 推荐(0) 编辑
摘要: 文本编辑器 我的博客 将以如下几个部分进行讨论: 以文本模式打开关闭文件 编辑文件 查找文本 错误恢复 使用 Vim 编辑器 两种模式 Vi 编辑器是一个十分强大的工具,具有一个内建手册,在进入程序之后输入命令 :help,将会出现帮助页。这里只简单介绍一下基础使用方法。 初学者可能对 vi 的使用 阅读全文
posted @ 2022-01-04 21:52 ArvinDu 阅读(67) 评论(0) 推荐(0) 编辑