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

Size: px
Start display at page:

Download "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"

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

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 information

USB - 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 information

Microsoft Word - 正文.doc

Microsoft 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 information

Bus Hound 5

Bus 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 information

Ch03_嵌入式作業系統建置_01

Ch03_嵌入式作業系統建置_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 information

2 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

2 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 information

ICD ICD ICD ICD ICD

ICD 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 information

Abstract arm linux tool-chain root NET-Start! 2

Abstract 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 information

K7VT2_QIG_v3

K7VT2_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 information

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

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 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 information

USB解决方案.ppt

USB解决方案.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

(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 information

EK-STM32F

EK-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 information

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

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 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 information

P4i45GL_GV-R50-CN.p65

P4i45GL_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 information

AL-M200 Series

AL-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 information

solutions guide

solutions 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 information

AL-MX200 Series

AL-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 information

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

SST 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 information

1.ai

1.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 information

PTS7_Manual.PDF

PTS7_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 information

SPHE8202R Design Guide Important Notice SUNPLUS TECHNOLOGY CO. reserves the right to change this documentation without prior notice. Information provi

SPHE8202R 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 information

JTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12

JTAG 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 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與 程 式 編 写 語 言 在 完 成 這 章 後, 你 將 能 夠 了 解 程 式 編 写 語 言 的 功 能 了 解 高 階 語 言 和 低 階 語 言 之 間 的 分 別 知 道 翻 譯 程 式 的 意 義 和 能 夠 把 翻 譯 程 式 分 類 為 : 匯 編 程 式 編 譯 程 式 和 解 譯 程 式 認 識 不 同 翻 譯 程 式 的 優 點 和 缺 點 程 式 是 指 揮 電 腦 的 指

More information

OSI 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 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 information

1 CPU

1 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 information

ARM JTAG实时仿真器安装使用指南

ARM 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 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 information

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 (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 (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 information

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 (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 (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 information

Windows 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 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 information

A Preliminary Implementation of Linux Kernel Virus and Process Hiding

A Preliminary Implementation of Linux Kernel Virus and Process Hiding 邵 俊 儒 翁 健 吉 妍 年 月 日 学 号 学 号 学 号 摘 要 结 合 课 堂 知 识 我 们 设 计 了 一 个 内 核 病 毒 该 病 毒 同 时 具 有 木 马 的 自 动 性 的 隐 蔽 性 和 蠕 虫 的 感 染 能 力 该 病 毒 获 得 权 限 后 会 自 动 将 自 身 加 入 内 核 模 块 中 劫 持 的 系 统 调 用 并 通 过 简 单 的 方 法 实 现 自 身 的

More information

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南 Symantec Sygate Enterprise Protection 防 护 代 理 安 装 使 用 指 南 5.1 版 版 权 信 息 Copyright 2005 Symantec Corporation. 2005 年 Symantec Corporation 版 权 所 有 All rights reserved. 保 留 所 有 权 利 Symantec Symantec 徽 标 Sygate

More information

untitled

untitled 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

Á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 information

P4Dual-915GL_BIOS_CN.p65

P4Dual-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>

<4D6963726F736F667420576F7264202D20C7B6C8EBCABDCFB5CDB3C9E8BCC6CAA6BFBCCAD4B4F3B8D92E646F63> 嵌 入 式 系 统 设 计 师 考 试 大 纲 一 考 试 说 明 1 考 试 要 求 : (1) 掌 握 科 学 基 础 知 识 ; (2) 掌 握 嵌 入 式 系 统 的 硬 件 软 件 知 识 ; (3) 掌 握 嵌 入 式 系 统 分 析 的 方 法 ; (4) 掌 握 嵌 入 式 系 统 设 计 与 开 发 的 方 法 及 步 骤 ; (5) 掌 握 嵌 入 式 系 统 实 施 的 方 法

More information

RAID 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 * ( -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 information

Microsoft Word - A201004-1587.doc

Microsoft Word - A201004-1587.doc 1 基 于 μc/os-ii 的 嵌 入 式 电 子 潮 汐 预 报 仪 张 淑 娟, 李 海 森, 么 彬, 陈 宝 伟, 周 天 哈 尔 滨 工 程 大 学 水 声 技 术 国 防 科 技 重 点 实 验 室, 哈 尔 滨 (150001) E-mail: zhangshujuan@hrbeu.edu.cn 摘 要 : 本 文 涉 及 一 种 嵌 入 式 电 子 潮 汐 预 报 仪 的 开 发

More information

Windows 2000 Server for T100

Windows 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 information

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 multiplica

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 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 information

Microsoft Word - MTK平台生产软件使用说明.doc

Microsoft 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 information

untitled

untitled 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 information

51 C 51 isp 10 C PCB C C C C KEIL

51 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 information

ebook140-9

ebook140-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 information

2/80 2

2/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 information

775i65PE_BIOS_CN.p65

775i65PE_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 information

1 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

1 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 information

CHN_p000A_Cover.ai

CHN_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 information

TX-NR3030_BAS_Cs_ indd

TX-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章 系统设置

第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 information

P4V88+_BIOS_CN.p65

P4V88+_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 information

Microsoft PowerPoint - ATF2015.ppt [相容模式]

Microsoft 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

+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 information

P4VM800_BIOS_CN.p65

P4VM800_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 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 information

T

T 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 information

ebook140-8

ebook140-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, 电 子 数 字 积 分 计 算 机 ) 诞 生 于 美 国 宾 夕 法 尼 亚

相 关 知 识 1 计 算 机 工 作 原 理 1946 年 2 月, 世 界 上 第 一 台 电 子 计 算 机 ENIAC (Electronic Numerical Integrator And Computer, 电 子 数 字 积 分 计 算 机 ) 诞 生 于 美 国 宾 夕 法 尼 亚 第 二 章 认 识 我 的 计 算 机 从 办 公 打 字 到 电 脑 游 戏 从 信 息 检 索 到 手 机 娱 乐 从 社 交 网 络 到 电 子 商 务 从 电 影 大 片 到 航 天 飞 行, 到 处 都 有 计 算, 到 处 都 离 不 开 计 算 机 它 作 为 信 息 处 理 的 关 键 设 备, 已 成 为 现 代 社 会 人 们 生 产 与 生 活 的 基 本 工 具, 在 国 民

More information

VoIP Make a Rtp Call VoIP Abstract... 2 VoIP RTP...3 Socket IP...9 Config Two Voice-hub

VoIP 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 information

PCM-3386用户手册.doc

PCM-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 information

CL-S10w

CL-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 information

KL DSC DEMO 使用说明

KL 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 information

IT (1) IDE... 2 (2) BIOS IDE RAID... 3 (3) RAID BIOS RAID... 5 (4) R A I D (5) ID E RA ID... 15

IT (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 information

User ID 150 Password - User ID 150 Password Mon- Cam-- Invalid Terminal Mode No User Terminal Mode No User Mon- Cam-- 2

User 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 information

DPJJX1.DOC

DPJJX1.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 information

Outline USB Application Requirements Variable Definition Communications Code for VB Code for Keil C Practice

Outline 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 information

CH01.indd

CH01.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 information

untitled

untitled 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 information

Microsoft Word - PS2_linux_guide_cn.doc

Microsoft 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

投影片 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 information

Oracle 4

Oracle 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 information

AN 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 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 information

Data Management Software CL-S10w

Data 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 information

T

T 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 information

Eclipse C C++, or

Eclipse 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 information

MICROCHIP EVM Board : APP APP001 PICmicro Microchip APP001 40pin PDIP PICmicro Design Tips Character LCM Temperature Sensor Application I/O Pi

MICROCHIP 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 information

Desktop Management Guide

Desktop Management Guide Ĵ* 商 用 台 式 机 文 档 部 件 号 312947-AA1 2003 詤 3 本 指 南 介 绍 了 预 装 在 某 些 机 型 上 的 安 全 保 护 功 能 和 智 能 管 理 功 能 的 定 义 及 使 用 说 明 2002 Hewlett-Packard Company 2002 Hewlett-Packard Development Company, L.P. HP Hewlett

More information

Microsoft Word - InoTouch Editor编程软件手册2012.2.10.doc

Microsoft 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 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用

全 国 高 等 职 业 教 育 规 划 教 材 21 世 纪 高 职 高 专 规 划 教 材 系 列 高 等 职 业 教 育 计 算 机 专 业 规 划 教 材 选 题 征 集 通 知 一 选 题 范 围 ( 不 仅 限 于 此 ) 选 题 方 向 选 题 名 计 算 机 基 础 计 算 机 应 用 刘 瑞 新 金 牌 作 者 经 典 作 品 教 授, 计 算 机 专 业 资 深 学 科 带 头 人, 多 部 著 作 获 得 全 国 优 秀 畅 销 书 奖 他 所 编 写 的 教 材 内 容 均 来 自 教 学 实 践, 是 对 编 写 讲 义 教 学 修 改 教 学 讲 义 再 次 教 学 整 个 过 程 的 精 确 提 炼, 因 此 对 促 进 教 师 教 学 学 生 学 习 发 挥 了 重

More information

VIDEOJET 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 information

HighPoint产品的FAQ手册

HighPoint产品的FAQ手册 一 引 言 首 先 承 蒙 贵 公 司 赐 顾, 使 用 HighPoint ( 简 称 HPT) 系 列 产 品 以 下 是 根 据 多 年 来 合 作 的 客 户 所 提 出 的 问 题 而 总 结 出 的 有 关 HighPoint 系 列 产 品 的 FAQ, 欢 迎 您 随 时 提 出 批 评 建 议 以 便 我 们 及 时 改 进 谢 谢! 二 HighPoint RAID 产 品 技

More information

201406002+大学计算机基础B.doc

201406002+大学计算机基础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 information

Microsoft Word - 100118002.htm

Microsoft Word - 100118002.htm 100 年 度 11800 電 腦 軟 體 應 用 乙 級 技 術 士 技 能 檢 定 學 科 測 試 試 題 本 試 卷 有 選 擇 題 80 題, 每 題 1.25 分, 皆 為 單 選 選 擇 題, 測 試 時 間 為 100 分 鐘, 請 在 答 案 卡 上 作 答, 答 錯 不 倒 扣 ; 未 作 答 者, 不 予 計 分 准 考 證 號 碼 : 姓 名 : 選 擇 題 : 1. (3)

More information

untitled

untitled 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 杭 州 华 三 通 信 技 术 有 限 公 司 及 其 许 可 者 版 权 所 有, 保 留 一 切 权 利 未 经 本 公 司 书 面 许 可, 任 何 单 位 和 个 人 不 得 擅 自 摘 抄 复 制 本 书 内 容 的 部 分 或 全 部, 并 不 得

声 明 Copyright 2010 杭 州 华 三 通 信 技 术 有 限 公 司 及 其 许 可 者 版 权 所 有, 保 留 一 切 权 利 未 经 本 公 司 书 面 许 可, 任 何 单 位 和 个 人 不 得 擅 自 摘 抄 复 制 本 书 内 容 的 部 分 或 全 部, 并 不 得 H3C E528&E552 以 太 网 交 换 机 安 装 手 册 杭 州 华 三 通 信 技 术 有 限 公 司 http://www.h3c.com.cn 资 料 版 本 :20100427-5W100 声 明 Copyright 2010 杭 州 华 三 通 信 技 术 有 限 公 司 及 其 许 可 者 版 权 所 有, 保 留 一 切 权 利 未 经 本 公 司 书 面 许 可, 任 何

More information

ATMEL 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

ATMEL 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 information

Xilinx Alliance Program Certified GJVZsIPb3 IPb3pg(lwE & by2eh;[d)y IP ROM

Xilinx 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 information

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 se

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 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 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 月 高 职 计 算 机 类 优 秀 教 材 书 目 * 序 号 书 号 (ISBN) 书 名 作 者 定 价 出 版 / 印 刷 日 期 ** 配 套 资 源 页 码 计 算 机 基 础 课 1 978-7-111-30658-0 计 算 机 应 用 基 础 刘 升 贵 29.00 2012 年 8 月 电 子 教 案 P1 2 978-7-111-27081-2 计 算 机 应 用 基 础 ( 第 2

More information

投影片 1

投影片 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