在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式產(chǎn)品開(kāi)發(fā)的基本流程和注意事項(xiàng)

工程師進(jìn)階筆記 ? 來(lái)源: 圓錐的布袋 ? 2024-01-26 11:08 ? 次閱讀

俗話說(shuō),只會(huì)寫(xiě)代碼的工程師不是好的工程師,這句話不是沒(méi)有道理的,初學(xué)者可能不理解,但過(guò)來(lái)的老司機(jī)肯定知道。 一款產(chǎn)品如果需要長(zhǎng)期維護(hù)、銷售,肯定避免不少開(kāi)發(fā)文檔。這里給大家講述一下開(kāi)發(fā)嵌入式產(chǎn)品常見(jiàn)的文檔:

1)產(chǎn)品需求文檔:描述產(chǎn)品的特性

2)功能需求文檔:描述產(chǎn)品必須具備的功能

3)工程說(shuō)明文檔:描述系統(tǒng)實(shí)現(xiàn)的方法和滿足需求的手段

4)硬件說(shuō)明文檔:對(duì)有關(guān)硬件進(jìn)行描述

5)軟件或固件說(shuō)明文檔:描述特定處理器下設(shè)計(jì)微程序以及固件的方法

6)測(cè)試說(shuō)明文檔:描述必須測(cè)試的項(xiàng)目和驗(yàn)證系統(tǒng)正常運(yùn)行的方法

需求定義

需求定義用來(lái)描述產(chǎn)品的基本功能,對(duì)于公司來(lái)說(shuō),需求一般由該公司的市場(chǎng)銷售部門(mén)或該公司的主要客戶來(lái)制定;而對(duì)小公司或愛(ài)好者(就像armjishu.com里的愛(ài)好者一樣),技術(shù)人員可以自己負(fù)責(zé)定義需求,并撰寫(xiě)成文檔。

通常需求定義是圍繞以下幾個(gè)因素而來(lái):

1)系統(tǒng)的用途(定義需要系統(tǒng)實(shí)現(xiàn)的各種功能)

2)實(shí)際輸入輸出是何種方式實(shí)現(xiàn)的(為元器件的選型做參考)

3)系統(tǒng)是否需要操作界面(涉及軟件層操作系統(tǒng)的選型)

其實(shí)對(duì)小型的嵌入式產(chǎn)品來(lái)說(shuō),定義需求是非常關(guān)鍵的,因?yàn)樾枨笄宄耍涂梢员苊夂罄m(xù)開(kāi)發(fā)過(guò)程中出現(xiàn)的諸如隨機(jī)存儲(chǔ)器(RAM)容量不足或所選的CPU速度不能滿足處理的需要等一系列問(wèn)題。

下面舉個(gè)簡(jiǎn)單的實(shí)際例子,供大家來(lái)參考:

系統(tǒng)描述:用于從化溫泉的水泵換水系統(tǒng)電源輸入:使用來(lái)自于變壓器的9V~12V直流電水泵功率:375W。

1)使用單相交流電機(jī),由機(jī)械電氣進(jìn)行控制

2)如果溫泉池處于低水位,則輸入開(kāi)關(guān)閉合信號(hào),以禁止水泵繼續(xù)運(yùn)行

3)用戶可以自由設(shè)置水泵運(yùn)行或關(guān)閉的時(shí)間長(zhǎng)度

4)除了自動(dòng)設(shè)置控制外,還需要提供一種人工裝置來(lái)允許維護(hù)人員靈活控制水泵進(jìn)行維修

5)水泵開(kāi)啟/關(guān)閉/人工干預(yù)的時(shí)間可以30分鐘為單位,在30分鐘到23小時(shí)的范圍內(nèi)進(jìn)行調(diào)節(jié)

6)顯示設(shè)備可以指示水泵的開(kāi)關(guān)狀態(tài),剩余時(shí)間,以及水泵是否處于人工干預(yù)模式

7)具備監(jiān)視低水位的功能,并顯示在屏幕上

如果需要商用,那么除了上面給出的功能要求外,其設(shè)計(jì)文檔中還要包括電磁干擾(EMI)和電磁兼容性(EMC認(rèn)證、安全認(rèn)證以及使用環(huán)境(包括環(huán)境溫度、濕度、鹽霧腐蝕等)等方面的需求。

實(shí)際上,以上的需求確定之后,接下來(lái)就是要考慮選擇一款合適的CPU來(lái)滿足和實(shí)現(xiàn)系統(tǒng)的功能,那么我們就要將上述7點(diǎn)用戶能夠理解的需求轉(zhuǎn)化成我們專業(yè)領(lǐng)域的需求,轉(zhuǎn)化如下,大家可以參考一下:

●a.處理或更新輸入輸出信號(hào)的速率究竟需要多快?

解釋:目前嵌入式處理器的主頻一般都在幾十兆到幾百兆不等,單片機(jī)的主頻一般是幾十兆,Arm處理器可以到幾百兆;我們主要看這個(gè)產(chǎn)品是否需要對(duì)大量數(shù)據(jù)進(jìn)行處理,或是否需要對(duì)緩沖區(qū)進(jìn)行頻繁操作,是否有類似的占用CPU資料的工作要做,這就決定我們要選擇一款合適的處理器來(lái)讓該產(chǎn)品得到最佳的性能。

●b.是否可使用單片集成電路(專用IC)或FPGA來(lái)完成數(shù)據(jù)處理?

解釋:如果可以的話,就不一定要選擇處理器來(lái)做,用這些專業(yè)芯片就能替代。

●c.系統(tǒng)是否有大量的用戶輸入輸出操作(如對(duì)開(kāi)關(guān)和顯示設(shè)備進(jìn)行頻繁操作)?

解釋:如果有的話,要在處理器選型的時(shí)候考慮這些因素,選擇一款能夠滿足以上要求的CPU。

●d.系統(tǒng)與其他外部設(shè)備之間需要使用何種接口

解釋:這也是需要評(píng)估處理器的一個(gè)關(guān)鍵問(wèn)題,選擇具備這些接口功能的處理器會(huì)方便于我們的電路設(shè)計(jì)以及軟件編程

●e.設(shè)計(jì)完成后是否有可能需要進(jìn)行改動(dòng),或在設(shè)計(jì)過(guò)程中系統(tǒng)需求是否可能出現(xiàn)變化?我們的設(shè)計(jì)是否能適應(yīng)系統(tǒng)需求的變化?

解釋:要避免選擇的處理器剛好滿足當(dāng)前要求,這樣當(dāng)以后事務(wù)要求逐漸提高,處理器性能如果還有一定空間的話,那么就可以重用目前的產(chǎn)品;第二個(gè)就是要選擇不會(huì)即將停產(chǎn)的芯片,很多處理器用得很廣乏,可以借鑒的資料也很多,但是很可能這款芯片已經(jīng)在市場(chǎng)上流行很長(zhǎng)時(shí)間了,芯片廠商已經(jīng)推出更新?lián)Q代的替代品了,如果你選擇了這款芯片,很可能1,2年后就買(mǎi)不到這款處理器芯片了,導(dǎo)致不得不重新選擇新的處理器,重新設(shè)計(jì)產(chǎn)品,這樣的既耗費(fèi)時(shí)間,金錢(qián),更消耗人力,延誤市場(chǎng)的戰(zhàn)機(jī)。

處理器的選擇

2.1 需要使用的I/O管腳數(shù)量

多數(shù)處理器都是使用內(nèi)存和外部管腳來(lái)控制輸入輸出設(shè)備的,通常處理器都會(huì)有內(nèi)置ROM和RAM的,如果內(nèi)置的內(nèi)存就已經(jīng)滿足需要,那么處理器就可以節(jié)省產(chǎn)生引用外部存儲(chǔ)器信號(hào)的引腳,這樣處理器可為輸入輸出提供較多的設(shè)備管腳(某些處理器支持外部RAM或ROM的使用,但對(duì)外部存儲(chǔ)器進(jìn)行訪問(wèn)時(shí),處理器一般需要占用8條到10條I/O管腳)。

還有,有些處理器帶有專用的內(nèi)部定時(shí)時(shí)鐘,這類時(shí)鐘也需要使用一個(gè)端口管腳來(lái)實(shí)現(xiàn)某些定時(shí)功能;某些處理器中還具有漏極輸出和高電流輸出能力,可以方便的直接驅(qū)動(dòng)繼電器或電磁鐵線圈,而不再需要額外驅(qū)動(dòng)硬件的支持。

當(dāng)對(duì)處理器I/O管腳進(jìn)行計(jì)數(shù)時(shí),我們一定要把使用處理器內(nèi)部功能(如串行接口和定時(shí)器等)時(shí)限制使用的某些管腳考慮在內(nèi)。

2.2需要使用的接口數(shù)量

嵌入式處理器的主要功能是與應(yīng)用環(huán)境中的硬件進(jìn)行交互操作,這不僅需要外部硬件對(duì)接口具有實(shí)時(shí)處理能力,而且還要求處理器必須以足夠快的速度對(duì)接口數(shù)據(jù)進(jìn)行有效處理。

舉例來(lái)說(shuō),AT91RM9200是ATMEL公司出品的一款工業(yè)級(jí)Arm9微處理器,它基于Arm920T核心,處理速度可達(dá)200MIPS,同時(shí)處理器內(nèi)部配置了USBEthernet、支持RS485紅外串口、IIC、SPI、SSC等輸出接口,其目的是更方便的利用這些接口開(kāi)發(fā)出嵌入式產(chǎn)品。

需要注意的是,由于許多處理器具有的局限性沒(méi)有在處理器技術(shù)資料中給予足夠的說(shuō)明,因此一定要仔細(xì)閱讀處理器的指標(biāo)說(shuō)明。例如,在閱讀資料的過(guò)程中發(fā)現(xiàn),該資料可能會(huì)說(shuō)明其串行接口可以在最高波特率下工作,但仔細(xì)研究該處理器的指標(biāo)數(shù)據(jù)時(shí),可能會(huì)發(fā)現(xiàn)并非該串口接口的所有操作模式都可以在最大波特率下運(yùn)行。

深入了解并明確接口要求的方法:可以自己動(dòng)手編寫(xiě)一些程序來(lái)對(duì)接口進(jìn)行實(shí)際測(cè)試,以確認(rèn)某種處理器是否可以滿足應(yīng)用的要求;因?yàn)椋_認(rèn)某個(gè)處理器是否可以滿足接口要求并非是一件簡(jiǎn)單的任務(wù)。

2.3需要使用的內(nèi)存容量

決定內(nèi)存容量的大小是嵌入式產(chǎn)品設(shè)計(jì)過(guò)程中的一個(gè)基本步驟,如果對(duì)所需內(nèi)存容量估計(jì)過(guò)高,那么我們就有可能會(huì)選擇成本較高的解決方案;反之,如果低估了所需內(nèi)存容量,就有可能因系統(tǒng)需要重新設(shè)計(jì)而導(dǎo)致項(xiàng)目不能按時(shí)完工。

●a.RAM和ROM的區(qū)別:

存儲(chǔ)器分為隨機(jī)存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)兩種。其中ROM通常用來(lái)固化存儲(chǔ)一些生產(chǎn)廠家寫(xiě)入的程序或數(shù)據(jù),用于啟動(dòng)電腦和控制電腦的工作方式。而RAM則用來(lái)存取各種動(dòng)態(tài)的輸入輸出數(shù)據(jù)、中間計(jì)算結(jié)果以及與外部存儲(chǔ)器交換的數(shù)據(jù)和暫存數(shù)據(jù)。設(shè)備斷電后,RAM中存儲(chǔ)的數(shù)據(jù)就會(huì)丟失。

●b.隨機(jī)存儲(chǔ)器(RAM)的選擇:

RAM容量的預(yù)測(cè)是比較直觀的,我們只需把所有變量數(shù)目與所有內(nèi)部緩沖區(qū)的容量以及先入先出(FIFO)隊(duì)列長(zhǎng)度和堆棧長(zhǎng)度直接相加,就能得到所需RAM容量的總數(shù)。

如果所需內(nèi)存容量超出這類處理器的尋址范圍,那么只能通過(guò)增加外部RAM來(lái)滿足需求;然而,增加外部RAM的同時(shí)將會(huì)占用一定數(shù)量的I/O管腳來(lái)對(duì)擴(kuò)展內(nèi)存進(jìn)行尋址,這種擴(kuò)展往往會(huì)影響到處理器來(lái)實(shí)現(xiàn)應(yīng)用的初衷。

需要注意的一個(gè)問(wèn)題是,某些微處理器限制RAM的使用,這種限制的目的是為了借用部分內(nèi)存存儲(chǔ)器作為內(nèi)部寄存器組使用。除了以上因素外,所使用的開(kāi)發(fā)語(yǔ)言也對(duì)所需RAM容量有一定的影響,某些效率較低的編譯程序可能會(huì)占用大量寶貴的RAM空間。

●c.只讀存儲(chǔ)器(ROM)的選擇:

系統(tǒng)所需ROM的大小應(yīng)該是系統(tǒng)程序代碼與所有基于ROM的數(shù)據(jù)表容量之和。預(yù)測(cè)所需ROM空間容量比較困難的部分是預(yù)測(cè)程序代碼的長(zhǎng)度,解決這類問(wèn)題的方法只能是隨著經(jīng)驗(yàn)的逐步積累來(lái)提高預(yù)測(cè)精度。

然而,最重要的并不是精確計(jì)算程序的代碼長(zhǎng)度,而是要清楚地估算代碼長(zhǎng)度的上限。根據(jù)經(jīng)驗(yàn),如果80%的ROM空間被代碼占用的話,那么就太擁擠了,除非能確保系統(tǒng)需求不會(huì)有任何變化,否則至少要為可能發(fā)生的變化保留足夠的備用ROM空間。

在多數(shù)情況下,我們可以試著在ROM中寫(xiě)入一部分程序代碼,以便觀察代碼占用空間的情況,對(duì)于帶有內(nèi)部ROM的微處理器系統(tǒng)來(lái)說(shuō),系統(tǒng)程序都只能占用有限的程序存儲(chǔ)器空間。

d.經(jīng)驗(yàn)之談:

ROM與RAM使用情況相類似,程序代碼長(zhǎng)度與所選用的開(kāi)發(fā)語(yǔ)言有關(guān)。舉例來(lái)說(shuō),使用匯編語(yǔ)言編制的程序要比使用C語(yǔ)言編制的程序占用少得多的空間。

對(duì)于追求低成本的小型系統(tǒng)來(lái)說(shuō),一般不提倡使用高級(jí)程序設(shè)計(jì)語(yǔ)言;這是因?yàn)殡m然高級(jí)語(yǔ)言在使用、調(diào)試以及維護(hù)方面來(lái)的比較容易,但同時(shí)這類語(yǔ)言需要占用更多的內(nèi)存空間和大量的處理器時(shí)鐘周期。

如果開(kāi)發(fā)語(yǔ)言選擇不當(dāng),其后果可能是把一個(gè)簡(jiǎn)單、低成本的單片機(jī)系統(tǒng)變?yōu)橐粋€(gè)需要使用配置若干兆字節(jié)RAM空間的64位嵌入式處理器系統(tǒng)。

2.4需要使用的中斷數(shù)量

中斷的主要用途是向中央處理器通報(bào)當(dāng)前發(fā)生的某類特殊事件,這類事件包括諸如定時(shí)器超時(shí)事件、硬件引發(fā)的事件等。

需要強(qiáng)調(diào)的是,多數(shù)系統(tǒng)設(shè)計(jì)師經(jīng)常過(guò)多地使用中斷功能,實(shí)際上,中斷的主要作用只是中斷現(xiàn)行程序的執(zhí)行,中斷最適用于必須要求中央處理器立即提供服務(wù)的事件。

在需要設(shè)計(jì)和使用中斷的情況下,一定要首先確認(rèn)實(shí)際需要的中斷數(shù)量,然后必須考慮到系統(tǒng)內(nèi)部占用的中斷資源,如果需要使用的中斷資源超出了處理器可以接收的中斷數(shù)量,我們就應(yīng)借助于某些特殊手段來(lái)減少所需中斷信號(hào)的數(shù)量。

2.5實(shí)時(shí)處理方面的考慮

實(shí)時(shí)處理是一個(gè)涉及范圍很廣的題目,其主要內(nèi)容與系統(tǒng)的處理速度有密切聯(lián)系,實(shí)時(shí)事件是嵌入式微處理器需要關(guān)注的主要任務(wù)。

例如:處理器跟串口進(jìn)行通信時(shí),通常通過(guò)上層軟件(為了保證實(shí)時(shí)性,進(jìn)行任務(wù)切換的時(shí)間足夠短),然后再占用處理器去執(zhí)行從串口拿數(shù)據(jù)的任務(wù),并且要保證處理器的速率比串口速率快,那么處理器可以以最快的速度反應(yīng)并處理串口的相關(guān)的任務(wù),這樣就可以達(dá)到最大的實(shí)時(shí)性;

另一方面,如果處理器本身就內(nèi)置了串口控制器、或DMA、或LCD的控制器等,那么它就可以保證直接使用這些處理器內(nèi)置的接口去控制串口、液晶屏等對(duì)象,以達(dá)到最大的實(shí)時(shí)性能。

2.6廠商是否提供好的開(kāi)發(fā)工具和環(huán)境

選擇一款新的處理器,很可能就要使用一個(gè)新的開(kāi)發(fā)工具和開(kāi)發(fā)環(huán)境,包括軟件的編譯環(huán)境等;對(duì)于開(kāi)發(fā)日程安排比較緊張的項(xiàng)目來(lái)說(shuō),開(kāi)發(fā)人員往往無(wú)法抽出專門(mén)的時(shí)間來(lái)研究,熟悉新的開(kāi)發(fā)工具,從而也無(wú)法全面掌握開(kāi)發(fā)工具的使用技巧。

并且,有的開(kāi)發(fā)工具價(jià)格也比較昂貴,而且很可能只能從制造商那里購(gòu)買(mǎi),還有仿真工具也是需要付費(fèi)的,這些對(duì)我們?cè)谶x擇一款處理器的時(shí)候,是都應(yīng)該考慮進(jìn)去的成本因素。

2.7處理器速度方面的考慮

主要考慮幾個(gè)細(xì)節(jié)問(wèn)題:

1)處理器速度與處理器時(shí)鐘之間的關(guān)系

例:?jiǎn)纹瑱C(jī)8031為例,由該處理器可以適應(yīng)12MHz頻率的輸入時(shí)鐘,因此就可以認(rèn)為它是一個(gè)速度為12MHz的處理器了嗎?不是,實(shí)際上,由于該處理器內(nèi)部邏輯電路執(zhí)行每條指令需要多種不同頻率的時(shí)鐘脈沖,因此該處理器內(nèi)部時(shí)鐘電路要對(duì)輸入的12MHz時(shí)鐘12分頻處理;最終為處理器提供的只是1MHz主頻。

有的時(shí)候,80MHz主頻的處理器(80MHz輸入時(shí)鐘,80MHz執(zhí)行速度)要比200MHz主頻的處理器(200MHz輸入時(shí)鐘,50MHz執(zhí)行速度)執(zhí)行速度要快得多。

2)處理器指令系統(tǒng)

如果不需要執(zhí)行復(fù)雜數(shù)學(xué)運(yùn)算的應(yīng)用,那么RISC指令集的處理器要快;如果執(zhí)行比較復(fù)雜的操作,則CISC指令集的處理器速度要更快。

3)芯片結(jié)構(gòu)體系

現(xiàn)在有的芯片是將多個(gè)不同功能的核封裝到一個(gè)芯片IC中,定制某種特定的功能,比如DSP,其中包括用于實(shí)現(xiàn)數(shù)字解碼、乘法運(yùn)算的硬件乘法器和移相器等;然而,這類處理器也由其自身局限,往往在執(zhí)行某些普通操作之前必須要使用額外的指令來(lái)把RAM中的數(shù)據(jù)放入內(nèi)部寄存器,相比之下,一般處理器只允許對(duì)RAM中的數(shù)據(jù)進(jìn)行直接訪問(wèn)。

2.8 只讀存儲(chǔ)器(ROM)的選擇

多數(shù)工程項(xiàng)目在其開(kāi)發(fā)階段一般使用可擦寫(xiě)可編程只讀存儲(chǔ)器(EPROM)或快速存儲(chǔ)器(Flash Memory);這類可擦寫(xiě)可重復(fù)寫(xiě)入存儲(chǔ)器的主要優(yōu)點(diǎn)是可多次使用。一旦產(chǎn)品研制完畢,就可以用一次寫(xiě)入設(shè)備(OTP)來(lái)取代EPROM存儲(chǔ)器,一次性寫(xiě)入器件的外觀與封裝幾乎與EPROM完全一樣,惟一不同之處就是其表面沒(méi)有擦出窗口,并且價(jià)格要比EPROM低很多。

但是,另外一種情況,如果該產(chǎn)品今后需要升級(jí)固件,或在線編程,那么我們還是應(yīng)該選擇可擦寫(xiě)可編程的存儲(chǔ)器。

還有一種是非易失的存儲(chǔ)器,例如制造一臺(tái)電視機(jī),就有可能需要該設(shè)備具有記憶上次觀看最后一個(gè)頻道的功能,即使在切斷電源后,該頻道信息也不會(huì)丟失。

總結(jié):所以,根據(jù)不同的產(chǎn)品選擇不同的存儲(chǔ)器也是一門(mén)很講究的學(xué)問(wèn)。

2.9電源的要求

在某些設(shè)計(jì)中方案中,電源根本不存在問(wèn)題,對(duì)電源唯一的要求就是可以為電路正常供電;實(shí)際上,選擇電源主要要考慮三個(gè)方面的問(wèn)題:

1)要注意設(shè)計(jì)方案中是否對(duì)電源的供電方式有所限制,例如,是否像大多數(shù)家用電器那樣需要使用屋內(nèi)墻上的電源插座供電,或是是使用USB接口供電

2)看系統(tǒng)是否需要使用電池供電方式,如果這樣,我們就要考慮選擇那種對(duì)驅(qū)動(dòng)電流要求不高的處理器,然后再為其選擇合適的電池。

3)休眠電流:許多微處理器都支持低功率運(yùn)行模式,在這種模式下,系統(tǒng)的CPU處理器將處于休眠狀態(tài),同時(shí)所有外部設(shè)備的電源供電都被暫時(shí)切斷,以便減少系統(tǒng)的電能消耗;某些微處理器在這種方式下需要的維持電流極小,但也有一些微處理器在這種方式下并不能節(jié)省多少功率;不管怎樣,我們都要對(duì)系統(tǒng)在節(jié)點(diǎn)模式下的工作時(shí)間有一個(gè)估測(cè),以便對(duì)具體情況選擇使用的電池。

總之,無(wú)論哪種情況,我們都要對(duì)系統(tǒng)需要的供電總功率做到心中有數(shù)。

2.10設(shè)備工作環(huán)境的要求

環(huán)境要求主要內(nèi)容是考慮溫度,濕度等;如果系統(tǒng)必須在溫度范圍較大的環(huán)境下運(yùn)行,諸如用于軍事設(shè)備或汽車的控制系統(tǒng),那么處理器可選擇的范圍就要小得多;

并且由于大范圍溫度變化的設(shè)備通常比較昂貴,因此在設(shè)計(jì)過(guò)程中就不能再根據(jù)一般工業(yè)級(jí)器件的價(jià)格來(lái)制定預(yù)算。

2.11 使用周期成本

如果我們的產(chǎn)品是mp3,在一般情況下,可以不必考慮在用戶現(xiàn)場(chǎng)對(duì)mp3程序進(jìn)行修改的問(wèn)題,也不用為是否可以得到設(shè)備備件而著急,這是因?yàn)閙p3是一種消費(fèi)產(chǎn)品;

換句話說(shuō),如果我們的產(chǎn)品是價(jià)值幾萬(wàn)塊的工業(yè)設(shè)備并且需要常年不斷地運(yùn)行,那么我們?cè)诋a(chǎn)品設(shè)計(jì)過(guò)程中就必須從長(zhǎng)計(jì)議了:

a.首先,我們需要選擇一種處理器或存儲(chǔ)體系結(jié)構(gòu)都可以升級(jí)的器件

b.考慮到程序升級(jí)的可能,我們還要選擇較大容量的內(nèi)存

c.最后要注意的則是所選處理器是否可以長(zhǎng)期供貨,這一點(diǎn)的重要性遠(yuǎn)遠(yuǎn)大于處理器的價(jià)格

除了上面的考慮之外,使用周期成本也是在設(shè)計(jì)之初要考慮的因素。總的來(lái)說(shuō),生產(chǎn)的部件越多,則可以接受的前期開(kāi)發(fā)成本也就越大。如果產(chǎn)品是mp3,我們可能會(huì)選擇一個(gè)低價(jià)微處理器,同時(shí)投入一大筆錢(qián)來(lái)開(kāi)發(fā)控制mp3的軟件。

但如果我們的產(chǎn)品是價(jià)格昂貴的工業(yè)用設(shè)備,那么在產(chǎn)品的使用期內(nèi),該設(shè)備的銷售量將只有幾百臺(tái),毫無(wú)疑問(wèn),開(kāi)發(fā)這種產(chǎn)品最重要的就是降低開(kāi)發(fā)成本(降低開(kāi)發(fā)成本而不是硬件成本!!!);除此之外,工業(yè)產(chǎn)品的成本也不像家用電器或消費(fèi)電子產(chǎn)品那么敏感。綜上所述,開(kāi)發(fā)工業(yè)產(chǎn)品當(dāng)然要選擇一種便于進(jìn)行開(kāi)發(fā)并且有助于縮短開(kāi)發(fā)過(guò)程的處理器。

2.12 處理器相關(guān)資料是否豐富

如果該款處理器在市場(chǎng)上已經(jīng)用得很廣了,那么我們可以獲取更多的相關(guān)資料,觀察人家的產(chǎn)品是如何使用處理器的,也能在網(wǎng)絡(luò)上找到不少的相關(guān)的設(shè)計(jì)資料以及相關(guān)技術(shù)主題,這樣就進(jìn)一步降低了技術(shù)門(mén)檻,確保了使用該處理器做產(chǎn)品可行性,減低了風(fēng)險(xiǎn);

反之,如果是廠商全新推出的處理器,因?yàn)槭袌?chǎng)上還沒(méi)有可以借鑒的產(chǎn)品,我們就只能從全英文的芯片手冊(cè)開(kāi)始閱讀,了解這款芯片,這樣開(kāi)發(fā)周期不僅變長(zhǎng),而且不可預(yù)知的風(fēng)險(xiǎn)也很大。

開(kāi)發(fā)成本的預(yù)測(cè)和估計(jì)

大多數(shù)項(xiàng)目或產(chǎn)品都有專人負(fù)責(zé)預(yù)測(cè)整個(gè)過(guò)程的開(kāi)發(fā)成本,對(duì)于任何項(xiàng)目來(lái)說(shuō),其開(kāi)發(fā)成本主要包括人力和材料開(kāi)銷。

預(yù)測(cè)開(kāi)發(fā)成本在很大程度上需要根據(jù)經(jīng)驗(yàn),這也是為什么大型公司一般指定有經(jīng)驗(yàn)的高級(jí)工程師來(lái)完成這一任務(wù)的原因,除了人力和材料的開(kāi)銷之外,總結(jié)下來(lái),還有以下的開(kāi)銷:

1)人力成本(開(kāi)發(fā)人員、管理人員、銷售人員、其他行政等輔助人員)的開(kāi)銷

2)材料(硬件物料和損耗,有時(shí)候需要投幾次PCB版才把產(chǎn)品穩(wěn)定下來(lái))的開(kāi)銷

3)開(kāi)發(fā)系統(tǒng)和開(kāi)發(fā)工具軟件的開(kāi)銷

4)硬件工具的開(kāi)銷(例如示波器仿真器等)

對(duì)于整個(gè)項(xiàng)目來(lái)說(shuō),上述的開(kāi)銷將直接可能導(dǎo)致產(chǎn)品成本增加,其中人力成本最為關(guān)鍵,尤其是在中國(guó),呵呵。

產(chǎn)品開(kāi)發(fā)設(shè)計(jì)文檔(需要包括硬件和軟件兩個(gè)方面)

4.1 硬件文檔撰寫(xiě)思路

1)首先是需求定義或產(chǎn)品規(guī)格

如果這些是產(chǎn)品最終目標(biāo)的話,那么產(chǎn)品對(duì)硬件和軟件的要求就是技術(shù)方案的最終目標(biāo);對(duì)硬件和軟件的要求是從定義用戶界面和系統(tǒng)功能開(kāi)始的。

2)其次,根據(jù)需求,系統(tǒng)整體定義文檔中給出硬件接口的具體定義:

定義硬件最有效的方法是從需求開(kāi)始描述,由于硬件必須支持系統(tǒng)定義的所有功能,因此硬件定義是與系統(tǒng)說(shuō)明不可分割的;

例如,我們?cè)O(shè)計(jì)一個(gè)定時(shí)器(事先需求說(shuō)明定時(shí)器不能與個(gè)人電腦連接,故無(wú)法使用CRT顯示時(shí)間),我們只有兩種選擇:一種是使用發(fā)光二極管LED),另一種是使用液晶顯示器件(LCD);盡管LCD的顯示效果比較好,但考慮到定時(shí)器要常年位于戶外,并且早期LCD顯示器不能在低溫下工作,最終還是選擇LED設(shè)備(這整個(gè)過(guò)程描述了我們硬件選型時(shí)的一個(gè)思路,這個(gè)是密切跟需求掛鉤的)。

3)一旦完成了系統(tǒng)整體說(shuō)明文檔,就開(kāi)始進(jìn)行系統(tǒng)設(shè)計(jì):

首先要對(duì)硬件說(shuō)明的內(nèi)容進(jìn)行細(xì)化,包括添加能讓工程師理解的設(shè)計(jì)意圖,以及軟件工程師圍繞硬件進(jìn)行程序設(shè)計(jì)時(shí)需要使用的硬件信息等。

完成硬件電路板說(shuō)明文檔后,我們還要在該文檔中增加一個(gè)用來(lái)描述系統(tǒng)的原始要求的前言部分,包括說(shuō)明方案的設(shè)計(jì)思路和方法,除此之外,還要附上軟件工程師用來(lái)對(duì)硬件進(jìn)行控制所需的各類信息,這類信息主要包括如下內(nèi)容(軟件工程所需信息):

●內(nèi)存和I/O端口地址(如果需要,還可以提供內(nèi)存映射圖)

●可用內(nèi)存容量

●狀態(tài)寄存器每一位的定義

●每個(gè)端口管腳的用途

●外部設(shè)備的驅(qū)動(dòng)方法(例如,說(shuō)明輸入定時(shí)器電路的時(shí)鐘頻率等)

●其他由管軟件人員設(shè)計(jì)程序需要了解的信息

對(duì)于比較復(fù)雜的系統(tǒng)來(lái)說(shuō),硬件文檔中經(jīng)常使用兩個(gè)獨(dú)立的部分來(lái)進(jìn)行說(shuō)明;其第一部分用來(lái)描述硬件指標(biāo)和工作原理,第二部分則主要為軟件人員提供程序設(shè)計(jì)需要的信息。

4.2軟件文檔撰寫(xiě)思路

1、軟件文檔與硬件文檔的組織方法類似,軟件要求文檔的主要內(nèi)容則是定義軟件要實(shí)現(xiàn)的功能;一種是在簡(jiǎn)單項(xiàng)目設(shè)計(jì)過(guò)程中,軟件定義也可以只對(duì)一種電路板使用的軟件給予描述;對(duì)較復(fù)雜的項(xiàng)目來(lái)說(shuō),由于參與這種項(xiàng)目的軟件人員分別負(fù)責(zé)設(shè)計(jì)驅(qū)動(dòng)不同硬件部分的代碼(同一電路板),因此每個(gè)軟件人員可能會(huì)為自己的設(shè)計(jì)代碼指定不同的定義,這類軟件說(shuō)明需要提供下列的內(nèi)容:

(1)論述包括需求定義、工程指標(biāo)、硬件參數(shù)等實(shí)施項(xiàng)目需要的內(nèi)容
(2)說(shuō)明軟件之間、處理器之間或處理器與其內(nèi)部器件之間使用的通信協(xié)議:其內(nèi)容應(yīng)包括對(duì)緩沖區(qū)接口機(jī)制、命令/應(yīng)答協(xié)議、信號(hào)控制等協(xié)議的具體說(shuō)明。
(3)借助流程圖、偽代碼或者其他可能的方法來(lái)描述軟件的實(shí)現(xiàn)方法和過(guò)程

2、軟件與硬件所考慮的不同之處(此經(jīng)驗(yàn)方便技術(shù)總監(jiān)或其他相關(guān)管理者參考,因?yàn)闊o(wú)論是多高深的技術(shù)管理者,要么是硬件出身,要么是軟件出身,要么就是非技術(shù)出身)

a.軟件的靈活性遠(yuǎn)遠(yuǎn)大于硬件,要讓軟件人員搞清楚某個(gè)軟件的內(nèi)部格式是非常困難的任務(wù),解決的辦法:詳細(xì)定義其他程序員需要了解的編程接口具體內(nèi)容,以及其他工程人員在實(shí)施開(kāi)發(fā)項(xiàng)目過(guò)程中需要使用的技術(shù)細(xì)節(jié)信息。

b.軟件工程師只有在收到硬件說(shuō)明文檔后,才有可能知道如何對(duì)系統(tǒng)硬件進(jìn)行操作;而硬件人員一般不需要了解軟件程序的技術(shù)細(xì)節(jié)。

c.由于軟件易于更改,因此程序內(nèi)容經(jīng)常會(huì)按銷售人員提供的要求發(fā)生變更,在某些情況下,軟件文檔的內(nèi)容無(wú)法及時(shí)反映程序的最新變化。

d.軟件經(jīng)常是工程項(xiàng)目最后完成的部分,因此其文檔也經(jīng)常因時(shí)間不夠而欠缺完整。實(shí)際上,軟件文檔是否詳細(xì)、完整,在某種程度上是與公司或客戶的要求有關(guān)的。例如,軍事或國(guó)家工程一般要求開(kāi)發(fā)商就其所有軟件實(shí)現(xiàn)的功能提供全面詳細(xì)的文檔

e.有個(gè)潛規(guī)則,對(duì)軟件的要求越復(fù)雜,則需求的正確可能性就越小,這個(gè)是經(jīng)驗(yàn)之談了,我們需要把準(zhǔn)需求這個(gè)準(zhǔn)繩來(lái)做文章,而不是陷入個(gè)人主義以及對(duì)軟件要求而憑空發(fā)揮自己不切實(shí)際的想象。

f.我們可以先硬件設(shè)計(jì),接著圍繞該硬件編制軟件。雖然實(shí)際系統(tǒng)的實(shí)現(xiàn)過(guò)程可能是軟硬件并行開(kāi)發(fā),但軟件人員基本上也是圍繞著已經(jīng)實(shí)現(xiàn)的硬件來(lái)進(jìn)行程序設(shè)計(jì)的;對(duì)于更為復(fù)雜的系統(tǒng)來(lái)說(shuō),開(kāi)發(fā)過(guò)程可能會(huì)出現(xiàn)重復(fù)。

例如,某個(gè)項(xiàng)目的硬件工程師和軟件工程師可能會(huì)坐下來(lái)開(kāi)會(huì),共同決定使用哪種硬件來(lái)實(shí)現(xiàn)某種功能;軟件人員可能提出需要為數(shù)據(jù)緩沖區(qū)口沖內(nèi)存容量,也可能要求提供某種外部設(shè)備接口,以便充分利用現(xiàn)成接口程序提供的各種驅(qū)動(dòng)代碼。

總的來(lái)說(shuō),必須在提高軟件開(kāi)發(fā)效率與硬件系統(tǒng)的復(fù)雜性與成本之間進(jìn)行權(quán)衡。

嵌入式高手對(duì)技術(shù)的理解(含辛茹苦這么多年的精華體驗(yàn))

有很多人認(rèn)為:嵌入式系統(tǒng)性能的核心因素是軟件功能,其實(shí),如果按照這種邏輯,系統(tǒng)設(shè)計(jì)中存在的問(wèn)題就應(yīng)由軟件人員來(lái)負(fù)責(zé);其實(shí)這個(gè)觀點(diǎn)實(shí)際上反映了設(shè)計(jì)嵌入式產(chǎn)品時(shí)如何考慮劃分硬件和軟件各自應(yīng)實(shí)現(xiàn)的功能,也就是這個(gè)功能是軟件實(shí)現(xiàn),還是考慮用硬件來(lái)實(shí)現(xiàn)(硬件實(shí)現(xiàn):需要購(gòu)買(mǎi)處理該功能的硬件芯片,從而增加成本;軟件實(shí)現(xiàn):無(wú)需增加硬件成本,但會(huì)占用處理器以及內(nèi)存的資源)。

例如:我們?cè)谶@里設(shè)計(jì)的基于Arm的mp3嵌入式產(chǎn)品,我們可以使用專業(yè)的解碼芯片來(lái)負(fù)責(zé)mp3音樂(lè)文件的解碼和播放功能,也可以使用另一種方法來(lái)解碼mp3語(yǔ)音文件,讓Arm處理器利用軟件控制寄存器來(lái)驅(qū)動(dòng)耳機(jī)或音響,處理器通過(guò)對(duì)mp3語(yǔ)音文件解碼之后再將解碼后的數(shù)據(jù)流按照一定協(xié)議格式送給音頻輸出的硬件接口進(jìn)行播放。

優(yōu)點(diǎn):這種方案在硬件方面節(jié)省了一個(gè)器件,降低了成本,并且該功能還方便調(diào)試(因?yàn)槭擒浖?shí)現(xiàn)的)。

缺點(diǎn):從另一個(gè)角度來(lái)看,雖然節(jié)省了一塊語(yǔ)音解碼芯片,但同時(shí)要在三個(gè)方面增加成本。

首先,要在程序中增加語(yǔ)音協(xié)議解碼的代碼;
其次,可能要把增加ROM來(lái)存放語(yǔ)音解碼的協(xié)議,這樣可以增加速度;
最后,運(yùn)行該程序?qū)⒄加锰幚砥鞯臅r(shí)間和資源。

其實(shí),話又說(shuō)回來(lái),對(duì)于本案例來(lái)說(shuō),上述成本的節(jié)約并不會(huì)引發(fā)任何問(wèn)題,包括驅(qū)動(dòng)程序增加也只需少量的,我們討論這個(gè)mp3產(chǎn)品的案例的目的在于說(shuō)明如何對(duì)軟件硬件的功能進(jìn)行合理劃分。

總的來(lái)說(shuō),交給軟件實(shí)現(xiàn)的功能越多,則產(chǎn)品的成本就越低,當(dāng)然這就要處理器必須有足夠的處理速度和內(nèi)存空間來(lái)實(shí)現(xiàn)設(shè)計(jì)指定的功能;常言說(shuō)得好,天下沒(méi)有免費(fèi)的午餐;把功能分配給軟件來(lái)實(shí)現(xiàn),會(huì)增加軟件的復(fù)雜性、開(kāi)發(fā)時(shí)間、以及程序的調(diào)試時(shí)間;然而,隨著處理器的處理能力的不斷提高,可以預(yù)見(jiàn),越來(lái)越多的功能將會(huì)由軟件來(lái)實(shí)現(xiàn)。

雖然在軟件中實(shí)現(xiàn)各種功能會(huì)增加開(kāi)發(fā)成本,但如果把功能移植到硬件中實(shí)現(xiàn),則會(huì)增加產(chǎn)品的成本,這類開(kāi)銷是在構(gòu)造每個(gè)系統(tǒng)組件時(shí)不可避免的。在低成本設(shè)計(jì)方案中,增加任何額外的硬件都會(huì)對(duì)產(chǎn)品成本產(chǎn)生顯著的影響,因此軟硬件功能劃分就是一個(gè)決定產(chǎn)品成本的大問(wèn)題。在諸如大眾消費(fèi)產(chǎn)品這一類對(duì)成本非常敏感的設(shè)計(jì)方案中,一般都會(huì)把無(wú)法通過(guò)軟件實(shí)現(xiàn)的功能排除在外的。

審核編輯:黃飛

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19420

    瀏覽量

    231217
  • 嵌入式
    +關(guān)注

    關(guān)注

    5094

    文章

    19183

    瀏覽量

    307779
  • ROM
    ROM
    +關(guān)注

    關(guān)注

    4

    文章

    575

    瀏覽量

    86000
  • RAM
    RAM
    +關(guān)注

    關(guān)注

    8

    文章

    1369

    瀏覽量

    115034
  • 嵌入式處理器
    +關(guān)注

    關(guān)注

    0

    文章

    255

    瀏覽量

    30810

原文標(biāo)題:嵌入式產(chǎn)品開(kāi)發(fā)的基本流程和注意事項(xiàng)

文章出處:【微信號(hào):工程師進(jìn)階筆記,微信公眾號(hào):工程師進(jìn)階筆記】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    智多晶DDR Controller使用注意事項(xiàng)

    最后一期我們主要介紹智多晶DDR Controller使用時(shí)的注意事項(xiàng)
    的頭像 發(fā)表于 01-24 11:14 ?213次閱讀
    智多晶DDR Controller使用<b class='flag-5'>注意事項(xiàng)</b>

    AN136-非隔離開(kāi)關(guān)電源的PCB布局注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《AN136-非隔離開(kāi)關(guān)電源的PCB布局注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 01-08 13:55 ?0次下載
    AN136-非隔離<b class='flag-5'>式</b>開(kāi)關(guān)電源的PCB布局<b class='flag-5'>注意事項(xiàng)</b>

    MCU開(kāi)發(fā)流程中的注意事項(xiàng)

    微控制器單元(MCU)是現(xiàn)代電子系統(tǒng)中不可或缺的核心組件,廣泛應(yīng)用于各種嵌入式系統(tǒng)和物聯(lián)網(wǎng)設(shè)備中。MCU開(kāi)發(fā)流程涉及多個(gè)階段,從需求分析到最終產(chǎn)品的測(cè)試和部署。在這個(gè)過(guò)程中,
    的頭像 發(fā)表于 11-01 13:52 ?297次閱讀

    嵌入式工控機(jī)如何使用?嵌入式工控機(jī)操作方法及注意事項(xiàng)

    嵌入式工控機(jī)作為現(xiàn)代工業(yè)自動(dòng)化和控制系統(tǒng)中重要的硬件支持,廣泛應(yīng)用于生產(chǎn)線監(jiān)控、軌道交通、電力能源等多個(gè)領(lǐng)域。其穩(wěn)定性、可靠性以及適應(yīng)惡劣環(huán)境的能力,使其成為許多行業(yè)的首選。那么,嵌入式工控機(jī)究竟如何使用呢?高能計(jì)算機(jī)將詳細(xì)介紹其操作方法和相關(guān)
    的頭像 發(fā)表于 10-18 10:02 ?463次閱讀

    嵌入式系統(tǒng)的啟動(dòng)流程

    嵌入式系統(tǒng)的啟動(dòng)流程是一個(gè)復(fù)雜但有序的過(guò)程,它涉及從系統(tǒng)上電到操作系統(tǒng)內(nèi)核及應(yīng)用程序啟動(dòng)的多個(gè)階段。
    的頭像 發(fā)表于 10-05 17:44 ?472次閱讀

    脈沖充電器的使用注意事項(xiàng)

    脈沖充電器的使用注意事項(xiàng)主要包括以下幾個(gè)方面: 一、安全注意事項(xiàng) 用電安全 :在充電過(guò)程中,應(yīng)始終保持警惕,注意用電安全,避免觸電和短路等危險(xiǎn)情況的發(fā)生。 防火防災(zāi) :避免在易燃易爆
    的頭像 發(fā)表于 09-26 16:05 ?1131次閱讀

    繞線電感定制的注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《繞線電感定制的注意事項(xiàng).docx》資料免費(fèi)下載
    發(fā)表于 09-20 11:24 ?0次下載

    共模電感定制的注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《共模電感定制的注意事項(xiàng).docx》資料免費(fèi)下載
    發(fā)表于 09-04 11:47 ?0次下載

    LiFePO4設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《LiFePO4設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 09-03 09:24 ?0次下載
    LiFePO4設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>

    嵌入式linux開(kāi)發(fā)的基本步驟有哪些?

    嵌入式Linux開(kāi)發(fā)是一個(gè)復(fù)雜的過(guò)程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開(kāi)發(fā)、應(yīng)用程序開(kāi)發(fā)等多個(gè)方面。以下是嵌入式Linux
    的頭像 發(fā)表于 09-02 09:11 ?636次閱讀

    人機(jī)接口電感觸摸按鈕的設(shè)計(jì)注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《人機(jī)接口電感觸摸按鈕的設(shè)計(jì)注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 08-30 09:30 ?2次下載
    人機(jī)接口電感<b class='flag-5'>式</b>觸摸按鈕的設(shè)計(jì)<b class='flag-5'>注意事項(xiàng)</b>

    嵌入式工控一體機(jī)的安裝方法和使用注意事項(xiàng)

    嵌入式工控一體機(jī)的安裝方法和使用注意事項(xiàng)?工控一體機(jī)系列產(chǎn)品中,因?yàn)槭褂铆h(huán)境的特殊性,很多企業(yè)需要以嵌入式的方式,把工控一體機(jī)安裝到固定的位置,途控在多年的
    的頭像 發(fā)表于 08-04 11:12 ?1329次閱讀

    聚徽觸控-嵌入式平板工控機(jī)注意事項(xiàng)

    嵌入式平板工控機(jī)的應(yīng)用中,需要特別注意以下幾點(diǎn):
    的頭像 發(fā)表于 05-30 10:15 ?330次閱讀

    FMD LINK 使用注意事項(xiàng)

    電子發(fā)燒友網(wǎng)站提供《FMD LINK 使用注意事項(xiàng).pdf》資料免費(fèi)下載
    發(fā)表于 05-06 10:11 ?0次下載

    瑞薩CTSU程序在向嵌入式OS操作系統(tǒng)移植時(shí)的注意事項(xiàng)

    瑞薩CTSU程序在向嵌入式OS操作系統(tǒng)移植時(shí)的注意事項(xiàng)
    的頭像 發(fā)表于 03-29 08:05 ?402次閱讀
    瑞薩CTSU程序在向<b class='flag-5'>嵌入式</b>OS操作系統(tǒng)移植時(shí)的<b class='flag-5'>注意事項(xiàng)</b>
    主站蜘蛛池模板: 午夜88| 国产片翁熄系列乱在线视频 | 人妖另类亚洲xxxx | 人与禽性视频77777 | 伊人网综合在线 | 久久夜色精品国产噜噜 | 亚洲a毛片 | 夜色爽| 男女交性高清视频无遮挡 | 中文字幕第11页 | 亚洲福利一区福利三区 | 亚洲午夜小视频 | 四虎网址在线观看 | 夜色福利久久久久久777777 | 久久网站免费 | 免费黄色的视频 | 久久精品国产免费观看99 | 永久免费mv网站入口 | 性生大片一级毛片免费观看 | 丁香六月啪| 欧美色图亚洲激情 | 欲色影视香色天天影视来 | 色综合天天射 | 成人中文字幕一区二区三区 | 国产午夜久久精品 | 久优草| 2021最新国产成人精品视频 | 日本免费黄视频 | 免费一级做a爰片久久毛片 免费一看一级毛片 | 国产色妞妞在线视频免费播放 | 99久久免费精品国产免费高清 | 李老汉和小花的性生生活 | 美女网站色免费 | 男人日女人的网站 | 国产色妞妞在线观看 | 俺去在线| 污视频18高清在线观看 | 精品午夜久久影视 | 欧美透逼视频 | 亚洲成a人片7777 | 老湿司午夜爽爽影院榴莲视频 |