系统集成向来是一项复杂并且具有挑战性的工作。 
复杂性在于,对系统资源的利用分析,带宽的占用,潜在的软件和硬件冲突…… 
希望这篇文章能帮助你避免一些常规的缺陷,从而建立一个高效而健壮的系统。 

一 资源占用评估  
DSP是一个资源受到限制的系统,必须认真分析每个部件所消耗的资源, 
那么常规的资源分析就有内存占用,带宽占用,中断,DMA,集成系统就得详细 
了解每一部件。 
二 软件冲突和硬件冲突  
从软件方面来看: 
系统的集成必然涉及到中断管理,DMA管理,设备管理,加入新的部件就有可能需要 
给这些管理器更多的内存,同时集成之后就只需要一套初始化过程了,有必要删减掉多余的。 
从硬件方面来看: 
内部总线有一个最大吞吐率,比如总线是133MHZ的频率,32bit宽,那么最大吞吐率就是 
532Mbyte/s,不要被这个巨大的数字迷惑,实际的系统中,很多的因素会减小这个最大可用的吞吐率,比如 
读写切换,bank冲突,仲裁延迟,CPU和DMA冲突,等等。 
另外使用出错处理,比如Exception,HWERROR,能让你迅速定位硬件错误。 
三 系统优化  
先立后快,系统能够跑起来后,你会感到如释重负,系统优化就可以自由发挥了,无非是减少延迟, 
最大可能地并行流水,微程序流水,指令流水,模块流水,部件流水。每种DSP的帮助都会有大量的 
文档来讲系统优化的,照着文档做就行,能深入系统某个底层的程序员比较少,能站在系统的高度 
做全局优化的更少。 
四 DEBUG工具  
就象修车需要工具一样,好的程序员应该能够熟练运用各种软件工具。 
使用这些工具,你可以看到你的系统在干些什么,它又占用什么资源,它到底和哪些外界的东西打交道。 
让你郁闷好几天的问题可能通过某个工具就能轻松搞定,可惜你就是不知道。 
不要沉迷于重新编译,也不要依赖printf,赶快熟悉你所能使用的工具。下面列出了DSP程序员常用的 
debug工具如果说你都没接触过,那我要建议你赶快跳槽吧。 
.源码级调试器[Source-level Debugger] 
.简单实用的打印显示工具[printf] 
.ICE或JTAG调试器[In-circuit Emulator] 
.Data监视器[Data Monitor] 
.OS监视器[Operating System Monitor] 
.性能分析工具[Profiler] 
.内存测试工具[Memory Teseter] 
.运行跟踪器[Execution Tracer] 
.覆盖工具[Coverage Tester] 
.GUI测试工具[GUI Tester] 
.自制工具[Home-made tester] 
//----------------------- 
YANGHAIJIAN 2007.12.5 
all right reserved!