嵌入式产品开发流程

我希望看到热心朋友的详细回答包括下面的问题,非常谢谢。
1、就是说在公司买回开发板之后,做软件的人该从什么地方做走? 是上层的应用软件还是底层的驱动? 因为搞硬件的同事的会重新画硬件板,估计选择的一些硬件配件会和开发板上面的不一样,不如flash、LCD之类的,那是不是得等搞硬件的把核心板搞好之后才能写驱动之类的呢?
2、另外是不是在产品开发的初期就要尽快确定硬件的配件,这样才能尽快完成驱动的开发?
3、我想清楚嵌入式的启动流程,我们的应用程序是打包在根文件系统中的还是放在根文件系统之后的应用程序中的,开发板选择启动linux后就直接启动了qte,我想知道的是 我们的应用程序该放到什么位置? 做成产品时,才能在开机时启动我们的应用程序,而不是qte本身的界面。另外就是bootload,开发板提供了bootload一般都有启动菜单,可以选择一些比如烧写程序之类的功能,到产品时,应该就直接启动我们的应用程序了,那是不是直接修改开发板的bootload使之直接进入我们的应用程序,我看过一些嵌入式产品的广告,感觉界面特漂亮,不是qte那么难看,我一直都想知道是怎么做出来的?我还在学校,因此嵌入式的开发的整体流程比较茫然,所以特想知道这些。谢谢。

  嵌入式硬件开发流程一般分为8 个阶段:
  嵌入式产品的硬件形态各异,CPU 从简单的4 位/8 位单片机到32 位的ARM 处理器,以及其他专用IC。另外,依据产品的不同需求,外围电路也各不相同。每一次硬件开发过程,都需要依据实际的需求,考虑多方面的因素,选择最合适的方案来。
  硬件阶段
  1:硬件产品需求 和普通的嵌入式产品需求一样。
  阶段1:
  产品需求。
  硬件阶段2:
  硬件总体设计方案
  一个硬件开发项目,它的需求可能来自很多方面,比如市场产品的需要或性能提升的要求等,因此,作为一个硬件设计人员,我们需要主动去了解各个方面的需求并分析,根据系统所要完成的功能,选择最合适的硬件方案。
  在这一阶段,我们需要分析整个系统设计的可行性,包括方案中主要器件的可采购性,产品开发投入,项目开发周期预计,开发风险评估等,并针对开发过程中可能遇到的问题,提前选择应对方案,保证硬件的顺利完成。
  硬件阶段3:
  硬件电路原理图设计
  在系统方案确定后,我们即可以开展相关的设计工作,原理设计主要包括系统总体设计和详细设计,最终产生详细的设计文档和硬件原理图。
  原理设计和PCB 设计是设计人员最主要的两个工作之一,在原理设计过程中,我们需要规划硬件内部资源,如系统存储空间,以及各个外围电路模块的实现。另外,对系统主要的外围电路,如电源、复位等也需要仔细的考虑,在一些高速设计或特殊应用场合,还需要考虑EMC/EMI 等。
  电源是保证硬件系统正常工作的基础,设计中要详细的分析:系统能够提供的电源输入;单板需要产生的电源输出;各个电源需要提供的电流大小;电源电路效率;各个电源能够允许的波动范围;整个电源系统需要的上电顺序等等。
  为了系统稳定可靠的工作,复位电路的设计也非常重要,如何保证系统不会在外界干扰的情况下异常复位,如何保证在系统运行异常的时候能够及时复位,以及如何合理的复位,才能保证系统完整的复位后,这些也都是我们在原理设计的时候需要考虑的。
  同样的,时钟电路的设计也是非常重要的一个方面,一个不好的时钟电路设计,可能会引起通信产品的数据丢包,产生大的EMI,甚至导致系统不稳定。
  编者按:原理图设计中要有“拿来主义”!现在的芯片厂家一般都可以提供参考设计的原理图,所以要尽量的借助这些资源,在充分理解参考设计的基础上,做一些自己的发挥。
  硬件阶段4:
  PCB图设计
  PCB 设计阶段,即是将原理图设计转化为实际的可加工的PCB 线路板,目前主流的PCB 设计软件有PADS,Candence 和Protel 几种。
  PCB 设计,尤其是高速PCB,需要考虑EMC/EMI,阻抗控制,信号质量等,对PCB 设计人员的要求比较高。为了验证设计的PCB 是否符合要求,有的还需要进行PCB 仿真。并依据仿真结果调整PCB 的布局布线,完成整个的设计。
  硬件阶段5:
  PCB加工文件制作与PCB打样
  PCB 绘制完成以后,在这一阶段,需要生成加工厂可识别的加工文件,即常说的光绘文件,将其交给加工厂打样PCB 空板。一般1~4 层板可以在一周内完成打样。
  硬件阶段6:
  硬件产品的焊接与调试
  在拿到加工厂打样会的 PCB 空板以后,接下来我们,需要检查PCB 空板是否和我们设计预期一样,是否存在明显的短路或断痕,检查通过后,则需要将前期采购的元器件和PCB 空板交由生产厂家进行焊接(如果PCB 电路不复杂,为了加快速度,也可以直接手工焊接元器件)。
  当PCB 已经焊接完成后,在调试PCB 之前,一定要先认真检查是否有可见的短路和管脚搭锡等故障,检查是否有元器件型号放置错误,第一脚放置错误,漏装配等问题,然后用万用表测量各个电源到地的电阻,以检查是否有短路,这样可以避免贸然上电后损坏单板。调试的过程中要有平和的心态,遇见问题是非常正常的,要做的就是多做比较和分析,逐步的排除可能的原因,直致最终调试成功。
  在硬件调试过程中,需要经常使用到的调试工具有万用表和示波器,逻辑分析仪等,用于测试和观察板内信号电压和信号质量,信号时序是否满足要求。
  硬件阶段7:
  硬件产品测试
  当硬件产品调试通过以后,需要对照产品产品的需求说明,一项一项进行测试,确认是否符合预期的要求,如果达不到要求,则需要对硬件产品进行调试和修改,直到符合产品需求文明(一般都以需求说明文档作为评判的一句,当然明显的需求说明错误除外)。
  硬件阶段8:
  硬件产品
  最终开发的硬件成功。一个完整的,完成符合产品需求的硬件产品还不能说明一个成功的产品开发过程,我们还需要按照预定计划,准时高质量的完成。才是一个成功的产品开发过程。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-28
1、确定目标平台(XPE/VxWorks/Linux等),如果有软件模拟器则下载安装。
2、确定并下载安装交叉编译器(VC++/G++/Keil等)
3、确定开发任务:任务内容,任务目标,任务时间,任务分工
4、确定嵌入式软件需求规格说明书
5、进行嵌入式软件初步设计和评审
6、进行嵌入式软件详细设计和评审
7、进行嵌入式软件编程和调试,提交软件编程调试报告
8、进行嵌入式软件模拟器测试(如果有模拟器),提交并评审报告
9、进行嵌入式软件在线测试,并提交评审报告
10、分别进行嵌入式系统小批量和大批量测试报告,并提交评审
11、提交嵌入式软件项目开发总结报告。

过程大体上分为一下六个步骤:
第一步:系统需求分析
第二步:体系结构设计
第三步:软,硬件协同设计
第四步:系统集成
第五步:系统测试
第六步:形成产品
最后补充:在设计的六个步骤的整个过程都要编写技术文档。这个很重要哟。