嵌入式軟硬件模塊化開發(fā)和工具性總結(jié)
模塊化開發(fā)
在我們學(xué)習電子電路、單片機電路及嵌入式軟件開發(fā)的時候,總喜歡一塊一塊的學(xué),一塊一塊的研究調(diào)試,這樣我們能更快更好的掌握。
同樣在做產(chǎn)品設(shè)計開發(fā)的時候,我們也應(yīng)該發(fā)揚這種模塊化開發(fā)的思想。比如一個產(chǎn)品的硬件有電源模塊電路、主控單元的最小系統(tǒng)、外部數(shù)據(jù)存儲、外部的各種通信接口,以及外圍的各種模擬量數(shù)字量的采集與控制電路,有的還少不了顯示電路等等。所以一個產(chǎn)品會有很多種模塊化電路組成,這些功能模塊又會對應(yīng)相應(yīng)的驅(qū)動程序及功能模塊程序。
所以在產(chǎn)品開發(fā)的過程中我一直要求自己遵循模塊化開發(fā)的的理念,因為這樣會給我們帶來很多好處,比如:
1.在產(chǎn)品開發(fā)過程中軟硬件的調(diào)試,我們能更快更好的找出模塊內(nèi)存在的BUG,能更好的避免在做整合的時候出現(xiàn)更多的問題。
2.能更好的優(yōu)化和升級產(chǎn)品。我們在優(yōu)化產(chǎn)品的時候只需要優(yōu)化和調(diào)試一部分模塊而不會牽一發(fā)而動全身,這樣對優(yōu)化后的產(chǎn)品的穩(wěn)定性也能有更好的保證。
3.能做好更多的技術(shù)積累,對公司和對工程師個人而言能做到雙贏。積累的技術(shù)功能模塊能為公司保存更多的技術(shù)實力,對新產(chǎn)品的開發(fā)和已有產(chǎn)品的維護升級都至關(guān)重要。而我們工程師也能積累更多產(chǎn)品開發(fā)所需要的功能模塊設(shè)計。我們可以把這些積累作為一個個我們已經(jīng)打造好的工具,等到用的時候可以直接拿來用,既方便又穩(wěn)定可靠。
工具性總結(jié)
我一直主張在開發(fā)和學(xué)習的時候,不要盲目的做和學(xué),要有效的利用我們上面說的模塊化,把可以重復(fù)利用的電路或程序代碼有效的模塊化接口化,經(jīng)過測試和穩(wěn)定性驗證的程序模塊,是可以有效重復(fù)利用的,我們把這些模塊工具化。
我在做開發(fā)的時候都針對不同的MCU,都會自己封裝一套對應(yīng)的底層驅(qū)動庫,比如GPIO,我就做一個gpio.c和一個gpio.h的文件,在不同的項目開發(fā)中,我就只需要包含這兩個文件,用的時候,只要調(diào)用gpio的初始化和操作函數(shù)就可以了,如果我們每次都在程序中直接對io的寄存器操作,那么這些代碼是不是在其他項目中就不能重復(fù)利用了呢,每次我們還都要重復(fù)的編寫這些代碼,這樣也會帶來很多問題,比如程序的可讀性,可修改性以及可測試性等。
隨著我們不斷的學(xué)習總結(jié),我們會積累更多的電路或程序模塊工具,在以后的開發(fā)過程中,我們就可以拿出我們?yōu)樽约捍蛟斓倪@些工具,像搭積木一樣的來開發(fā)產(chǎn)品。
這樣一來,我們的產(chǎn)品開發(fā)是不是變得更加高效,而且每一個工具化的模塊都是以前經(jīng)過測試驗證的,這樣也能為我們在產(chǎn)品開發(fā)過程中節(jié)省大量的測試調(diào)試和驗證的時間。
做很多事情都是這樣,立足當下,思考未來,總結(jié)規(guī)劃,今天的點滴付出,肯定能換來明天的美好結(jié)果。