以文本方式查看主题
-
曙海教育集团论坛
(http://sun4.cn/bbs/index.asp)
--
嵌入式硬件技术讨论专区
(http://sun4.cn/bbs/list.asp?boardid=15)
----
嵌入式软件开发人员,硬件常识
(http://sun4.cn/bbs/dispbbs.asp?boardid=15&id=1475)
-- 作者:wangxinxin
-- 发布时间:2010-11-19 9:05:21
-- 嵌入式软件开发人员,硬件常识
以下内容含脚本,或可能导致页面不正常的代码
<font face="宋体 ">底层的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%C7%FD%B6%AF">驱动</span>或内核开发人员通常要跟<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%D3%B2%BC%FE">硬件</span>紧密的配合</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">协同完成工作</font><font face="Times New="New" Roman="Roman" ">.</font><font face="宋体 ">硬件电路的设计很大程度上决定驱动代码的编写</font><font face="Times New="New" Roman="Roman" ">.</font><font face="宋体 ">一个熟练的底层开发人员具备硬件开发知识</font> <font face="Times New="New" Roman="Roman" ">.</font> <font face="Times New="New" Roman="Roman" "></font> <font face="宋体 ">硬件开发知识</font> <font face="Wingdings ">l </font><font face="宋体 ">大致清楚硬件的设计和生产流程</font><font face="Times New="New" Roman="Roman" ">.</font> <font face="Wingdings ">l </font><font face="宋体 ">清楚自已工作中常用的硬件器件的工作原理</font><font face="Times New="New" Roman="Roman" ">.</font> <font face="Wingdings ">l </font><font face="宋体 ">要有看懂硬件原理图的能力</font><font face="Times New="New" Roman="Roman" ">.</font><font face="宋体 ">主要涉及影响到编程的关键的连线和管脚的一定要看懂</font><font face="Times New="New" Roman="Roman" ">.</font> <font face="Wingdings ">l </font><font face="宋体 ">要看懂硬件</font><font face="Times New="New" Roman="Roman" ">(</font><font face="宋体 ">主要是能编程控制的集成电路</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">简称</font><font face="Times New="New" Roman="Roman" ">IC)</font><font face="宋体 ">的编程资料</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">一般是称为</font><font face="Times New="New" Roman="Roman" ">DataSheet</font><font face="宋体 ">的</font><font face="Times New="New" Roman="Roman" ">PDF</font><font face="宋体 ">文档</font><font face="Times New="New" Roman="Roman" ">.</font><font face="宋体 ">主要各个寄存器的<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%C9%E8%D6%C3">设置</span></font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">和常见任务的处理流程</font> <font face="Times New="New" Roman="Roman" "></font> <font face="宋体 "><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%C8%ED%BC%FE">软件</span>相关能力</font> <font face="Wingdings ">l </font><strong><font face="宋体 ">要知道如何用编程语言</font><font face="Times New="New" Roman="Roman" ">(</font></strong><strong><font face="宋体 ">主要是</font><font face="Times New="New" Roman="Roman" ">C,</font></strong><strong><font face="宋体 ">和少量的汇编</font><font face="Times New="New" Roman="Roman" ">)</font></strong><strong><font face="宋体 ">去控制硬件</font><font face="Times New="New" Roman="Roman" ">.</font></strong> <font face="Wingdings ">l </font><font face="宋体 ">还要熟悉底层软件与操作<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%CF%B5%CD%B3">系统</span>的接口</font><font face="Times New="New" Roman="Roman" ">.</font> <font face="Wingdings ">n </font><font face="宋体 ">象同一款硬件</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">原始的控制代码是基本上一样的</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">但是各个操作系统对驱动与</font><font face="Times New="New" Roman="Roman" ">OS</font><font face="宋体 ">的接口</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">完全不一样</font><font face="Times New="New" Roman="Roman" ">.Windows</font><font face="宋体 ">系列的驱动接口远比</font><font face="Times New="New" Roman="Roman" ">Linux</font><font face="宋体 ">复杂得多</font><font face="Times New="New" Roman="Roman" ">.</font><font face="宋体 ">各个操作系统也提供了不同底层函数接口用于开发</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">这些都需要熟练掌握的</font><font face="Times New="New" Roman="Roman" ">.</font> <font face="Wingdings ">l </font><font face="宋体 ">具有调试底层软件的能力</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">除了常用的软件调试手段</font><font face="Times New="New" Roman="Roman" ">,(</font><font face="宋体 ">如单步</font><font face="Times New="New" Roman="Roman" ">DEBUG,</font><font face="宋体 ">查看输出信息</font><font face="Times New="New" Roman="Roman" ">...)</font><font face="宋体 ">有时可能需要动用软件</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">和硬件检测设备来调试</font> <font face="Wingdings ">n </font><font face="宋体 ">如<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%CD%F8%C2%E7">网络</span>调试</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">可能需要抓包软件</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">基于硬件的流量测试仪</font> <font face="Wingdings ">n </font><font face="宋体 ">基于硬件的电路的仪器</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">如万用电表</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">显波器和逻辑分析仪</font> <font face="Wingdings ">n </font><font face="宋体 ">基于无线的设备</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">可能需要无线信号发生器或基站模拟设备</font> <font face="Times New="New" Roman="Roman" "></font> <font face="宋体 ">在底层软件开发领域</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">还有一些非标准</font><font face="Times New="New" Roman="Roman" ">CPU</font><font face="宋体 ">的分支开发领域</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">由于采用接近于</font><font face="Times New="New" Roman="Roman" ">CPU</font><font face="宋体 ">的复杂结构</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">因此必须用的编程语言去开发</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">但又不是普通的</font><font face="Times New="New" Roman="Roman" ">gcc</font><font face="宋体 ">那样的开发环境</font><font face="Times New="New" Roman="Roman" ">.</font><font face="宋体 ">而是自己独立的开发环境</font><font face="Times New="New" Roman="Roman" ">.</font><font face="宋体 ">很多嵌入式工程师需要常握其中一种<span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%B9%A4%BE%DF">工具</span></font> <font face="Wingdings ">l </font><font face="宋体 ">常用数据处理</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">如音频</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">加密</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 "><span class="t_tag" onclick="tagshow(event)" href="tag.php?name=%CA%D3%C6%B5">视频</span>影像处理的</font><font face="Times New="New" Roman="Roman" ">DSP,</font><font face="宋体 ">都会有自已独立的开发环境</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">有的是接近汇编级的语法代码</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">更高级是类似于</font><font face="Times New="New" Roman="Roman" ">C</font><font face="宋体 ">的编程语言</font><font face="Times New="New" Roman="Roman" ">.</font> <font face="Wingdings ">l </font><font face="宋体 ">在网络流量很大的地方</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">如核心路由器</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">大型的防火墙</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">网关</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">等</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">这一些设备有时用软件已经无法处理</font><font face="Times New="New" Roman="Roman" ">.</font><font face="宋体 ">往往采用基于网络处理器的的方案</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">网络处理器会在硬件直接处理网络包</font><font face="Times New="New" Roman="Roman" ">,</font><font face="宋体 ">这些网络处理器也有独立的开发环境用于</font> <font face="Wingdings ">l </font><font face="Times New="New" Roman="Roman" ">FPGA,CPLD (VHDL)</font>
说明:
上面显示的是代码内容。您可以先检查过代码没问题,或修改之后再运行.