⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 162.htm

📁 pcb设计资料初学者难得的入门资料包含工厂制作过程
💻 HTM
📖 第 1 页 / 共 2 页
字号:
是 如 果 你 是 系 统 设 计 师, 你 必 须 把 软 件 的 实 时 性 和 硬 件 结 合 <br>

 起 来 考 虑。 首 先 考 虑 需 要 多 快 的CPU, 然 后 把 选 择 三 倍 化 的 结 <br>

 果; 因 为 在 实 际 中应 用 程 序 会 使 用 一 些cache( 缓 冲), 所 以 理 论 <br>

 上 速 度很 快 的CPU 的 实 际 速 度 会 降 低。 其 次 考 虑 选 择 多 快 的BUS <br>

( 总 线); 如 果 可 以 包 括 其 他 的 总 线, 比 如PCI, 就 加 上 它。 因 <br>



为 有 时 即 使 使 用DMA 方 式 传 输, 也 会 使 快 速CPU 变 得 象 蜗 牛 一 般 <br>

。 选 用 集 成 外 设 的CPU 比 较 好,而 且 还 可 选 用 现 成的 外 设 驱 动 程 <br>

 序 , 大 大 减 少 调 试 工 作, 实 际 上 有 些 芯 片 集 成 的 功 能 并 不 是 <br>

 我 们 所 需 要 的, 所 以 也 不 要 认 为 凡 是 集 成 的 都 是 好 东 西。 <br>

5. 压 缩 制 作 Linux 系 统 对Linux 的 通 常 感 觉 是 大, 似 乎 不 适 合 于 <br>

 嵌 入 式 系 统。 事 实 并 非 如 此。 因 为典 型 的 发 行Linux 集 成 了 很 多 <br>

 桌 面PC 机 需 要 而 嵌 入 式 系 统 并 不 需 要 的 功 能。 首 先 , 我 们 可 <br>

 以 把 核 心(kernel) 从 其 他 任 务 中 分 离 出 来。 标 准 的Linux 核 心 总 <br>

 是 贮 留 在 内 存 中 ; 当 需 要 应 用 程 序 时, 它 把 需 要 的 程 序 从 磁 <br>

 盘 调 入 内 存 运 行。 程 序 运 行 完 毕, 内 存 清 空, 卸 载 程 序。 在 嵌 <br>

 入 式 系 统 中 , 经 常 没 有 磁 盘 。 目 前 有 两 种 办 法 来 处 理 没 有 <br>

磁 盘 的 情 况。 对 于 比 较 简 单 的 系 统, 核 心(kernel) 和 应 用 程 序 <br>

 同 时 贮 留 在 内 存 , 当 系 统 启 动 时, 就 启 动 应 用 程 序。 这 种 方 <br>

 式 和 以 前 的 嵌 入 式 系 统 一 样 工 作。Linux 系 统 也 支 持 这 种 方 式 <br>

。 第 二 种 方 式 是, 考 虑 到Linux 有load ( 装 载)和unload( 卸 载) 程 <br>

序 的 能 力, 嵌 入 式 系 统 也 可 以 使 用 这 一 特 点, 来 节 约 内 存。 假 <br>

 如 有 一 个 典 型 的 嵌 入 式 系 统: 包 括8 到16 M 的Flash Memory 和8 到16 <br>

 M 的RAM ;可 以 在Flash Memory上 建 立 文 件 系 统, 使 用Flash 的 驱 动 程 <br>

 序 来 驱 动Flash Memory上 文 件 系 统 工 作。 另 外, 也 可 以 使 用Flash D <br>

idsk, 其 中 有 一 个 例 子 是M-system 的DiskOnChip, 它 可 以 支 持达160 M <br>

 的Flash Disk。 把 使 用 的 应 用 程 序 文 件 存 放 在Flash 文 件 系 统 上, <br>

 根 据 需 要 调 入 程 序。 这 种 动 态 装 入 方 法 有 很 多 优 点: (1) 因 <br>



 为 在Linux 中 有 一 些 应 用 程 序 只 是 在 初 始 化 时 使 用 一 次, 然 后 <br>

 就 没 有 用 处 了, 另 外 它 们 运 行 方 式 是 一 个 接 一 个, 顺 序 进 行 <br>

 的 。可 以 允 许 初 始 化 程 序 的代 码 在 使 用 完 毕 后 被 废 弃, 不 必 <br>

永 远 存 放 在 内 存。因 此 相 同 内 存 可 以 运 行 不 同 的 程 序。 这 样 很 <br>

 节 省 内 存 的。 (2) 软 件 更 新 比 较 容 易; 可 以 在 系 统 运 行 的 情 <br>

 况 下 更 新 应 用 程 序 和 驱 动 程 序。 <br>

6. 如 何 处 理 虚 拟 内 存 标 准 的Linux还 有 一 个 特 点 是 使 用 虚 拟 内 <br>

 存,程 序 过 大, 可 以 交 换 到 虚 拟 存 储 器 上。 这 是 一 个 神 奇 的 功 <br>

 能 , 它 使 得 程 序 有 很 大 的 运 行 空 间 。然 而 , 在 嵌 入 式 系 统 中 <br>

, 这 个 功 能 似 乎 没 有 用 武 之 地, 因 为 没 有 磁 盘。 这 个 功 能 对 <br>

于 嵌 入 式 系 统 , 特 别 要 求 实 时 性 很 强 的 系 统来 说 的 确 不 那 么 <br>

 重 要, 因 为 这 个 机 制 会 浪 花费 时 间, 所 以 , 嵌 入 式 系 统 的 应 <br>

用 程 序 还 是 在 固 定 的 地 方 运 行 比 较 好。 不 过 提 醒 你 重 注 意, <br>

考 虑 到 一 些CPU 有 这 方 面 的 特 点, 建 议 保 留 虚 拟 存 储 器 的 代 码 <br>

 。 不 仅 因 为 剔 除 这 部 分 代 码 很 费 事 , 如 果 剔 除 相 关 代 码 ,还 <br>

 容 易 造 成 其 他 问 题。 更 主 要 的 是 这 保 留 了 这 部 分 功 能, 能 够 <br>

 使 得 不 同 进 程 使 用 相 同 代 码 。 如 果 没 有 了 这 个 功 能, 每 个 程 <br>

 序 都 需 要 自 己 的 运 行 库, 在 内 存 中 就 会 有 库 的 很 多 拷 贝。 其 <br>

 实 只 需 把 交 换 空 间 的 长 度 设 置 为 零, 就 可 以 关 闭 虚 拟 内 存 的 <br>

 页 面 换 入 和 换 出 功 能。 对 一 些CPU, 虚 拟 存 储 器 的 功 能 提 供 内 <br>

 存 管 理, 防 止 不 同 程 序 占 用 相 同 的 地 址 空 间。 而 在 嵌 入 式 系 <br>

 统 中, 使 用 简 单 、 绝 对 的 地 址 空 间, 因 此 这 种 功 能 也 不 会 起 <br>



 作 用。 不 过 这 到 提 供 了 防 止 误 写 以 至 于 使 系 统 崩 溃 的 功 能。 <br>

 很 多 嵌 入 式 系 统 习 惯 使 用“ 全 局 变 量”, 让 进 程 共 享 数 据 。 <br>

在Linux 系 统 中 提 供 共 享 内 存 方 法 让 进 程 共 享 数 据 信 息。 在RT- <br>

Linux 中 使 用FIFO 进 行 信 息 交 换。 <br>

7. 处 理 文 件 系 统 很 多 嵌 入 式 系 统 没 有磁 盘 和文 件 系 统;Linux 也 <br>

 可 以 在没 有 磁 盘 的 系 统 上 运 行。 正 如 上 面 提 到 的, 应 用 程 序 <br>

可 以 和 核 心 一 起 编 译, 在 启 动 时 一 起 装 入 运 行。 这 适 应 于 简 <br>

单 系 统, 但不 具 有 灵 活 性。 其 实, 许 多 商 业 的 嵌 入 式 系 统 都 提 <br>

 供 文 件 系 统 的 选 择。 大 都 是 特 殊 的 文 件 系 统 或 者 兼 容MS-DOS <br>

文 件 系 统。Linux 提 供 包 括MS-DOS 等许 多 选 择。 其 他 的 文 件 系 统 具 <br>

 有 更 好 的 性 能。Linux 还 具 有 许 多 实 时商 业 操 作 系 统 所 不 具 备 <br>

的检 查 和 修 复 文 件 系 统 的 功 能。 这 种 功 能 对 于 通 过 网 络 更 新 <br>

的 系 统 尤 为 重 要。 Linux 的 文 件 系 统 可 以 建 立 在 传 统 的 磁 盘 上 <br>

、Flash Memory、 或 其 他 载 体。 甚 至 可 以 用 RAM 磁 盘 存 放 临 时 文 件 <br>

。 有 些 系 统 中 包 含 了 廉 价 的CD-ROM, 它 比Flash Memory 更 便 宜, 更 <br>

 新 升 级 更 容 易。Linux 系 统 可 以 从CD-ROM 中 启 动 以 及 运 行 程 序。 <br>

在 网 络 化 的 嵌 入 式 系 统 ,Linux 支 持NFS( 网 络 文 件 系 统)。 于 是 <br>

 , 你 可 以 使 用 很 多 网 络 功 能。 首 先, 可 以 通 过 网 络 来 启 动 应 <br>

 用 程 序。 因 为 通 过 服 务 器 来 启 动 应 用 程 序, 所 以 是 进 行 软 件 <br>

 更 新 的 最 好 解 决 办 法。 其 次, 在 运 行 过 程 中, 可 以 很 方 便 地 <br>

导 入 和 导 出 数 据、 状 态 设 置 和 状 态 信 息 等。 这 个 功 能 很 适 合 <br>

用 于 远 程 监 视 和 控 制 应 用 系 统。 例 如, 在RAM 中 建 立 磁 盘, 保 存 <br>



 各 种 需 要 的 重 要 数 据, 远 程 系 统 登 录 到 此RAM 文 件 系 统, 读 取 <br>

 数 据, 然 后 在 操 作 者 的 机 器 上 用 图 形 界 面显 示 运 行状 态, 起 到 <br>

 很 好 的 监 视 效 果。 <br>

8. 设 置 启 动-LILO 和BIOS 当 微 机 启 动 时, 它 运 行 预 定 地 址 的 代 <br>

码 ,那 地 址通 常 是 在 只 读 存 储 区, 存 放 有 启 动 代 码 。 在PC 中 , <br>

 即 BIOS, 它 执 行 底 层 的CPU 初 始 化 工 作 和 初 始 化 设 置 其 他 硬 件 <br>

。BIOS 确 认 哪 个 硬 盘 存 放 操 作 系 统, 拷 贝 操 作 系 统 到RAM 中, 然 <br>

 后 运 行 操 作 系 统。同 样,Linux 在PC 上 运 行, 依 靠PC 的BIOS 来 设 置 <br>

硬 件、 启 动OS。 在 嵌 入 式 系 统 中, 通 常 没 有BIOS, 因 此, 需 要 提 <br>

供 等 价 的 启 动 代 码。 嵌 入 式 系 统 并 不 需 要 象PC 那 样 灵 活 的BIOS <br>

 启 动 程 序, 它 初 始 化 的 硬 件 比 较 单 一。 这 段 代 码 其 实 很 简 单 <br>

, 只 是 把 一 些 很 重 要, 而 且 还 要 特 殊 的 写 入 顺 序 要 求 的 数 据 <br>

 写 入 硬 件 的 寄 存 器 。 另 外 必 须 具 备 的 功 能 有 内 存 检 测, 点 亮 <br>

LED, 检 测 其 他 很 重 要 的 硬 件。 这 些 代 码 的 针 对 性 很 强, 不 需 <br>

要 很 好 的 移 植 性。 所 以 不 同 的 硬 件 环 境 需 要 不 同 的 启 动 代 码 <br>

。 为 了 进 行 测 试, 可 以 使 用ICE( 在 线 仿 真 器) 或 其 他 的 设 备 来 <br>

 调 试 这 部 分 代 码 。 这 部 分 代 码 总 是 运 行 在Flash 或EPROM 等 芯 片 <br>

 上, 所 以, 需 要 把 它 们 写 入 这 些 芯 片。 如 何 写, 当 然 因 硬 件 的 <br>

 不 同 而 不 同 了。 一 个 最 为 普 通 的 方 法 是 使 用EPROM 或Flash 烧 录 <br>

器, 把 程 序 烧 录 在 芯 片, 然 后 把 芯 片 插 入 板 上。 另 外 的 方 法 是 <br>

 通 过JTAG 接 口 进 行。 <br>

9. 嵌 入 式 的 Linux 同 样 健 壮 可 靠 和其他的运行于PC的系统相比,Linux是最 <br>



可靠和最稳定的操作系统。而嵌入式的核心也是如此的。Linux的核心移植到新的微处理 <br>

器上,基本不用什么修改。因此Linux可以使用许多计算机板。外设的驱动程序也多如牛 <br>

毛,而且比其他的都稳定好用。但是,如果不是PC平台环境,那么你必需为特殊硬件编 <br>

写驱动程序。对于各种硬件的相似驱动程序市面上随处可见,所以,你可以DOWN下来修 <br>

改而成,所以安装新的或特殊 驱动器、网卡、串口、并口就不困难了。不过,我还是建 <br>

议你在身边放一本Kernel的书比较好,以备查找。 在我的经验中,我觉得使用Linux的 <br>

错误大都是对系统的了解不准确所至。况且,Linux的源代码随处可得、注释丰富、文档 <br>

齐全,你完全可能自己去解决问题。 <br>

10.结束语 嵌入式的Linux系统也有缺点。和某些商业操作系统一样,占用较大的内存 <br>

。当然可以去掉部分无用的功能来减小使用的内存,但是,如果不仔细,将引起新的问 <br>

题。 有些Linux的应用程序需要虚拟内存,而嵌入式系统中并没有或不需要虚拟内存, <br>

所以,并非所有的Linux应用程序可以在嵌入式系统运行。 核心的调试工具并非完尽人 <br>

意,虽然可以使用kgdb,不过我们更多的是使用print语句来帮助调试。 在应用于嵌入 <br>

式系统的主要问题是:Linux本身具有很大的灵活性,而嵌入式系统不具有灵活性,它们 <br>

主要针对特殊的问题。这是问题的关键。 总之,Linux用于开发嵌入式系统的应用软件 <br>

是可能的和可行的。 <br>

  <br>

-- <br>

  <br>

※ 来源:·BBS 水木清华站 smth.org·[FROM: 166.111.167.231] <br>

</small><hr>
<p align="center">[<a href="嵌入式系统.htm">回到开始</a>][<a href="143.htm">上一层</a>][<a href="163.htm">下一篇</a>]
<p align="center"><a href="http://cterm.163.net">欢迎访问Cterm主页</a></p>
</table>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -