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