專利名稱:一種嵌入式產(chǎn)品軟件開發(fā)方法
技術領域:
本發(fā)明涉及軟件開發(fā)領域,尤指一種嵌入式產(chǎn)品軟件開發(fā)方法。
背景技術:
嵌入式產(chǎn)品的特點如下1、有功能強大嵌入式處理器,有運行程序所必須的內(nèi)存;2、有能完成特定功能的外設,處理器控制外設的方式以寄存器讀寫為主。
由于嵌入式產(chǎn)品具有功能強大,智能化等優(yōu)點,因此嵌入式產(chǎn)品的開發(fā)成為了當前產(chǎn)品開發(fā)的一個重要部分,目前在嵌入式產(chǎn)品的軟件開發(fā)中,現(xiàn)有技術主要有以下兩種方法方法一使用燒錄器進行軟件開發(fā)開發(fā)過程就是將編譯好的程序燒錄到產(chǎn)品里,根據(jù)產(chǎn)品運行的現(xiàn)象進行分析,循序漸進的進行嵌入式產(chǎn)品軟件開發(fā)。這種軟件開發(fā)方法,由于看不到當時的運行結(jié)果,又很難使用方便的軟件工具進行分析,因此,這種方式目前已經(jīng)基本沒有用戶使用。
方法二使用專門的仿真器進行開發(fā)這是目前用得比較廣泛的方法,但是這種開發(fā)方法有以下幾個缺點1)由于仿真器軟件由專門的公司提供,一般這樣的工具軟件都需要購買,增加了開發(fā)成本;2)開發(fā)方法單一,輔助工具的支持力度不夠,這將大大的影響開發(fā)的速度;因為仿真器的目的是針對嵌入式CPU提供的,它不能根據(jù)想要開發(fā)的嵌入式產(chǎn)品的特點側(cè)重的增加輔助工具。
發(fā)明內(nèi)容
本發(fā)明提供一種嵌入式產(chǎn)品軟件開發(fā)方法,利用計算機資源進行嵌入式產(chǎn)品軟件開發(fā),解決現(xiàn)有技術中嵌入式產(chǎn)品軟件開發(fā)速度慢的問題。
本發(fā)明提供的嵌入式產(chǎn)品軟件開發(fā)方法,包括在一計算機中實現(xiàn)一個讀命令函數(shù)和一個寫命令函數(shù);在所述嵌入式產(chǎn)品的控制系統(tǒng)中,存儲一命令解析程序;該方法進一步包括下列步驟A、在計算機中使用能編譯計算機程序的編譯器進行待開發(fā)的嵌入式產(chǎn)品軟件的代碼編譯;B、在計算機上運行編譯好的嵌入式產(chǎn)品軟件,由所述讀命令函數(shù)或?qū)懨詈瘮?shù)通過所述計算機與嵌入式產(chǎn)品的通信接口向所述嵌入式產(chǎn)品發(fā)送讀函數(shù)命令或?qū)懞瘮?shù)命令;C、所述命令解析程序解析接收的讀函數(shù)命令或?qū)懞瘮?shù)命令,調(diào)用存儲在嵌入式產(chǎn)品控制系統(tǒng)中的讀或?qū)懞瘮?shù),控制嵌入式產(chǎn)品硬件運行;D、根據(jù)產(chǎn)品運行現(xiàn)象判斷是否需要修改嵌入式產(chǎn)品軟件代碼,若是,轉(zhuǎn)至步驟A,重復上述軟件調(diào)試過程;否則,結(jié)束該軟件開發(fā)流程。
所述計算機與嵌入式產(chǎn)品的通信接口為串行接口。
所述通信接口的通信協(xié)議可以在所述計算機和所述嵌入式產(chǎn)品的控制系統(tǒng)中預先約定。
所述預先約定的通信協(xié)議可以是基于字符串的通信方式。
所述讀命令函數(shù)/寫命令函數(shù)可以是讀/寫寄存器的命令函數(shù)或者是讀/寫緩存器的命令函數(shù)。
本發(fā)明利用現(xiàn)有計算機資源進行嵌入式產(chǎn)品軟件開發(fā),大大提高軟件的開發(fā)速度,有效降低產(chǎn)品成本。
圖1為嵌入式產(chǎn)品軟件運行控制示意圖;圖2為本發(fā)明軟件開發(fā)方法流程圖;
圖3為本發(fā)明實施例中命令解析程序流程圖。
具體實施例方式
參見圖1,為嵌入式產(chǎn)品軟件運行控制示意圖。圖中左側(cè)流程為嵌入式產(chǎn)品軟件在嵌入式產(chǎn)品的控制系統(tǒng)中的運行控制過程由嵌入式產(chǎn)品中的CPU啟動嵌入式產(chǎn)品應用程序和驅(qū)動程序,通過基本的讀/寫命令函數(shù)實現(xiàn)最基本的對外設的寄存器進行讀寫的命令,控制嵌入式產(chǎn)品的硬件外設運行。
圖中右側(cè)流程為通過計算機控制嵌入式產(chǎn)品運行控制過程由計算機的CPU啟動嵌入式產(chǎn)品應用程序和驅(qū)動程序,通過計算機與嵌入式產(chǎn)品接口實現(xiàn)信令交互,控制嵌入式產(chǎn)品硬件外設運行。
對圖1中的兩個流程進行比較,可以看出在嵌入式產(chǎn)品控制系統(tǒng)中運行的嵌入式軟件(包括應用程序和驅(qū)動程序)和在計算機中運行的嵌入式軟件是相同的程序,因此,完全可以利用計算機資源對嵌入式產(chǎn)品軟件進行開發(fā)。
參見圖2,為本發(fā)明軟件開發(fā)方法流程圖,其具體過程描述如下。
首先,在計算機中實現(xiàn)兩個函數(shù),一個讀命令函數(shù)和一個寫命令函數(shù)。例如寫命令函數(shù)為void Sim_SetReg(int adr,int val);負責向嵌入式產(chǎn)品發(fā)送寫寄存器命令SetReg(adr,val);讀函數(shù)為void Sim_GetReg(int adr,int*val);負責向嵌入式產(chǎn)品發(fā)送讀寄存器命令GetReg(adr),并接收嵌入式產(chǎn)品系統(tǒng)反饋的結(jié)果數(shù)據(jù)。
在嵌入式產(chǎn)品的控制系統(tǒng)中存儲一個對應的命令解析程序,對接收的讀寫函數(shù)命令進行解析。
在具體進行嵌入式軟件的開發(fā)過程中,將編寫好的嵌入式產(chǎn)品軟件代碼輸入計算機中,在計算機中使用能編譯計算機程序的編譯器進行待開發(fā)的嵌入式產(chǎn)品軟件的代碼編譯;編譯通過后,運行編譯好的嵌入式產(chǎn)品軟件,通過調(diào)用讀命令函數(shù)或?qū)懨詈瘮?shù),向嵌入式產(chǎn)品發(fā)送讀函數(shù)命令或?qū)懞瘮?shù)命令。其中,讀函數(shù)命令或?qū)懞瘮?shù)命令的傳遞需要通過計算機與嵌入式產(chǎn)品的連接接口來實現(xiàn)。因此,需要將待開發(fā)的嵌入式產(chǎn)品的通信端口與計算機的輸入/輸出端口相連,利用這個通信端口在待開發(fā)的嵌入式產(chǎn)品和計算機之間建立一個通信信道,并對該通信信道建立通信協(xié)議,例如在計算機與嵌入式產(chǎn)品的控制系統(tǒng)之間采用串口通信方式,預先約定具體的通信協(xié)議,如現(xiàn)有技術中的TCP/IP通信協(xié)議,也可以由用戶自定義具體的通信協(xié)議,如采用基于字符串的通信方式。
嵌入式產(chǎn)品的控制系統(tǒng)接收到讀函數(shù)命令或?qū)懞瘮?shù)命令后,由命令解析程序解析出對應命令內(nèi)容。如圖3所示,為上述讀/寫寄存器命令的具體解析流程,包括下列步驟嵌入式產(chǎn)品控制系統(tǒng)查詢接口數(shù)據(jù),判斷是否有新的數(shù)據(jù)到來,若有,則從接口讀取數(shù)據(jù);根據(jù)約定的通信協(xié)議,判斷所接收的數(shù)據(jù)是否為一個完整的命令數(shù)據(jù)包,若是,則對整個數(shù)據(jù)包進行解析;否則,繼續(xù)等待從接口接收新的數(shù)據(jù),直到收完一個完整的命令數(shù)據(jù)包;根據(jù)對數(shù)據(jù)包的解析結(jié)果,判斷是否為寫寄存器命令“SetReg”,若是,則調(diào)用寫寄存器函數(shù)SetReg(adr,val),執(zhí)行寫寄存器操作,結(jié)束命令解析流程;否則,繼續(xù)下列步驟;進一步判斷是否為讀寄存器命令“GetReg”,若是,則調(diào)用讀寄存器函數(shù)GetRge(adr,*val),執(zhí)行讀寄存器操作,將val里的數(shù)據(jù)通過嵌入式產(chǎn)品和計算機之間建立的通信信道發(fā)送給計算機;若否,結(jié)束命令解析流程。
根據(jù)上述讀/寫寄存器的操作結(jié)果,嵌入式產(chǎn)品的控制系統(tǒng)將控制相應外設運行,并根據(jù)產(chǎn)品運行現(xiàn)象進行分析,如果運行錯誤,則需要修改編寫的嵌入式產(chǎn)品軟件代碼,并進行重新編譯和調(diào)試;若運行全部正常,則結(jié)束程序調(diào)試??梢詫⒂嬎銠C中調(diào)試好的應用程序和驅(qū)動程序加載到嵌入式產(chǎn)品中,完成該嵌入式產(chǎn)品的軟件開發(fā)工作。
如上述實施例所述,讀命令函數(shù)/寫命令函數(shù)可以是讀/寫寄存器的命令函數(shù);當然也可以是完成其它功能的命令函數(shù),如讀/寫緩存器的命令函數(shù),具體命令函數(shù)格式為void Sim_WriteBuf(adr,*buf,len);void Sim_ReadBuf(adr,*buf,len)。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求書的保護范圍為準。
權利要求
1.一種嵌入式產(chǎn)品軟件開發(fā)方法,其特征在于在一計算機中實現(xiàn)一個讀命令函數(shù)和一個寫命令函數(shù);在所述嵌入式產(chǎn)品的控制系統(tǒng)中,存儲一命令解析程序;該方法進一步包括下列步驟A、在計算機中使用能編譯計算機程序的編譯器進行待開發(fā)的嵌入式產(chǎn)品軟件的代碼編譯;B、在計算機上運行編譯好的嵌入式產(chǎn)品軟件,由所述讀命令函數(shù)或?qū)懨詈瘮?shù)通過所述計算機與嵌入式產(chǎn)品的通信接口向所述嵌入式產(chǎn)品發(fā)送讀函數(shù)命令或?qū)懞瘮?shù)命令;C、所述命令解析程序解析接收的讀函數(shù)命令或?qū)懞瘮?shù)命令,調(diào)用存儲在嵌入式產(chǎn)品控制系統(tǒng)中的讀或?qū)懞瘮?shù),控制嵌入式產(chǎn)品硬件運行;D、根據(jù)產(chǎn)品運行現(xiàn)象判斷是否需要修改嵌入式產(chǎn)品軟件代碼,若是,轉(zhuǎn)至步驟A,重復上述軟件調(diào)試過程;否則,結(jié)束該軟件開發(fā)流程。
2.如權利要求1所述的嵌入式產(chǎn)品軟件開發(fā)方法,其特征在于所述計算機與嵌入式產(chǎn)品的通信接口為串行接口。
3.如權利要求1所述的嵌入式產(chǎn)品軟件開發(fā)方法,其特征在于所述通信接口的通信協(xié)議可以在所述計算機和所述嵌入式產(chǎn)品的控制系統(tǒng)中預先約定。
4.如權利要求3所述的嵌入式產(chǎn)品軟件開發(fā)方法,其特征在于所述預先約定的通信協(xié)議可以是基于字符串的通信方式。
5.如權利要求1所述的嵌入式產(chǎn)品軟件開發(fā)方法,其特征在于所述讀命令函數(shù)/寫命令函數(shù)可以是讀/寫寄存器的命令函數(shù)或者是讀/寫緩存器的命令函數(shù)。
全文摘要
本發(fā)明有關一種嵌入式產(chǎn)品軟件開發(fā)方法,包括在一計算機中實現(xiàn)一個讀命令函數(shù)和一個寫命令函數(shù);在所述嵌入式產(chǎn)品的控制系統(tǒng)中,存儲一命令解析程序;在計算機中使用編譯計算機程序的編譯器進行待開發(fā)的嵌入式產(chǎn)品軟件的代碼編譯;在計算機上運行編譯好的嵌入式產(chǎn)品軟件,由所述讀命令函數(shù)或?qū)懨詈瘮?shù)通過所述計算機與嵌入式產(chǎn)品的接口向所述嵌入式產(chǎn)品發(fā)送讀函數(shù)命令或?qū)懞瘮?shù)命令;所述命令解析程序,解析接收的讀函數(shù)命令和寫函數(shù)命令,調(diào)用存儲在嵌入式產(chǎn)品控制系統(tǒng)中的對應函數(shù),控制嵌入式產(chǎn)品硬件運行;根據(jù)產(chǎn)品運行現(xiàn)象修改嵌入式產(chǎn)品軟件代碼,實現(xiàn)軟件開發(fā)。采用本發(fā)明方法能實現(xiàn)嵌入式產(chǎn)品軟件的快速開發(fā)。
文檔編號G06F11/36GK1622053SQ20041010254
公開日2005年6月1日 申請日期2004年12月24日 優(yōu)先權日2004年12月24日
發(fā)明者游明琦, 劉勇 申請人:北京中星微電子有限公司