999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Matlab的STM32軟件快速開發方法

2011-06-25 02:45:32余新栓
單片機與嵌入式系統應用 2011年10期
關鍵詞:嵌入式模型系統

余新栓

(陜西理工學院 電氣工程系,漢中 723000)

余新栓(講師),主要研究領域為嵌入式系統應用、計算機測量與控制。

引 言

在嵌入式應用軟件設計中,開發人員應該運用現代軟件工程思想和先進的軟件開發方法,快速完成軟件的開發和維護工作[1]。STM32系列微控制器是一款基于ARM Cortex-M3內核的高性能、低成本、低功耗的嵌入式應用產品。目前,編寫STM32應用程序主要有兩種方式。大部分學習使用STM32的用戶都從固件庫函數開始,通過使用ST公司提供的固件庫中的庫函數來配置CPU,建立工程后調用片內資源的各種功能。另外一些用戶不使用或很少使用庫,通過直接操作寄存器的方式使用STM32。上述方法需要花費一定的精力熟悉固件庫,或者要求熟悉眾多的寄存器結構及其定義,程序開發效率較低。

Matlab是由美國Mathworks公司發布的主要面對科學計算、可視化以及交互式程序設計的計算環境,在很大程度上擺脫了傳統非交互式程序設計語言(如C語言)的編輯模式,代表了當今國際科學計算軟件的先進水平。利用工具箱擴展 Matlab環境,可以解決應用領域內特定類型的問題[2]。本文介紹針對嵌入式ARM Cortex-M3內核STM32微控制器的目標模塊庫,并通過實例說明基于Matlab建模的STM32軟件快速開發方法。

1 RapidSTM32blockset技術特性

RapidSTM32是一種針對STM32系列微控制器開發的Simulink目標模塊庫和設備驅動程序的工具套件。RapidSTM32在高性能的圖形編程語言、STM32微控制器應用之間架起了一座橋梁。該模塊庫利用MathWorks公司的Real-Time Workshop嵌入式編碼器的代碼生成能力,直接自動產生程序代碼,實現了數字IO、USART、PWM、ADC的等功能程序和工程的自動生成。其主要目標是幫助用戶(尤其是嵌入式系統初學者)實現諸如實時事件驅動、卡爾曼濾波等復雜的系統算法應用程序,而不需要了解底層的設備配置或調試。借助該模塊庫,用戶能夠利用可視化的交互式程序設計環境,不用手工編寫C或匯編語言代碼,就可以將在Matlab/Simulink下的建模算法翻譯轉換為基于STM32微控制器的嵌入式系統程序。

2 STM32軟件快速開發方法

2.1 STM32軟件開發環境

為保證軟件的統一性、一致性、可操作性和版本的連續性,并能夠在最小環境下開發成功,需要合理配置相關軟件。經實驗驗證,在Microsoft Windows XP SP2下使用RapidSTM32系統最低軟件配置如下:

◆ Matlab 2009a(version 7.8)

◆ Simulink 2009(version 7.3)

◆ Real-Time Workshop 2009(version 7.3)

◆ Real-Time Workshop Embedded Coder 2009 (version 5.3)

◆ RealView MDK for ARM(version 4.0)

◆ Microsoft.Net Framework(version 3.5)

配置完成后,在RapidSTM32開發模塊官方網站http://www.aimagin.com下載 RapidSTM32blockset,解壓后在Matlab 2009下打開并安裝RapidSTM32blockset即可。

2.2 STM32軟件快速開發過程

利用RapidSTM32,基于Matlab的STM32軟件快速開發過程包括建模、代碼生成、工程編譯、運行調試等環節,如圖1所示[3]。這里重點介紹根據建模與代碼生成方法。

圖1 基于MATLAB的STM32軟件開發過程

2.2.1 建模與仿真

按照上面方法成功安裝了目標庫后,打開系統仿真工具箱Simulink,在庫瀏覽器中就會看到針對嵌入式ARM Cortex-M3STM32微控制器的目標模塊庫RapidSTM32 blockse。在Matlab 2009下為STM32軟件建立一個mdl文件。其中一個系統仿真模型中可以有一個或多個圖模塊。為了仿真STM32嵌入式軟件系統,首先需要加入系統時鐘設置和相應的STM32功能模塊模型。然后根據硬件目標板和系統工作環境的情況為STM32的功能模塊模型合理設置參數,比如DAC模塊的引腳安排、輸出數據來源等。對應于實際系統,在Simulink環境中用多個子模塊建立嵌入式系統軟件模型。

2.2.2 生成代碼

根據算法在Matlab/Simulink中建模并完成系統仿真后,選擇RealView MDK作為生成語言的種類,用Build model命令將所建立的模型轉換成MDK C代碼,會產生用于建立工程的多個.C文件和.h文件。選擇Keil μVision4作為目標嵌入式系統的軟件編譯環境。

用RealView MDK編譯環境構建工程,把模型生成的嵌入式系統軟件C語言代碼在KeilμVision4環境下編譯通過,下載到目標嵌入式系統的STM32中運行,觀察代碼運行情況,并與手工代碼運行情況進行對比。對生成的軟件程序完成工程進行編譯,編譯結果下載到目標系統中執行,可以滿足系統功能要求。

3 應用實例

實際工程中經常需要產生滿足一定要求的信號波形。下面的實例說明如何通過模型化設計方法,利用Rapid-STM32模塊庫自動生成C語言代碼,快速實現控制STM32的DAC模塊的應用方法。本設計實例中,讓STM32的DAC產生y(t)=1.0*sin(w*t)+2函數波形。

3.1 利用Matlab生成波形數據

首先編寫產生上述數學函數波形的運算式并運行。在Matlab命令窗口運行下面的運算式:

運行后得到繪制波形的各個參數,刪除掉說明信息文字后將計算波形數據整理成如下數組表達形式:[2.0000 2.0314 2.0628 2.0941 2.1253 2.1564 2.1874 2.2181 2.2487 2.2790 ……]。

3.2 利用Matlab Simulink設計程序模型[4]

在Simulink Library Browser窗口里,選擇File/New/Model命令,打開模塊設計窗口,新建一個模型并保存為sin_boxing.mdl。打開 Matlab/Simulink窗口,從Simulink中選擇示波器加入到sin_boxing模塊設計窗口,從Rapid-STM32庫中分別選擇Device Configuration下的系統時鐘設置與On-chip peripherals下的任意函數發生器模塊加入sin_boxing模塊設計窗口工作區,最后將各元件連接。

選擇 Simulation/Configuration Parameters命令,在Configuration Parameters窗口的Real-Time Workshop項目設置中,將Target selection選項中選擇System target file為rapidstm32.tlc,Language選項設置為C。在 Real-Time Workshop/rapidstm32/options項目設置中將輸出文件交叉編譯工具選擇為RealView MDK。

接下來設置各模塊參數,完成系統時鐘設置和DAC參數設置。設置DAC Mode為Arbitrary DAC1,將上面步驟中生成的數據復制到DAC數據欄,根據信號頻率將采樣時間設置為0.000 1s。所有參數設置完畢后,連續運行兩次Update Diagram命令兩次后保存。參數設置完成后構建的STM32嵌入式系統模型如圖2所示。

圖2 完成參數設置的STM32DAC仿真模型

3.3 利用模型仿真生成應用程序

運行模型后,可以觀察到如圖3所示的輸出波形,說明模型正確。在Matlab文件路徑窗口確定生成代碼輸出路徑后,在 Tool菜單下單擊 Real-Time Workshop/Build model命令開始自動生成MDK工程文件及代碼,命令窗口中開始輸出各種代碼文件生成信息,直至輸出如下信息形式,表示代碼文件生成過程結束。

圖3 軟件模型仿真輸出波形

按照前面確定的代碼文件輸出路徑,就可以發現自動生成的各種文件,如圖4所示。在MDK將生成的文件編譯成可執行文件下載到STM32目標板即可順利執行。

圖4 生成的部分文件

4 結 論

① 針對STM32微控制器目標系統的軟件開發,利用專用模塊庫建立嵌入式系統軟件仿真模型,實現系統軟件代碼自動生成。與手工編寫代碼的開發周期相比,大大縮短了STM32系統軟件的開發周期,節約了時間成本,加快了開發進度。

② 使用具有可視化、交互式程序設計環境,把圖形化的算法與模型設計方法應用于ARM Cortex-M3內核的STM32系列微控制器嵌入式軟件開發,降低了STM32系列微控制器程序設計難度,降低了軟件工程師的勞動強度。

[1]劉玉良,李剛,康凱.基于MATLAB的嵌入式系統軟件開發[J].天津大學學報,2008,41(5).

[2]http://www.mathworks.com/matlabcentral/newsreader/view_thread/255878.

[3]http://www.aimagin.com/.

[4]Stephen J Chapman.MATLAB編程影印版[M].2版.北京:科學出版社,2003.

猜你喜歡
嵌入式模型系統
一半模型
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
搭建基于Qt的嵌入式開發平臺
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
3D打印中的模型分割與打包
主站蜘蛛池模板: 天堂网亚洲系列亚洲系列| аv天堂最新中文在线| 午夜电影在线观看国产1区 | 无遮挡一级毛片呦女视频| av午夜福利一片免费看| 亚洲人成网站在线播放2019| 热99精品视频| 91麻豆国产精品91久久久| 亚洲va欧美ⅴa国产va影院| 国产在线高清一级毛片| 国产精品污污在线观看网站 | 久久亚洲美女精品国产精品| 国产福利在线观看精品| 原味小视频在线www国产| 国产又粗又爽视频| 国产成人1024精品| 在线观看精品国产入口| 97在线视频免费观看| 动漫精品中文字幕无码| 久久综合伊人77777| 国产精品欧美在线观看| 国产在线观看一区精品| 国产精品九九视频| 亚洲精品男人天堂| 综合久久五月天| 国产成人综合亚洲欧美在| 亚洲最猛黑人xxxx黑人猛交| 亚洲成人精品在线| 国产一级二级三级毛片| 久久国产免费观看| 成人免费网站在线观看| 国产在线观看精品| 成年A级毛片| 中文字幕色在线| 欧美精品亚洲二区| 国产成人综合久久| 国产第一页亚洲| 白丝美女办公室高潮喷水视频| 亚洲无码37.| 亚洲Aⅴ无码专区在线观看q| 成人国产精品网站在线看| 97se综合| 久久综合成人| 久久久久久久久久国产精品| 日韩色图区| 高清视频一区| 成人国产免费| 美女内射视频WWW网站午夜| 人妻无码中文字幕一区二区三区| 91福利在线观看视频| 91福利国产成人精品导航| 免费无遮挡AV| 999国产精品永久免费视频精品久久 | 视频在线观看一区二区| 亚洲一区免费看| 国产精品无码制服丝袜| 高h视频在线| 啦啦啦网站在线观看a毛片| 中文字幕无码中文字幕有码在线| 毛片免费试看| 久久成人免费| 精品少妇三级亚洲| 国产精品成| 一级一毛片a级毛片| 亚洲人成影院午夜网站| 小13箩利洗澡无码视频免费网站| 久热中文字幕在线| 国产精品福利一区二区久久| 欧美日韩精品综合在线一区| 精品国产美女福到在线不卡f| 白丝美女办公室高潮喷水视频| 91人妻日韩人妻无码专区精品| 欧美在线精品怡红院| 国产免费黄| 精品国产网| 欧美一级在线| 黄片在线永久| 91精品国产91久无码网站| 国产精品无码AV中文| 欧美特黄一级大黄录像| 国产成人精品高清在线| 国产精品尤物铁牛tv|