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