系统集成向来是一项复杂并且具有挑战性的工作。
复杂性在于,对系统资源的利用分析,带宽的占用,潜在的软件和硬件冲突……
希望这篇文章能帮助你避免一些常规的缺陷,从而建立一个高效而健壮的系统。
一 资源占用评估
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!
软硬件集成开发架构
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
上一篇:shell grep 并删除
下一篇:kafka三节点可以建7分区吗
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
java 如何获取上下文所有存在的bean
Spring Boot对于如何使用Spring构建应用程序有一个看法:例如它具有常规配置文件的常规位置,以及用于常见管理和监视任务的端点。Spring Cloud建立在此之上,并添加了一些可能系统中所有组件将使用或偶尔需要的功能。 一个Spring Cloud应用程序通过创建一个“引导”上下文来进行操作,这个上下文是主应用程序的父上下文。开箱即用,负责从外部源加载配置属性,还解密本地外部配置文件中
springcloud springBoot spring Spring Cloud Config Spring Cloud Securit