




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、如何从零零开始开开发一款款嵌入式式产品(20年年的嵌入入式经验验分享学学习,来来自STTM322神舟系系列开发发板设计计师的总总结)首先,如如果你有有幸看到到这篇文文章,千千万不要要试图在在2个小小时内阅阅读完,就算你你2个小小时阅读读完,我我相信你你也不会会理解里里面讲解解的精华华之处,我相信信,你应应该将此此文章,慢慢品品尝,这这绝对是是一篇需需要品尝尝233天,再再结合自自己过往往的经验验,加上上自己的的思考,我相信信会对你你不仅仅仅是技术术能力,甚至包包括整体体的思维维方式都都会有一一个非常常大的提提高。 结结合这篇篇文章,再结合合STMM32神神舟系列列开发板板一些学学习,可可能会更
2、更加加深深对嵌入入式概念念的理解解。 我我写这篇篇文章的的目的,是用本本人200年的嵌嵌入式经经验呈现现给大家家一副完完整的产产品,项项目开发发蓝图,用本人人多年经经的历总总结了一一些教训训无私的的分享给给各位,希望各各位今后后能站在在本人的的肩膀之之上,少少走弯路路,多为为公司,为个人人多做贡贡献,那那我的愿愿望就达达到了,也同时时希望能能看到大大家反馈馈和回复复,留个个脚印,留下你你的见解解和智慧慧,为后后人乘凉凉打点基基础,先先在这谢谢谢各位位了。 那么么由此开开始我们们充满知知识的旅旅程吧,最重要要的一点点,就是是在一个个产品或或项目的的开发过过程中,如果没没有明确确的目标标,那么么成
3、功将将无从谈谈起,做做任何事事的第一一步必须须明确目目标。 与日常常生活中中的大多多数事务务一样,设计一一个嵌入入式产品品的过程程也必须须从确定定目标开开始,对对生产的的产品进进行明确确定义。对产品品进行定定义主要要是对产产品是什什么和能能有什么么功能进进行描述述,其次次是在我我们的整整个开发发过程中中,应该该要撰写写一些开开发文档档,大概概的框架架的如下下:1)产品品需求文文档:描描述产品品的特性性2)功能能需求文文档:描描述产品品必须具具备的功功能3)工程程说明文文档:描描述系统统实现的的方法和和满足需需求的手手段4)硬件件说明文文档:对对有关硬硬件进行行描述5)软件件或固件件说明文文档:
4、描描述特定定处理器器下设计计微程序序以及固固件的方方法6)测试试说明文文档:描描述必须须测试的的项目和和验证系系统正常常运行的的方法1.需求求定义需求定义义用来描描述产品品的基本本功能,对于公公司来说说,需求求一般由由该公司司的市场场销售部部门或该该公司的的主要客客户来制制定;而而对小公公司或爱爱好者(就像aarmjjishhu.ccom里里的爱好好者一样样),技技术人员员可以自自己负责责定义需需求,并并撰写成成文档;对于SSTM332神舟舟系列开开发板来来说,主主要就是是提供各各种接口口,为大大家开发发产品时时提供借借鉴!通常需求求定义是是围绕以以下几个个因素而而来:1)系统统的用途途(定义
5、义需要系系统实现现的各种种功能)2)实际际输入输输出是何何种方式式实现的的(为元元器件的的选型做做参考)3)系统统是否需需要操作作界面(涉及软软件层操操作系统统的选型型)其实对小小型的嵌嵌入式产产品来说说,定义义需求是是非常关关键的,因为需需求清楚楚了,就就可以避避免后续续开发过过程中出出现的诸诸如随机机存储器器(RAAM)容容量不足足或所选选的CPPU速度度不能满满足处理理的需要要等一系系列问题题。-下面举个个简单的的实际例例子,供供大家来来参考:系统描述述:用于于从化温温泉的水水泵换水水系统(用STTM322神舟IIII号号开发板板模拟实实现)电源输入入:使用用来自于于变压器器的9VV12
6、2V直流流电水泵功率率:3775W1)使用用单相交交流电机机,由机机械电气气进行控控制2)如果果温泉池池处于低低水位,则输入入开关闭闭合信号号,以禁禁止水泵泵继续运运行3)用户户可以自自由设置置水泵运运行或关关闭的时时间长度度4)除了了自动设设置控制制外,还还需要提提供一种种人工装装置来允允许维护护人员灵灵活控制制水泵进进行维修修5)水泵泵开启/关闭/人工干干预的时时间可以以30分分钟为单单位,在在30分分钟到223小时时的范围围内进行行调节6)显示示设备可可以指示示水泵的的开关状状态,剩剩余时间间,以及及水泵是是否处于于人工干干预模式式7)具备备监视低低水位的的功能,并显示示在屏幕幕上如果需
7、要要商用,那么除除了上面面给出的的功能要要求外,其设计计文档中中还要包包括电磁磁干扰(EMII)和电电磁兼容容性(EEMC)认证、安全认认证以及及使用环环境(包包括环境境温度、湿度、盐雾腐腐蚀等)等方面面的需求求。实际上,以上的的需求确确定之后后,接下下来就是是要考虑虑选择一一款合适适的CPPU来满满足和实实现系统统的功能能,那么么我们就就要将上上述7点点用户能能够理解解的需求求转化成成我们专专业领域域的需求求,转化化如下,大家可可以参考考一下:a.处理理或更新新输入输输出信号号的速率率究竟需需要多快快?解释:目目前嵌入入式处理理器的主主频一般般都在几几十兆到到几百兆兆不等,单片机机的主频频一
8、般是是几十兆兆,STTM322神舟系系列开发发板的CCPU都都是722MHZZ,有的的ARMM9,AARM111处理理器可以以到几百百兆;我我们主要要看这个个产品是是否需要要对大量量数据进进行处理理,或是是否需要要对缓冲冲区进行行频繁操操作,是是否有类类似的占占用CPPU资料料的工作作要做,这就决决定我们们要选择择一款合合适的处处理器来来让该产产品得到到最佳的的性能。b.是否否可使用用单片集集成电路路(专用用IC)或FPPGA来来完成数数据处理理?解释:如如果可以以的话,就不一一定要选选择处理理器来做做,用这这些专业业芯片就就能替代代c.系统统是否有有大量的的用户输输入输出出操作(如对开开关和
9、显显示设备备进行频频繁操作作)?解释:如如果有的的话,要要在处理理器选型型的时候候考虑这这些因素素,选择择一款能能够满足足以上要要求的CCPU.d.系统统与其他他外部设设备之间间需要使使用何种种接口?解释:这这也是需需要评估估处理器器的一个个关键问问题,选选择具备备这些接接口功能能的处理理器会方方便于我我们的电电路设计计以及软软件编程程e.设计计完成后后是否有有可能需需要进行行改动,或在设设计过程程中系统统需求是是否可能能出现变变化?我我们的设设计是否否能适应应系统需需求的变变化?解释:要要避免选选择的处处理器刚刚好满足足当前要要求,这这样当以以后事务务要求逐逐渐提高高,处理理器性能能如果还还
10、有一定定空间的的话,那那么就可可以重用用目前的的产品;第二个个就是要要选择不不会即将将停产的的芯片,很多处处理器用用得很广广乏,可可以借鉴鉴的资料料也很多多,但是是很可能能这款芯芯片已经经在市场场上流行行很长时时间了,芯片厂厂商已经经推出更更新换代代的替代代品了,如果你你选择了了这款芯芯片,很很可能11,2年年后就买买不到这这款处理理器芯片片了,导导致不得得不重新新选择新新的处理理器,重重新设计计产品,这样的的既耗费费时间,金钱,更消耗耗人力,延误市市场的战战机。2.处理理器的选选择2.1.需要使使用的II/O管管脚数量量多数处理理器都是是使用内内存和外外部管脚脚来控制制输入输输出设备备的,通
11、通常处理理器都会会有内置置ROMM和RAAM的,如果内内置的内内存就已已经满足足需要,那么处处理器就就可以节节省产生生引用外外部存储储器信号号的引脚脚,这样样处理器器可为输输入输出出提供较较多的设设备管脚脚(某些些处理器器支持外外部RAAM或RROM的的使用,但对外外部存储储器进行行访问时时,处理理器一般般需要占占用8条条到100条I/O管脚脚)。还有,有有些处理理器带有有专用的的内部定定时时钟钟,这类类时钟也也需要使使用一个个端口管管脚来实实现某些些定时功功能;某某些处理理器中还还具有漏漏极输出出和高电电流输出出能力,可以方方便的直直接驱动动继电器器或电磁磁铁线圈圈,而不不再需要要额外驱驱动
12、硬件件的支持持。当对处理理器I/O管脚脚进行计计数时,我们一一定要把把使用处处理器内内部功能能(如串串行接口口和定时时器等)时限制制使用的的某些管管脚考虑虑在内。2.2.需要使使用的接接口数量量嵌入式处处理器的的主要功功能是与与应用环环境中的的硬件进进行交互互操作,这不仅仅需要外外部硬件件对接口口具有实实时处理理能力,而且还还要求处处理器必必须以足足够快的的速度对对接口数数据进行行有效处处理。举例来说说,STTM322神舟系系列开发发板的CCPU是是ST公公司出品品的一款款工业级级微处理理器,它它基于CCORTTEX M3的的核心,处理主主频可达达72MMHZ,同时处处理器内内部配置置了USS
13、B、SSPI、IICC等接口口,像SSTM332神舟舟IV号号的1007处理理器还支支持Ettherrnett等输出出接口,其目的的是更方方便的利利用这些些接口开开发出嵌嵌入式产产品。需要注意意的是,由于许许多处理理器具有有的局限限性没有有在处理理器技术术资料中中给予足足够的说说明,因因此一定定要仔细细阅读处处理器的的指标说说明。例例如,在在阅读资资料的过过程中发发现,该该资料可可能会说说明其串串行接口口可以在在最高波波特率下下工作,但仔细细研究该该处理器器的指标标数据时时,可能能会发现现并非该该串口接接口的所所有操作作模式都都可以在在最大波波特率下下运行。深入了解解并明确确接口要要求的方方法
14、:可可以自己己动手编编写一些些程序来来对接口口进行实实际测试试,以确确认某种种处理器器是否可可以满足足应用的的要求;因为,确认某某个处理理器是否否可以满满足接口口要求并并非是一一件简单单的任务务。2.3.需要使使用的内内存容量量决定内存存容量的的大小是是嵌入式式产品设设计过程程中的一一个基本本步骤,如果对对所需内内存容量量估计过过高,那那么我们们就有可可能会选选择成本本较高的的解决方方案;反反之,如如果低估估了所需需内存容容量,就就有可能能因系统统需要重重新设计计而导致致项目不不能按时时完工。a.RAAM和RROM的的区别:存储器器分为随随机存储储器(RRAM)和只读读存储器器(ROOM)两两
15、种。其其中ROOM通常常用来固固化存储储一些生生产厂家家写入的的程序或或数据,用于启启动电脑脑和控制制电脑的的工作方方式。而而RAMM则用来来存取各各种动态态的输入入输出数数据、中中间计算算结果以以及与外外部存储储器交换换的数据据和暂存存数据。设备断断电后,RAMM中存储储的数据据就会丢丢失。b.随即即存储器器(RAAM)的的选择:RAMM容量的的预测是是比较直直观的,我们只只需把所所有变量量数目与与所有内内部缓冲冲区的容容量以及及先入先先出(FFIFOO)队列列长度和和堆栈长长度直接接相加,就能得得到所需需RAMM容量的的总数。如果所需需内存容容量超出出这类处处理器的的寻址范范围,那那么只能
16、能通过增增加外部部RAMM来满足足需求;然而,增加外外部RAAM的同同时将会会占用一一定数量量的I/O管脚脚来对扩扩展内存存进行寻寻址,这这种扩展展往往会会影响到到处理器器来实现现应用的的初衷。需要注意意的一个个问题是是,某些些微处理理器限制制RAMM的使用用,这种种限制的的目的是是为了借借用部分分内存存存储器作作为内部部寄存器器组使用用。除了了以上因因素外,所使用用的开发发语言也也对所需需RAMM容量有有一定的的影响,某些效效率较低低的编译译程序可可能会占占用大量量宝贵的的RAMM空间。c.只读读存储器器(ROOM)的的选择:系统所所需ROOM的大大小应该该是系统统程序代代码与所所有基于于R
17、OMM的数据据表容量量之和。预测所所需ROOM空间间容量比比较困难难的部分分是预测测程序代代码的长长度,解解决这类类问题的的方法只只能是随随着经验验的逐步步积累来来提高预预测精度度。然而,最最重要的的并不是是精确计计算程序序的代码码长度,而是要要清楚地地估算代代码长度度的上限限。根据据经验,如果880%的的ROMM空间被被代码占占用的话话,那么么就太拥拥挤了,除非能能确保系系统需求求不会有有任何变变化,否否则至少少要为可可能发生生的变化化保留足足够的备备用ROOM空间间。在多数情情况下,我们可可以试着着在ROOM中写写入一部部分程序序代码,以便观观察代码码占用空空间的情情况,对对于带有有内部R
18、ROM的的微处理理器系统统来说,系统程程序都只只能占用用有限的的程序存存储器空空间。d.经验验之谈:ROMM与RAAM使用用情况相相类似,程序代代码长度度与所选选用的开开发语言言有关。举例来来说,使使用汇编编语言编编制的程程序要比比使用CC语言编编制的程程序占用用少得多多的空间间。对于追求求低成本本的小型型系统来来说,一一般不提提倡使用用高级程程序设计计语言;这是因因为虽然然高级语语言在使使用、调调试以及及维护方方面来的的比较容容易,但但同时这这类语言言需要占占用更多多的内存存空间和和大量的的处理器器时钟周周期。如果开发发语言选选择不当当,其后后果可能能是把一一个简单单、低成成本的单单片机系系
19、统变为为一个需需要使用用配置若若干兆字字节RAAM空间间的644位嵌入入式处理理器系统统。2.4.需要使使用的中中断数量量中断的主主要用途途是向中中央处理理器通报报当前发发生的某某类特殊殊事件,这类事事件包括括诸如定定时器超超时事件件、硬件件引发的的事件等等。需要强调调的是,多数系系统设计计师经常常过多地地使用中中断功能能,实际际上,中中断的主主要作用用只是中中断现行行程序的的执行,中断最最适用于于必须要要求中央央处理器器立即提提供服务务的事件件。在需要设设计和使使用中断断的情况况下,一一定要首首先确认认实际需需要的中中断数量量,然后后必须考考虑到系系统内部部占用的的中断资资源,如如果需要要使
20、用的的中断资资源超出出了处理理器可以以接收的的中断数数量,我我们就应应借助于于某些特特殊手段段来减少少所需中中断信号号的数量量。2.5.实时处处理方面面的考虑虑实时处理理是一个个涉及范范围很广广的题目目,其主主要内容容与系统统的处理理速度有有密切联联系,实实时事件件是嵌入入式微处处理器需需要关注注的主要要任务。例如:处处理器跟跟串口进进行通信信时,通通常通过过上层软软件(为为了保证证实时性性,进行行任务切切换的时时间足够够短),然后再再占用处处理器去去执行从从串口拿拿数据的的任务,并且要要保证处处理器的的速率比比串口速速率快,那么处处理器可可以以最最快的速速度反应应并处理理串口的的相关的的任务
21、,这样就就可以达达到最大大的实时时性;另一方面面,如果果处理器器本身就就内置了了串口控控制器、或DMMA、或或LCDD的控制制器等,那么它它就可以以保证直直接使用用这些处处理器内内置的接接口去控控制串口口、液晶晶屏等对对象,以以达到最最大的实实时性能能。2.6.该厂商商是否提提供好的的开发工工具和环环境选择一款款新的处处理器,很可能能就要使使用一个个新的开开发工具具和开发发环境,包括软软件的编编译环境境等;对对于开发发日程安安排比较较紧张的的项目来来说,开开发人员员往往无无法抽出出专门的的时间来来研究,熟悉新新的开发发工具,从而也也无法全全面掌握握开发工工具的使使用技巧巧。并且,有有的开发发工
22、具价价格也比比较昂贵贵,而且且很可能能只能从从制造商商那里购购买,还还有仿真真工具也也是需要要付费的的,这些些对我们们在选择择一款处处理器的的时候,是都应应该考虑虑进去的的成本因因素。2.7.处理器器速度方方面的考考虑主要考虑虑几个细细节问题题:1)处理理器速度度与处理理器时钟钟之间的的关系例:单片片机80031为为例,由由该处理理器可以以适应112MHHz频率率的输入入时钟,因此就就可以认认为它是是一个速速度为112MHHz的处处理器了了吗?不不是,实实际上,由于该该处理器器内部逻逻辑电路路执行每每条指令令需要多多种不同同频率的的时钟脉脉冲,因因此该处处理器内内部时钟钟电路要要对输入入的12
23、2MHzz时钟112分频频处理;最终为为处理器器提供的的只是11MHzz主频。有的时候候,800MHzz主频的的处理器器(800MHzz输入时时钟,880MHHz执行行速度)要比2200MMHz主主频的处处理器(2000MHzz输入时时钟,550MHHz执行行速度)执行速速度要快快得多。2)处理理器指令令系统如果不需需要执行行复杂数数学运算算的应用用,那么么RISSC指令令集的处处理器要要快;如如果执行行比较复复杂的操操作,则则CISSC指令令集的处处理器速速度要更更快。3)芯片片结构体体系现在有的的芯片是是将多个个不同功功能的核核封装到到一个芯芯片ICC中,定定制某种种特定的的功能,比如DD
24、SP,其中包包括用于于实现数数字解码码、乘法法运算的的硬件乘乘法器和和移相器器等;然然而,这这类处理理器也由由其自身身局限,往往在在执行某某些普通通操作之之前必须须要使用用额外的的指令来来把RAAM中的的数据放放入内部部寄存器器,相比比之下,一般处处理器只只允许对对RAMM中的数数据进行行直接访访问。2.8.只读存存储器(ROMM)的选选择多数工程程项目在在其开发发阶段一一般使用用可擦写写可编程程只读存存储器(EPRROM)或快速速存储器器(Fllashh Meemorry);这类可可擦写可可重复写写入存储储器的主主要优点点是可多多次使用用。一旦旦产品研研制完毕毕,就可可以用一一次写入入设备(
25、OTPP)来取取代EPPROMM存储器器,一次次性写入入器件的的外观与与封装几几乎与EEPROOM完全全一样,惟一不不同之处处就是其其表面没没有擦出出窗口,并且价价格要比比EPRROM低低很多。但是,另另外一种种情况,如果该该产品今今后需要要升级固固件,或或在线编编程,那那么我们们还是应应该选择择可擦写写可编程程的存储储器。还有一种种是非易易失的存存储器,例如制制造一台台电视机机,就有有可能需需要该设设备具有有记忆上上次观看看最后一一个频道道的功能能,即使使在切断断电源后后,该频频道信息息也不会会丢失。总结:所所以,根根据不同同的产品品选择不不同的存存储器也也是一门门很讲究究的学问问。2.9.
26、电源的的要求在某些设设计中方方案中,电源根根本不存存在问题题,对电电源唯一一的要求求就是可可以为电电路正常常供电;实际上上,选择择电源主主要要考考虑三个个方面的的问题:1)要注注意设计计方案中中是否对对电源的的供电方方式有所所限制,例如,是否像像大多数数家用电电器那样样需要使使用屋内内墙上的的电源插插座供电电,或是是是使用用USBB接口供供电2)看系系统是否否需要使使用电池池供电方方式,如如果这样样,我们们就要考考虑选择择那种对对驱动电电流要求求不高的的处理器器,然后后再为其其选择合合适的电电池。3)休眠眠电流:许多微微处理器器都支持持低功率率运行模模式,在在这种模模式下,系统的的CPUU处理
27、器器将处于于休眠状状态,同同时所有有外部设设备的电电源供电电都被暂暂时切断断,以便便减少系系统的电电能消耗耗;某些些微处理理器在这这种方式式下需要要的维持持电流极极小,但但也有一一些微处处理器在在这种方方式下并并不能节节省多少少功率;不管怎怎样,我我们都要要对系统统在节点点模式下下的工作作时间有有一个估估测,以以便对具具体情况况选择使使用的电电池。总之,无无论哪种种情况,我们都都要对系系统需要要的供电电总功率率做到心心中有数数。2.100.设备备工作环环境的要要求环境要求求主要内内容是考考虑温度度,湿度度等;如如果系统统必须在在温度范范围较大大的环境境下运行行,诸如如用于军军事设备备或汽车车的
28、控制制系统,那么处处理器可可选择的的范围就就要小得得多;并且由于于大范围围温度变变化的设设备通常常比较昂昂贵,因因此在设设计过程程中就不不能再根根据一般般工业级级器件的的价格来来制定预预算。2.111.使用用周期成成本如果我们们的产品品是sttm322神舟开开发板,在一般般情况下下,可以以不必考考虑在用用户现场场对sttm322神舟开开发板程程序进行行修改的的问题,也不用用为是否否可以得得到设备备备件而而着急,这是因因为sttm322神舟开开发板是是一种学学习型的的消费产产品,仅仅仅只是是一款开开发板而而已。换句话说说,如果果我们的的产品是是价值几几万块的的工业设设备并且且需要常常年不断断地运
29、行行,那么么我们在在产品设设计过程程中就必必须从长长计议了了:a.首先先,我们们需要选选择一种种处理器器或存储储体系结结构都可可以升级级的器件件b.考虑虑到程序序升级的的可能,我们还还要选择择较大容容量的内内存c.最后后要注意意的则是是所选处处理器是是否可以以长期供供货,这这一点的的重要性性远远大大于处理理器的价价格除了上面面的考虑虑之外,使用周周期成本本也是在在设计之之初要考考虑的因因素。总总的来说说,生产产的部件件越多,则可以以接受的的前期开开发成本本也就越越大。如如果产品品是mpp3,我我们可能能会选择择一个低低价微处处理器,同时投投入一大大笔钱来来开发控控制mpp3的软软件。但如果我我
30、们的产产品是价价格昂贵贵的工业业用设备备,那么么在产品品的使用用期内,该设备备的销售售量将只只有几百百台,毫毫无疑问问,开发发这种产产品最重重要的就就是降低低开发成成本(降降低开发发成本而而不是硬硬件成本本!);除除此之外外,工业业产品的的成本也也不像家家用电器器或消费费电子产产品那么么敏感。综上所所述,开开发工业业产品当当然要选选择一种种便于进进行开发发并且有有助于缩缩短开发发过程的的处理器器。2.122.处理理器相关关资料是是否丰富富如果该款款处理器器在市场场上已经经用得很很广了,那么我我们可以以获取更更多的相相关资料料,观察察人家的的产品是是如何使使用处理理器的,也能在在网络上上找到不不
31、少的相相关的设设计资料料以及相相关技术术主题,这样就就进一步步降低了了技术门门槛,确确保了使使用该处处理器做做产品可可行性,减低了了风险;例如SSTM332神舟舟IV号号开发板板就有针针对该板板子有个个7000多页的的手册文文档,如如果我们们选择SSTM332芯片片来开发发产品的的话,借借助详细细资料开开发起来来就轻松松了,达达到事半半功倍的的效果。反之,如如果是厂厂商全新新推出的的处理器器,因为为市场上上还没有有可以借借鉴的产产品,我我们就只只能从全全英文的的芯片手手册开始始阅读,了解这这款芯片片,这样样开发周周期不仅仅变长,而且不不可预知知的风险险也很大大。3.开发发成本的的预测和和估计大
32、多数项项目或产产品都有有专人负负责预测测整个过过程的开开发成本本,对于于任何项项目来说说,其开开发成本本主要包包括人力力和材料料开销。预测开发发成本在在很大程程度上需需要根据据经验,这也是是为什么么大型公公司一般般指定有有经验的的高级工工程师来来完成这这一任务务的原因因,除了了人力和和材料的的开销之之外,总总结下来来,还有有以下的的开销:1)人力力成本(开发人人员、管管理人员员、销售售人员、其他行行政等辅辅助人员员)的开开销2)材料料(硬件件物料和和损耗,有时候候需要投投几次PPCB版版才把产产品稳定定下来)的开销销3)开发发系统和和开发工工具软件件的开销销4)硬件件工具的的开销(例如示示波器
33、、仿真器器等)对于整个个项目来来说,上上述的开开销将直直接可能能导致产产品成本本增加,其中人人力成本本最为关关键,尤尤其是在在中国,呵呵4.产品品开发设设计文档档(需要要包括硬硬件和软软件两个个方面)4.1 硬件文文档撰写写思路1)首先先是需求求定义或或产品规规格:如果这些些是产品品最终目目标的话话,那么么产品对对硬件和和软件的的要求就就是技术术方案的的最终目目标;对对硬件和和软件的的要求是是从定义义用户界界面和系系统功能能开始的的。2)其次次,根据据需求,系统整整体定义义文档中中给出硬硬件接口口的具体体定义:定义硬件件最有效效的方法法是从需需求开始始描述,由于硬硬件必须须支持系系统定义义的所
34、有有功能,因此硬硬件定义义是与系系统说明明不可分分割的;例如,我我们设计计一个定定时器(事先需需求说明明定时器器不能与与个人电电脑连接接,故无无法使用用CRTT显示时时间),我们只只有两种种选择:一种是是使用发发光二极极管(LLED),另一一种是使使用液晶晶显示器器件(LLCD);尽管管LCDD的显示示效果比比较好,但考虑虑到定时时器要常常年位于于户外,并且早早期LCCD显示示器不能能在低温温下工作作,最终终还是选选择LEED设备备(这整整个过程程描述了了我们硬硬件选型型时的一一个思路路,这个个是密切切跟需求求挂钩的的)3)一旦旦完成了了系统整整体说明明文档,就开始始进行系系统设计计:首先要对
35、对硬件说说明的内内容进行行细化,包括添添加能让让工程师师理解的的设计意意图,以以及软件件工程师师围绕硬硬件进行行程序设设计时需需要使用用的硬件件信息等等。完成硬件件电路板板说明文文档后,我们还还要在该该文档中中增加一一个用来来描述系系统的原原始要求求的前言言部分,包括说说明方案案的设计计思路和和方法,除此之之外,还还要附上上软件工工程师用用来对硬硬件进行行控制所所需的各各类信息息,这类类信息主主要包括括如下内内容(软软件工程程所需信信息):-内存存和I/O端口口地址(如果需需要,还还可以提提供内存存映射图图)-可用用内存容容量-状态态寄存器器每一位位的定义义-每个个端口管管脚的用用途-外部部设
36、备的的驱动方方法(例例如,说说明输入入定时器器电路的的时钟频频率等)-其他他有管软软件人员员设计程程序需要要了解的的信息对于比较较复杂的的系统来来说,硬硬件文档档中经常常使用两两个独立立的部分分来进行行说明;其第一一部分用用来描述述硬件指指标和工工作原理理,第二二部分则则主要为为软件人人员提供供程序设设计需要要的信息息。4.2 软件文文档撰写写思路1) 软软件文档档与硬件件文档的的组织方方法类似似,软件件要求文文档的主主要内容容则是定定义软件件要实现现的功能能;一种种是在简简单项目目设计过过程中,软件定定义也可可以只对对一种电电路板使使用的软软件给予予描述;对较复复杂的项项目来说说,由于于参与
37、这这种项目目的软件件人员分分别负责责设计驱驱动不同同硬件部部分的代代码(同同一电路路板),因此每每个软件件人员可可能会为为自己的的设计代代码指定定不同的的定义,这类软软件说明明需要提提供下列列的内容容:-论述述包括需需求定义义、工程程指标、硬件参参数等实实施项目目需要的的内容-说明明软件之之间、处处理器之之间或处处理器与与其内部部器件之之间使用用的通信信协议:其内容容应包括括对缓冲冲区接口口机制、命令/应答协协议、信信号控制制等协议议的具体体说明。-借助助流程图图、伪代代码或者者其他可可能的方方法来描描述软件件的实现现方法和和过程2) 软软件与硬硬件所考考虑的不不同之处处(此经经验方便便技术总
38、总监或其其他相关关管理者者参考,因为无无论是多多高深的的技术管管理者,要么是是硬件出出身,要要么是软软件出身身,要么么就是非非技术出出身,aarmjjishhu.ccom里里面有少少数软硬硬件都精精通的高高手)a. 软软件的灵灵活性远远远大于于硬件,要让软软件人员员搞清楚楚某个软软件的内内部格式式是非常常困难的的任务,解决的的办法:详细定定义其他他程序员员需要了了解的编编程接口口具体内内容,以以及其他他工程人人员在实实施开发发项目过过程中需需要使用用的技术术细节信信息。b. 软软件工程程师只有有在收到到硬件说说明文档档后,才才有可能能知道如如何对系系统硬件件进行操操作;而而硬件人人员一般般不需
39、要要了解软软件程序序的技术术细节。c. 由由于软件件易于更更改,因因此程序序内容经经常会按按销售人人员提供供的要求求发生变变更,在在某些情情况下,软件文文档的内内容无法法及时反反映程序序的最新新变化。d. 软软件经常常是工程程项目最最后完成成的部分分,因此此其文档档也经常常因时间间不够而而欠缺完完整。实实际上,软件文文档是否否详细、完整,在某种种程度上上是与公公司或客客户的要要求有关关的。例例如,军军事或国国家工程程一般要要求开发发商就其其所有软软件实现现的功能能提供全全面详细细的文档档e. 有有个潜规规则,对对软件的的要求越越复杂,则需求求的正确确可能性性就越小小,这个个是经验验之谈了了,我们们需要把把准需求求这个准准绳来做做文章,而不是是陷入个个人主义义以及对对软件要要求而凭凭空发挥挥自己不不切实际际的想象象。f. 我我们可以以先硬件件设计,接着围围绕该硬硬件编制制软件。虽然实实际系统统的实现现过程可可能是软软硬件并并行开发发,但软软件人员员基本上上也是围围绕着已已经实现现的硬件件来进行行程序设设计的;对于更更为复杂杂的系统统来说,开发过过程可能能会出现现重复。例如,某某个项目目的硬件件工程师师和软件件工程师师可能会会坐下来来开会,共同决决定使用用哪种硬硬件来实实现某种种功能;软件人人员可能能提出需需要为数数据缓冲冲区口冲冲内存容容量,也也可能要要求提供供某种外外
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年施工员专业基础知识全真模拟试卷及答案(共七套)
- 精明宝宝测试题及答案
- 新型纳米材料的合成挑战试题及答案
- 安全工程师考试中关于事故处理的求解考题试题及答案
- 有机合成反应类型试题及答案
- 黄石社区面试真题及答案
- 2025年公务员考试题目及答案
- 家具设计师的创新思维与案例分析试题及答案
- 小学教育教学反思对教师发展的重要性试题及答案
- 中药现代化进程中的国际市场中药产品价格策略研究报告
- 幼儿园音乐教育活动设计与实施课件
- 石槽村洗煤厂职业健康管理及职业病防治知识培训考试试卷
- 急救技术气道开放技术课件
- 如何申报纵向课题
- 在线考试系统的设计与实现论文
- 个性化家庭医生签约服务包
- GA∕T 1622-2019 法庭科学 生物检材中沙蚕毒素、杀虫双、杀虫环和杀螟丹检验 气相色谱、气相色谱-质谱和液相色谱-质谱法
- 国际商事仲裁法
- 区域电力系统规划设计开题报告
- 居民企业资产股权划转特殊性税务处理申报表
- 高层建筑无地下室倾覆及滑移计算
评论
0/150
提交评论