A File Encryption System for USB Memory Device Based on Embedded System of ARM9 Abstract As the threat exists in the storage protection of the present
|
|
- 祭衫 黄
- 7 years ago
- Views:
Transcription
1 基 于 ARM9 嵌 入 式 系 统 的 U 盘 文 件 加 解 密 系 统 摘 要 针 对 目 前 USB 移 动 存 储 设 备 在 数 据 安 全 中 存 在 的 漏 洞, 本 文 提 出 了 一 种 新 的 USB 存 储 设 备 数 据 安 全 解 决 方 案 本 系 统 通 过 USB 接 口 连 接 于 计 算 机 与 USB 存 储 设 备 之 间, 对 计 算 机 和 USB 设 备 之 间 传 输 的 数 据 进 行 解 析, 利 用 指 纹 模 块 提 供 的 稳 定 密 钥 加 密 并 转 发 USB 数 据 实 现 文 件 加 密 文 件 名 不 加 密 的 效 果, 使 得 U 盘 中 普 通 文 件 与 加 密 文 件 可 以 共 存, 多 个 用 户 可 以 共 同 使 用 一 块 U 盘 而 无 需 担 心 数 据 泄 露 设 备 具 有 相 对 计 算 机 USB 存 储 设 备 独 立 的 特 点, 无 需 对 两 者 做 任 何 改 动, 保 证 了 对 普 通 U 盘 的 支 持 本 文 选 用 AT91SAM9260 作 为 实 现 平 台, 针 对 嵌 入 式 核 心 板 设 计 了 外 接 电 路, 提 供 了 USB 的 主 从 接 口 RS232 串 口 面 向 指 纹 模 块 的 SPI 接 口 不 使 用 操 作 系 统, 移 植 了 USB 海 量 存 储 协 议 的 主 机 和 从 机 驱 动 上 电 启 动 时, 使 用 bootstrap 直 接 加 载 应 用 程 序, 并 跳 转 执 行 主 从 驱 动 协 同 工 作, 并 添 加 对 FAT32 文 件 系 统 的 识 别, 使 系 统 对 文 件 名 透 明 传 输 的 同 时 对 文 件 数 据 加 密 加 密 算 法 采 用 AES 标 准 CBC 分 组 模 式, 采 用 32 位 快 速 AES 算 法 另 外, 核 心 板 空 余 的 32M 内 存 被 用 来 缓 存 USB 数 据, 对 同 一 数 据 的 再 次 访 问 可 以 直 接 从 内 存 获 取 最 后 通 过 SPI 接 口 同 指 纹 模 块 连 接 在 USB 全 速 设 备 的 基 础 上, 通 过 优 化 软 件, 读 写 分 别 可 以 达 到 550KB/s 和 230KB/s 的 传 输 速 度 关 键 词 :USB 协 议 FAT32 文 件 系 统 文 件 加 密 AES-CBC AT91SAM9260 I
2 A File Encryption System for USB Memory Device Based on Embedded System of ARM9 Abstract As the threat exists in the storage protection of the present USB Mass Storage Device, this article proposes a new method to provide them with security services. All of the packets will be processed when they go through this system, which connects PC and USB Mass Storage Device. Before forwarding them to the USB device, these packets will be chosen to be encrypted using the key provided by the fingerprint module. As a result, when be directly connected, the disk will be found normal with all the directories correctly shown while the contents of certain file are obfuscated. Thus it becomes possible that in such disk coexist the plaintext and the ciphertext and that multi people share one disk without worrying about the privacy. This system is not only relatively independent to the computer and USB Device, but compatible with various USB Memory Devices without any update to PC or USB Device. On the platform of AT91SAM9260, this article designed the extension circuit equipping the core-board with various ports, such as USB HOST&DEVICE port, RS232 and the SPI to fingerprint module. After startup, the system runs directly the Bootstrap which would load the application mainly consisting of the two drivers, USB MSD Host Driver and Device Driver, without any operating systems. With the two drivers cooperating, the system should transmit the directory related data transparently and encrypt the contents of files depending on the knowledge of FAT32 system. And a 32-bit optimized algorithm supports AES and CBC block cipher mode well with a fast run. What s more, sparing 32M memory in SDRAM and using it as a Cache helps to reduce the procedure to fetch it from USB Device when the in Cache data were requested again. At last, the SPI provides the interface to communicate with the fingerprint module. The final data rate can reach 230KB/s while writing and 550KB/s while reading respectively on the full-speed USB port. Keyword: USB Protocol; FAT32 File System; File Encryption; AES-CBC; AT91SAM9260 II
3 目 录 摘 要... I Abstract... II 第 一 章 绪 论 引 言 关 于 本 课 题 的 研 究 本 文 的 研 究 目 标 主 要 工 作 内 容 以 其 创 新 点... 3 第 二 章 总 体 方 案 概 述... 4 第 三 章 硬 件 电 路 设 计... 7 第 四 章 开 发 环 境 的 建 立 第 五 章 AT91SAM9260 的 启 动 第 六 章 USB 透 明 传 输 USB 协 议 规 范 USB 基 础 简 介 USB 设 备 的 枚 举 过 程 CBW 命 令 包 格 式 [1][4] SCSI 命 令 格 式 [19] ARM9 中 USB 的 具 体 实 现 MSDDriver 的 工 作 原 理 USBHostDriver 的 工 作 原 理 文 件 透 明 传 输 的 实 现 ( 主 从 驱 动 互 联 ) 第 七 章 内 存 的 分 配 映 射 及 其 管 理 内 存 的 分 配 内 存 的 映 射 及 管 理 第 八 章 文 件 目 录 簇 的 识 别 FAT32 文 件 系 统 简 介 [5][8] 主 引 导 记 录 区 (MBR) DOS 引 导 记 录 区 (DBR) 文 件 分 配 表 区 (FAT) 数 据 区 (DATA) 数 据 区 中 目 录 簇 的 识 别 [26] 第 九 章 文 件 数 据 的 加 解 密 AES 标 准 [16] CBC 加 密 模 式 [16] 第 十 章 测 试 与 总 结 总 述 AES 加 密 函 数 验 证 性 测 试 传 输 性 能 测 试 第 十 一 章 结 束 语 论 文 总 结 前 景 与 展 望 致 谢 参 考 文 献 (Reference) 附 录 III
4 第 一 章 绪 论 1.1 引 言 在 信 息 技 术 突 飞 猛 进 的 今 天, 人 们 在 享 受 技 术 进 步 的 同 时, 也 要 遭 受 越 来 越 多 的 数 字 危 机 U 盘, 由 于 其 拥 有 容 量 大 体 积 小 价 格 便 宜 等 众 多 优 点, 已 成 为 人 们 移 动 存 储 的 首 选 设 备 因 此 U 盘 的 数 据 安 全 问 题 也 日 益 露 出 水 面 世 界 各 地 关 于 U 盘 数 据 泄 露 的 事 件 层 出 不 穷, 既 有 企 业 私 人 的, 也 有 政 府 军 方 的 这 些 事 件 的 发 生 给 个 人 隐 私 和 集 体 利 益 带 来 了 巨 大 的 损 失 可 移 动 存 储 设 备 的 安 全 现 状 : 目 前 市 场 上 所 见 到 的 U 盘 大 多 不 带 有 任 何 安 全 功 能, 计 算 机 的 文 件 数 据 直 接 经 过 USB 端 口 存 储 到 U 盘 中 的 Flash 芯 片 中, 这 类 U 盘 我 们 称 之 为 普 通 U 盘 在 很 多 场 合, 人 们 并 没 有 意 识 到 存 储 于 U 盘 中 数 据 的 安 全 性, 唯 一 可 以 做 到 的 就 是 尽 量 保 证 U 盘 不 会 丢 失 而 一 般 情 况 下, 丢 失 之 后 的 U 盘 中 存 储 的 数 据 在 他 人 眼 中 变 得 一 览 无 余 同 时 U 盘 互 借 互 拷 也 会 给 攻 击 者 带 来 窃 取 数 据 的 机 会, 随 着 USB 的 数 据 传 输 速 率 的 不 断 提 高, 上 G 字 节 的 数 据 瞬 间 就 可 以 被 攻 击 者 偷 偷 拷 走 现 有 安 全 方 案 概 述 : [6] 1 计 算 机 上 的 安 全 措 施 一 种 方 式 是 通 过 在 操 作 系 统 内 核 中 嵌 入 对 USB 接 口 转 存 数 据 的 安 全 控 制 来 实 现 写 到 磁 盘 上 的 数 据 为 密 文 形 式, 当 需 要 从 磁 盘 上 读 出 数 据 时 做 相 应 的 解 密 工 作 这 种 安 全 机 制 相 当 于 在 磁 盘 前 段 加 入 一 块 加 解 密 装 置, 在 一 定 范 围 内 可 以 保 证 数 据 的 流 通, 通 用 性 强 如 果 使 用 硬 件 电 路 的 方 式 实 现 加 解 密 对 文 件 读 取 速 度 上 的 影 响 也 较 小 但 是 这 种 方 案 需 要 对 操 作 系 统 的 内 核 做 修 改, 或 者 是 对 主 板 的 结 构 进 行 修 改, 工 作 量 大 标 准 得 不 到 统 一, 一 旦 到 了 大 的 范 围 内, 各 种 操 作 系 统 的 计 算 机 之 间 就 无 法 进 行 文 件 的 共 享, 产 生 了 无 谓 的 麻 烦 而 目 前 国 内 使 用 最 多 的 操 作 系 统 Windows 仍 然 是 一 个 商 业 运 作 的 操 作 系 统, 普 通 用 户 无 法 对 其 内 核 进 行 修 改, 使 用 该 种 方 案 对 数 据 保 护 的 用 户 只 能 局 限 在 Linux 几 种 开 放 的 操 作 系 统 下, 故 至 今 未 得 到 广 泛 的 应 用 而 对 主 板 进 行 修 改 费 用 高 难 度 大, 很 难 成 为 普 通 用 户 及 小 公 司 的 首 选 于 是 在 这 种 情 况 下, 很 多 渴 望 数 据 安 全 的 用 户 将 目 光 投 到 了 一 些 加 密 软 件 上, 使 用 折 中 的 办 法 满 足 自 己 的 需 求 通 过 授 权 PC 机 上 的 程 序, 使 其 工 作 在 系 统 层 上, 对 出 入 U 盘 的 数 据 进 行 加 解 密 来 提 高 U 盘 的 安 全 性 能 这 种 加 密 方 式 有 很 多 不 同 的 形 式, 不 论 是 系 统 自 身 安 装 的 软 件 还 是 通 过 移 动 设 备 上 的 autorun 自 动 加 载 的 应 用 程 序, 都 使 用 了 这 种 方 式 这 种 加 密 方 式 经 济 代 价 低 硬 件 上 无 需 做 变 动 但 是 却 缺 乏 通 用 性, 一 般 来 说 各 个 厂 家 提 供 的 软 件 都 各 不 相 同 不 仅 占 用 系 统 资 源, 而 且 还 容 易 受 到 木 马 病 毒 的 威 胁 通 常 来 说, 这 种 加 密 方 式 需 要 手 动 输 入 密 码, 所 以 长 度 有 限 的 字 符 数 字 组 合 很 容 易 被 后 台 运 行 的 木 马 劫 持 1
5 2 可 移 动 磁 盘 上 的 改 动 此 种 方 案 来 自 与 各 大 U 盘 制 造 厂 家, 它 们 的 共 同 点 就 是 加 密 模 块 集 成 在 U 盘 之 上, 使 U 盘 自 身 带 有 保 密 功 能 这 类 方 法 类 似 与 在 计 算 机 中 的 磁 盘 前 段 加 上 加 解 密 模 块 一 样, 只 不 过 将 该 模 块 放 到 了 可 移 动 磁 盘 内 部 Flash 的 前 面 同 样, 这 类 产 品 也 有 很 多 种 不 同 的 模 式, 而 且 大 多 数 U 盘 第 一 次 使 用 时 会 要 求 先 安 装 驱 动 程 序 之 后 每 次 插 入 该 U 盘 之 后, 系 统 自 动 调 用 驱 动 程 序, 开 始 文 件 传 输 但 是 也 有 的 产 品 是 不 需 要 驱 动 的, 但 此 类 也 采 用 autorun 自 动 加 载 应 用 程 序 因 为 病 毒 的 泛 滥, 通 常 autorun 会 被 杀 毒 软 件 认 为 是 可 疑 对 象 而 隔 离 使 用 起 来 带 来 不 必 要 的 麻 烦 同 样 也 会 受 到 病 毒 的 侵 扰 这 些 产 品 将 加 密 过 程 转 由 硬 件 实 现, 但 是 具 体 使 用 的 加 密 标 准 却 不 以 公 开, 无 法 对 其 展 开 理 论 分 析, 安 全 强 度 未 知 [7] 3 独 立 的 加 解 密 设 备 此 种 类 型 加 解 密 设 备 的 典 型 的 例 子 就 是 华 中 科 大 的 基 于 CH375 的 嵌 入 式 USB 文 件 加 解 密 系 统, 这 个 系 统 完 全 与 计 算 机 脱 离, 工 作 时 首 先 将 U 盘 中 的 数 据 全 部 取 出 来, 加 密 之 后 再 写 入 U 盘, 然 后 将 明 文 删 除 总 的 来 说 这 样 的 系 统 有 几 个 缺 点, 首 先 不 是 实 时 的 加 解 密, 每 次 使 用 U 盘 的 前 后 都 必 须 使 用 该 设 备 然 后 将 其 加 解 密 之 后 再 使 用 ; 其 次 是 我 们 知 道 在 删 除 数 据 时 很 难 在 磁 盘 上 不 留 下 痕 迹, 因 为 在 FAT 文 件 系 统 下, 文 件 的 删 除 是 通 过 标 定 目 录 已 删 除 来 实 现 的, 真 实 的 文 件 数 据 并 未 得 到 损 毁 这 种 对 U 盘 文 件 的 处 理 过 程 实 际 上 就 等 价 于 在 计 算 机 平 台 上 一 个 可 以 将 U 盘 中 数 据 取 出 加 密 再 写 入 的 软 件 该 方 案 可 以 使 用 对 计 算 机 和 U 盘 两 者 都 独 立 的 设 备 提 供 数 据 安 全 服 务, 在 思 想 上 有 一 定 的 新 意, 但 是 并 没 有 对 U 盘 数 据 安 全 方 面 的 保 护 起 到 实 际 意 义 上 的 贡 献 近 年 来,U 盘 市 场 上 又 出 现 了 基 于 指 纹 识 别 身 份 认 证 技 术 的 产 品, 硬 件 上 增 加 了 指 纹 识 别 模 块, 但 仍 会 依 赖 一 段 在 PC 上 执 行 的 程 序, 这 段 程 序 或 预 先 安 装 在 PC 上, 或 来 自 U 盘 上 的 某 块 存 储 区 域, 国 内 代 表 作 是 亚 略 特 系 列 U 盘 除 了 解 决 了 无 需 手 动 输 入 密 码 外, 软 硬 结 合 方 案 的 其 他 缺 点 依 旧 没 有 解 决 1.2 关 于 本 课 题 的 研 究 本 课 题 的 主 要 目 标 就 是 整 合 现 有 的 解 决 方 案, 提 炼 出 他 们 的 优 点, 将 其 集 中 到 我 们 所 要 完 成 的 USB 文 件 加 解 密 系 统 在 1.1 节 中 对 计 算 机 的 主 板 甚 至 是 操 作 系 统 所 做 的 改 进 我 们 可 以 拿 到 USB 接 口 外 面 来 完 成 ; 可 以 吸 取 指 纹 U 盘 上 使 用 指 纹 作 为 身 份 认 证 的 高 度 安 全 的 方 案 ; 同 样 把 本 系 统 做 成 一 个 脱 离 于 计 算 机 与 普 通 U 盘 的 独 立 设 备, 这 样 便 可 以 集 多 家 之 长, 完 成 预 定 的 USB 文 件 加 解 密 系 统 本 文 的 研 究 目 标 本 着 一 种 高 度 的 灵 活 性 与 独 立 性 的 设 计 理 念, 本 课 题 所 设 计 的 USB 文 件 加 解 密 系 统 必 然 是 2
6 独 立 于 计 算 机 与 普 通 U 盘 而 单 独 存 在 的 它 通 过 一 主 一 从 两 个 USB 端 口 连 接 于 计 算 机 与 U 盘 之 间, 实 现 透 明 的 数 据 传 输 ( 即 任 何 一 方 都 不 会 感 觉 到 中 间 这 个 加 解 密 设 备 的 存 在 ) 同 时 必 须 做 到 文 件 级 别 的 数 据 加 密, 这 样 就 可 以 在 同 一 磁 盘 中 存 放 多 个 不 同 用 户 的 文 件 和 没 有 加 密 的 文 件 而 相 互 之 间 不 出 现 干 扰, 做 到 高 度 的 灵 活 性 而 另 一 方 面 实 现 指 纹 的 无 模 板 存 储 的 特 殊 处 理, 直 接 由 采 集 到 的 指 纹 图 像 生 成 加 解 密 所 需 要 的 密 钥 而 这 一 过 程 则 需 要 尽 可 能 的 保 证 这 串 密 钥 的 稳 定 性, 否 则 很 可 能 发 生 加 密 后 的 文 件 自 己 也 无 法 打 开 的 尴 尬 情 况 在 以 上 描 述 的 基 础 上, 可 以 得 出 结 论 : 该 系 统 可 以 做 到 只 有 在 U 盘 ( 密 文 ) 手 指 ( 密 钥 ) 加 解 密 装 置 三 者 同 时 存 在 的 情 况 下 才 可 以 在 计 算 机 上 打 开 用 户 存 入 该 U 盘 的 文 件 ; 而 普 通 用 户 也 只 能 浏 览 U 盘 内 的 文 件 名 和 不 同 的 目 录 而 已 主 要 工 作 内 容 以 其 创 新 点 由 于 本 课 题 工 作 量 大, 需 要 大 量 的 理 论 创 新 和 实 践 工 作, 所 以 分 由 三 位 同 学 共 同 完 成 本 文 主 要 负 责 ARM 平 台 上 的 USB 协 议 的 解 析 文 件 级 的 数 据 加 密 以 及 和 负 责 指 纹 图 像 处 理 的 DSP 平 台 之 间 的 接 口 设 计 通 过 对 设 计 目 标 的 进 一 步 分 析, 可 以 将 其 主 要 的 工 作 内 容 概 括 为 一 下 几 个 步 骤 : (1). 掌 握 并 完 成 硬 件 电 路 板 的 制 作 技 术 和 调 试 (2). USB 主 机 设 备 的 工 作 原 理, 以 及 USB 主 从 设 备 间 的 通 信 协 议 (3). 支 持 对 普 通 U 盘 文 件 的 加 解 密, 文 件 名 称 可 见, 内 容 不 可 见, 方 便 文 件 管 理 (4). 基 于 嵌 入 式 的 加 密 算 法 实 现 (5). 连 接 指 纹 模 块 (6). 保 证 对 计 算 机 与 U 盘 的 透 明, 并 支 持 市 场 上 大 多 数 的 通 用 U 盘 主 要 创 新 点 : (1). 采 用 了 独 立 于 U 盘 与 计 算 机 的 设 计 思 想, 采 用 过 滤 的 技 术 实 现 对 原 始 操 作 无 干 扰 的 数 据 加 密 (2). 对 U 盘 中 的 每 一 个 文 件 进 行 加 解 密, 而 不 是 对 整 个 U 盘 加 解 密, 使 用 和 管 理 都 更 为 方 便 3
7 第 二 章 总 体 方 案 概 述 为 了 给 USB 设 备 的 使 用 带 来 最 小 的 影 响, 同 时 又 要 具 备 数 据 加 密 的 功 能, 因 此 将 加 密 设 备 设 计 成 一 个 数 据 过 滤 型 的 设 备 成 为 首 选 所 谓 数 据 过 滤 就 是 将 本 设 备 连 接 于 USB 存 储 设 备 和 计 算 机 之 间, 数 据 的 存 储 读 取 都 必 然 要 通 过 此 设 备, 因 此 也 就 有 可 能 在 使 用 过 程 中, 实 时 的 提 供 数 据 加 密 功 能 借 助 于 ARM 平 台 强 大 处 理 能 力 和 丰 富 的 外 设, 这 部 分 功 能 可 以 在 ARM 平 台 上 实 现, 具 体 芯 片 型 号 选 为 AT91SAM9260. 另 一 方 面 通 过 对 指 纹 信 息 的 读 取, 采 用 先 进 的 图 像 处 理 和 特 征 提 取 的 算 法, 从 指 纹 图 像 中 提 取 出 用 户 的 身 份 信 息, 并 将 其 作 为 密 钥 提 供 给 数 据 加 密 模 块 该 部 分 的 处 理 涉 及 到 大 量 的 浮 点 运 算, 所 以 考 虑 在 DSP 平 台 上 实 现,DSP 与 ARM 之 间 可 以 使 用 SPI 接 口 实 现 简 单 的 通 信 协 议, 完 成 密 钥 的 传 输 实 现 结 构 如 图 1 所 示 图 1 系 统 方 案 图 本 文 的 重 点 工 作 放 在 ARM 平 台 上 的 USB 协 议 解 析 和 文 件 数 据 的 加 密 因 此 可 以 将 此 部 分 的 工 作 分 为 以 下 三 个 主 要 部 分 : [2] 1 USB 协 议 的 解 析 要 在 同 一 系 统 中 配 备 一 主 一 从 两 个 USB 接 口 以 及 对 应 的 驱 动 程 序, 对 计 算 机 伪 装 成 普 通 的 U 盘, 响 应 所 有 的 计 算 机 请 求 ; 对 U 盘 伪 装 成 计 算 机, 根 据 计 算 机 发 来 的 请 求 稍 加 改 动 再 次 转 发 给 U 盘 PC FAT 文 件 系 统 AT91SAM9260 FAT 文 件 系 统 加 密 解 密 FAT 文 件 系 统 U 盘 SCSI 协 议 SCSI 协 议 SCSI 协 议 SCSI 协 议 MSC 子 类 MSC 子 类 MSC 子 类 MSC 子 类 功 能 层 功 能 层 功 能 层 功 能 层 USB 设 备 基 础 设 备 层 设 备 层 设 备 层 设 备 层 物 理 层 物 理 层 物 理 层 物 理 层 图 2 系 统 加 解 密 协 议 栈 4
8 类 似 于 TCP/IP 协 议 层,USB 自 身 也 含 有 类 似 的 协 议, 下 层 为 上 层 提 供 服 务, 逻 辑 层 之 间 互 相 通 信, 真 正 的 数 据 流 都 必 须 通 过 物 理 信 道 图 2 描 述 的 是 整 个 系 统 对 USB 数 据 的 处 理 过 程 ARM 通 过 其 USB 接 口 连 接 到 PC 的 USB 接 口 获 得 底 层 的 差 分 数 据 信 号, 使 其 进 行 转 化 为 可 识 别 [19] 的 数 据 包 CPU 进 行 后 续 解 析, 在 SCSI 层 解 析 出 的 数 据 包 是 包 括 写 入 到 Flash 中 的 数 据 块 地 址 及 其 数 据 长 度 等 信 息, 并 进 一 步 判 断 当 前 数 据 是 否 需 要 加 解 密 调 用 AES 子 程 序, 对 数 据 加 密, 之 后 把 它 按 照 加 密 前 的 方 式 转 发, 在 物 理 层 通 过 USB 的 主 驱 动 程 序 发 送 给 U 盘 图 3 透 明 传 输 示 意 图 另 外 USB 是 一 种 基 于 主 从 结 构 的 总 线 形 式, 总 线 上 的 数 据 传 输 都 必 须 由 主 机 来 发 起, 只 有 通 过 请 求 才 会 产 生 相 应 的 响 应 从 图 3 的 左 图 可 以 看 出 在 数 据 进 行 转 发 过 程 中 会 在 时 间 等 待 上 产 生 一 定 的 代 价, 但 是 在 目 前 的 嵌 入 式 系 统 中 还 存 在 这 一 大 块 没 有 经 过 开 发 利 用 的 内 存, 如 果 将 这 部 分 内 存 开 发 出 来, 存 储 一 些 已 经 通 过 本 设 备 的 数 据, 那 么 下 次 有 相 同 的 请 求 时, 就 没 有 必 要 重 新 到 U 盘 那 边 请 求 数 据, 直 接 可 以 从 内 存 中 取 出, 减 小 时 间 开 销 2 文 件 数 据 的 识 别 在 USB 上 传 输 的 数 据 是 非 常 简 单 的, 主 机 只 通 知 U 盘 该 数 据 要 存 放 在 Flash 的 哪 块 地 址, 这 段 数 据 的 长 度 所 有 的 文 件 系 统 的 结 构 在 操 作 系 统 中 得 到 了 封 装, 不 论 用 户 的 操 作 是 读 写 删 除 还 是 格 式 化, 所 有 的 操 作 在 USB 总 线 上 的 看 到 的 只 会 有 两 种 数 据 的 读 和 写 因 此 要 通 过 被 封 装 了 的 数 据 还 原 出 用 户 的 原 始 操 作 几 乎 变 得 不 太 可 能 但 是 换 一 种 思 维, 实 际 上 的 保 密 只 要 做 到 磁 盘 上 的 文 件 数 据 保 密 便 可 达 到 目 标, 那 么 该 问 题 的 求 解 转 化 成 在 USB 上 传 输 的 数 据 中 文 件 数 据 的 检 测 问 题, 进 一 步 化 简 为 USB 数 据 流 中 目 录 簇 的 识 别 既 然 文 件 系 统 的 组 织 必 须 遵 循 一 系 列 规 则 [5][8], 那 么 这 两 种 数 据 形 式 必 然 有 其 数 字 特 征, 相 比 文 件 数 据, 目 录 簇 的 这 种 特 征 显 然 要 更 加 突 出, 易 于 发 现 3 数 据 加 密 算 法 加 密 算 法 多 种 多 样, 在 本 系 统 中 要 选 择 一 种 快 速 且 安 全 性 高 的 数 据 加 密 算 法 必 然 会 想 到 AES 算 法 在 密 码 学 界,AES(Advanced Encryption Standard) 加 密 算 法 是 美 国 政 府 所 采 用 的 一 种 加 密 标 准, 是 世 界 上 最 流 行 的 对 称 加 密 算 法 之 一, 它 的 安 全 性 可 以 得 到 保 证 另 外 正 因 为 它 5
9 的 广 泛 应 用, 代 码 的 重 新 利 用 可 以 大 大 减 小 项 目 的 开 发 周 期 除 此 之 外, 数 据 加 密 靠 的 不 仅 仅 是 算 法, 同 时 也 需 要 加 密 模 式 的 参 与 本 文 选 用 CBC 分 组 密 码 模 式 最 后, 为 了 更 加 快 速 的 使 系 统 启 动, 考 虑 不 使 用 操 作 系 统, 直 接 加 载 底 层 的 应 用 程 序, 速 度 快 效 率 高 6
10 第 三 章 硬 件 电 路 设 计 基 于 AT91SAM9260 的 ARM 开 发 平 台 已 经 有 着 比 较 成 熟 的 应 用 方 案, 可 以 利 用 实 验 室 现 有 的 硬 件 资 源 来 构 造 本 文 所 需 的 硬 件 平 台 考 虑 到 ARM 核 心 板 部 分 在 各 种 应 用 情 况 下 的 变 化 一 般 不 是 很 大 的 情 况 下, 开 发 人 员 通 常 将 其 做 成 单 独 的 一 个 电 路 模 块, 然 后 根 据 不 同 的 应 用 需 求, 通 过 配 备 不 同 的 底 板 来 扩 展 IO 端 口 和 电 源 模 块 核 心 板, 顾 名 思 义, 就 是 ARM 硬 件 电 路 的 核 心 部 分, 它 包 括 了 内 存 NAND Flash 模 式 选 择 开 关 以 及 必 要 的 电 源 管 理 模 块 相 对 于 底 板, 核 心 板 的 设 计 复 杂 但 相 对 固 定, 通 常 采 用 Atmel 公 司 推 荐 的 配 置 方 式 [20], 因 此 本 毕 设 并 未 涉 及 到 核 心 板 电 路 上 的 设 计 工 作 [21], 只 是 在 此 对 它 做 简 要 的 列 表 说 明 : >> CPU:AT91SAM9260 >> SDRAM:32M 2, 两 片 HY57V 构 成 32bit >> NAND FLASH:128MB, 一 片 K9F1G08 >> RTC:PCF8563T >> JTAG:JTAG 调 试 接 口, 标 准 20PIN >> 电 源 :3.3V 电 源 输 入 和 3V RTC 后 备 电 源 输 入 >> 扩 展 接 口 : 数 据 地 址 总 线 接 口 和 剩 余 GPIO 口 通 过 2 个 80PIN 双 排 插 阵 引 出 根 据 本 毕 设 的 需 求 和 对 核 心 板 硬 件 资 源 的 分 析, 在 底 板 上 必 须 配 备 一 个 电 源 模 块 USB 的 主 从 接 口 用 来 作 为 调 试 工 具 的 串 口 必 要 的 LED 状 态 显 示 以 及 对 外 的 接 口 图 4 电 源 模 块 原 理 图 电 源 管 理 使 用 AP1513 芯 片 产 生 更 加 稳 定 的 5V 电 源, 另 外 还 可 以 从 USB 电 源 中 取 5V 电 源, 该 电 源 通 过 二 极 管 连 到 上 述 电 源 管 理 芯 片 的 输 出, 保 证 在 外 部 电 源 供 电 时,USB 工 作 也 不 会 受 到 影 响 图 5 USB 供 电 在 系 统 中 的 应 用 图 6 5V 到 3.3V 的 电 压 转 化 电 路 7
11 如 图 6 所 示, 使 用 5V 到 3.3V 电 源 转 化, 向 核 心 板 供 电 图 7 USB 接 口 电 路 上 图 为 USB 主 设 备 接 口,5V 电 源 通 过 500mA 的 保 险 丝 介 入, 以 保 护 U 盘 以 及 不 正 确 时 候 时 电 路 的 安 全 下 图 为 USB 从 设 备 电 路, 其 中 VUSB 通 过 10K 电 阻 接 到 ARM 的 A24 引 脚, 该 引 脚 可 以 用 于 检 测 本 设 备 上 端 是 否 有 主 机 供 电 不 论 是 从 口 还 是 主 口,D+ 和 D- 两 根 数 据 线 必 须 根 据 主 芯 片 的 要 求 接 入 必 要 的 电 阻 以 及 旁 路 电 容, 以 提 高 电 路 的 抗 干 扰 性 能 完 整 的 原 理 图 见 附 录 的 图 28, 双 层 PCB 版 图 的 正 面 效 果 见 图 8 图 8 母 板 的 PCB 版 图 8
12 如 图 9 所 示, 为 制 作 完 成 的 硬 件 电 路,ARM 核 心 板 通 过 两 列 细 口 双 插 槽 与 母 板 相 连 接 上 面 分 别 分 布 了 SPI 接 口 ( 连 接 DSP 指 纹 预 处 理 模 块 ) USB 设 备 端 口 ( 作 为 USB 设 备 连 接 到 计 算 机 ) USB 主 机 端 口 ( 作 为 USB 控 制 器 连 接 USB 存 储 设 备 ) SPI 接 口 USB 设 备 端 口 USB 主 机 端 口 口 图 9 电 路 ( 母 板 + 核 心 板 ) 实 物 图 ARM 核 心 板 9
13 第 四 章 开 发 环 境 的 建 立 一 个 完 整 的 开 发 环 境 是 开 发 ARM 应 用 程 序 的 必 要 前 提, 只 有 当 第 一 个 简 单 的 Hello World 成 功 的 出 现 在 电 脑 上 的 时 候, 意 味 着 从 代 码 的 编 写 下 载 程 序 运 行 一 直 到 终 端 显 示 都 能 够 正 常 工 作 了 任 何 复 杂 的 系 统 都 是 构 建 在 这 个 简 单 的 基 础 上 的, 并 且 要 尽 量 使 这 个 过 程 尽 量 的 简 单, 为 以 后 的 调 试 工 作 节 省 下 大 量 的 时 间 本 毕 设 的 开 发 环 境 是 建 立 在 计 算 机 内 部 搭 建 的 虚 拟 局 域 网 上 的, 在 Windows XP 上 进 行 代 码 的 编 辑 和 二 进 制 可 执 行 文 件 的 下 载, 在 Fedora 8 下 对 工 程 文 件 进 行 编 译 连 接 所 有 的 工 程 文 件 存 储 在 Linux 操 作 系 统 中, 通 过 虚 拟 局 域 网, 使 用 Fedora 自 带 的 Samba 服 务 功 能 共 享 工 作 空 间 [21], 并 在 Windows 下 将 共 享 文 件 夹 映 射 成 网 络 驱 动 器, 从 而 实 现 不 同 的 操 作 系 统 和 不 同 的 文 件 系 统 之 间 的 文 件 共 享 功 能 图 10 开 发 环 境 示 意 图 首 先 介 绍 两 款 Windows 下 的 必 备 软 件 :Source Insight 和 SAM-BA Source Insight 是 一 个 面 向 项 目 开 发 的 程 序 编 辑 器 和 代 码 浏 览 器, 它 拥 有 内 置 的 对 C/C++, C# 和 Java 等 程 序 的 分 析 Source Insight 能 分 析 源 代 码 并 在 工 作 的 同 时 动 态 维 护 它 自 己 的 符 号 数 据 库, 并 自 动 为 用 户 显 示 有 用 的 上 下 文 信 息 Source Insight 不 仅 仅 是 一 个 强 大 的 程 序 编 辑 器, 它 还 能 显 示 reference trees,class inheritance diagrams 和 call trees 而 SAM Boot Assistant (SAM-BA ) 则 一 种 提 供 了 在 Windows 下 对 Atmel AT91 ARM 器 件 编 程 的 操 作 十 分 简 单 的 可 视 化 软 件 它 可 以 选 择 通 过 USB 端 口 或 者 更 为 常 用 的 RS232 端 口 对 目 标 设 备 进 行 编 程 它 可 以 定 义 可 执 行 文 件 下 载 的 具 体 地 址, 还 可 以 对 内 存 空 间 的 任 意 位 置 进 行 查 看 考 虑 到 开 发 过 程 中 会 不 得 不 对 大 量 的 现 有 的 USB 驱 动 程 序 源 代 码 的 阅 读, 为 了 更 好 的 了 解 各 种 变 量 的 定 义 和 大 量 的 函 数 间 相 互 调 用 的 复 杂 关 系, 提 高 工 作 效 率,SourceInsight 可 以 说 是 一 款 十 分 符 合 要 求 的 编 辑 器 SourceInsight 编 辑 好 的 源 程 序 通 过 Windows 和 Linux 之 间 的 共 享 通 道, 存 储 到 虚 拟 机 上, 然 后 在 Linux 在 执 行 编 译 命 令 在 Makefile 中 编 写 需 要 编 译 的 源 程 序 和 所 使 用 的 编 译 器 [22], 本 文 所 使 用 的 交 叉 编 译 工 具 Gnuarm3.4.3 为 ATMEL 官 方 推 荐 使 用 的 编 译 器 版 本 编 译 成 功 的 二 进 制 文 件 再 通 过 共 享 通 道 由 Windows 下 的 SAM-BA [23] 下 载 到 目 标 板 上 在 下 一 章, 我 将 详 细 介 绍 可 执 行 的 二 进 制 文 件 下 载 的 地 址 以 及 ARM 启 动 的 详 细 过 程 10
14 第 五 章 AT91SAM9260 的 启 动 首 先 介 绍 一 下 系 统 的 存 储 的 地 址 映 射 图 11 AT91SAM9260 地 址 映 射 简 图 图 11 只 是 列 出 了 前 面 一 部 分 的 存 储 器 地 址 映 射 的 信 息, 从 中 我 们 可 以 看 到 CPU 内 部 已 经 配 备 了 一 个 32K 的 ROM 和 两 个 SRAM,CPU 对 它 们 的 存 储 都 可 以 在 1 个 时 钟 周 期 内 完 成 另 外 在 核 心 板 上 还 有 片 外 的 SDRAM 与 NAND Flash,SDRAM 是 由 两 片 16-bit 的 32M 内 存 通 过 位 扩 展 而 构 成 的 32-bit 的 64M 内 存, 而 NAND Flash 单 片 大 小 为 128M 系 统 具 体 从 以 上 那 么 多 的 存 储 器 中 的 哪 一 个 开 始 启 动 还 要 取 决 于 BMS(Boot Mode Select) 引 脚 的 电 平, 具 体 配 置 见 下 表 CPU 启 动 之 后 总 是 从 0 地 址 开 始 执 行 指 令 的, 所 以 在 REMAP 之 前 会 根 据 BMS 的 情 况 载 入 相 应 的 数 据 到 Boot Memory 中 运 行 一 旦 系 统 启 动 完 成, 重 新 进 行 地 址 映 射 之 后 从 内 部 的 SRAM 启 动 表 1 内 部 存 储 映 射 因 为 核 心 板 EBI_NCS0 上 没 有 挂 载 任 何 存 储 设 备, 所 以 启 动 模 式 BMS 选 择 置 为 高 电 平, 从 固 化 ROM 启 动 ROM 内 部 的 启 动 程 序 要 完 成 的 工 作 以 列 表 的 方 式 罗 列 如 下 1 : (1). 初 始 化 调 试 单 元 的 串 口 (DBGU) 和 USB 设 备 端 口 ( 用 于 进 入 SAMBA 模 式 ) (2). 加 载 ROM 中 的 程 序, 运 行 它 会 从 NAND Flash 中 0 地 址 处 开 始 检 查 是 否 有 8 个 有 效 的 中 断 向 量 存 在 所 有 的 这 些 中 断 向 量 必 须 是 B 跳 转 或 是 LDR 加 载 寄 存 器 指 令 与 其 他 存 储 器 不 同 的 是 NAND Flash 的 第 六 个 中 断 向 量 无 需 指 定 加 载 程 序 镜 像 的 长 度, 因 为 在 NAND Flash 中 每 次 加 载 都 会 拷 贝 4K 程 序 到 片 内 SRAM 中 加 载 完 成 后 重 定 向 地 1 在 DBGU 初 始 化 之 后 实 际 上 还 会 有 关 于 DataFlash 的 检 查 工 作, 具 体 流 程 同 NAND Flash 相 同, 因 为 核 心 板 没 有 配 备 DataFlash, 故 在 次 隐 去 11
15 址, 跳 转 (3). 如 果 没 有 合 法 的 中 断 向 量,SAM-BA 启 动 程 序 被 执 行, 并 等 待 计 算 机 端 通 过 串 口 或 USB 接 口 发 起 SAM-BA 会 话 以 上 工 作 的 具 体 流 程 见 下 图 : Start Init Clock & PLL Init DBGU Init USB Device Port SPI DataFlash Boot Yes Download from DataFlash (NPCS0) RUN No SPI DataFlash Boot Yes Download from DataFlash (NPCS1) RUN No NAND Flash Boot Yes Download from NAND Flash RUN No USB Enumeration Successful? No Character(s) received on DBGU? Yes Run SAM-BA Boot Yes Run SAM-BA Boot 图 12 启 动 程 序 算 法 流 程 从 启 动 的 结 果 来 看, 实 际 上 只 有 两 种 效 果 :1 将 程 序 拷 贝 到 内 部 4KSRAM,REMAP 并 开 始 运 行 ;2 进 入 SAM-BA 模 式 后 者 和 我 们 之 前 介 绍 的 Windows 平 台 上 的 程 序 SAM-BA 有 很 大 关 系,SAM-BA 模 式 通 过 计 算 机 上 运 行 的 一 段 主 机 控 制 程 序 和 另 一 段 在 嵌 入 式 平 台 上 运 行 的 从 机 程 序 的 相 互 配 合 通 信, 可 以 将 计 算 机 上 的 可 执 行 代 码 下 载 到 嵌 入 式 指 定 的 地 址 上 具 体 的 通 道 也 分 为 USB 方 式 和 串 口 方 式, 因 为 串 口 要 留 作 调 试 信 息 的 输 出, 因 此 选 用 USB 电 缆 完 成 程 序 的 下 载 工 作 Boot loader: 从 上 面 的 流 程 可 以 看 到, 在 系 统 REMAP 之 后 程 序 会 跳 转 到 4K 大 小 的 SRAM 中 运 行, 虽 然 SRAM 有 着 很 高 的 存 储 速 度, 指 令 能 够 更 快 的 被 CPU 执 行 但 是 谁 也 不 能 保 证 自 己 的 程 序 能 够 被 限 制 在 4K 的 大 小 之 内, 而 且 一 个 4K 的 程 序 也 不 能 指 望 它 能 够 完 成 多 少 复 杂 的 系 统 功 能 那 么 就 需 要 在 这 4K 大 小 的 空 间 中 再 次 完 成 一 个 跳 转 工 作, 将 程 序 指 针 CP 指 向 到 可 用 范 围 更 加 广 的 内 存 中 去 ( 当 然 这 之 前 需 要 完 成 一 些 必 要 的 系 统 配 置 ) 这 个 工 作 就 是 由 Boot Loader 来 完 成 的 与 操 作 系 统 的 Boot Loader 相 比 [17][18], 这 里 只 需 要 使 用 第 一 级 的 Loader Bootstrap 就 能 完 12
16 成 任 务 因 为 不 需 要 启 动 操 作 系 统,Bootstrap 只 要 能 将 自 己 的 指 针 指 到 应 用 程 序 的 入 口 即 可 首 先 该 Boostrap 要 能 被 启 动 程 序 认 为 是 一 段 能 够 正 确 运 行 的 程 序 才 会 被 拷 贝 到 片 内 内 存, 所 以 它 必 须 是 以 8 个 中 断 向 量 为 开 头 的 因 为 Bootstrap 功 能 比 较 简 单, 用 不 着 处 理 中 断,8 个 中 断 的 存 在 只 是 为 了 被 启 动 程 序 发 现 为 可 用 二 进 制 代 码, 所 以 实 际 上 这 些 中 断 向 量 只 是 指 向 一 个 死 循 环 而 已 它 的 八 个 向 量 分 别 如 下 所 示, 虽 然 在 这 边 用 不 到, 但 是 在 应 用 程 序 中 却 是 中 断 处 理 的 必 由 之 路 _exception_vectors: b reset_vector /* reset */ b undef_vector /* Undefined Instruction */ b swi_vector /* Software Interrupt */ b pabt_vector /* Prefetch Abort */ b dabt_vector /* Data Abort */ b rsvd_vector /* reserved */ b irq_vector /* IRQ : read the AIC */ b fiq_vector /* FIQ */ 然 后 它 要 依 次 进 行 : (1). 堆 栈 初 始 化 (2). 时 钟 配 置 (3). 初 始 化 bss 字 段 (4). 跳 转 到 Bootstrap 的 main 函 数 (5). 从 main 函 数 返 回 并 跳 转 到 目 标 地 址 注 :bss 字 段 是 指 那 些 被 分 配 的 初 始 值 为 0 静 态 变 量 所 对 应 的 地 址, 在 main 开 始 之 前 必 须 将 其 声 明 的 未 赋 初 值 的 静 态 变 量 置 为 0;main 函 数 完 成 对 NAND Flash 的 初 始 化, 并 将 相 应 的 应 用 程 序 从 中 复 制 到 片 外 内 存 中 的 JUMP_ADDR 地 址, 并 将 该 地 址 返 回 以 供 main 函 数 之 前 的 这 段 crt0_gnu 的 汇 编 代 码 跳 转 用 对 程 序 下 载 方 法 所 做 的 改 进 开 发 板 最 初 所 争 对 的 应 用 主 要 是 对 基 于 Linux 操 作 系 统 来 开 发 的, 所 以 在 那 种 情 况 下 Bootstrap 并 不 直 接 引 导 应 用 程 序, 而 是 从 NAND Flash 复 制 一 段 被 称 为 U-Boot 的 程 序 (U-Boot 通 常 和 Bootstrap 共 同 构 成 我 们 所 熟 知 的 二 级 和 一 级 启 动 代 码 Bootloader) 到 片 外 SDRAM 中 的 最 后 一 段 地 址 中, 然 后 跳 转 到 U-Boot 执 行 二 级 启 动 代 码,U-Boot 实 际 上 是 一 段 相 对 比 较 复 杂 的 程 序, 它 能 够 简 单 的 支 持 一 些 命 令 行 Linux 内 核 也 就 是 借 助 U-Boot 才 可 以 被 复 制 到 SDRAM 的 0 地 址 才 能 够 被 正 确 的 运 行 那 么 当 第 一 段 的 Bootstrap 烧 入 到 NAND Flash 的 首 地 址 之 后, 怎 样 才 能 再 次 令 嵌 入 式 系 统 进 入 到 SAM-BA 模 式 呢? 原 来 Bootstrap 除 了 加 在 应 用 程 序 还 有 一 项 功 能 : 每 次 运 行 自 动 扫 描 PC11 引 脚 2, 如 果 该 引 脚 低 电 平, 则 程 序 写 入 一 段 0 到 NAND Flash 的 0 地 址, 这 样 就 可 以 阻 止 下 次 复 2 在 Bootstrap 从 Flash 的 指 定 地 址 载 入 应 用 程 序 或 U-Boot 前 对 NAND Flash 的 初 始 化 函 数 nandflash_hw_init 中 调 用 nand_recovery 实 现 此 功 能 13
17 位 时 电 路 开 始 运 行 程 序, 而 可 以 再 次 进 入 到 SAM-BA 模 式, 在 这 个 模 式 下 可 以 重 新 烧 入 更 新 后 的 程 序 但 这 样 做 的 一 个 缺 点 就 是 每 次 烧 入 程 序 代 码 之 后 都 必 须 重 新 写 入 Bootstrap, 给 程 序 的 调 试 工 作 带 来 了 很 大 的 不 便 表 2 合 法 中 断 向 量 表 地 址 机 器 码 汇 编 语 言 此 外, 由 于 Flash 的 烧 写 次 数 是 有 限 的, 所 以 在 以 上 基 础 上 要 尽 量 减 少 对 Flash 的 写 入 次 数, 并 最 大 程 度 的 使 调 试 过 程 中 程 序 的 烧 写 变 得 简 单 首 先, 每 次 写 入 新 的 程 序 时 都 必 须 进 行 一 次 Bootstrap 的 擦 除 和 写 入, 而 Bootstrap 在 调 试 过 程 中 通 常 是 不 会 被 改 变 的, 所 以 这 个 过 程 确 实 是 一 个 多 余 的 过 程, 它 所 达 到 的 目 标 就 是 进 入 SAM-BA 模 式 而 多 次 的 对 NAND Flash 的 0 地 址 反 复 做 无 意 义 的 擦 出 写 入 很 大 程 度 上 缩 短 了 系 统 的 使 用 寿 命 根 据 CPU 进 入 SAM-BA 模 式 的 流 程, 可 以 看 到 在 检 测 NAND Flash 中 是 否 有 正 确 的 执 行 码 取 决 于 对 前 8 个 中 断 向 量 的 检 测 ( 如 图 13 所 示 ), 可 以 发 现 如 果 在 复 位 的 同 时 人 为 的 对 上 面 读 到 的 数 据 进 行 干 扰 就 可 以 使 CPU 认 为 Flash 中 的 数 据 不 为 可 用 代 码, 最 终 达 到 误 导 CPU 进 入 SAM-BA 模 式 而 无 需 累 赘 的 多 次 重 复 的 对 Bootstrap 的 烧 写 再 看 到 NAND Flash 的 引 脚, 发 现 它 只 是 用 了 一 个 8 位 的 数 据 总 线 [24], 因 此 可 以 在 该 总 线 上 下 功 夫 来 欺 骗 CPU 具 体 的 做 法 是 : 在 复 位 的 同 时 短 接 D7 与 地 线 这 样 做 可 以 方 便 的 解 决 启 动 是 选 择 SAM-BA 还 是 正 常 运 行, 而 且 每 次 仅 需 对 改 动 过 的 代 码 进 行 写 入 就 可 以 了 图 13 核 心 板 中 NAND Flash 电 路 原 理 图 14
18 第 六 章 USB 透 明 传 输 为 了 分 析 出 入 USB 存 储 设 备 的 数 据 流 就 必 须 截 取 所 有 的 通 过 USB 端 口 的 数 据, 因 此 介 于 计 算 机 与 可 移 动 存 储 设 备 之 间 的 加 解 密 装 置 必 须 同 时 具 备 USB 海 量 存 储 设 备 类 所 具 有 的 全 部 功 能, 于 此 同 时 还 要 有 主 动 向 USB 从 设 备 读 写 数 据 的 能 力 本 章 先 从 理 论 上 简 述 USB 以 及 它 的 MSC 子 类 的 基 本 原 理 和 最 基 本 的 命 令 数 据 格 式, 然 后 再 从 实 现 角 度 分 别 讨 论 主 机 驱 动 和 从 机 驱 动 的 实 现, 最 后 论 述 如 何 利 用 在 加 解 密 设 备 中 主 机 驱 动 和 从 机 驱 动 之 间 的 通 信 实 现 文 件 的 透 明 传 输 功 能 的 6.1 USB 协 议 规 范 USB 全 名 为 Universal Serial Bus, 即 通 用 串 行 总 线 它 是 一 种 基 于 主 从 方 式 的 总 线 结 构, 在 本 加 解 密 设 备 中 就 同 时 实 现 了 USB 的 主 从 功 能, 主 从 功 能 分 别 面 向 移 动 存 储 设 备 和 计 算 机 数 据 信 息 通 过 串 行 接 口 引 擎 在 串 行 数 据 和 并 行 数 据 之 间 转 化, 在 物 理 层 上 通 过 一 对 基 于 差 分 曼 彻 斯 特 码 的 差 分 电 流 信 号 传 递 数 据 主 从 设 备 分 别 配 备 了 复 杂 的 USB 硬 件 电 路 以 更 好 更 快 的 实 现 USB 的 数 据 传 输, 同 时 为 上 层 驱 动 和 应 用 程 序 的 编 写 提 供 最 大 的 便 利 USB 基 础 简 介 USB 有 着 自 己 的 一 套 理 论 体 系, 从 物 理 层 一 直 到 上 层 应 用, 从 严 格 规 整 到 灵 活 多 变, 每 一 个 层 次 都 有 一 定 的 规 范 就 USB 自 身 而 言 十 分 复 杂, 很 难 在 篇 幅 有 限 的 地 方 叙 述 清 楚, 在 下 面 的 几 个 小 的 部 分 中 主 要 做 一 些 简 略 的 介 绍, 并 将 文 章 的 主 体 部 分 留 给 如 何 实 现 USB 数 据 的 透 明 传 输 用 有 关 USB 详 细 的 内 容 可 以 参 考 相 关 网 站 USB 的 拓 扑 结 构 图 14 USB 物 理 总 线 的 拓 扑 USB 系 统 在 硬 件 上 主 要 分 为 USB 主 控 制 器 和 USB 设 备 USB 的 主 控 制 器 和 设 备 以 星 型 方 式 排 布, 主 控 制 器 永 远 都 处 于 中 心 节 点 的 位 置, 而 我 们 在 日 常 生 活 中 所 用 的 U 盘 USB 鼠 标 和 键
19 盘 摄 像 头 等 等 都 是 属 于 USB 设 备 USB 的 主 控 芯 片 就 是 通 过 Hub 的 概 念 将 众 多 的 设 备 连 接 成 一 个 星 型 网 络, 每 个 不 同 的 USB 设 备 在 初 始 化 阶 段 都 会 被 分 配 一 个 特 定 的 地 址 以 供 主 机 区 别 既 然 Hub 可 以 扩 展 出 众 多 的 USB 端 口, 那 么 作 为 设 备 的 Hub 可 以 将 这 个 星 型 网 络 向 下 进 行 扩 展 USB 的 拓 扑 结 构 如 图 14 示 USB 的 传 输 速 率 和 传 输 类 型 USB 的 传 输 速 率 分 为 低 速 (Low speed) 全 速 (Full speed) 和 高 速 (High speed) 三 种 模 式, 他 们 的 波 特 率 分 别 为 1Mbit/s 12Mbit/s 和 480Mbit/s 在 USB2.0 的 规 范 中 同 时 规 定 了 这 三 种 速 度 模 式, 并 要 求 在 主 从 设 备 的 速 度 不 同 时, 高 速 设 备 应 该 向 低 速 设 备 靠 拢 通 常 一 个 USB 端 口 的 速 度 上 限 是 由 硬 件 来 决 定 的, 通 过 软 件 的 方 式 通 过 对 程 序 的 优 化 减 少 不 必 要 的 等 待 来 使 得 真 正 的 传 输 的 字 节 数 据 速 率 达 到 最 优 AT91SAM9260 所 配 备 的 两 个 USB 端 口 都 是 属 于 全 速 端 口, 因 此 实 现 的 传 输 波 特 率 为 12Mbit/s. USB 使 用 4 种 数 据 传 输 方 式 分 别 为 控 制 传 输 (control) 中 断 传 输 (interrupt) 批 量 传 输 (bulk) 和 同 步 传 输 (synchronous) 控 制 传 输 是 每 个 USB 设 备 与 主 机 通 信 中 必 须 使 用 的 一 种 传 输 方 式, 也 是 默 认 方 式, 主 机 通 过 控 制 传 输 来 对 设 备 枚 举 配 置 分 配 地 址 并 协 商 下 面 所 使 用 的 传 输 方 式, 因 此 控 制 传 输 在 整 个 对 话 过 程 中 必 须 保 证 不 会 出 错, 否 则 显 出 混 乱 的 系 统 便 无 法 通 过 主 机 的 绝 对 控 制 来 恢 复 正 常 的 通 信 秩 序 ; 中 断 传 输 用 于 小 批 量 非 连 续 和 不 可 预 测 何 时 会 产 生 数 据 的 场 合, 它 只 能 单 向 的 向 主 机 发 送 数 据, 所 以 通 常 用 在 键 盘 鼠 标 等 USB 设 备 中 ; 批 量 传 输 则 是 成 批 量 的 传 输 大 量 数 据, 对 时 间 上 的 要 求 并 不 是 太 高, 通 常 用 在 打 印 机 和 扫 描 仪 等 设 备 中, 而 通 常 所 说 的 USB 移 动 磁 盘 也 是 使 用 该 中 传 输 方 式 进 行 文 件 数 据 传 输 ; 同 步 传 输 要 求 数 据 实 时 并 且 连 续, 它 对 数 据 的 传 输 时 间 要 求 很 高, 主 要 应 用 于 对 数 据 实 时 性 要 求 很 高 的 语 音 业 务 传 输 类 型 USB 的 传 输 事 务 和 数 据 包 一 次 USB 传 输 是 有 一 个 或 多 个 事 务 组 成 的,USB 主 机 和 设 备 之 间 通 过 这 些 事 务 的 里 三 角 湖 来 进 行 通 信 一 个 事 务 大 多 由 主 机 发 起, 主 机 发 送 令 牌 包 (token) 后, 视 情 况 而 定 的 传 输 数 据 包 (data), 该 数 据 包 的 方 向 大 小 通 常 都 是 在 令 牌 包 中 事 先 说 明 的, 最 后 完 成 数 据 传 输 之 后 要 由 接 受 方 是 不 同 的 情 况 发 送 握 手 信 号 (handshake) 以 上 的 这 些 包 都 是 符 合 USB 传 输 数 据 的 定 义 的, 通 过 包 头 的 PID 来 识 别 他 们 具 体 的 类 型 而 通 过 将 多 个 复 杂 的 事 务 组 成 在 一 起 又 可 以 在 USB 上 建 立 起 新 的 传 输 协 议 或 者 说 是 子 类, 海 量 存 储 类 (Mass Storage Class) 就 是 其 中 的 一 种 USB 的 端 点 概 念 从 主 机 发 来 的 数 据 包 根 据 它 们 不 同 的 类 型 发 往 不 同 的 USB 端 点 USB 端 点 是 USB 设 备 特 有 的 一 种 硬 件 的 接 收 发 送 单 元 USB 主 机 与 设 备 之 间 都 是 通 过 端 点 来 传 输 数 据 的 端 点 是 桥 梁 和 纽 带, 不 同 的 端 点 其 传 输 数 据 的 能 力 不 同, 适 于 不 同 的 应 用 场 合 在 Bulk Only Transportation 的 海 量 存 储 实 现 规 范 中, 使 用 了 三 个 端 点, 他 们 分 别 是 控 制 端 点 数 据 输 出 端 点 和 数 据 输 入 端 16
20 点 控 制 端 点 可 以 用 于 控 制 命 令 的 输 出, 配 置 信 息 的 输 入 和 输 出, 它 通 常 表 示 为 0 端 点, 这 个 端 点 的 流 向 是 双 向 的, 不 会 出 现 STALL 的 状 态, 它 负 责 设 备 的 配 置 交 互, 最 大 信 息 包 64 字 节 输 入 输 出 端 点 负 责 数 据 的 输 入 输 出, 他 们 都 是 单 向 的 只 能 负 责 输 出 或 者 输 入, 最 大 信 息 包 64 字 节 (USB 全 速 设 备 ) 表 3 BOT 端 点 的 属 性 端 点 传 输 类 型 端 点 类 型 传 输 方 向 最 大 传 输 包 0 控 制 输 入 输 入 默 认 控 制 输 出 输 出 64Byte 1 数 据 输 出 普 通 输 出 64Byte 2 数 据 输 入 普 通 输 入 64Byte USB 设 备 的 枚 举 过 程 枚 举 过 程 定 义 为 : 当 设 备 插 入 系 统 时, 主 机 对 设 备 进 行 配 置, 获 取 USB 设 备 的 各 种 描 述 ( 包 括 设 备 描 述 配 置 描 述 Bulk Only 数 据 接 口 描 述 Bulk-In 端 点 描 述 Bulk-Out 端 点 描 述 和 字 符 描 述, 这 些 描 述 相 互 之 间 的 关 系 如 图 15 所 示 ), 这 也 就 是 USB 设 备 为 什 么 可 以 热 插 拨 的 原 因 USB 设 备 可 分 为 以 下 几 类 : 显 示 器 通 讯 设 备 音 频 设 备 人 机 输 入 海 量 存 储 特 定 类 的 设 备 又 可 划 分 成 子 类 枚 举 使 得 主 机 可 以 精 确 定 位 USB 设 备 类 型, 搜 索 相 应 的 驱 动 程 序 Device Descriptor Configuration Descriptor Configuration Descriptor Interface Descriptor Interface Descriptor Endpoint Descriptor Endpoint Descriptor Endpoint Descriptor 图 15 USB 描 述 的 层 次 结 构 为 了 更 加 清 晰 的 演 示 在 USB 设 备 插 入 主 机 时 的 枚 举 过 程, 这 里 简 要 的 引 用 BUSHOUND 软 件 截 取 的 一 段 U 盘 的 枚 举 示 例, 并 加 以 解 释 Device18 即 代 表 该 U 盘 在 本 地 计 算 机 上 获 得 的 USB 通 信 的 地 址 为 18, 而 后 面 的 跟 的 0 代 表 现 在 他 们 正 在 使 用 0 端 点 进 行 通 信 上 面 一 行 是 计 算 机 给 U 盘 发 送 设 备 描 述 (device description) 请 求 (CTL 代 表 控 制 传 输 方 式 ), 并 规 定 设 备 应 该 返 回 0x12 字 节 的 数 据 然 后 U 盘 回 复 了 自 己 17
21 的 设 备 描 述, 其 中 带 有 信 息 包 括 USB 版 本 最 大 包 大 小 USB-IF 分 配 的 制 造 商 ID 厂 商 分 配 的 产 品 ID 设 备 发 行 时 的 设 备 号 等 等 主 机 请 求 配 置 描 述 (configuration description), 长 度 要 求 为 9Bytes, 设 备 返 回 的 信 息 包 括 真 正 的 配 置 描 述 长 度 接 口 数 配 置 值 设 备 的 最 大 消 耗 电 流 等 这 次 根 据 上 次 返 回 的 真 正 的 配 置 描 述 长 度 为 0x20 重 新 请 求 32 字 节 的 配 置 描 述, 这 个 配 置 描 述 实 际 上 还 包 括 了 接 口 描 述 (Interface Description) 和 输 入 数 据 端 点 输 出 数 据 端 点 描 述 (Endpoint Description) 这 些 描 述 中 间 就 规 定 了 该 设 备 是 一 个 海 量 存 储 设 备 (Mass Storage Device) 使 用 的 数 据 传 输 的 方 式 ( 在 移 动 存 储 设 备 中 采 用 批 量 传 输 ) 这 段 主 机 开 始 询 问 设 备 的 字 符 串 描 述 (String Description) 信 息, 其 总 往 来 了 好 几 个 回 合, 分 别 在 问 询 交 换 的 语 言 ( 一 般 都 采 用 国 际 通 用 的 英 文 ) 设 备 的 序 列 号 5B EE( 由 Unicode 码 的 形 式 给 出 ) 从 右 边 的 信 息 可 以 看 到 此 时 计 算 机 大 概 已 经 知 道 这 个 具 体 是 什 么 设 备, 用 什 么 驱 动 来 进 行 交 互 了, 所 以 开 始 对 设 备 进 行 配 置 : 设 置 配 置 (Set Configuration) 设 置 接 口 (Set Interface) 获 取 最 大 逻 辑 单 元 数 (Get Max LUN) 至 此 通 过 0 端 点 所 传 输 的 控 制 的 控 制 过 程, 即 枚 举 过 程, 都 已 经 结 束 了 这 里 只 是 简 要 介 绍 了 枚 举 过 程 中 设 备 和 计 算 机 之 间 到 底 发 生 了 什 么 事 情, 具 体 的 这 些 描 述 的 严 格 的 格 式 可 以 参 见 附 录 和 相 关 网 站 [1][4] CBW 命 令 包 格 式 在 完 成 U 盘 的 枚 举 过 程 之 后, 识 别 出 为 Bulk-Only 的 Mass Storage 设 备, 然 后 即 进 入 Bulk-Only 传 输 方 式 在 此 方 式 下, 计 算 机 与 U 盘 之 间 所 有 数 据 均 通 过 Bulk-In 和 Bulk-Out 来 进 行 传 输, 不 再 通 过 控 制 端 点 (0 端 点 ) 传 输 任 何 数 据 在 这 种 传 输 方 式 下, 有 三 种 类 型 的 数 据 在 USB 和 设 备 之 间 传 送,CBW CSW 和 普 通 数 据 CBW(Command Block Wrapper) 是 从 USB Host 发 送 到 设 备 的 命 令, 命 令 格 式 遵 从 接 口 中 的 binterfacesubclass 所 指 定 的 命 令 块, 这 里 为 SCSI 传 输 命 令 集 USB 设 备 需 要 将 SCSI 命 令 从 18
22 CBW 中 提 取 出 来, 执 行 相 应 的 命 令, 完 成 以 后, 向 Host 发 出 反 映 当 前 命 令 执 行 状 态 的 CSW(Command Status Wrapper),Host 根 据 CSW 来 决 定 是 否 继 续 发 送 下 一 个 CBW 或 是 数 据 Host 要 求 USB 设 备 执 行 的 命 令 可 能 为 发 送 数 据, 则 此 时 需 要 将 特 定 数 据 传 送 出 去, 完 毕 后 发 出 CSW, 以 使 Host 进 行 下 一 步 的 操 作 USB 设 备 所 执 行 的 操 作 可 用 图 16 描 述 Ready Command Transport (CBW) Data-Out (from host) Data-In (to host) Status Transport (CSW) 图 16 命 令 数 据 状 态 流 程 图 在 流 程 图 中 包 括 了 三 种 形 式 的 数 据 包,USB 的 设 备 层 统 一 将 他 们 看 成 数 据, 不 加 区 分 的 进 行 传 输, 而 在 功 能 层 上 才 开 始 区 分 这 三 种 不 同 形 式 不 同 功 能 的 数 据 包 表 4 CBW 格 式 [9][4] 字 节 值 0-3 0x dcbtag 8-11 要 传 输 的 数 据 长 度 12 bmcbwflags 13 bcbwlun 14 命 令 字 的 长 度 CBWCB 如 表 4 CBW 命 令 包 格 式, 其 中 0x 表 示 当 前 发 送 的 是 一 个 CBW;dCBWTag 的 内 容 需 要 原 样 作 为 dcswtag 再 发 送 给 Host;bmCBWFlags 反 映 数 据 传 输 方 向 ;bcbwlun 为 零 ; bcbwcblength 为 本 次 命 令 字 的 长 度 ;CBWCB 即 为 真 正 的 传 输 命 令 集 的 命 令 得 到 一 个 CBW 后, 解 释 出 CBWCB 中 所 代 表 的 命 令, 并 向 USB Hosting 发 送 CSW 来 反 映 命 令 执 行 的 状 态 dcswsignature 的 内 容 为 0x ,dCSWTag 即 为 dcbwtag 的 内 容,dCSWDataResidue 还 需 要 传 送 的 数 据, 此 数 据 根 据 dcbwdatatransferlength 减 去 本 次 已 经 传 送 的 数 据 得 到 Host 端 根 据 此 值 决 定 下 一 次 CBW 的 内 容, 如 果 没 有 完 成 则 继 续 ; 如 果 命 令 正 确 执 行,bCSWStatus 返 回 0 即 可 按 这 个 规 则 组 装 好 CSW 后, 通 过 Bulk-In 端 点 将 其 发 出 即 可 [19] SCSI 命 令 格 式 USB 是 随 机 存 取 基 于 扇 区 存 储 的 设 备, 接 口 遵 循 SCSI-2 标 准 的 直 接 存 取 存 储 设 备 协 议 在 节 中 介 绍 的 BOT(Bulk-Only Transportation) 协 议 的 CBW 数 据 包 中 有 一 个 长 度 为 6 到 12 不 等 的 字 段 CBWCB, 其 传 输 的 就 是 SCSI 命 令 19
23 SCSI 命 令 集 是 一 套 能 够 完 成 对 一 般 外 接 存 储 系 统 设 备 的 存 取 配 置 检 查 等 任 务 的 完 备 指 令 集 SCSI 拥 有 的 这 套 指 令 集 有 很 多 指 令, 不 同 的 版 本 分 别 用 在 光 驱 硬 盘 软 驱 等 设 备 的 控 制 中, 表 5 列 出 的 7 条 指 令 已 经 可 以 完 全 实 现 USB 存 储 设 备 的 操 作 了, 这 一 特 性 大 大 减 小 了 设 备 设 计 的 难 度 与 复 杂 度 表 5 MSC 基 本 SCSI 命 令 集 命 令 描 述 INQUIRY 查 询 设 备 的 详 细 信 息, 如 生 产 厂 家 序 列 号 等 PREVENT-ALLOW MEDIUM REMOVAL READ CAPACITY(10) READ(10) REQUEST SENSE TEST UNIT READY WRITE(10) 禁 止 或 允 许 取 走 U 盘 读 取 Flash 容 量, 扇 区 大 小 以 及 总 扇 区 数 输 入 要 读 取 的 数 据, 从 Flash 读 出 请 求 判 断, 用 于 发 生 错 误 时 系 统 自 我 纠 正 测 试 单 元 准 备, 电 脑 通 过 此 命 令 保 持 U 盘 一 直 处 于 激 活 状 态 提 供 Flash 地 址, 向 Flash 写 数 据 在 这 7 条 指 令 中,READ10 和 WRITE10 是 两 个 十 分 重 要 的 指 令, 文 件 的 读 写 等 各 种 对 磁 盘 的 操 作 基 本 上 全 部 由 这 两 条 指 令 来 完 成 的 故 在 此 要 简 要 的 介 绍 一 下 READ10 命 令 的 详 细 格 式, 因 为 后 面 的 内 容 会 讨 论 到 这 两 个 命 令 表 6 READ10 Command 在 该 命 令 中 0 字 节 0x28 是 READ10 的 编 码,1 6 9 三 个 字 节 是 用 来 对 数 据 传 输 做 一 些 具 体 的 控 制, 但 是 一 般 不 会 使 用 2~5 这 4 个 字 节 作 为 一 个 32bit 长 整 型 数 据 指 定 了 逻 辑 块 地 址, 它 的 以 扇 区 为 单 位, 所 以 在 寻 址 能 力 上,USB 的 存 储 器 可 以 支 持 大 到 2TG 的 容 量 空 间 ( 扇 区 的 大 小 规 定 为 512Byte) 7~8 的 2 个 字 节 作 为 一 个 16bit 数 据 指 定 传 输 数 据 的 大 小, 同 样 这 个 值 的 单 位 也 是 扇 区, 虽 然 该 值 最 大 可 以 达 到 255, 但 是 在 现 实 应 用 中, 通 常 不 会 大 于 0x0008, 即 最 多 一 次 传 输 4KB 的 数 据 表 7 WRITE10 Command 如 果 要 实 现 WRITE10 实 际 上 在 READ10 的 基 础 上 只 要 将 传 输 方 向 加 以 改 变, 而 上 述 的 逻 辑 20
24 块 地 址 和 传 输 长 度 的 定 义 仍 然 是 我 们 最 关 心 的 两 个 参 数 通 过 分 析, 可 以 看 到 在 操 作 系 统 对 一 个 磁 盘 做 读 取 操 作 时, 底 层 硬 件 上 看 到 的 仅 仅 是 系 统 所 读 数 据 的 地 址 和 大 小, 而 对 数 据 的 内 容 是 什 么 不 加 以 关 心 即 使 是 一 般 的 删 除 操 作, 操 作 系 统 所 做 的 工 作 也 就 是 向 要 被 删 除 数 据 的 区 域 写 入 一 串 零 而 已 这 就 给 后 面 文 件 系 统 中 目 录 数 据 的 识 别 带 来 了 难 度 这 部 分 的 内 容 在 第 八 章 有 详 细 的 介 绍 最 后 给 出 BOT 传 输 开 始 阶 段 的 示 例, 紧 接 在 USB 枚 举 后 面 数 据 传 输 的 过 程 表 8 CBW 数 据 包 传 输 示 例 上 面 三 个 框 圈 住 的 分 别 执 行 了 INQUIRY READ CAPACITY10 和 READ10: INQUIRY 命 令 READ CAPACITY10 READ10 返 回 Kingston DataTraveler 2.0PMAP; 返 回 磁 盘 的 大 小 :0x1DCFFF 个 扇 区, 扇 区 大 小 :0x0200Byte 读 取 逻 辑 地 址 为 0, 长 度 为 1 个 扇 区 的 数 据 ( 数 据 太 多, 图 中 仅 显 示 开 头 的 部 分 数 据 ) 之 后, 操 作 系 统 会 逐 个 读 取 扇 区, 包 括 了 MBR FAT1 FAT2 和 根 文 件 目 录 6.2 ARM9 中 USB 的 具 体 实 现 本 小 节 详 细 介 绍 了 系 统 如 何 实 现 USB 协 议, 包 括 了 主 机 驱 动 和 设 备 驱 动 两 个 部 分, 这 两 个 部 分 有 着 很 大 的 工 作 量, 代 码 的 实 现 工 作 也 很 大 程 度 上 依 赖 于 开 源 项 目 芯 片 制 造 商 ATMEL 公 司 在 硬 件 的 软 件 化 包 装 上 也 给 编 程 实 现 带 来 了 很 大 的 便 利 他 所 提 供 的 at9lib_softpack_1.5 很 好 的 将 对 硬 件 的 操 作 封 装 成 函 数 的 调 用, 在 开 发 文 档 给 予 了 很 详 细 的 说 明, 在 一 定 程 度 简 化 开 发 过 程, 提 高 嵌 入 式 应 用 程 序 的 可 重 用 性 如 图 17 所 示, 在 现 有 的 基 础 上 进 行 开 发, 只 有 在 保 证 主 机 程 序 和 设 备 驱 动 可 以 分 别 正 确 的 运 行 才 有 成 功 的 将 二 者 结 合 起 来 的 可 能 21
25 U-boot USBHost Driver ATMEL USBDDriver Interface Modification at91lib_softpack_1.5 AT91SAM9260&Hardware 图 17 软 硬 件 层 次 架 构 图 MSDDriver 的 工 作 原 理 本 模 块 原 型 来 自 于 ATMEL 公 司 网 站, 作 为 该 款 芯 片 的 一 个 示 例 程 序, 它 可 以 将 核 心 板 上 的 64M 内 存 开 发 出 来, 做 成 一 个 大 小 不 超 过 60M 的 移 动 磁 盘 当 然 作 为 一 个 磁 盘, 必 须 以 非 易 失 性 存 储 介 质 存 储 数 据, 而 这 里 使 用 SDRAM 只 是 为 了 一 个 演 示 效 果 但 正 是 因 为 这 里 内 存 的 时 候, 可 以 考 虑 在 连 接 主 从 驱 动 时, 将 内 存 作 为 一 个 简 单 的 cache 来 使 用, 以 减 少 真 正 从 U 盘 中 读 取 数 据 的 机 会 本 部 分 要 做 的 内 容 即 将 以 上 所 述 的 原 理 予 以 实 现, 所 以 同 样 分 成 两 个 部 分 考 虑, 分 别 是 枚 举 和 数 据 传 输 1 USB 设 备 驱 动 的 枚 举 过 程 当 设 备 插 入 计 算 机 的 一 瞬 间, 便 需 要 进 入 这 个 状 态 所 以 应 用 程 序 启 动 之 后 的 操 作 步 骤 如 下 : (1). 对 USB 进 行 初 始 化 ; (2). 拉 高 D+ 数 据 线, 通 知 计 算 机 有 USB 设 备 接 入, 可 以 开 始 枚 举 ; (3). 等 待 SET CONFIGURATION 请 求, 该 请 求 标 志 着 枚 举 的 成 功, 设 备 和 计 算 机 之 间 的 交 互 可 以 进 入 下 一 个 阶 段 第 3 个 等 待 的 步 骤 是 由 While 循 环 完 成, 不 断 的 检 查 是 否 已 经 得 到 SET CONFIGURATION 请 求 在 While 循 环 过 程 中, 通 过 中 断 处 理 USB 总 线 上 的 其 他 控 制 请 求 2 MSDDriver 状 态 机 实 现 枚 举 任 务 完 成 之 后, 对 USB 来 说 系 统 便 进 入 了 纯 数 据 的 传 输 阶 段, 但 是 这 些 数 据 又 遵 循 了 MSD 协 议, 满 足 CBW CSW 等 格 式 的 要 求 所 以 在 实 现 普 通 U 盘 功 能 时 需 要 借 助 状 态 机 实 现 图 16 所 示 的 命 令 数 据 和 状 态 的 流 程 图 如 图 18 所 示, 将 状 态 改 变 及 相 关 操 作 描 述 如 下 : (1). 初 始 化 后 的 默 认 状 态 为 READ_CBW, 此 状 态 一 直 要 保 持 到 USB 总 线 上 出 现 数 据 传 输 ; (2). 在 WAIT_CBW 状 态, 顾 名 思 义 为 等 待 CBW 传 输 完 毕 后 转 入 下 一 状 态 ; (3). 在 PROCESS_CBW 状 态, 需 要 检 查 接 收 到 的 CBW 数 据 是 否 满 足 上 文 中 CBW 的 标 准, 即 以 0x 开 头 长 度 为 31 字 节 然 后 进 一 步 检 查 SCSI 命 令 的 合 法 性, 最 后 根 22
26 据 具 体 的 命 令 调 用 不 同 的 函 数 执 行 该 状 态 一 直 要 保 持 到 CBW 请 求 的 数 据 发 送 完 毕 或 接 受 完 毕 才 可 以 转 到 SEND_CSW 图 18 MSDDriver 的 数 据 传 输 阶 段 状 态 图 (4). SEND_CSW, 在 此 状 态 检 查 PROCESS_CBW 的 执 行 结 果, 根 据 执 行 情 况 选 择 相 应 的 状 态 发 送 给 主 机 ; (5). WAIT_CSW 等 待 CSW 状 态 传 输 完 毕, 转 到 下 一 个 会 话 USBHostDriver 的 工 作 原 理 ARM 芯 片 中 的 USB 主 口 服 从 OHCI(Open Host Control Interface) 的 标 准,OHCI 主 要 面 对 的 对 象 为 USB2.0 的 全 速 设 备 和 低 速 设 备 用 于 USB 的 OHCI 规 范 是 USB 主 机 控 制 器 的 寄 存 器 描 述, 该 标 准 的 使 用 使 得 硬 件 制 造 商 在 满 足 USB 协 议 的 同 时, 面 对 用 户 也 有 了 一 个 统 一 的 通 过 寄 存 器 描 述 的 接 口, 只 要 改 动 OHCI 驱 动 寄 存 器 的 偏 移 地 址 便 可 以 使 USB 主 机 驱 动 成 功 的 移 值 OHCI.C 提 供 了 非 常 方 便 的 外 部 接 口 以 供 调 用 USB 的 主 机 驱 动 分 成 三 个 层 次, 由 上 到 下 分 别 为 :Usb_storage.c Usb.c Usb.ohci.c 其 中 Usb.c 提 供 了 两 个 非 常 重 要 的 接 口 函 数 : int submit_bulk_msg(*dev, pipe, *buffer, transfer_len); int submit_control_msg(*dev, pipe, *buffer, transfer_len, devrequest *setup); 它 们 分 别 实 现 批 量 传 输 和 控 制 传 输, 有 了 这 两 个 关 键 的 函 数 才 使 得 Usb_storage.c 中 各 种 复 杂 的 功 能 得 以 实 现 主 机 对 U 盘 的 访 问 和 U 盘 响 应 主 机 的 步 骤 完 全 一 致, 只 不 过 一 个 处 于 主 动 的 地 位 而 另 一 个 被 动 首 先 同 样 是 对 USB 进 行 初 始 化, 然 后 扫 描 设 备, 这 里 的 USB 主 控 器 默 认 是 一 个 Hub, 所 有 的 USB 设 备 如 果 连 接 到 USB 接 口, 那 么 它 们 以 树 形 的 方 式 结 合 起 来 驱 动 中 含 有 大 量 的 结 构 体 定 义, 以 对 设 备 的 属 性 中 包 含 的 各 种 参 数 进 行 存 储 6.3 文 件 透 明 传 输 的 实 现 ( 主 从 驱 动 互 联 ) 在 简 要 的 介 绍 完 主 机 驱 动 和 从 机 驱 动 的 实 现, 需 要 对 如 何 将 两 者 进 行 合 并, 在 同 一 个 系 统 中 系 统 工 作, 对 USB 数 据 流 进 行 分 析 转 发 等 工 作 做 一 些 详 细 的 介 绍 因 为 不 管 是 主 设 备 还 是 从 设 备, 整 个 通 信 过 程 必 须 分 为 两 个 部 分, 首 先 是 枚 举, 然 后 是 数 据 传 输, 所 以 在 联 合 主 从 驱 23
27 动 时 也 必 须 对 这 两 部 分 分 别 给 予 考 虑 1 枚 举 阶 段 枚 举 阶 段 主 要 是 对 设 备 的 各 种 属 性 参 数 的 问 询, 此 过 程 因 为 实 时 性 不 是 很 强, 故 可 以 分 开 进 行, 即 先 对 U 盘 进 行 枚 举, 将 枚 举 完 成 所 获 得 的 结 果 赋 给 加 解 密 设 备 的 USB 从 机 驱 动 的 相 关 变 量, 使 得 不 论 是 什 么 U 盘, 通 过 加 解 密 设 备 之 后 在 计 算 机 上 看 到 的 能 和 直 接 连 接 计 算 机 的 效 果 相 同 图 19 主 机 驱 动 中 设 备 的 信 息 描 述 结 构 体 定 义 如 图 19 所 示, 为 加 解 密 设 备 对 U 盘 完 成 枚 举 后 能 够 得 到 的 设 备 信 息, 这 些 信 息 就 是 上 文 中 所 说 必 须 转 移 到 USB 从 机 驱 动 中 的, 使 计 算 机 同 样 能 看 到 加 解 密 设 备 上 的 USB 存 储 器 的 参 数 2 数 据 传 输 阶 段 如 表 5 所 示, 其 中 的 两 个 命 令 READ10 WRITE10 负 责 了 全 部 的 数 据 传 输 的 任 务, 所 以 在 数 据 传 输 阶 段 要 做 的 工 作 便 将 是 这 些 命 令 传 递 到 USB 存 储 器 上 USBDDrive 的 状 态 机 在 读 到 READ10 命 令 时 会 调 用 SBC_Read10 函 数, 在 其 处 理 READ10 时 也 用 到 了 状 态 机 的 形 式, 因 此 在 对 SBC_Read10 改 写 时, 最 大 可 能 的 遵 循 了 原 来 的 结 构, 保 证 最 小 的 改 动, 它 的 实 现 如 图 20 所 示 : 图 20 透 明 传 输 READ10 状 态 图 图 21 透 明 传 输 WRITE10 状 态 图 (1). READ: 调 用 submit_bulk_msg 函 数, 想 U 盘 下 达 读 取 计 算 机 要 求 的 数 据 命 令 因 为 24
28 USB 主 机 驱 动 的 函 数 会 阻 塞 至 传 输 完 成, 所 以 在 完 成 传 输 之 后, 程 序 会 立 即 判 断 该 数 据 是 否 需 要 加 密, 如 果 需 要 执 行 加 密 子 程 序 (2). WAIT_READ: 等 待 U 盘 返 回 数 据 传 输 完 成, 实 际 上 这 个 状 态 一 跳 而 过, 因 为 上 一 个 状 态 READ 调 用 的 读 取 函 数 一 直 会 阻 塞 到 数 据 传 输 结 束 (3). WRITE: 将 内 存 中 的 数 据 发 送 给 计 算 机, 该 过 程 并 不 阻 塞 调 用 完 相 关 函 数 立 即 转 到 WAIT_WRITE 状 态 (4). WAIT_WRITE: 等 待 USB 数 据 传 输 完 毕 (5). NEXT_BLOCK: 因 为 如 果 一 次 性 计 算 机 要 求 的 数 据 量 太 大, 而 超 过 了 USB 的 一 次 性 传 输 的 能 力, 则 数 据 会 分 为 多 个 BLOCK 分 别 进 行 传 输 通 常 情 况 该 状 态 不 会 使 用 到, 而 是 由 上 一 状 态 直 接 开 始 下 一 个 READ10 的 命 令 周 期 WRITE10 命 令 的 处 理 过 程 与 READ10 类 似, 此 不 再 赘 述, 状 态 如 图 21 所 示 25
29 第 七 章 内 存 的 分 配 映 射 及 其 管 理 对 一 个 存 储 设 备 来 说, 传 输 速 率 是 个 至 关 重 要 的 性 能 指 标, 提 高 数 据 传 输 的 速 率 的 手 段 通 常 有 两 个 : 一 是 通 过 不 断 的 优 化 程 序 的 方 式 来 提 高 速 度, 这 种 方 法 在 程 序 架 构 和 算 法 确 定 之 后 基 本 上 没 有 多 少 提 升 的 空 间 ; 二 是 通 过 减 少 对 存 储 器 的 访 问 的 机 会 本 章 要 讨 论 的 问 题 就 是 怎 样 通 过 开 辟 内 存 的 方 式 来 在 现 有 的 基 础 上 提 高 数 据 传 输 的 速 度 众 所 周 之, 在 计 算 机 系 统 中 CPU 速 度 最 快, 而 计 算 机 的 整 体 性 能 并 不 仅 仅 取 决 于 CPU 的 处 理 能 力, 还 在 于 访 问 存 储 器 的 平 均 时 间 如 果 一 个 快 速 的 CPU 配 上 了 一 个 很 慢 的 硬 盘, 那 么 大 量 的 可 以 用 在 计 算 上 的 时 间 都 在 CPU 等 待 硬 盘 相 应 数 据 中 度 过 了 同 样 的 对 于 嵌 入 式 系 统 而 言, 在 这 里 的 传 输 速 度 很 大 程 度 的 取 决 于 对 U 盘 的 访 问 次 数 例 如, 计 算 机 要 从 U 盘 中 读 取 数 据, 加 解 密 设 备 收 到 命 令 之 后 要 对 U 盘 进 行 访 问, 从 U 盘 那 里 先 取 得 这 串 数 据, 然 后 再 转 发 给 计 算 机 在 这 之 间 如 果 不 算 控 制 和 命 令 解 析 的 处 理 时 间, 整 体 的 传 输 速 度 是 计 算 机 直 接 访 问 U 盘 的 时 间 还 要 加 上 命 令 从 计 算 机 到 加 解 密 设 备 和 数 据 从 加 解 密 设 备 传 回 计 算 机 的 两 个 时 间 因 此 真 实 的 传 输 速 率 大 概 会 成 为 直 接 传 输 速 度 的 一 半 左 右 但 是 如 果 计 算 机 下 次 再 次 对 该 数 据 进 行 访 问, 那 么 从 U 盘 重 新 读 取 该 数 据 还 是 直 接 从 内 存 中 获 取 上 次 驻 留 在 内 存 中 的 那 个 部 分 呢? 显 然, 如 果 从 内 存 中 直 接 读 取, 速 度 会 快 很 多 与 直 接 从 U 盘 读 取 相 比, 采 用 内 存 的 方 式 不 仅 省 去 读 Flash 的 时 间, 而 且 将 读 Flash 的 时 间 变 成 了 读 SDRAM 的 时 间, 从 理 论 上 来 讲, 执 行 速 度 甚 至 会 快 于 直 接 读 取 U 盘 基 于 这 样 的 思 想, 怎 样 在 核 心 板 上 64M 内 存 空 间 中 合 适 的 地 方 开 辟 合 适 大 小 的 内 存 以 供 中 转 ; 以 什 么 样 的 方 法 将 这 个 内 存 映 射 到 各 种 不 同 的 USB 存 储 设 备 ; 在 什 么 时 候 将 该 内 存 中 的 数 据 写 入 到 U 盘 中 等 等 都 成 为 本 章 要 解 决 的 问 题 7.1 内 存 的 分 配 在 64M 的 内 存 中 存 放 的 有 当 前 运 行 的 程 序 代 码 各 种 形 式 的 变 量 变 量 的 初 始 化 值 和 堆 栈 那 么 这 四 个 元 素 到 底 分 布 在 内 存 的 什 么 部 位 呢? 首 先 可 以 肯 定 的 是 在 连 接 完 之 后, 这 些 内 存 空 间 的 使 用 是 已 经 可 以 确 定 的 只 有 弄 清 楚 他 们 的 位 置, 才 能 确 定 哪 里 可 以 腾 出 多 少 空 间 供 数 据 缓 存 使 用 表 9 程 序 资 源 消 耗 表 数 据 类 型 起 始 地 址 末 地 址 大 小.text 0x x d3 0x105d4.rodata 0x d4 0x f 0x53ac.data 0x x2001 e3ff 0x8a80.bss 0x2001 e400 0x2004 b7f7 0x2d3f8 COMMON 0x2004 b7f8 0x x20990d stack 0x [27] 因 此, 必 须 对 工 程 文 件 夹 下 每 次 Make 都 会 生 成 的 toto.map 文 件 进 行 分 析, 得 到 的 结 果 如 26
30 表 9 所 示 表 中 地 址 都 是 从 片 外 的 16M 内 存 SDRAM 的 首 地 址 0x 开 始 的 其 中.text 内 容 表 示 为 程 序 的 代 码 段, 共 65K 左 右 ;.rodata (read only data) 为 程 序 中 所 申 明 的 常 量, 大 小 1K 左 右 ;.data 段 为 所 有 的 带 有 初 值 的 局 部 变 量, 共 2K 左 右 ;.bss 段 用 于 存 放 没 有 初 始 化 值 的 静 态 变 量, 该 部 分 在 程 序 加 载 时 会 自 动 填 零, 共 180K 左 右 ;COMMON 段 存 放 全 局 变 量, 和 一 些 大 数 组, 大 小 约 为 2M 所 以 从 SDRAM 的 0 地 址 开 始 的 大 2M 多 的 空 间 需 要 腾 出 来 作 为 程 序 的 使 用 范 围, 具 体 的 范 围 为 :0x ~0x 在 程 序 运 行 中 所 遇 要 的 不 仅 仅 是 代 码 和 各 种 变 量, 还 包 括 调 用 函 数 时 所 遇 要 用 到 的 堆 栈, 堆 栈 的 位 置 放 在 SDRAM 的 最 后, 与 其 他 段 不 同 的 是, 它 的 地 址 的 增 长 方 向 是 相 反 的, 从 高 地 址 一 直 到 低 地 址 图 22 内 存 分 配 示 意 图 综 上 所 述, 考 虑 以 后 程 序 的 改 动 和 各 种 可 能 出 现 的 变 更, 如 图 22 所 示 将 前 面 的 4M 和 最 后 28M 空 间 腾 出 来, 剩 下 的 32M 内 存 作 为 数 据 的 中 转 存 储 地 使 用 7.2 内 存 的 映 射 及 管 理 由 于 系 统 对 文 件 传 输 的 速 度 影 响 越 小 越 好, 所 以 在 内 存 管 理 上 采 用 最 简 单 的 机 制, 即 类 似 于 Cache 地 址 映 射 中 的 Direct mapping 的 概 念 [25] 主 存 储 器 被 分 为 一 页 一 页 的, 每 页 的 大 小 与 Cache 的 大 小 相 同, 具 体 的 实 现 描 述 如 下 : 32M 内 存 在 以 512 大 小 的 扇 区 为 单 位 寻 址 时 的 地 址 空 间 可 以 使 用 16bit 表 示, 而 在 USB 传 输 中 的 SCSI 命 令 中 的 地 址 空 间 为 32bit, 所 以 对 每 一 个 内 存 中 的 扇 区 都 必 须 使 用 一 个 额 外 的 16bit 的 变 量 存 储 该 扇 区 的 原 始 地 址 的 高 16 位, 这 样 才 能 准 确 无 误 的 将 扇 区 地 址 和 USB 存 储 器 的 地 址 一 一 对 应 因 此 开 辟 数 组 table 记 录 各 个 扇 区 的 高 16 位 地 址,table 的 下 标 使 用 扇 区 在 内 存 中 的 偏 移 地 址 表 示 初 始 化 时 一 定 要 将 其 全 部 置 为 0xffff, 以 区 分 当 前 该 扇 区 还 没 有 和 存 储 器 映 射 过 27
31 图 23 table 数 据 申 明 的 代 码 段 假 设 当 前 有 数 据 要 存 入 内 存, 它 的 存 储 器 地 址 为 usb_addr, 所 以 与 之 对 应 的 内 存 映 射 地 址 应 该 为 : ram_addr=(usb_addr & 0xffff) + SDRAM_OFFSET+CODE_SIZE 但 是 也 就 产 生 了 一 个 问 题 :USB 传 输 中 可 以 一 次 传 输 128 个 扇 区 (64KB), 那 么 如 果 这 段 数 据 的 首 地 址 映 射 到 32M 的 末 尾, 而 首 地 址 则 会 对 应 到 32M 的 开 头, 这 样 就 给 底 层 调 用 USB 数 据 的 接 受 函 数 造 成 了 一 定 的 麻 烦, 因 为 一 旦 对 USB 模 块 的 底 层 代 码 进 行 改 动 就 意 味 着 程 序 的 通 用 性 变 得 很 差, 一 旦 换 了 硬 件 平 台 就 很 难 再 对 系 统 进 行 移 植 因 此 在 32M 内 存 后 面 再 分 配 64K 的 缓 冲 区 域, 以 提 高 兼 容 性 此 外, 内 存 是 为 明 文 准 备 的 当 计 算 机 读 数 据 时, 可 以 如 下 进 行 操 作 : (1). 首 先 从 磁 盘 中 将 密 文 读 入 内 存 ; (2). 然 后 在 当 前 内 存 地 址 解 密 数 据 ; (3). 解 密 之 后 再 将 数 据 发 送 给 计 算 机 这 样 可 以 保 证 内 存 中 存 储 的 仍 然 为 明 文, 但 是 当 计 算 机 写 数 据 时 问 题 便 出 现 了 : (1). 首 先 将 明 文 写 到 内 存 中 ; (2). 然 后 在 当 前 内 存 地 址 加 密 数 据 ; (3). 将 加 密 后 的 数 据 写 到 磁 盘 中 从 上 面 的 步 骤 看, 似 乎 没 有 错, 但 是 所 有 的 操 作 结 束 之 后, 内 存 中 存 储 的 竟 然 是 密 文, 这 样 就 将 内 存 中 的 数 据 搞 混 了, 也 没 有 遵 循 内 存 是 为 明 文 准 备 的 这 条 规 定, 下 次 读 取 该 数 据 时 便 会 出 现 错 误 因 此 在 上 面 开 辟 的 64K 用 于 跨 区 的 内 存 后 再 开 辟 一 块 用 于 加 密 数 据 的 64K 内 存 来 解 决 这 个 问 题, 从 而 将 计 算 机 写 数 据 的 步 骤 更 改 为 : (1). 首 先 将 明 文 写 到 内 存 中 ; (2). 然 后 将 该 数 据 复 制 到 加 密 专 用 的 地 址 ; (3). 在 当 前 内 存 地 址 加 密 数 据 ; (4). 将 加 密 后 的 数 据 写 到 次 盘 中 多 了 一 个 copy 的 步 骤 为 了 降 低 实 际 应 用 中 多 次 拷 贝 数 据 给 系 统 带 来 的 时 间 开 销, 真 正 使 用 的 内 存 复 制 函 数 并 不 是 C 标 准 库 的 memcpy 函 数, 而 是 快 速 的 fast_memcpy 函 数 : 28
32 该 fast_memcpy 利 用 了 32 位 处 理 器 每 次 处 理 32 位 数 的 特 点, 每 次 复 制 的 数 据 大 小 为 4-byte 而 非 C 标 准 库 中 提 供 的 1 个 字 节 的 长 度 从 理 论 上 可 以 将 同 样 长 度 的 数 据 复 制 时 间 变 为 原 来 的 1/4 但 是 此 处 fast_memcpy 的 时 候 有 一 个 限 制 :src 和 dest 两 个 指 针 的 值 必 须 满 足 4 的 倍 数, 因 为 在 AT91SAM9260 硬 件 中 规 定 4-byte 寻 址 必 须 向 4-byte 对 齐, 否 则 会 出 现 读 到 的 数 据 不 是 想 要 的 数 据 的 结 果 例 如 : 一 个 4-byte 的 长 整 型 的 指 针 p 的 位 置 在 A 处, 那 么 *p 的 值 并 不 是 所 想 像 的 0x15D13F49, 通 过 实 验 可 以 发 现 实 际 上 *p 的 值 却 是 0x53033F49, 这 就 是 因 为 p 的 地 址 没 有 对 齐 4-byte; 而 如 果 p 指 向 的 是 B, 那 么 *p 得 到 的 值 理 所 当 然 为 0x3BB815D1 不 过 幸 运 的 是, 在 USB 进 行 数 据 读 取 时 所 有 的 数 据 都 是 以 512-byte 为 单 位 的, 即 数 据 的 地 址 为 512 的 倍 数, 显 然 更 是 4 的 倍 数 了 29
33 第 八 章 文 件 目 录 簇 的 识 别 目 前 在 大 容 量 U 盘 中 普 遍 采 用 的 文 件 系 统 格 式 为 FAT32, 而 FAT16 及 FAT12 也 因 为 U 盘 容 量 的 不 断 扩 展 早 早 的 退 出 了 历 史 的 舞 台 因 此 本 文 选 取 FAT32 作 为 研 究 对 象, 实 现 该 文 件 系 统 下 的 文 件 级 别 的 数 据 加 密 但 是 就 USB 的 存 储 设 备 而 言 并 不 存 在 文 件 系 统 的 概 念, 它 所 看 到 的 只 能 是 地 位 相 同 的 RAW DATA, 因 此 这 也 给 基 于 USB 的 文 件 级 别 的 加 密 带 来 了 挑 战 8.1 FAT32 文 件 系 统 简 介 [5][8] 对 于 FAT32 文 件 系 统, 硬 盘 上 的 数 据 按 照 不 同 的 特 点 和 作 用 大 致 可 分 为 5 部 分 :MBR 区 ( 主 引 导 记 录 区 ) DBR 区 (DOS 引 导 记 录 区 ) FAT 区 ( 文 件 分 配 表 区 ) 和 DATA 区 ( 数 据 区 ) 其 中, MBR 区 由 分 区 软 件 创 建, 而 DBR 区 FAT 区 和 DATA 区 由 高 级 格 式 化 程 序 创 建 这 4 个 区 域 共 同 作 用 才 有 利 于 整 个 硬 盘 的 管 理 图 24 FAT 文 件 系 统 结 构 示 意 图 主 引 导 记 录 区 (MBR) MBR 在 磁 盘 中 的 地 位 是 首 要 的, 它 的 缺 失 对 磁 盘 中 存 储 的 数 据 而 言 可 能 是 灾 难 性 的 一 个 MBR 的 大 小 为 512 字 节, 以 0x55AA 作 为 结 束 的 标 志, 这 一 标 志 通 常 也 被 用 于 判 定 该 磁 盘 所 使 用 的 是 否 是 DOS 文 件 系 统 MBR 中 存 储 的 主 要 就 是 启 动 代 码 和 磁 盘 的 分 区 表 在 计 算 机 启 动 时 BIOS 会 选 择 从 哪 个 盘 启 动, 一 但 BIOS 将 控 制 权 交 给 磁 盘 之 后, 第 一 件 事 就 是 执 行 位 于 磁 盘 0 地 址 的 前 446 个 字 节 的 启 动 代 码, 这 段 代 码 对 本 问 的 研 究 没 有 任 何 影 响, 故 不 做 详 细 的 介 绍 然 后 从 偏 移 为 0x1BE 的 地 址 开 始 就 是 16 个 字 节 的 分 区 表, 分 区 表 共 有 四 个 共 64 字 节 在 Windows 操 作 系 统 下 的 可 移 动 磁 盘 是 无 法 分 区 的, 即 使 通 过 强 行 的 方 法 进 行 分 区,Windows 也 只 对 第 一 个 分 区 做 识 别, 后 面 的 分 区 无 法 访 问 表 10 MBR 分 区 表 表 10 所 示 便 是 一 块 U 盘 的 主 分 区 表, 在 这 里 规 定 了 磁 盘 的 开 始 和 结 束 的 磁 头 扇 区 和 柱 30
34 面, 这 些 参 数 实 际 上 没 有 真 实 的 作 用, 只 是 习 惯 上 沿 用 以 前 盘 片 式 磁 盘 的 习 惯 有 用 的 参 数 有 :Partition type indicator( 指 明 了 该 分 区 中 使 用 的 操 作 系 统 ), 本 文 简 单 的 检 查 是 否 为 我 们 所 需 要 的 FAT32 的 代 码 0x0B;Sectors preceding partition 1( 指 明 真 正 分 区 的 DBR 开 始 的 逻 辑 块 地 址 ), 本 文 通 过 该 数 值 找 到 DBR;Sectors in partition 1( 指 明 该 分 区 的 大 小, 以 扇 区 为 单 位 ), 在 这 里 也 可 以 不 用 值 得 一 提 的 是, 正 是 因 为 Windows 下 的 U 盘 只 有 一 个 分 区, 所 以 很 多 时 候 MBR 可 以 不 存 在 的, 磁 盘 的 0 扇 区 直 接 存 储 DBR 也 可 以 正 常 工 作, 所 以 在 本 设 计 中 也 加 入 了 对 这 一 特 殊 情 况 的 考 虑 DOS 引 导 记 录 区 (DBR) 与 MBR 不 同,DBR 中 存 储 着 大 量 的 在 识 别 目 录 簇 时 可 以 使 用 到 的 数 据 DBR 区 (DOS BOOT RECORD) 即 操 作 系 统 引 导 记 录 区 的 意 思, 通 常 占 用 分 区 的 第 0 扇 区 共 512 个 字 节 ( 特 殊 情 况 也 要 占 用 其 它 保 留 扇 区, 我 们 只 讨 论 第 0 扇 ) 在 这 512 个 字 节 中, 其 实 又 是 由 跳 转 指 令, 厂 商 标 志 和 操 作 系 统 版 本 号,BPB(BIOS Parameter Block), 扩 展 BPB,OS 引 导 程 序, 结 束 标 志 几 部 分 组 成, 如 表 11 所 示 表 11 FAT32 分 区 上 DBR 中 各 部 分 的 位 置 划 分 字 节 位 移 字 段 长 度 字 段 名 0x00 3 个 字 节 跳 转 指 令 0x03 8 个 字 节 厂 商 标 志 和 os 版 本 号 0x0B 53 个 字 节 BPB 0x40 26 个 字 节 扩 展 BPB 0x5A 420 个 字 节 引 导 程 序 代 码 0x01FE 2 个 字 节 有 效 结 束 标 志 这 里 详 细 介 绍 如 何 通 过 读 取 该 扇 区 获 得 簇 大 小 和 FAT1 FAT2 跟 目 录 的 地 址 表 12 部 分 BPB 值 (BIOS Parameter Block) 如 表 12 所 示, 它 是 从 Winhex 软 件 中 截 取 出 来 的 截 屏, 显 示 的 是 一 只 U 盘 的 几 个 属 性, 其 中 偏 移 地 址 为 0xD 的 说 明 了 簇 的 大 小, 这 里 为 8 个 扇 区, 即 4KB; 一 个 重 要 信 息 为 保 留 的 扇 区 数, 这 个 保 留 的 意 思 就 是 指 FAT1 之 前 的 扇 区 的 个 数 ( 从 DBR 的 开 始 算 起 ); 最 后 的 偏 移 为 0x24 的 FAT 的 扇 区 数 可 以 利 用 了 确 定 FAT2 以 及 跟 目 录 的 位 置 FAT1_addr=Reserved_sectors+DBR_addr FAT2_addr=FAT1_addr+Sectors_per_FAT; root_directory_addr=fat2_addr+ Sectors_per_FAT; 31
35 8.1.3 文 件 分 配 表 区 (FAT) FAT 用 于 存 储 磁 盘 中 大 于 一 簇 的 文 件 的 跨 簇 存 储 的 信 息, 采 用 链 表 的 方 式 实 现 了 文 件 的 连 续 和 不 连 续 的 存 储, 同 时 FAT 会 存 有 相 同 的 两 份, 以 供 其 中 一 个 出 现 错 误 时 恢 复 用 数 据 区 (DATA) FAT32 文 件 系 统 的 目 录 结 构 其 实 是 一 颗 有 向 的 从 根 到 叶 的 树, 这 里 提 到 的 有 向 是 指 对 于 FAT32 分 区 内 的 任 一 文 件 ( 包 括 文 件 夹 ), 均 需 从 根 目 录 寻 址 来 找 到 可 以 这 样 认 为 : 目 录 存 储 结 构 的 入 口 就 是 根 目 录 FAT32 文 件 系 统 根 据 根 目 录 来 寻 址 其 他 文 件 ( 包 括 文 件 夹 ), 故 而 根 目 录 的 位 置 必 须 在 磁 盘 存 取 数 据 之 前 得 以 确 定, 这 一 工 作 已 经 在 前 面 对 DBR 分 析 的 过 程 中 完 成 FAT32 文 件 系 统 的 一 个 重 要 思 想 是 把 目 录 ( 包 括 跟 目 录 ) 当 作 一 个 特 殊 的 文 件 来 处 理 FAT32 分 区 中 所 有 的 目 录, 实 际 上 可 以 看 作 是 一 个 存 放 其 他 文 件 ( 目 录 ) 入 口 参 数 的 数 据 表 所 以 目 录 的 占 用 空 间 的 大 小 并 不 等 同 于 其 下 所 有 数 据 的 大 小, 但 也 不 等 同 于 0 通 常 是 占 很 小 的 空 间 的, 可 以 看 作 目 录 文 件 是 一 个 简 单 的 二 维 表 文 件 其 具 体 存 储 原 理 是 : 不 管 目 录 文 件 所 占 空 间 为 多 少 簇, 一 簇 为 多 少 字 节 系 统 都 会 以 32 个 字 节 为 单 位 进 行 目 录 文 件 所 占 簇 的 分 配 这 32 个 字 节 以 确 定 的 偏 移 来 定 义 本 目 录 下 的 一 个 文 件 ( 或 文 件 夹 ) 的 属 性, 实 际 上 是 一 个 简 单 的 二 维 表 这 32 个 字 节 的 各 字 节 偏 移 定 义 如 表 13 FAT32 短 文 件 目 录 项 32 个 字 节 的 表 示 定 义 字 节 偏 移 (Hex) 字 节 数 定 义 0x00~0x07 8 文 件 名 0x08~0x0A 3 扩 展 名 ( 读 写 ) ( 只 读 ) 属 ( 隐 藏 ) 性 0x0B* ( 系 统 ) 字 ( 卷 标 ) 节 ( 子 目 录 ) ( 归 档 ) 0x0C 1 系 统 保 留 0x0D 1 创 建 时 间 的 10 毫 秒 位 0x0E~0x0F 2 文 件 创 建 时 间 0x10~0x11 2 文 件 创 建 日 期 0x12~0x13 2 文 件 最 后 访 问 日 期 0x14~0x15 2 文 件 起 始 簇 号 的 高 16 位 0x16~0x17 2 文 件 的 最 近 修 改 时 间 0x18~0x19 2 文 件 的 最 近 修 改 日 期 0x1A~0x1B 2 文 件 起 始 簇 号 的 低 16 位 0x1C~0x1F 4 表 示 文 件 的 长 度 32
36 对 表 13 中 的 一 些 取 值 进 行 说 明 : (1). 对 于 短 文 件 名, 系 统 将 文 件 名 分 成 两 部 分 进 行 存 储, 即 主 文 件 名 + 扩 展 名 0x0~0x7 字 节 记 录 文 件 的 主 文 件 名,0x8~0xA 记 录 文 件 的 扩 展 名, 取 文 件 名 中 的 ASCII 码 值 不 记 录 主 文 件 名 与 扩 展 名 之 间 的., 主 文 件 名 不 足 8 个 字 符 以 空 白 符 (20H) 填 充, 扩 展 名 不 足 3 个 字 符 同 样 以 空 白 符 (20H) 填 充 0x0 偏 移 处 的 取 值 若 为 00H, 表 明 目 录 项 为 空 ; 若 为 E5H, 表 明 目 录 项 曾 被 使 用, 但 对 应 的 文 件 或 文 件 夹 已 被 删 除 ( 这 也 是 误 删 除 后 恢 复 的 理 论 依 据 ) 文 件 名 中 的 第 一 个 字 符 若 为. 或.. 表 示 这 个 簇 记 录 的 是 一 个 子 目 录 的 目 录 项. 代 表 当 前 目 录 ;.. 代 表 上 级 目 录 ( 和 我 们 在 dos 或 windows 中 的 使 用 意 思 是 一 样 的, 如 果 磁 盘 数 据 被 破 坏, 就 可 以 通 过 这 两 个 目 录 项 的 具 体 参 数 推 算 磁 盘 的 数 据 区 的 起 始 位 置, 猜 测 簇 的 大 小 等 等, 故 而 是 比 较 重 要 的 ) (2). 0xB 的 属 性 字 段 : 可 以 看 作 系 统 将 0xB 的 一 个 字 节 分 成 8 位, 用 其 中 的 一 位 代 表 某 种 属 性 的 有 或 无 这 样, 一 个 字 节 中 的 8 位 每 位 取 不 同 的 值 就 能 反 映 各 个 属 性 的 不 同 取 值 了 如 就 表 示 这 是 个 文 件, 属 性 是 只 读 系 统 该 字 段 的 用 途 在 长 文 件 名 的 表 示 中 还 会 用 到 (3). 0xE~0xF 和 0x16~0x17 中 的 时 间 = 小 时 *2048+ 分 钟 *32+ 秒 /2 得 出 的 结 果 换 算 成 16 进 制 填 入 即 可 也 就 是 :0x16 字 节 的 0~4 位 是 以 2 秒 为 单 位 的 量 值 ;0x16 字 节 的 5~7 位 和 0x17 字 节 的 0~2 位 是 分 钟 ;0x17 字 节 的 3~7 位 是 小 时 (4). 0x10~0x11 和 0x18~0x19 中 的 日 期 =( 年 份 -1980)*512+ 月 份 *32+ 日 得 出 的 结 果 换 算 成 16 进 制 填 入 即 可 也 就 是 :0x18 字 节 0~4 位 是 日 期 数 ;0x18 字 节 5~7 位 和 0x19 字 节 0 位 是 月 份 ; 0x19 字 节 的 1~7 位 为 年 号, 原 定 义 中 0~119 分 别 代 表 1980~2099, 目 前 高 版 本 的 Windows 允 许 取 0~127, 即 年 号 最 大 可 以 到 2107 年 (5). 由 于 FAT32 可 寻 址 的 簇 号 为 32bit 所 以 系 统 在 记 录 文 件 ( 文 件 夹 ) 开 始 簇 地 址 的 时 候 也 需 要 32 位 来 记 录,FAT32 启 用 目 录 项 偏 移 0x12~0x13 来 表 示 起 始 簇 号 的 高 16 位 偏 移 0x1A~0x1B 表 示 起 始 簇 的 低 16 位 以 上 介 绍 的 仅 仅 是 对 短 文 件 名 的 支 持, 最 多 只 支 持 8 个 字 符, 因 此 在 FAT32 中 规 定 长 文 件 名 依 然 记 录 在 目 录 项 中 为 了 低 版 本 的 OS 或 程 序 能 正 确 读 取 长 文 件 名 文 件, 系 统 自 动 为 所 有 长 文 件 名 文 件 创 建 了 一 个 对 应 的 短 文 件 名, 使 对 应 数 据 既 可 以 用 长 文 件 名 寻 址, 也 可 以 用 短 文 件 名 寻 址 不 支 持 长 文 件 名 的 OS 或 程 序 会 忽 略 它 认 为 不 合 法 的 长 文 件 名 字 段, 而 支 持 长 文 件 名 的 OS 或 程 序 则 会 以 长 文 件 名 为 显 式 项 来 记 录 和 编 辑, 并 隐 藏 起 短 文 件 名 当 创 建 一 个 长 文 件 名 文 件 时, 系 统 会 自 动 加 上 对 应 的 短 文 件 名, 其 一 般 有 的 原 则 : (1). 取 长 文 件 名 的 前 6 个 字 符 加 上 "~1" 形 成 短 文 件 名, 扩 展 名 不 变 (2). 如 果 已 存 在 这 个 文 件 名, 则 符 号 "~" 后 的 数 字 递 增, 直 到 5 (3). 如 果 文 件 名 中 "~" 后 面 的 数 字 达 到 5, 则 短 文 件 名 只 使 用 长 文 件 名 的 前 两 个 字 母 通 过 数 学 操 纵 长 文 件 名 的 剩 余 字 母 生 成 短 文 件 名 的 后 四 个 字 母, 然 后 加 后 缀 "~1" 直 到 最 后 长 文 件 名 的 实 现 有 赖 于 目 录 项 偏 移 为 0xB 的 属 性 字 节, 当 此 字 节 的 属 性 为 : 只 读 隐 藏 系 统 卷 标, 即 其 值 为 0FH 时, 操 作 系 统 会 认 为 该 目 录 项 正 在 为 一 个 长 文 件 名 服 务 系 统 将 长 33
37 文 件 名 以 13 个 字 符 为 单 位 进 行 切 割, 每 一 组 占 据 一 个 目 录 项 所 以 可 能 一 个 文 件 需 要 多 个 目 录 项, 这 时 长 文 件 名 的 各 个 目 录 项 按 倒 序 排 列 在 目 录 表 中, 以 防 与 其 他 文 件 名 混 淆 长 文 件 名 中 的 字 符 采 用 unicode 形 式 编 码, 每 个 字 符 占 据 2 字 节 的 空 间 其 目 录 项 定 义 如 表 15 表 14 FAT32 长 文 件 目 录 项 32 个 字 节 的 表 示 定 义 字 节 偏 移 (Hex) 字 节 数 定 义 7 保 留 未 用 属 6 1 表 示 长 文 件 最 后 一 个 目 录 项 性 5 保 留 未 用 字 4 0x00 1 节 3 位 意 义 顺 序 号 数 值 0x01~0x0A 10 长 文 件 名 unicode 码 1 0x0B 1 长 文 件 名 目 录 项 标 志, 取 值 0FH 0x0C 1 系 统 保 留 0x0D 1 校 验 值 ( 根 据 短 文 件 名 计 算 得 出 ) 0x0E~0x19 12 长 文 件 名 unicode 码 2 0x1A~0x1B 2 文 件 起 始 簇 号 ( 目 前 常 置 0) 0x1C~0x1F 4 长 文 件 名 unicode 码 3 系 统 在 存 储 长 文 件 名 时, 总 是 先 按 倒 序 填 充 长 文 件 名 目 录 项, 然 后 紧 跟 其 对 应 的 短 文 件 名 从 表 14 可 以 看 出, 长 文 件 名 中 并 不 存 储 对 应 文 件 的 文 件 开 始 簇 文 件 大 小 各 种 时 间 和 日 期 属 性 因 此 长 文 件 名 和 短 文 件 名 之 间 的 联 系 变 得 非 常 敏 感, 光 靠 他 们 之 间 的 位 置 关 系 维 系 显 然 远 远 不 够 其 实, 长 文 件 名 的 0xD 字 节 的 校 验 和 起 很 重 要 的 作 用, 此 校 验 和 是 用 短 文 件 名 的 11 个 字 符 通 过 一 种 运 算 方 式 来 得 到 的 8.2 数 据 区 中 目 录 簇 的 识 别 [26] 在 USB 的 读 写 过 程 中,USB 控 制 器 无 需 对 文 件 系 统 有 任 何 了 解, 在 对 文 件 的 处 理 过 程 中 所 需 要 的 操 作 全 部 由 PC 机 上 的 操 作 系 统 完 成, 将 需 要 读 写 的 数 据 读 出 或 写 到 Flash 中 而 USB 所 要 做 的 就 是 不 断 的 响 应 PC 的 请 求, 这 些 请 求 就 是 节 所 述 的 SCSI 的 读 写 命 令, 完 全 不 需 要 管 上 层 的 文 件 系 统 究 竟 在 做 什 么 工 作 因 此 在 这 种 条 件 下 就 需 要 以 来 与 前 一 小 节 的 分 析 来 提 供 依 据, 用 最 快 最 方 便 的 方 法 将 隐 藏 与 大 量 数 据 中 的 目 录 簇 识 别 出 来 从 与 可 知 通 过 对 数 据 的 过 滤 可 以 很 容 易 的 识 别 出 MBR DBR FAT1 FAT2 以 及 根 目 录, 在 地 址 超 过 跟 目 录 的 时 候, 如 果 该 组 数 据 是 目 录 簇, 那 么 不 加 密, 而 如 果 此 次 传 输 的 数 据 为 文 件 数 据 则 需 要 加 密 FAT32 是 以 簇 为 单 位 进 行 存 储 的 文 件 系 统 中, 当 前 簇 不 是 文 件 数 据 就 是 目 录 数 据, 所 以 只 需 要 对 每 个 簇 的 前 面 一 部 分 的 数 据 进 行 判 断 就 可 以 识 别 出 该 簇 的 真 正 身 份 文 件 数 据 的 组 织 形 式 取 决 于 该 文 件, 而 目 录 数 据 的 组 织 形 式 却 是 由 文 件 系 统 规 定, 因 此 既 然 有 规 定 了 目 录 数 据 的 34
38 格 式 标 准, 它 就 必 然 存 在 不 同 于 文 件 数 据 的 数 字 特 征 将 文 件 数 据 看 成 是 一 种 随 机 数, 那 么 识 别 目 录 簇 的 工 作 便 是 从 噪 声 中 对 有 用 信 号 的 检 测 通 过 的 分 析 可 以 发 现, 目 录 簇 存 在 着 这 样 几 个 特 征 : (1). 在 非 跟 目 录 的 簇 的 开 头, 如 果 该 簇 为 字 母 的 首 簇, 那 么 前 两 个 文 件 的 文 件 名 必 定 是. 和.., 他 们 分 别 代 表 当 前 目 录 和 上 级 目 录, 因 此 同 时 还 提 供 给 我 们 的 信 息 有 : 1) 每 个 目 录 项 的 文 件 的 长 度 一 定 为 0;2). 和.. 两 者 的 创 建 时 间 的 10 毫 秒 位 创 建 时 间 和 日 期 最 经 修 改 时 间 和 日 期 最 后 访 问 日 期 都 是 一 样 的 (2). 即 使 当 前 簇 不 是 目 录 簇 的 首 簇, 它 的 短 文 件 名 所 使 用 的 值 必 定 是 可 识 别 的 ASCII 码, 那 么 就 从 一 定 程 度 上 限 制 了 相 应 字 段 的 数 值 (3). 偏 移 为 0xB 的 属 性 字 节 的 最 高 两 个 BIT 是 0 (4). 时 间 格 式 特 征 表 示 小 时 的 5bit 的 区 间 为 [0,23], 表 示 分 钟 的 6 个 bit 的 取 值 区 间 为 [0,59], 同 样 表 示 秒 /2 的 5 个 bit 的 范 围 为 [0,29] 这 些 都 没 有 将 各 自 的 空 间 使 用 完 整 (5). 日 期 格 式 特 征 表 示 月 份 的 4bit 的 取 值 区 间 为 [1,12], 而 表 示 日 和 年 的 bit 利 用 价 值 不 是 很 大 (6). 长 文 件 名 的 特 征 1) 偏 移 为 0xD 的 字 节 的 校 验 值 应 该 同 它 的 短 文 件 名 相 对 应 ;2)0x0 的 属 性 字 节 的 低 4bit 表 示 的 顺 序 号 数 值 的 倒 叙 关 系 可 以 成 为 特 征 从 以 上 分 析 可 以 看 到 目 录 簇 存 在 很 多 特 征, 通 过 抓 住 这 些 特 征, 虽 然 不 能 100% 的 命 中 目 标, 但 至 少 可 以 保 证 在 对 合 法 的 FAT32 文 件 系 统 扫 描 时, 不 会 出 现 漏 检 的 现 象 但 是 在 实 现 上, 既 要 保 证 高 的 识 别 率, 又 要 保 证 不 影 响 数 据 传 输 的 速 度, 最 终 采 用 上 面 的 第 一 条 特 征, 保 证 高 速 的 识 别 但 是 如 果 文 件 夹 内 部 的 文 件 项 的 个 数 超 过 128 个, 即 子 目 录 的 出 现 了 跨 簇 的 现 象 时, 就 无 法 保 证 首 簇 后 的 文 件 的 正 确 显 示 了 虽 然 在 U 盘 中 出 现 某 个 子 文 件 夹 下 文 件 数 过 多 的 情 况 也 不 太 可 能, 但 是 如 果 能 够 将 上 述 的 大 多 数 特 征 都 用 上, 对 每 个 簇 的 前 几 项 做 一 个 合 适 的 运 算, 是 满 足 特 征 的 预 算 结 果 都 映 射 到 一 个 区 间, 那 么 就 可 以 很 清 晰 的 解 决 这 一 问 题 35
39 第 九 章 文 件 数 据 的 加 解 密 在 加 密 方 式 上, 采 用 AES 的 加 密 方 式, 不 只 是 因 为 它 的 安 全 性 能, 更 因 为 AES 是 一 种 很 好 的 分 析 加 密 算 法 但 是 在 加 密 模 式 上 一 直 存 在 一 定 的 问 题 普 通 的 ECB 模 式 因 为 它 的 一 一 对 应 容 易 受 到 水 印 攻 击 (watermarking attack), 而 CBC(Cipher Block Chain) 模 式 一 直 以 来 是 众 多 模 式 中 使 用 最 为 广 泛 的 加 密 模 式, 尽 管 在 某 些 方 面 还 存 在 一 些 不 足 综 合 考 虑 各 种 因 素,CBC 仍 然 具 有 多 方 面 的 优 越 性 9.1 AES 标 准 [16] 在 密 码 学 界,AES(Advanced Encryption Standard) 加 密 算 法 是 美 国 政 府 所 采 用 的 一 种 加 密 标 准, 是 世 界 上 最 流 行 的 对 称 加 密 算 法 之 一 它 具 有 三 种 不 同 的 分 组 加 密 形 式 :AES-128 AES-192 AES-256, 每 种 方 法 都 使 用 128-bit 分 组 长 度, 密 钥 长 度 可 以 分 别 为 和 256 比 特 该 加 密 算 法 的 安 全 性 能 已 经 得 到 世 界 范 围 内 的 认 可, 并 广 泛 应 用 简 单 的 将 AES 算 法 表 述 如 下 : 1. 使 用 称 之 为 Rijndael's key schedule 的 算 法 对 密 钥 进 行 扩 展 2. Initial Round a) 轮 密 钥 加 : 利 用 单 签 分 组 和 扩 展 密 钥 的 一 部 分 进 行 按 位 XOR 3. Rounds ( 对 于 128-bit 密 钥 需 要 进 行 9 轮,192-bit 需 要 11 轮,256-bit 密 钥 的 AES 需 要 13 轮 ) a) 字 节 代 换 : 用 一 个 S 盒 完 成 分 组 中 的 按 字 节 代 换 b) 行 移 位 : 行 置 换, 状 态 表 的 每 一 行 都 要 进 行 一 定 数 量 的 移 位 c) 列 混 淆 : 一 个 利 用 在 域 GF(28) 上 的 算 术 特 性 的 代 换 d) 轮 密 钥 加 : 利 用 单 签 分 组 和 扩 展 密 钥 的 一 部 分 进 行 按 位 XOR 4. Final Round ( 没 有 列 混 淆 ) a) 字 节 代 换 : 用 一 个 S 盒 完 成 分 组 中 的 按 字 节 代 换 b) 行 移 位 : 行 置 换, 状 态 表 的 每 一 行 都 要 进 行 一 定 数 量 的 移 位 c) 列 混 淆 : 一 个 利 用 在 域 GF(28) 上 的 算 术 特 性 的 代 换 9.2 CBC 加 密 模 式 [16] Decryption Encryption P i P i+1 C i C i+1 C i-1 XOR XOR Decryption Decryption Encryption Encryption C i-1 XOR XOR C i C i+1 图 25 CBC 加 解 密 模 式 P i P i+1 在 一 块 可 以 扇 区 寻 址 的 Flash 或 者 硬 盘 上, 通 常 一 个 扇 区 的 大 小 为 512Byte, 那 么 一 个 扇 区 36
40 所 需 要 的 AES 加 密 次 数 为 32 次 这 32 次 加 密 本 文 使 用 CBC 模 式 完 成,IV(Initiation Vector) 初 始 化 向 量 由 当 前 数 据 地 址 加 密 得 到 设 扇 区 的 地 址 为 n, 该 扇 区 中 的 第 i 个 (i 从 0 开 始 计 数 )128 位 明 文 记 为 P, P 经 过 AES 加 密 之 后 的 密 文 记 为 C, 密 钥 为 k n i n i n i C E( k,[ C P ]); i 0 n n n i i 1 i n C 1 IV ( n) E( k, n) 由 于 IV 的 生 成 涉 及 到 密 码 k 的 介 入, 所 以 IV 的 不 可 预 测 性 很 大 程 度 增 加 了 破 解 的 难 度 37
41 第 十 章 测 试 与 总 结 10.1 总 述 系 统 测 试 采 用 先 局 部 后 整 体 的 方 案, 首 先 将 各 个 模 块 (USB 数 据 传 输 模 块 AES 加 密 模 块 ) 在 分 离 的 情 况 下 单 独 测 试, 通 过 对 它 的 各 种 操 作 来 尽 可 能 多 的 暴 露 问 题, 并 一 一 解 决 最 后 再 将 其 整 合 起 来 进 行 总 体 测 试 对 于 软 件 测 试 完 全 依 靠 RS232 串 口 输 出 程 序 中 的 数 据 变 量, 然 后 通 过 计 算 机 上 的 分 析 除 了 串 口 工 具, 测 试 中 还 用 到 的 主 要 工 具 有 : (1). Bus Hound 5.0: 一 款 用 于 分 析 PC 上 IO 数 据 软 件, 能 够 对 多 种 协 议 的 数 据 包 进 行 截 取 解 析 并 保 存 这 些 数 据 代 表 了 在 PC 上 看 到 的 USB 数 据, 与 串 口 发 回 的 USB 数 据 对 比 可 以 找 到 程 序 的 漏 洞, 并 作 出 相 应 的 改 进 (2). USB-IF Test Suite:USB 开 发 者 论 坛 提 供 的 用 于 USB 标 准 测 试 的 软 件, 能 够 查 看 当 前 设 备 是 否 符 合 国 际 标 准 (3). HD Tach v : 用 来 对 USB 的 传 输 速 率 测 试, 它 会 对 U 盘 提 供 大 小 不 同 的 数 据 包, 分 别 计 算 他 们 的 传 输 速 率 (4). ATTO Disk Benchmark v2.34: 同 样 是 USB 测 速 软 件, 使 用 不 同 的 两 款 软 件 可 以 提 高 测 试 数 据 的 可 信 度 (5). WinHex 15.0 SR-2: 用 于 观 察 Flash 上 每 一 个 扇 区 的 数 据 变 化, 有 效 地 判 断 加 密 的 正 确 性 并 评 估 效 果 10.2 AES 加 密 函 数 验 证 性 测 试 因 为 AES 加 解 密 函 数 来 源 于 互 联 网, 难 免 会 有 疏 漏, 质 量 不 能 得 到 保 证 稍 作 修 改 后 应 当 对 齐 正 确 性 进 行 验 证, 通 过 权 威 机 构 发 布 的 测 试 向 量 对 齐 进 行 验 证 具 有 权 威 性 测 试 向 量 是 一 组 已 经 给 出 的 输 入 明 文 密 钥 和 输 出 密 文 的 集 合 以 下 数 据 来 源 于 NIST 发 布 的 联 邦 信 息 处 理 标 准 (FIPS PUBS) 197 例 如, 对 于 一 个 128-bit 的 密 钥 为 " A0B0C0D0F101112" 并 且 输 入 明 文 为 "506812A45F08C889B97F B8359" 128-bit 的 AES 加 密 过 后 的 正 确 输 出 应 当 为 "D8F EF7D06B506A4FD5BE9C9" 另 一 组 测 试 值 为 : 明 文 : 密 钥 : 密 文 : "4EC137A426DABF8AA0BEB8BC0C2B89D6" "95A8EE8E89979B9EFDCBC6EB D" "D9B65D1232BA0199CDBD487B2A1FD646" 38
42 若 使 用 上 以 测 试 向 量 的 明 文 作 为 密 文, 密 钥 不 变, 则 解 密 明 文 为 : "9570C B393503A001C0E23B65" 通 过 编 写 专 门 测 试 程 序, 串 口 输 出 测 试 结 果 显 示 AES 加 解 密 函 数 准 确 无 误 10.3 传 输 性 能 测 试 将 加 解 密 设 备 插 到 电 脑 USB 端 口, 再 将 U 盘 连 接 到 本 设 备 等 待 指 纹 输 入 完 成, 连 接 计 算 机, 显 示 U 盘 盘 符 可 以 开 始 数 据 传 输, 传 输 速 率 测 试 结 果 如 下 图 : 图 26 设 备 读 写 速 度 测 试 结 果 如 图 28 所 示 为 一 款 金 士 顿 U 盘 在 本 平 台 上, 通 过 专 业 测 试 软 件 ATTO Disk Benchmark 所 得 的 USB 传 输 速 率 通 过 对 测 试 结 果 的 观 察, 可 以 发 现 随 着 传 输 数 据 的 增 加, 读 写 速 度 都 会 有 很 大 的 提 高, 因 为 在 传 输 过 程 中 没 有 一 簇 的 数 据 会 自 动 补 全 一 簇 处 理, 在 加 上 其 余 的 传 输 控 制 使 得 在 传 输 小 的 文 件 数 据 时 所 得 的 读 写 速 度 偏 低 直 到 当 文 件 达 到 64K 左 右 时, 读 写 速 度 相 对 开 始 稳 定, 写 入 速 度 稳 定 在 230KB/s 左 右 ; 而 因 为 缓 存 的 使 用, 使 得 同 样 情 况 的 读 速 率 达 到 了 将 近 写 的 两 倍, 为 550KB/s 根 据 文 献 28 的 测 试,USB 全 速 设 备 的 传 输 速 度 理 论 上 最 高 只 能 达 到 1MB/s 左 右, 而 文 献 29 指 出 真 正 实 现 中 能 达 到 的 速 度 为 600KB/s~700KB/s 左 右, 因 此, 相 比 而 言 系 统 所 得 传 输 效 果 令 人 满 意 再 将 加 密 后 的 文 件 重 新 拷 贝 到 电 脑 上, 打 开 后 与 原 文 件 一 样, 本 设 备 加 解 密 运 算 在 系 统 中 运 行 正 确 将 加 密 后 的 U 盘 直 接 连 到 电 脑 上, 电 脑 无 法 读 写 U 盘 中 的 数 据 通 过 以 上 测 试, 作 品 完 全 能 够 正 确 完 成 加 解 密 运 算, 为 U 盘 提 供 可 靠 的 保 护, 完 全 实 现 了 预 期 目 标 39
43 第 十 一 章 结 束 语 11.1 论 文 总 结 通 过 不 断 的 调 试 与 改 进, 系 统 已 经 能 够 正 确 运 行, 并 且 得 到 了 让 人 满 意 的 效 果 通 过 该 系 统, 在 计 算 机 上 可 以 正 确 无 误 的 看 到 文 件 目 录, 在 读 取 文 件 数 据 时 只 有 存 入 该 数 据 时 使 用 的 指 纹 才 能 够 正 确 的 解 密 文 件, 否 则 看 到 的 只 能 是 无 法 解 开 的 乱 码 通 过 总 结, 本 文 完 成 了 以 下 工 作 : (1). 完 成 硬 件 电 路 板 的 制 作 技 术 和 调 试 (2). 移 植 USB 主 机 设 备 段 驱 动 程 序, 实 现 USB 主 从 设 备 间 的 数 据 透 明 传 输 (3). 支 持 对 普 通 U 盘 文 件 的 加 解 密, 文 件 名 称 可 见, 内 容 不 可 见, 方 便 文 件 管 理 (4). 与 指 纹 模 块 相 互 通 信, 获 取 指 纹 图 像 在 与 DSP 指 纹 模 块 相 互 连 接, 完 成 系 统 整 体 功 能 的 调 试 之 后, 加 解 密 设 备 的 实 物 图 如 图 27 所 示 从 上 之 下 四 种 不 同 类 型 的 虚 线 框 分 别 是 : 指 纹 采 集 传 感 器 DSP 指 纹 预 处 理 模 块 SPI 接 口 ARM 嵌 入 式 平 台 图 27 系 统 最 终 实 物 图 在 完 成 这 些 工 作 的 同 时, 努 力 提 高 USB 方 面 的 理 论 水 平, 学 习 了 OHCI 规 范 和 FAT32 文 件 系 统 的 标 准, 收 获 颇 深 通 过 代 码 的 改 进, 提 高 了 对 USB 存 储 器 的 兼 容 性 在 实 践 过 程 中, 有 如 下 创 新 : (1). 采 用 了 独 立 于 U 盘 与 计 算 机 的 设 计 思 想, 采 用 过 滤 USB 数 据 流 的 方 法 实 现 文 件 加 密 40
44 (2). 对 U 盘 中 的 每 一 个 文 件 进 行 加 解 密, 而 不 是 对 整 个 U 盘 加 解 密, 使 用 和 管 理 都 更 为 方 便 a) 提 出 了 FAT32 文 件 系 统 中 目 录 簇 的 识 别 方 法 及 未 来 的 扩 展 空 间 b) 构 造 了 数 据 缓 存 区, 使 文 件 传 输 更 快 (3). 提 出 了 一 种 更 快 更 有 利 于 保 护 硬 件 的 程 序 下 载 方 式 11.2 前 景 与 展 望 作 品 拥 有 广 阔 的 应 用 前 景, 能 为 私 人 企 业 政 府 等 机 构 提 供 便 捷 可 靠 的 U 盘 安 全 解 决 方 案 加 密 器 与 U 盘 相 分 离, 减 小 指 纹 信 息 泄 露 的 威 胁, 在 需 要 保 密 的 部 门 更 便 于 安 全 上 的 管 理, 因 此 将 大 受 欢 迎 41
45 致 谢 首 先 衷 心 感 谢 我 的 导 师 胡 爱 群 教 授! 胡 老 师 在 我 的 本 科 四 年 最 后 的 很 长 的 一 段 时 间 里 给 我 提 供 了 良 好 的 学 习 条 件 和 宽 松 的 研 究 氛 围, 在 实 验 室 里 同 样 可 以 感 觉 到 家 的 温 暖 在 跟 随 胡 老 师 的 这 段 时 间 里, 我 的 学 习 研 究 和 动 手 能 力 有 了 很 大 的 进 步, 不 仅 眼 界 得 到 了 开 阔, 而 且 看 问 题 的 角 度 也 变 得 更 加 全 面 科 学 胡 老 师 渊 博 的 学 识 治 学 严 谨 的 态 度 和 永 不 停 息 的 求 学 精 神, 给 我 很 大 的 启 迪 感 谢 宋 宇 波 老 师 和 秦 中 元 老 师, 在 课 题 研 究 最 困 难 的 时 候 给 予 了 我 继 续 的 信 心, 他 们 不 厌 其 烦 的 和 我 讨 论 交 流, 让 我 重 新 看 到 了 希 望 的 曙 光, 并 且 找 到 解 决 目 录 与 文 件 数 据 分 离 的 手 段 他 们 对 我 的 研 究 成 果 的 肯 定 在 精 神 上 深 深 的 激 励 我 更 加 努 力 的 学 习 和 奋 斗 感 谢 蒋 睿 老 师 在 项 目 前 期 对 我 的 指 导, 他 让 我 明 白 思 维 只 有 经 过 激 烈 的 碰 撞 才 能 长 生 绚 烂 的 光 彩 感 谢 Lakeview Research 的 Janet Louise Axelson 通 过 对 我 的 前 期 工 作 的 指 导, 和 他 的 技 术 网 站 上 提 供 的 丰 富 经 验 以 及 参 考 代 码 感 谢 OpenSSL Linux 开 源 社 区 的 程 序 爱 好 者 们 感 谢 实 验 室 的 金 制 和 周 青 学 长, 是 他 们 在 把 我 从 对 嵌 入 式 的 一 知 半 解 带 入 这 道 门 槛, 在 学 习 资 料 与 实 践 经 验 上 给 予 了 我 很 大 帮 助, 祝 他 们 在 以 后 的 工 作 中 一 帆 风 顺 感 谢 同 课 题 的 范 鹏 飞 刘 慧 慧 同 学, 感 谢 陈 开 志 博 士 和 郭 晓 乔 师 兄, 和 他 们 在 一 起 的 半 年 里 学 习 和 生 活 都 非 常 愉 快, 尤 其 是 讨 论 问 题 共 享 学 习 所 得 是 我 在 学 习 之 余 最 大 的 乐 趣 感 谢 顾 群 老 师 还 有 实 验 室 的 所 有 师 兄 师 姐, 大 家 一 起 为 信 息 安 全 研 究 中 心 营 造 了 良 好 的 学 习 研 究 环 境 感 谢 吴 健 雄 学 院 的 钟 辉 书 记 近 些 年 来 学 习 和 生 活 上 对 我 无 微 不 至 的 关 怀, 给 了 我 很 多 宝 贵 的 机 会, 使 我 视 野 更 开 阔, 对 自 己 信 心 更 加 坚 定 最 后, 感 谢 父 母 姐 姐 和 任 艳 的 关 心 和 支 持, 他 们 一 如 既 往 的 支 持 和 信 任 是 我 永 远 的 动 力 和 信 心 此 外, 在 本 科 四 年 期 间, 还 有 很 多 在 学 业 和 生 活 上 给 我 鼓 励 帮 助 的 老 师 和 同 学, 虽 然 不 能 一 一 列 举 出 他 们 的 名 字, 但 正 是 他 们 默 默 的 帮 助 和 支 持 给 了 我 很 多 美 好 的 回 忆 42
46 参 考 文 献 (Reference) [1] AxelsonJan. USB Mass Storage:Designing and programming Devices and Embedded Hosts[M]. Lakeview Research LLC [2] Compaq, Hewlett-Packard, Intel... Universal Serial Bus Specification[EB/OL] [3] Harlan Carvey, Cory Altheide. Tracking USB storage: Analysis of windows artifacts generated by USB storage devices[j]. Digital Investigation, 2005(2) [4] USB-IF. Universal Serial Bus Mass Storage Class-Bulk Only Transport[EB/OL]. USB Implementers Forum, [5] 匿 名. FAT 文 件 系 统 原 理 [EB/OL]. 数 据 恢 复 : [6] 牛 玲, 李 骞. 信 息 安 全 防 护 与 USB 安 全 控 制 技 术 [J]. 周 口 师 范 学 院 学 报, 2006,23(2) [7] 王 殊, 程 卓. 基 于 CH375 的 嵌 入 式 USB 文 件 加 解 密 系 统 的 设 计. 电 子 技 术 应 用, 2007(8) [8] Microsoft Corporation. Microsoft Extensible Firmware Initiative FAT32 File System Specification[EB/OL] [9] Curtis E Stevens, Mark Gianopulos. USB Communication Device Class Definition for Mass Storage Devices[EB/OL]. USB Implementers Forum [10] 王 梅, 林 君, 刘 俊 华. 一 种 基 于 嵌 入 式 USB-Host 的 大 容 量 数 据 存 储 方 案 及 应 用 [J]. 计 算 机 测 量 与 控 制 (4): [11] Stephen D Wolthusen. Windows device interface security[j]. Information Security Technical Report, 2006(11) [12] 张 井 刚, 刘 德 活. 在 嵌 入 式 系 统 中 提 高 U 盘 访 问 兼 容 性 的 几 种 措 施 [EB/OL] [13] frank_wang. 对 USB 协 议 层 的 深 层 分 析 [EB/OL] [14] frank_wang. USB 项 目 技 术 报 告 [EB/OL] [15] ATMEL Corporation. AT91Bootstrap[EB/OL] [16] William Stallings. Cryptography and Network Security: Principles and Practices [M]. Forth Edition. New Jersey: Pearson Education, [17] 赵 鹏, 蒋 烈 辉. AT91 系 列 微 处 理 器 启 动 过 程 的 分 析 与 实 现 [J]. 电 子 设 计 应 用, [18] 詹 荣 开. 嵌 入 式 系 统 Boot Loader 技 术 内 幕 [EB/OL]. Linux 爱 好 者, [19] INCITS. SCSI Primary Commands-3[EB/OL]. American National Standards Institute [20] ATMEL Corporation. AT91 ARM Thumb Microcontrollers: AT91SAM9260 Preliminary[EB/OL] [21] 深 圳 无 线 互 联 技 术. CA9260 核 心 板 用 户 手 册 [EB/OL] [22] Richard M. Stallman, Roland McGrath, Paul Smith. GNU Make[M]. Version 3.8. MA: Free Software Foundation, 2002 [23] ATMEL Corporation. SAM Boot Assistant(SAM-BA) User Guide[EB/OL] [24] SAMSUNG Electronics. 128M x 8 Bit NAND Flash Memory[EB/OL] [25] William Stallings. Computer organization and architecture[m]. Fifth Edition. New Jersey: Pearson Education, [26] 黄 步 根. 数 据 恢 复 与 计 算 机 取 证 [J]. 计 算 机 安 全,
47 [27] Richard M. Stallman. Using and Porting the GNU Compiler Collection[M]. MA: Free Software Foundation, 2001 [28] 旧 日 足 迹. 高 价 不 高 速, 走 出 USB2.0 接 口 速 度 规 格 误 区 [EB/OL] [29] shuiyan. USB 传 输 速 率 [EB/OL]
48 附 录 1 电 路 图 : 图 28 AT91SAM9260 底 板 电 路 原 理 图 45
Guide to Install SATA Hard Disks
SATA RAID 1. SATA. 2 1.1 SATA. 2 1.2 SATA 2 2. RAID (RAID 0 / RAID 1 / JBOD).. 4 2.1 RAID. 4 2.2 RAID 5 2.3 RAID 0 6 2.4 RAID 1.. 10 2.5 JBOD.. 16 3. Windows 2000 / Windows XP 20 1. SATA 1.1 SATA Serial
More informationUSB - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - DES Module FSM CONTROLLER 8 6 8 Key ROM 8 8 Data_in RAM Data_out RAM 8 USB Board - 8 - - 9 - - 10 - - 11 - - 12 - USB device INF Windows INF Device Function
More informationMicrosoft Word - 正文.doc
1 2 1 2 3 4 5 6 7 8 9 10 3 1 150 2 150 1 1 1.1 1.1.1 1.2 1.2.1 1.2.2 1.2.3 1.3 1.3.1 1.3.2 1.4 1.4.1 CPU 1.4.2 I/O 1.4.3 I/O 1.5 1.5.1 CISC RISC 1.5.2 1.5.3 1.6 1.6.1 1.6.2 N 1.6.3 2 2.1 2.1.1 2.1.2 2.1.3
More informationBus Hound 5
Bus Hound 5.0 ( 1.0) 21IC 2007 7 BusHound perisoft PC hound Bus Hound 6.0 5.0 5.0 Bus Hound, IDE SCSI USB 1394 DVD Windows9X,WindowsMe,NT4.0,2000,2003,XP XP IRP Html ZIP SCSI sense USB Bus Hound 1 Bus
More informationCh03_嵌入式作業系統建置_01
Chapter 3 CPU Motorola DragonBall ( Palm PDA) MIPS ( CPU) Hitachi SH (Sega DreamCast CPU) ARM StrongARM CPU CPU RISC (reduced instruction set computer ) CISC (complex instruction set computer ) DSP(digital
More information目 录
1 Quick51...1 1.1 SmartSOPC Quick51...1 1.2 Quick51...1 1.3 Quick51...2 2 Keil C51 Quick51...4 2.1 Keil C51...4 2.2 Keil C51...4 2.3 1 Keil C51...4 2.4 Flash Magic...9 2.5 ISP...9 2.6...10 2.7 Keil C51...12
More information2 USB 1.5Mb/s( )12Mb/s( ) 480Mb/s(USB 2.0 ) USB 1.2Mb/s 9.6Mb/s USB USB 1.1 USB 2002 2040 USB 1.3 USB USB USB USB USB MCU USB USB USB USB Cypress EZUS
1 USB 2002 12 frank ARM7 USB ARM7 MCU PDIUSBD12USB U USB U wxjbuaa@sohu.com 1.1 PC PC CPU Cetronix SCSI 10M RS232 USB IEEE1394 USB USB1.1 1.5Mbps 12Mbps 1394 100200400MbpsUSB2.0 480Mbps IEEE 1394 1394b
More informationICD ICD ICD ICD ICD
MPLAB ICD2 MPLAB ICD2 PIC MPLAB-IDE V6.0 ICD2 usb PC RS232 MPLAB IDE PC PC 2.0 5.5V LED EEDATA MPLAB ICD2 Microchip MPLAB-IDE v6.0 Windows 95/98 Windows NT Windows 2000 www.elc-mcu.com 1 ICD2...4 1.1 ICD2...4
More informationAbstract arm linux tool-chain root NET-Start! 2
Lab III - Embedding Linux 1 Abstract arm linux tool-chain root NET-Start! 2 Part 1.4 Step1. tool-chain 4 Step2. PATH 4 Part 2 kernel 5 Step1. 5 Step2... 6 Step3...8 Part 3 root. 8 Step1. 8 Step2. 8 Part
More informationK7VT2_QIG_v3
............ 1 2 3 4 5 [R] : Enter Raid setup utility 6 Press[A]keytocreateRAID RAID Type: JBOD RAID 0 RAID 1: 2 7 RAID 0 Auto Create Manual Create: 2 RAID 0 Block Size: 16K 32K
More informationIP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I
2004 5 IP TCP/IP PC OS µclinux MPEG4 Blackfin DSP MPEG4 IP UDP Winsock I/O DirectShow Filter DirectShow MPEG4 µclinux TCP/IP IP COM, DirectShow I Abstract The techniques of digital video processing, transferring
More informationUSB解决方案.ppt
USB USB? RS232 USB USB HID U modem ADSL cable modem IrDA Silabs USB CP210x USB UART USB RS-232 USB MCU 15 USB 12 FLASH MCU 3 USB MCU USB MCU C8051F32x 10 ADC 1.5%, Vref CPU 25MIPS 8051 16KB Flash -AMUX
More information(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor
1 4.1.1.1 (Load) 14 1.1 1 4.1.1.2 (Save) 14 1.1.1 1 4.1.2 (Buffer) 16 1.1.2 1 4.1.3 (Device) 16 1.1.3 1 4.1.3.1 (Select Device) 16 2 4.1.3.2 (Device Info) 16 2.1 2 4.1.3.3 (Adapter) 17 2.1.1 CD-ROM 2 4.1.4
More informationEK-STM32F
STMEVKIT-STM32F10xx8 软 件 开 发 入 门 指 南 目 录 1 EWARM 安 装... 1 1.1 第 一 步 : 在 线 注 册... 1 1.2 第 二 步 : 下 载 软 件... 2 1.3 第 三 步 : 安 装 EWARM... 3 2 基 于 STMEVKIT-STM32F10xx8 的 示 例 代 码 运 行... 6 2.1 GPIO Demo... 6 2.2
More informationSerial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10
Serial ATA ( Silicon Image SiI3114)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 5 (4) S A T A... 8 (5) S A T A... 10 Ác Åé å Serial ATA ( Silicon Image SiI3114) S A T A (1) SATA (2)
More informationP4i45GL_GV-R50-CN.p65
1 Main Advanced Security Power Boot Exit System Date System Time Floppy Drives IDE Devices BIOS Version Processor Type Processor Speed Cache Size Microcode Update Total Memory DDR1 DDR2 Dec 18 2003 Thu
More informationAL-M200 Series
NPD4754-00 TC ( ) Windows 7 1. [Start ( )] [Control Panel ()] [Network and Internet ( )] 2. [Network and Sharing Center ( )] 3. [Change adapter settings ( )] 4. 3 Windows XP 1. [Start ( )] [Control Panel
More informationsolutions guide
solutions guide Tridium 01 Table of Contents Tridium... 1 Frameworks... 4 Niagara AX Framework... 5 Sedona Framework... 6.... 7 NPM... 8 Sedona Chip... 9 AX Supervisor... 10 AX SoftJACE...11...12. JACE
More informationAL-MX200 Series
PostScript Level3 Compatible NPD4760-00 TC Seiko Epson Corporation Seiko Epson Corporation ( ) Seiko Epson Corporation Seiko Epson Corporation Epson Seiko Epson Corporation Apple Bonjour ColorSync Macintosh
More informationSST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS
SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD2 1...2 1.1...2 1.2...2 1.3 /...2 2 SoftICE...2 3 SoftICE MCU...2 4 SoftICE...3 4.1 SST BootLoader SOFTICE...3 4.2 SoftICE SST MCU...6 5 SoftICE...7
More information1.ai
HDMI camera ARTRAY CO,. LTD Introduction Thank you for purchasing the ARTCAM HDMI camera series. This manual shows the direction how to use the viewer software. Please refer other instructions or contact
More informationPTS7_Manual.PDF
User Manual Soliton Technologies CO., LTD www.soliton.com.tw - PCI V2.2. - PCI 32-bit / 33MHz * 2 - Zero Skew CLK Signal Generator. - (each Slot). -. - PCI. - Hot-Swap - DOS, Windows 98/2000/XP, Linux
More informationSPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi
SPHE8202R Design Guide V2.0 JUN, 2007 19, Innovation First Road Science Park Hsin-Chu Taiwan 300 R.O.C. Tel: 886-3-578-6005 Fax: 886-3-578-4418 Web: www.sunplus.com SPHE8202R Design Guide Important Notice
More informationJTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12
... 3... 3... 3... 3... 4 1JTAG ICE PC... 4 2JTAG ICE... 4 3... 4 4... 4 5JTAG... 5 6ISP... 5 IDE... 6 1 AVR STUDIO... 6 2 JTAGICE... 6 3JTAGICE... 12 4.... 16 5.... 17 6. JTAG ICE... 19 ISP... 20 1PonyProg2000...
More information第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與
程 式 編 写 語 言 在 完 成 這 章 後, 你 將 能 夠 了 解 程 式 編 写 語 言 的 功 能 了 解 高 階 語 言 和 低 階 語 言 之 間 的 分 別 知 道 翻 譯 程 式 的 意 義 和 能 夠 把 翻 譯 程 式 分 類 為 : 匯 編 程 式 編 譯 程 式 和 解 譯 程 式 認 識 不 同 翻 譯 程 式 的 優 點 和 缺 點 程 式 是 指 揮 電 腦 的 指
More informationOSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Prot
OSI OSI OSI 15% 20% OSI OSI ISO International Standard Organization 1984 OSI Open-data System Interface Reference Model OSI OSI OSI OSI ISO Prototype Protocol OSI OSI OSI OSI OSI O S I 2-1 Application
More information1 CPU
2000 Tel 82316285 82317634 Mail liuxd@buaa.edu.cn 1 CPU 2 CPU 7 72 A B 85 15 3 1/2 M301 2~17 : 3/4 1/2 323 IBM PC 1. 2. 3. 1. 2. 3. 1.1 Hardware Software 1.2 M3 M2 M1 1.2 M3 M1 M2 M2 M1 M1 M1 1.2 M3 M1
More informationARM JTAG实时仿真器安装使用指南
ARM JTAG Version 1.31 2003. 11. 12 ARM JTAG ARM JTAG.3 ARM 2.1.4 2.2.4 ARM JTAG 3.1 18 3.2 18 3.2.1 Multi-ICE Server.18 3.2.2 ADS..21 ARM JTAG 4.1 Multi-ICE Server 33 4.1.1 Multi-ICE Server..... 33 4.1.2
More information(Guangzhou) AIT Co, Ltd V 110V [ ]! 2
(Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn Xi III Zebra XI III 1 (Guangzhou) AIT Co, Ltd 020-84106666 020-84106688 http://wwwlenxcn 230V 110V [ ]! 2 (Guangzhou) AIT Co, Ltd 020-84106666
More informationSerial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Microsoft Win
Serial ATA ( Nvidia nforce430)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A... 11 (6) Microsoft Windows 2000... 14 Ác Åé å Serial ATA ( Nvidia nforce430)
More informationSerial ATA ( nvidia nforce4 Ultra/SLI)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A (6) Micro
Serial ATA ( nvidia nforce4 Ultra/SLI)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 9 (5) S A T A... 11 (6) Microsoft Windows 2000... 14 Ác Åé å Serial ATA ( nvidia
More informationWindows RTEMS 1 Danilliu MMI TCP/IP QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos eco
Windows RTEMS 1 Danilliu MMI TCP/IP 80486 QEMU i386 QEMU ARM POWERPC i386 IPC PC104 uc/os-ii uc/os MMI TCP/IP i386 PORT Linux ecos Linux ecos ecos ecos Email www.rtems.com RTEMS ecos RTEMS RTEMS Windows
More informationA Preliminary Implementation of Linux Kernel Virus and Process Hiding
邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的
More informationSymantec™ Sygate Enterprise Protection 防护代理安装使用指南
Symantec Sygate Enterprise Protection 防 护 代 理 安 装 使 用 指 南 5.1 版 版 权 信 息 Copyright 2005 Symantec Corporation. 2005 年 Symantec Corporation 版 权 所 有 All rights reserved. 保 留 所 有 权 利 Symantec Symantec 徽 标 Sygate
More informationuntitled
http://www.embedded-soc.com/ J-LINK J-Link Rev2.1 http://www.embedded-soc.com/ 2007-11-11 http://www.embedded-soc.com/ J-LINK J-Link ARM JTAG J-LINK J-LINKJLINK J-FLASH ARM F.A.Q jlink GDBserver J-Flash
More informationÁc Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP
Serial ATA ( Sil3132)...2 (1) SATA... 2 (2) B I O S S A T A... 3 (3) RAID BIOS RAID... 6 (4) S A T A... 10 (5) S A T A... 12 Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS
More informationP4Dual-915GL_BIOS_CN.p65
1 Main H/W Monitor Boot Security Exit System Overview System Time System Date Total Memory DIMM 1 DIMM 2 [ 14:00:09] [Wed 01/05/2005] BIOS Version : P4Dual-915GL BIOS P1.00 Processor Type : Intel (R) Pentium
More information<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63>
嵌 入 式 系 统 设 计 师 考 试 大 纲 一 考 试 说 明 1 考 试 要 求 : (1) 掌 握 科 学 基 础 知 识 ; (2) 掌 握 嵌 入 式 系 统 的 硬 件 软 件 知 识 ; (3) 掌 握 嵌 入 式 系 统 分 析 的 方 法 ; (4) 掌 握 嵌 入 式 系 统 设 计 与 开 发 的 方 法 及 步 骤 ; (5) 掌 握 嵌 入 式 系 统 实 施 的 方 法
More informationRAID RAID 0 RAID 1 RAID 5 RAID * ( -1)* ( /2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( )
RAID RAID 0 RAID 1 RAID 5 RAID 10 2 2 3 4 * (-1)* (/2)* No Yes Yes Yes A. B. BIOS SATA C. RAID BIOS RAID ( ) D. SATA RAID/AHCI ( ) SATA M.2 SSD ( ) ( ) ( ) Windows USB 1 SATA A. SATASATAIntel SATA (SATA3
More informationMicrosoft Word - A201004-1587.doc
1 基 于 μc/os-ii 的 嵌 入 式 电 子 潮 汐 预 报 仪 张 淑 娟, 李 海 森, 么 彬, 陈 宝 伟, 周 天 哈 尔 滨 工 程 大 学 水 声 技 术 国 防 科 技 重 点 实 验 室, 哈 尔 滨 (150001) E-mail: zhangshujuan@hrbeu.edu.cn 摘 要 : 本 文 涉 及 一 种 嵌 入 式 电 子 潮 汐 预 报 仪 的 开 发
More informationWindows 2000 Server for T100
2 1 Windows 95/98 Windows 2000 3.5 Windows NT Server 4.0 2 Windows DOS 3.5 T200 2002 RAID RAID RAID 5.1 Windows 2000 Server T200 2002 Windows 2000 Server Windows 2000 Server Windows 2000 Server 3.5 for
More informationARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplica
CP Chip Power ARM Cortex-M3 (STM32F) ARM Cortex-M3 (STM32F) STMicroelectronics ( ST) STM32F103 Core: ARM 32-bit Cortex -M3 CPU 72 MHz, 90 DMIPS with 1.25 DMIPS/MHz Single-cycle multiplication and hardware
More informationMicrosoft Word - MTK平台生产软件使用说明.doc
MTK 1. 1.1 SMT BSN 1.2 1 IMEI 2. 2 2.1 MTK Flash Flash NAND FlashMP3 1 SMT SOFT Flash 2 SOFT MKT USB-RS232 921600 8 2.2 COPY 2.3 USB PCUSB USB 8 USB USB USB-RS232 (USB ) RS232 PCRS232 8 4V2A 2.4 DA File
More informationuntitled
XILINX Platform Cbale USB www.hseda.com ...... Platform Cable USB Compatible.................. impact.........1 platform Cable USB Compatible.........1...1...1...1...1...1 Platform Cable USB Compatible
More information《计算机应用基础》学习材料(讲义)
计 算 机 应 用 基 础 学 习 材 料 ( 讲 义 ) Fundamentals of Computer Application 2014-3-22 JIANGSU OPEN UNIVERSITY 第 二 学 习 周 计 算 机 基 础 知 识 ( 一 ) 导 学 在 本 学 习 周, 我 们 主 要 的 任 务 是 认 识 计 算 机 你 将 知 道 计 算 机 是 什 么 时 候 产 生 的,
More information51 C 51 isp 10 C PCB C C C C KEIL
http://wwwispdowncom 51 C " + + " 51 AT89S51 In-System-Programming ISP 10 io 244 CPLD ATMEL PIC CPLD/FPGA ARM9 ISP http://wwwispdowncom/showoneproductasp?productid=15 51 C C C C C ispdown http://wwwispdowncom
More informationebook140-9
9 VPN VPN Novell BorderManager Windows NT PPTP V P N L A V P N V N P I n t e r n e t V P N 9.1 V P N Windows 98 Windows PPTP VPN Novell BorderManager T M I P s e c Wi n d o w s I n t e r n e t I S P I
More information2/80 2
2/80 2 3/80 3 DSP2400 is a high performance Digital Signal Processor (DSP) designed and developed by author s laboratory. It is designed for multimedia and wireless application. To develop application
More information775i65PE_BIOS_CN.p65
1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 14:00:09] [Wed 10/20/2004] BIOS Version : 775i65PE BIOS P1.00 Processor Type : Intel (R) CPU 3.20 GHz Processor Speed : 3200
More information1 Project New Project 1 2 Windows 1 3 N C test Windows uv2 KEIL uvision2 1 2 New Project Ateml AT89C AT89C51 3 KEIL Demo C C File
51 C 51 51 C C C C C C * 2003-3-30 pnzwzw@163.com C C C C KEIL uvision2 MCS51 PLM C VC++ 51 KEIL51 KEIL51 KEIL51 KEIL 2K DEMO C KEIL KEIL51 P 1 1 1 1-1 - 1 Project New Project 1 2 Windows 1 3 N C test
More information目次
軟 體 工 程 期 末 報 告 網 路 麻 將 91703014 資 科 三 黃 偉 嘉 91703024 資 科 三 丘 祐 瑋 91703030 資 科 三 江 致 廣 1 目 次 壹 前 言 (Preface) P.4 貳 計 畫 簡 述 及 預 期 效 益 (Project Description and Expected Results) P.4 參 系 統 開 發 需 求 (System
More informationCHN_p000A_Cover.ai
NextoDI Co., Ltd. www.nextodi.com 列表........................................................................ 1 3 4 4 6 7 8 9 10 12 14 16 20 01 02 03 04 1 2 3 5 6 4 XCopy Ready B Menu Menu Off Off 05 06
More informationTX-NR3030_BAS_Cs_ indd
TX-NR3030 http://www.onkyo.com/manual/txnr3030/adv/cs.html Cs 1 2 3 Speaker Cable 2 HDMI OUT HDMI IN HDMI OUT HDMI OUT HDMI OUT HDMI OUT 1 DIGITAL OPTICAL OUT AUDIO OUT TV 3 1 5 4 6 1 2 3 3 2 2 4 3 2 5
More information第4章 系统设置
POST 4.1 POST BIOS POST POST POST POST LOGO LOGO POST BIOS POST POST SCSI SCSI BIOS RAID POST RAID RAID RAID BIOS Operating System not Found BIOS T200 2002 BIOS 4.2 BIOS BIOS
More informationP4V88+_BIOS_CN.p65
1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Wed 12/22/2004] BIOS Version : P4V88+ BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor
More informationMicrosoft PowerPoint - ATF2015.ppt [相容模式]
Improving the Video Totalized Method of Stopwatch Calibration Samuel C.K. Ko, Aaron Y.K. Yan and Henry C.K. Ma The Government of Hong Kong Special Administrative Region (SCL) 31 Oct 2015 1 Contents Introduction
More information+01-10_M5A_C1955.p65
Notebook PC User s Manual C1955 1.01 2005 4 2 50 70 3 (0 30 ) (50 122 ) 4 pre-load Fn+F7 5 ...2...3...6 1-1...12...12...13...14...15...16...17 1-2...18 1-3...20...20...21...21...21...21...22...22...22...22...23...23
More informationP4VM800_BIOS_CN.p65
1 Main H/W Monitor Boot Security Exit System Overview System Time System Date [ 17:00:09] [Fri 02/25/2005] BIOS Version : P4VM800 BIOS P1.00 Processor Type : Intel (R) Pentium (R) 4 CPU 2.40 GHz Processor
More information一个开放源码的嵌入式仿真环境 ― SkyEye
SkyEye SkyEye http://hpclab.cs.tsinghua.edu.cn/~skyeye/ I hear and I forget, I see and I remember, I do and I understand. SkyEye SkyEye SkyEye SkyEye SkyEye 1. SkyEye PC pervasive computing PC I O PDA
More informationT
T10452 2015 5 Copyright ASUSTeK Computer Inc. All rights reserved. http://support.asus.com 0800-093-456 1 2 2 筆記型電腦使用手冊 使用手冊... 7 手冊... 8... 8... 8... 9 使用... 9...10...10 筆記型電腦...12...12...16...18...20...22
More informationebook140-8
8 Microsoft VPN Windows NT 4 V P N Windows 98 Client 7 Vintage Air V P N 7 Wi n d o w s NT V P N 7 VPN ( ) 7 Novell NetWare VPN 8.1 PPTP NT4 VPN Q 154091 M i c r o s o f t Windows NT RAS [ ] Windows NT4
More information相 关 知 识 1 计 算 机 工 作 原 理 1946 年 2 月, 世 界 上 第 一 台 电 子 计 算 机 ENIAC (Electronic Numerical Integrator And Computer, 电 子 数 字 积 分 计 算 机 ) 诞 生 于 美 国 宾 夕 法 尼 亚
第 二 章 认 识 我 的 计 算 机 从 办 公 打 字 到 电 脑 游 戏 从 信 息 检 索 到 手 机 娱 乐 从 社 交 网 络 到 电 子 商 务 从 电 影 大 片 到 航 天 飞 行, 到 处 都 有 计 算, 到 处 都 离 不 开 计 算 机 它 作 为 信 息 处 理 的 关 键 设 备, 已 成 为 现 代 社 会 人 们 生 产 与 生 活 的 基 本 工 具, 在 国 民
More informationVoIP Make a Rtp Call VoIP Abstract... 2 VoIP RTP...3 Socket IP...9 Config Two Voice-hub
VoIP... 2... 2 Abstract... 2... 3... 3 RTP...3 Socket...4...6...7 IP...9 Config Two Voice-hub... 10 1 12 VoIP VoIP voice-hub voice-hub Abstract At the beginning of this paper, we introducted the essential
More informationPCM-3386用户手册.doc
PCM-3386 BBPC-4x86 10/100M PC/104 (Lanry technology Co. Ltd. Zhuhai) 38 1012836 (Address: Room 1012,Linhai Building,No. 38,west of Shihua Road,Zhuhai City,Guangdong Province,China) (post code)519015 (phone)0756-3366659
More information典型自编教材
河 南 科 技 大 学 计 算 机 实 验 教 学 中 心 1. 计 算 机 文 化 基 础 实 验 指 导 书 2. 数 据 结 构 实 验 指 导 书 3. 操 作 系 统 实 验 指 导 书 4. 面 向 对 象 程 序 设 计 实 验 指 导 书 5. 数 据 库 原 理 实 验 指 导 书 6. 编 译 原 理 实 验 指 导 书 7. JAVA 程 序 设 计 实 验 指 导 书 8.
More informationCL-S10w
Data Management Software CL-S10w WindowsWindows XP Microsoft Windows XP Professional Operating System WindowsWindows 7 Microsoft Windows 7 Professional Operating System Excel Microsoft Excel MicrosoftWindowsWindows
More informationKL DSC DEMO 使用说明
:0755-82556825 83239613 : (0755)83239613 : http://www.kingbirdnet.com EMAIL Good989@163.com 1 1 KB3000 DTU... 3 1.1... 3 1.2... 3 1.3... 3 1.4... 3 2... 4 2.1 GSM/GPRS... 4 2.2... 4 2.3... 5 2.4... 6 2.5...
More information陕西职业技术学院(用标志)
计 算 机 应 用 技 术 专 业 人 才 培 养 方 案 (2015 级 ) 二 〇 一 五 年 八 月 目 录 第 一 部 分 主 体 部 分...1 一 专 业 名 称 及 代 码...1 二 招 生 对 象...1 三 学 制 与 学 历...1 四 培 养 目 标...1 五 职 业 岗 位...1 六 培 养 规 格...1 七 职 业 资 格 证 书 与 技 能 等 级 证 书 要 求...3
More informationIT (1) IDE... 2 (2) BIOS IDE RAID... 3 (3) RAID BIOS RAID... 5 (4) R A I D (5) ID E RA ID... 15
IT8212...2 (1) IDE... 2 (2) BIOS IDE RAID... 3 (3) RAID BIOS RAID... 5 (4) R A I D... 13 (5) ID E RA ID... 15 Ác Åé å IT8212 (1) IDE (2) BIOS IDE RAID (3) RAID BIOS RAID (4) RAID (5) RAID (a) ( )IDE (
More informationUser ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2
Terminal Mode No User User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2 Mon1 Cam-- Mon- Cam-- Prohibited M04 Mon1 Cam03 Mon1 Cam03
More informationDPJJX1.DOC
8051 111 2K 1 2 3 ' ' 1 CPU RAM ROM / A/D D/A PC CPU 40 68 10 20 8 51 PIII 8051 2 MCS51 8051 8031 89C51 8051 8031 89C51? MCS51 INTEL INTEL 8031 8051 8751 8032 8052 8752 8051 8051 8051 MCS51 8031 8031
More informationOutline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice
路 ESW 聯 USB Chapter 9 Applications For Windows Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice USB I/O USB / USB 3 料 2 1 3 路 USB / 列 料 料 料 LED
More informationCH01.indd
3D ios Android Windows 10 App Apple icloud Google Wi-Fi 4G 1 ( 3D ) 2 3 4 5 CPU / / 2 6 App UNIX OS X Windows Linux (ios Android Windows 8/8.1/10 BlackBerry OS) 7 ( ZigBee UWB) (IEEE 802.11/a/b/g/n/ad/ac
More informationuntitled
XZL024 http://item.taobao.com/item.htm?id=6321822194 1 1 1.1 1.2 1.3 1.4 2 2.1 2.2 2.3 3 USBee Suite 3.1 3.2 3.3 3.4 4 RS232 RS485 RS422 CAN http://item.taobao.com/item.htm?id=6321822194 2 1 XZL024 PC
More informationMicrosoft Word - PS2_linux_guide_cn.doc
Linux For $ONY PlayStatioin2 Unofficall General Guide Language: Simplified Chinese First Write By Beter Hans v0.1 Mail: hansb@citiz.net Version: 0.1 本 人 是 菜 鸟 + 小 白 欢 迎 指 正 错 误 之 处, 如 果 您 有 其 他 使 用 心 得
More information投影片 1
4 1 4-1 類 料, 兩 類 2 類 RAM (Random Access Memory, ) ROM (Read Only Memory, 讀 ) 兩, 類, 見 3 類 4 說 CPU, 料都, CPU 行 理 不 力 料, 料便, 料便, 料, CPU 料, 便 料, CPU 行 理 5 料 索 了 便 錄 讀 錄 度 量 量 6 (Virtual Memory) 數 Windows Linux
More informationOracle 4
Oracle 4 01 04 Oracle 07 Oracle Oracle Instance Oracle Instance Oracle Instance Oracle Database Oracle Database Instance Parameter File Pfile Instance Instance Instance Instance Oracle Instance System
More informationAN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING
AN INTRODUCTION TO PHYSICAL COMPUTING USING ARDUINO, GRASSHOPPER, AND FIREFLY (CHINESE EDITION ) INTERACTIVE PROTOTYPING 前言 - Andrew Payne 目录 1 2 Firefly Basics 3 COMPONENT TOOLBOX 目录 4 RESOURCES 致谢
More informationData Management Software CL-S10w
Data Management Software CL-S10w Windows Windows XP Microsoft Windows XP Professional Operating System Windows Windows 7 Microsoft Windows 7 Professional Operating System Windows Windows 8 Microsoft Windows
More informationT
T10362 2015 5 Copyright ASUSTeK Computer Inc. All rights reserved. http://support.asus.com 0800-093-456 1 2 2 筆記型電腦使用手冊 使用手冊... 7 手冊... 8... 8... 8... 9 使用... 9...10...10 Energy Star...11 筆記型電腦...14...14...18...20...22...24
More informationEclipse C C++, or
Eclipse C C++, Emailctchen@pl.csie.ntut.edu.tw or s1669021@ntut.edu.tw, s2598003@ntut.edu.tw http://pl.csie.ntut.edu.tw/~ctchen, http://www.ntut.edu.tw/~s2598003/ 2004/9/10 (0.02 ) Eclipse http://www.eclipse.org
More informationMICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi
MICROCHIP EVM Board : APP001 1-1. APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pin 16 I/O Extension Interface 1-2. APP001 Block_A Block_B
More informationDesktop Management Guide
Ĵ* 商 用 台 式 机 文 档 部 件 号 312947-AA1 2003 詤 3 本 指 南 介 绍 了 预 装 在 某 些 机 型 上 的 安 全 保 护 功 能 和 智 能 管 理 功 能 的 定 义 及 使 用 说 明 2002 Hewlett-Packard Company 2002 Hewlett-Packard Development Company, L.P. HP Hewlett
More informationMicrosoft Word - InoTouch Editor编程软件手册2012.2.10.doc
目 录 第 一 章 关 于 InoTouch Editor 编 程 软 件 的 安 装... - 6-1.1 InoTouch 系 列 HMI 和 InoTouch Editor 软 件 的 简 介... - 6-1.2 安 装 InoTouch Editor 编 程 软 件... - 10-1.3 系 统 连 接 图... - 12-1.4 InoTouch 系 列 人 机 界 面 的 系 统 设
More information全 国 高 等 职 业 教 育 规 划 教 材 21 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用
刘 瑞 新 金 牌 作 者 经 典 作 品 教 授, 计 算 机 专 业 资 深 学 科 带 头 人, 多 部 著 作 获 得 全 国 优 秀 畅 销 书 奖 他 所 编 写 的 教 材 内 容 均 来 自 教 学 实 践, 是 对 编 写 讲 义 教 学 修 改 教 学 讲 义 再 次 教 学 整 个 过 程 的 精 确 提 炼, 因 此 对 促 进 教 师 教 学 学 生 学 习 发 挥 了 重
More informationVIDEOJET connect 7000 VJC-7000-90 zh- CHS Operation Manual VIDEOJET connect 7000 zh-chs 3 目 录 1 浏 览 器 连 接 7 1.1 系 统 要 求 7 1.2 建 立 连 接 7 1.2.1 摄 像 机 中 的 密 码 保 护 7 1.3 受 保 护 的 网 络 7 2 系 统 概 述 8 2.1 实 况
More informationHighPoint产品的FAQ手册
一 引 言 首 先 承 蒙 贵 公 司 赐 顾, 使 用 HighPoint ( 简 称 HPT) 系 列 产 品 以 下 是 根 据 多 年 来 合 作 的 客 户 所 提 出 的 问 题 而 总 结 出 的 有 关 HighPoint 系 列 产 品 的 FAQ, 欢 迎 您 随 时 提 出 批 评 建 议 以 便 我 们 及 时 改 进 谢 谢! 二 HighPoint RAID 产 品 技
More information201406002+大学计算机基础B.doc
目 录. 大 学 计 算 机 基 础 B( 非 独 立 设 课 ).... 计 算 机 操 作 基 础 ( 独 立 设 课 )...3 3. 程 序 设 计 基 础 ( 非 独 立 设 课 )...5 4. 面 向 对 象 程 序 设 计 ( 非 独 立 设 课 )...8 5. 数 据 库 原 理 ( 非 独 立 设 课 )...0 6. 算 法 设 计 与 分 析 ( 非 独 立 设 课 )...
More information目录
ALTERA_CPLD... 3 11SY_03091... 3 12SY_03091...4....5 21 5 22...8 23..10 24..12 25..13..17 3 1EPM7128SLC.......17 3 2EPM7032SLC.......18 33HT46R47......19..20 41..20 42. 43..26..27 5151DEMO I/O...27 52A/D89C51...28
More informationMicrosoft Word - 100118002.htm
100 年 度 11800 電 腦 軟 體 應 用 乙 級 技 術 士 技 能 檢 定 學 科 測 試 試 題 本 試 卷 有 選 擇 題 80 題, 每 題 1.25 分, 皆 為 單 選 選 擇 題, 測 試 時 間 為 100 分 鐘, 請 在 答 案 卡 上 作 答, 答 錯 不 倒 扣 ; 未 作 答 者, 不 予 計 分 准 考 證 號 碼 : 姓 名 : 選 擇 題 : 1. (3)
More informationuntitled
DOP www.deltaww.com DOP (RS232/RS485/ RS422) DOP USB SD 30 100 PLC Best Performance Huma Beautiful Display Beneficial Feature 1 DOP LED 65536 2D n Machine Interface s 2 DOP-B DOP-B 4.3 inches Wide B03S211
More information声 明 Copyright 2010 杭 州 华 三 通 信 技 术 有 限 公 司 及 其 许 可 者 版 权 所 有, 保 留 一 切 权 利 未 经 本 公 司 书 面 许 可, 任 何 单 位 和 个 人 不 得 擅 自 摘 抄 复 制 本 书 内 容 的 部 分 或 全 部, 并 不 得
H3C E528&E552 以 太 网 交 换 机 安 装 手 册 杭 州 华 三 通 信 技 术 有 限 公 司 http://www.h3c.com.cn 资 料 版 本 :20100427-5W100 声 明 Copyright 2010 杭 州 华 三 通 信 技 术 有 限 公 司 及 其 许 可 者 版 权 所 有, 保 留 一 切 权 利 未 经 本 公 司 书 面 许 可, 任 何
More informationATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r X Y Z R0 R1 R2 R13 R14 R15 R16 R17 R26 R27 R28 R29 R30 R31 0x00 0x
115 AVR W.V. Awdrey ATMEL AVR PIC AVR PIC AVR RISC AVR PIC AVR AVR AVR AVR AVR ATtiny15 AVR AVR AVR RAM ROM 121 116 122 ATMEL AT90S8515 AVR CPU AVR AVR AVR ATMEL RISC 32 8 r0 r31 3 16 X Y Z 6-1 118 7 0
More informationXilinx Alliance Program Certified GJVZsIPb3 IPb3pg(lwE & by2eh;[d)y IP ROM
Xilinx Alliance Program Certified IPb3pg(lwE & by2eh;[d)y IP ROM NVMe SSD FPGA!! NVMe-IP 32G bps Gen3 x 4Lane IP CPUNVMe PCIe SSD 4GB/sec, PCIe Gen3 2ch RAID CPU FAT32 PLDAPCIe Soft IP!! Linux Gen3 PCIe
More informationSystem Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and se
8051 8051 System Design and Setup of a Robot to Pass over Steps Abstract In the research, one special type of robots that can pass over steps is designed and setup. This type of robot uses two kinds of
More information,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN TP36 CIP (2005) : ( 10 ) : : (010 ) : (010)
,,, PCB, AR M VxWorks DSP,,,,,,,,,,, (CIP) /,,.:,2005 ISBN 7-5635-1099-0...............TP36 CIP (2005)076733 : ( 10 ) :100876 : (010 )62282185 : (010)62283578 : publish@bupt.edu.cn : : : 787 mm960 mm 1/
More information高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月
高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 电 子 教 案 P1 2 978-7-111-27081-2 计 算 机 应 用 基 础 ( 第 2
More information投影片 1
類 Linux (, VBird) 2008/03/28 Linux 1 Linux man page / 流 例 2008/03/28 Linux 2 Linux 2008/03/28 Linux 3 Linux CPU RAM 路 2008/03/28 Linux 4 Linux Linux 2008/03/28 Linux 5 Linux (sector) 理 量 512bytes (cylinder)
More information