色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何設計嵌入式應用軟件架構

Q4MP_gh_c472c21 ? 來源:cc ? 2019-02-22 15:13 ? 次閱讀

要做到嵌入式應用的代碼邏輯清晰,且避免重復的造輪子,沒有好的應用架構怎么行。

如果沒有好的架構,移植將會是一件很痛苦的事情。

如果沒有好的架構,復用是最大的難題,沒法更大限度的復用原有的代碼。

如果沒有好的架構,一旦驅動改了,所有的地方都要改,費時費力且很容易出錯。

如果沒有好的架構,應用層中穿插著硬件驅動層的代碼,看著會是一片混亂,邏輯不清,代碼維護起來會很困難。

這里總結下我的嵌入式程序設計思路,分享出來與大家共同探討,同時也歡迎提出不同意見。

現在的小朋友都愛玩搭積木的游戲,一個模塊一個模塊的拼裝起來,快速組成各種不同的模型?,F在的產品設計也很少從零開始。大都復用現有成熟的模塊,專注于某個擅長領域。

我的嵌入式應用架構思路來源與此,即功能模塊設計與分層。

把API分為驅動層和應用層API,而不是所有程序都調用驅動層API。(整個應用中都調用驅動層API會導致應用中驅動調用隨處可見,無法移植和最大限度的復用)

先把一個應用進行功能模塊劃分,并對整體結構進行分層,然后設計出功能獨立的各個模塊(如算法模塊,文件庫模塊,通信庫模塊),在模塊之上開放公共接口。

驅動層提供出公共接口供上層調用。各個功能模塊可以獨立編譯(如算法模塊純ANSI C,可在任意平臺復用),或者調用驅動層接口(文件庫模塊調用了驅動讀寫Flash),總而言之,言而總之,封裝出各個功能獨立的可復用的功能模塊。

總體分:硬件驅動層-->功能模塊層-->應用接口層-->業務邏輯層-->應用層

總體結構示意框圖:

應用層,為程序的總體的運行框架,組織調用業務邏輯??梢杂媚撤N嵌入式操作系統實現幾種任務 。如定時任務,卡處理任務,菜單任務,通信任務。

業務邏輯層,如CPU卡處理,交通部卡處理,銀聯卡處理,M1卡處理,通信記錄上傳,黑名單下載,票價參數下載等。

應用接口層,提供公共的api接口供應用接口供上層調用。這些接口也可由下層的功能模塊開放出來,應用接口層負責匯總。

功能模塊層,可以封裝不同的功能模塊。如算法庫,文件庫,通信庫,銀聯庫,向上提供應用接口層的接口,向下調用驅動接口。

硬件驅動層,由各個驅動模塊組成,向上提供統一的接口。

遵循一些約定:

1.每個模塊提供出的接口要統一,后續只能增,不能改原來的接口。

2.模塊與模塊之間相互獨立,互不影響,不能相互調用,只能調用它下層的接口。

3.由模塊構成層,層與層之間不能跨級調用。如在應用層中不能看到直接調用驅動層的代碼。

4.模塊中又可以繼續分層,如接口層,驅動層,硬件層。

如果驅動變動了,或者換不同平臺,只需更改驅動層,應用層不受影響。如果功能模塊變動了,只需升級功能功能模塊,其他的模塊不受影響,應用層也不受影響。

按照這種邏輯設計好之后,主要的工作就是在業務邏輯層。應用層則為程序的總體流程和框架,主要調用業務邏輯層實現不同的功能。

我們現在的代碼結構,基本是按這個思路來的。

硬件驅動層-->功能模塊層-->應用接口層-->業務邏輯層-->應用層。

看看以下兩種風格的代碼,你更喜歡哪個。

另一種風格:

同樣是保存參數,非要拆成AlgCRC16 ,WritePraFlash( (unsigned char *)&NetPra , NETPRA_ADDR , sizeof(_NetPra) )兩步嗎?

還有AH_Para_Verify這個,在應用層中真是多余啊,檢測失敗又從Flash讀取。關于參數,一開機就應該檢測合法性了。

既然都是要保存參數,就應該做個封裝,如上圖所示,把系統用到的不同參數做個規劃。應用層調用APP_Open_UseFile 或者APP_Read_UseFile,

而不是直接的去讀寫Flash。

來看看赫赫有名的谷歌的android架構,雖然很復雜,但從框圖上看,也像是搭積木,各個功能模塊獨立,層次分明。最低層建立在linux Kernel基礎上,然后是各個組件庫libraries,再往上是應用框架和應用。

以NC_FileLib,文件庫模塊為例,如果要用在其他平臺,如EH0918手持機設備,只需要移植幾個硬件層接口即可。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5089

    文章

    19169

    瀏覽量

    306769
  • 接口
    +關注

    關注

    33

    文章

    8684

    瀏覽量

    151632

原文標題:嵌入式應用軟件架構如何設計?

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式應用軟件架構如何設計?

    有需要資料的可以加我:騰訊3249838614來源CSDN要做到嵌入式應用的代碼邏輯清晰,且避免重復的造輪子,沒有好的應用架構怎么行。如果沒有好的架構,移植將會是一件很痛苦的事情。如果沒有好的
    發表于 02-25 15:23

    嵌入式實時操作系統如何簡化應用軟件的設計

    嵌入式領域中,嵌入式實時操作系統(RTOS)正得到越來越廣泛的應用。采用嵌入式實時操作系統可以更合理、更有效地利用CPU的資源,簡化應用軟件的設計,縮短系統開發時間,更好地保證系統的
    發表于 11-25 06:48

    基于QT的嵌入式linux圖形應用軟件設計

    嵌入式數據庫或圖形軟件開發有興趣,可以進一步學習嵌入式linux數據庫開發或基于 QT的嵌入式linux圖形應用軟件設計。...
    發表于 11-05 08:11

    嵌入式應用軟件開發流程是怎樣的

    系統硬件設備和程序進行優化和集成測試,開發出符合系統總體設計要求的高質量嵌入式系統;具有工程師的實際工作能力和業務水平。相關文章:《手機app移動應用軟件開發為何越加旺盛?》同時在這樣一個技術日進千...
    發表于 11-09 08:06

    進行嵌入式操作系統和應用軟件的開發

    ,一種是硬件開發,一種是軟件開發。簡單來說,嵌入式底層驅動開發就是針對嵌入式操作系統的一些設備編寫驅動程序。而嵌入式底層軟件開發就是進行
    發表于 12-17 08:25

    嵌入式應用軟件任務劃分的原則是什么

    嵌入式應用軟件任務劃分的原則參考文章“嵌入式應用軟件任務劃分的原則”在基于實時操作系統(RTOS,RealTime Operating System)的單片機
    發表于 12-24 06:57

    怎樣去設計一種嵌入式應用軟件架構

    @[TOC](視頻教程嵌入式應用軟件架構如何設計?有需要資料的可以加我***要做到嵌入式應用的代碼邏輯清晰,且避免重復的造輪子,沒有好的應用架構
    發表于 01-07 07:25

    嵌入式應用軟件任務劃分的原則

     嵌入式應用軟件任務劃分的原則  在基于實時操作系統(RTOS,RealTime Operating System)的單片機應用軟件設計中,“任務”是一個很重要的概念。有專
    發表于 03-29 15:14 ?828次閱讀
    <b class='flag-5'>嵌入式</b><b class='flag-5'>應用軟件</b>任務劃分的原則

    飛思卡爾推出針對其嵌入式多核處理器的應用軟件模塊

    飛思卡爾推出針對其嵌入式多核處理器的應用軟件模塊 飛思卡爾半導體公司宣布推出一套針對其嵌入式多核處理器的應用軟件
    發表于 10-06 08:34 ?642次閱讀

    嵌入式軟件架構設計

    嵌入式軟件架構的設計,幫助我們建立合理,有效的軟件架構
    發表于 11-09 17:34 ?19次下載

    什么是嵌入式系統?嵌入式軟件系統測試中的仿真系統架構設計有什么優點?

    嵌入式軟件是基于嵌入式系統設計的軟件,是計算機軟件的一種,同樣由程序及文檔組成,可細分成系統軟件
    發表于 07-19 08:30 ?2611次閱讀
    什么是<b class='flag-5'>嵌入式</b>系統?<b class='flag-5'>嵌入式</b><b class='flag-5'>軟件</b>系統測試中的仿真系統<b class='flag-5'>架構</b>設計有什么優點?

    嵌入式應用軟件

      隨著計算機嵌入式的日新月異,嵌入式應用軟件是實現系統各種功能的關鍵,好的應用軟件使得同樣的硬件平臺更好、更高效地完成系統功能,使系統具有更大的經濟價值。
    發表于 08-17 16:29 ?614次閱讀

    嵌入式軟件架構

    嵌入式軟件架構
    發表于 10-20 20:51 ?20次下載
    <b class='flag-5'>嵌入式</b>系<b class='flag-5'>軟件</b><b class='flag-5'>架構</b>

    嵌入式應用軟件開發的步驟流程

    系統硬件設備和程序進行優化和集成測試,開發出符合系統總體設計要求的高質量嵌入式系統;具有工程師的實際工作能力和業務水平。相關文章:《手機app移動應用軟件開發為何越加旺盛?》同時在這樣一個技術日進千...
    發表于 11-04 09:51 ?16次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>應用軟件</b>開發的步驟流程

    系統架構設計筆記(59)—— 嵌入式系統的組成

    和支撐軟件是基礎,應用軟件則是最能體現整個嵌入式系統的特點和功能的部分。1 硬件架構圖 1 是一個嵌入式系統的基本硬件
    發表于 11-04 11:06 ?13次下載
    系統<b class='flag-5'>架構</b>設計筆記(59)—— <b class='flag-5'>嵌入式</b>系統的組成
    主站蜘蛛池模板: 青青久久精品| 达达兔午夜一级毛片| 在线观看日韩一区| XXX国产麻豆HD真实乱| 国产精品免费一区二区三区视频| 亚洲人美女肛交真人全程| 97国产成人精品视频| 一天不停的插BB十几次| 俄罗斯14一18处交| 美女大本营| 亚洲天码中字| 国产欧美国日产在线播放| 人人草人人草| 三级黄色小视频| 中文字幕在线免费视频| 国产真实乱对白精彩| 久久re视频这里精品青| 国产最新进精品视频| 精品久久久久中文字幕| 色欲午夜无码久久久久久| 亚洲AV天堂无码麻豆电影| 99无人区码一码二码三| 久久精品国产午夜伦班片| 性直播免费| 国产Av男人的天堂精品良久| 免费看b站| 手机在线亚洲日韩国产| 99久酒店在线精品2019| 久久精品观看| 亚洲色图影院| 国产女合集小岁9三部| 手机在线看片欧美亚洲| 国产XXXXXX农村野外| 日韩黄色免费| 亚洲熟少妇在线播放999| 国产亚洲精品a在线观看app| 吸奶舔下面| 国产揄拍国产精品| 亚洲精品天堂无码中文字幕影院 | 午夜噜噜噜私人影院在线播放| 一品探花论坛|