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打印中的模型分割與打包
主站蜘蛛池模板: 国产精品视频免费网站| 亚洲日韩在线满18点击进入| 日韩福利在线视频| 色精品视频| 美女啪啪无遮挡| 亚洲无限乱码一二三四区| 欧美成人手机在线视频| 青草精品视频| 伊人久热这里只有精品视频99| 国产一区自拍视频| 国产成人乱无码视频| 欧美国产成人在线| 久久国产精品无码hdav| 亚洲无码免费黄色网址| 91口爆吞精国产对白第三集| 久久99国产综合精品女同| 制服丝袜一区二区三区在线| 国产经典在线观看一区| 视频国产精品丝袜第一页| 97久久超碰极品视觉盛宴| 国语少妇高潮| 国产啪在线91| 精品视频第一页| 亚洲三级a| 中日韩欧亚无码视频| 国产精品性| 欧美区一区二区三| 狂欢视频在线观看不卡| 亚洲h视频在线| 最新国产在线| 亚洲女人在线| 国产一区二区人大臿蕉香蕉| 亚洲天堂区| 色综合天天操| 全色黄大色大片免费久久老太| 欧类av怡春院| 一本大道东京热无码av| 操国产美女| 中文字幕 欧美日韩| 国产丝袜啪啪| 久热中文字幕在线观看| 毛片三级在线观看| 国产成人久久777777| 影音先锋丝袜制服| 欧美爱爱网| 日韩一区精品视频一区二区| 99伊人精品| 亚洲精品你懂的| 欧美黄网在线| 在线看片中文字幕| 成人在线综合| 精品少妇人妻无码久久| 亚洲乱伦视频| 理论片一区| 日本五区在线不卡精品| 伊人无码视屏| 亚洲高清在线播放| 欧美在线三级| 国产91成人| 国产国拍精品视频免费看 | 日本免费一区视频| 五月婷婷综合网| 国产欧美日韩免费| 福利国产微拍广场一区视频在线| 在线国产91| 中文成人无码国产亚洲| 亚洲国产天堂在线观看| 四虎影院国产| 国产午夜无码片在线观看网站| 国产一级无码不卡视频| 91色国产在线| 亚洲最黄视频| 国产一级无码不卡视频| 久久精品国产精品国产一区| 3344在线观看无码| 亚洲一级毛片免费观看| 欧美特黄一级大黄录像| 日本三级欧美三级| 久久国产亚洲欧美日韩精品| 久久久久久久久18禁秘| 亚洲 欧美 日韩综合一区| 久久无码av三级|