版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、開發(fā)板前言(一),開發(fā)環(huán)境的搭建,eclipse GNU工具鏈 j-Link or wiggler,eclipse安裝,JAVA JDK下載 直接安裝,使用eclipse前必須安裝 eclipse壓縮包下載 直接解壓后使用,eclipse插件,啟動eclipse,選擇workbench; 在菜單欄中選擇Help-Install New Software 安裝CDT GNU Cross Development Tools(在work with上輸入如下地址: 安裝Zylin Embedded CDT(在work with上輸入如下地址: 安裝General Purpose Tools(在 Wor
2、k with 下拉菜單中選擇All Available Sites)下的: Dynamic Languages Toolkit Remote Development Support Remote System Explorer End-User Runtime Remote System Explorer User Actions,GNU工具鏈,arm-2010q1-188-arm-none-eabi.exe 請注意版本號 下載后直接安裝,請記住安裝的路徑 確認(rèn)是否安裝成功,請查看CodeSourcerySourcery G+ Litebin這個路徑是否存在,并是否至少有以下文件: arm-n
3、one-eabi-gcc.exe arm-none-eabi-gdb.exe,jLinkARM工具安裝,j-Link轉(zhuǎn)換板 Setup_JLinkARM_V414b.exe 直接安裝 確認(rèn)安裝完成,查看開始-所有程序中是否有SEGGER這個文件夾,eclipse外使用jLink,在開始, 所有程序中找到SEGGER文件夾,選擇J-Link GDB Server,J-Link 已連接,開發(fā)板已連接,GDB未連接,啟動GDB CodeSourcerySourcery G+ Litebin 運行arm-none-eabi-gdb.exe 連接GDB Server,連接GDB Server 輸入 ta
4、rget remote localhost:2331 查看“配置文件”下的.gdb的腳本文件 輸入GDB命令進(jìn)行操作,GDB連接成功,openocd安裝及配置,wiggler轉(zhuǎn)接板 安裝 下載openocd.rar壓縮包 解壓縮,里面有兩個文件夾 binopenocd的程序和配置腳本 openocd.exe stm32.cfg giveio接口驅(qū)動 使用openocd前需要安裝這個驅(qū)動 備注:需要注意解壓后存放的路徑,配置 啟動eclipse 菜單欄Run-External tools-External tools Configurations 雙擊左側(cè)Program后,選擇新創(chuàng)建的New_c
5、onfiguration,然后再右側(cè)main選項卡中依次修改Name、Location、Working Directory、Arguments,GIVEIO的使用,拷貝GIVEIO.SYS到C:WINDOWSsystem32drivers目錄下 運行LOADDRV.EXE 在輸入框中輸入c:windowssystem32driversGIVEIO.SYS Install Start,eclipse外使用openocd,啟動windows命令行 找到openocd.exe所在的目錄 例如,我的地址D:TrailBreakersoftwareopenocdbin 在命令行中輸入該地址,接著輸入以下
6、內(nèi)容:openocd.exe -f stm32.cfg 連接到TrailBreaker開發(fā)板上,使用telnet連接openocd 查看配置文件stm32.cfg 連接成功就能看到以下結(jié)果: 接著就可以輸入命令來對開發(fā)板進(jìn)行操作 更多操作命令請查看資料openocd.pdf或輸入命令help,資料,編寫程序的源代碼 STM32F10 x_StdPeriph_Lib_V3.4.0.rar 配置文件.rar(啟動文件+gdb腳本+ld鏈接文件) ram配置 flash配置,固件庫,固件庫的相關(guān)資料 UM0427 STM32F103xx firmware library AN2953 如何升級固件庫
7、 固件庫內(nèi)帶有的說明文檔,配置文件壓縮包,ram配置 ram啟動文件:startup.c ram鏈接腳本:stm3210e_ram.ld gdb腳本(jLink):stm3210e_ram_jlink.gdb gdb腳本(wiggler):stm3210e_ram_jtag.gdb 中斷向量(ram): vetors.c vetors.h,flash配置 flash啟動文件:startup_stm32f10 x_hd.S flash鏈接腳本:stm3210e_flash.ld gdb腳本(jLink):stm3210e_flash_jlink.gdb gdb腳本(wiggler):stm321
8、0e_flash_jtag.gdb 中斷向量(flash): vetors.c vetors.h,新建工程,工程目錄結(jié)構(gòu)(推薦) core內(nèi)核、系統(tǒng)、啟動相關(guān) peripherals外設(shè)庫文件 scriptsld鏈接腳本、gdb腳本 source應(yīng)用程序,core目錄,固定文件 core_cm3.c core_cm3.h stm32f10 x.h system_stm32f10 x.c system_stm32f10 x.h,根據(jù)啟動方式選擇啟動文件(配置文件.rar) 選擇startup.c(ram)或者startup_stm32f10 x_hd.S(flash) 選擇對應(yīng)文件夾內(nèi)的vect
9、ors.cvectors.h core目錄下共8個文件,peripherals目錄,外設(shè)配置文件 stm32f10 x_conf.h 外設(shè)庫文件 stm32f10 x_xxx.c stm32f10 x_xxx.h,scripts目錄,根據(jù)ram啟動或者flash啟動選擇相應(yīng)的ld鏈接文件 stm3210e_ram.ld stm3210e_flash.ld 根據(jù)啟動方式和調(diào)試工具選擇.gdb腳本,source目錄,存放自己編寫的應(yīng)用程序代碼 main.c *.c . 編譯時需要包含該目錄,一個新建好的工程,工程編譯,設(shè)置工程編譯環(huán)境 選中要編譯的工程,右擊,選擇properties,對c/c+
10、build下的settings進(jìn)行設(shè)置 選中ARM Sourcery Windows GCC C Linker下的general 在右側(cè)Script file中輸入工程中scripts目錄下的.ld文件的絕對地址 完成后,Apply,對C/C+ General 下的 paths and Symbols進(jìn)行設(shè)置 includes-GNU C add. 將工程中包含.c,.h,.S的目錄全部添加進(jìn)來 完成后,Apply,工程編譯 選中要進(jìn)行編譯的工程 右擊選擇Build project或者Clean project 在console對話框中會給出編譯信息 如果有錯誤,可以在其中找到相關(guān)提示,若編譯
11、沒有問題,則在工程目錄中會生成兩個目錄 Binaries Debug 編譯后的結(jié)果,編譯生成的可執(zhí)行文件,程序下載,工具+啟動模式的組合 wiggler+ram wiggler+flash jLink+ram jLink+flash,wiggler+ram,Debug配置 Run-Debug Configuration 雙擊Zylin Embedded debug(Native) 右側(cè)Debugger 在GDB debugger和GDB command file中分別選擇arm-none-eabi-gdb.exe和stm3210e_ram_jtag.gdb 點擊Apply和Close,啟動op
12、enocd Run-External Tools-openocd(此時在console中會顯示連接信息) Debuge Run-Debug History 點擊要Debug的工程 Resume,wiggler+flash,Debug配置 Run-Debug Configuration 雙擊Zylin Embedded debug(Native) 右側(cè)Debugger 在GDB debugger和GDB command file中分別選擇arm-none-eabi-gdb.exe和stm3210e_flash_jtag.gdb 點擊Apply和Close,修改stm3210e_flash_jta
13、g.gdb腳本 在monitor flash write_image后輸入要下載的.elf文件的絕對路徑 例如右圖 啟動openocd 啟動Debug,jLink+ram,Debug配置 Run-Debug configurations 雙擊zylin Embedded debug(Native) 選中生成的Debug 右側(cè)Debugger 在gdb debugger和gdb commands中分別找到arm-none-eabi-gdb.exe和stm3210e_ram_jlink.gdb 點擊Apple,啟動j-Link GDB Server Debug Run-Debug history
14、選中* Debug Resume(F8),jLink+flash,啟動j-Link GDB Server 啟動j-Link flash 設(shè)置目標(biāo)cpu:options-Project settings-cpu-device中,選擇ST STM32F103ZE 確定,指定文件 File-Open 選擇.hex可執(zhí)行文件 燒寫 Target-Auto 等待燒寫完成 運行 Target-Start application 或者按一下開發(fā)板上復(fù)位鍵,TrailBreaker,主芯片:STM32F103ZE 512K flash/64K SRAM 112 I/Os SDIO USB AD/DA I2C/
15、I2S/SPI/UART/CAN 以太網(wǎng)芯片:DM9000 音頻芯片:WM8978,固件庫簡介,該固件庫是一個函數(shù)包 它由程序、數(shù)據(jù)結(jié)構(gòu)和宏組成,包括了微控制器的所有外設(shè)的性能特征 包括每一個外設(shè)的驅(qū)動描述和應(yīng)用實例 最新版本3.4.0 外設(shè)驅(qū)動API ANSI-C標(biāo)準(zhǔn) 實時錯誤檢查 固件庫的通用性,固件庫命名規(guī)則,系統(tǒng)、源程序文件和頭文件命名都以“stm32f10 x_”作為開頭,例如:stm32f10 x_gpio.h 外設(shè)函數(shù)的命名以該外設(shè)的縮寫加下劃線開頭,每個單詞第一個字母大寫。例如:GPIO_Init,驅(qū)動函數(shù)的命名,變量定義,IO類型限定詞 _I只讀訪問 _O只寫訪問 _IO讀寫
16、訪問 數(shù)據(jù)類型舉例 int32_t有符號32位數(shù)據(jù) uint32_t無符號32位數(shù)據(jù) int16_t有符號16位數(shù)據(jù) int8_t有符號8位數(shù)據(jù),24個變量類型在“stm32f10 x.h”中定義 新舊版數(shù)據(jù)結(jié)構(gòu)對比 新版舊版 uint32_ts32 uint16_ts16 uint8_ts8 在AN2953中有詳細(xì)說明,專用數(shù)據(jù)類型,外設(shè)控制寄存器結(jié)構(gòu),舉例:GPIO,在文件“stm32f10 x.h”中,包含了所有外設(shè)控制寄存器的結(jié)構(gòu)聲明 用戶可以通過指向各外設(shè)的指針來訪問外設(shè)的控制寄存器。這些指針?biāo)赶虻臄?shù)據(jù)與各個外設(shè)的控制寄存器一一對應(yīng),舉例GPIO,外設(shè)類型定義,外設(shè)聲明,定義外設(shè)類
17、型,外設(shè)地址定義,何處定義的?,試計算GPIOA_BASE實際地址 對照內(nèi)存地址分配進(jìn)行分析,外設(shè)聲明,如果程序員需要使用外設(shè)GPIO,則必須在文件stm32f10 x_conf.h中,選擇要用的外設(shè)(去掉包含相應(yīng)頭文件那行代碼的注釋符號),固件庫目錄結(jié)構(gòu),core_cm3.h core_cm3.c stm32f10 x.h system_stm32f10 x.h system_stm32f10 x.c,stm32f10 x_ppp.h stm32f10 x_ppp.c,ADC CAN GPIO RCC RTC .,固件庫架構(gòu),CMSIS架構(gòu),固件庫的使用,在應(yīng)用程序中包含“stm32f10 x.h” 根據(jù)開發(fā)板所屬系列,在“stm32f10 x.h”中去掉注釋相應(yīng)的define 去掉stm32f10 x.h中#define USE_STDPERIPHE_DRIVER的注釋符號 在stm32f10 x_conf.h中選擇要用的外設(shè) 使用外設(shè)API來開發(fā)應(yīng)用程序,配置文件壓縮包,啟動文件 ld鏈接腳本 gdb腳本,啟動文件,一般芯片廠商會提供對應(yīng)芯片的啟動文件 主要是從減低產(chǎn)品設(shè)計周期和成本的角度考慮 startup_stm32f10 x_hd.S(
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 小區(qū)設(shè)計方案理念
- 2025年中職烹調(diào)工藝與營養(yǎng)(西式烹飪)試題及答案
- 初中三年級語文(文言精讀)2026年上學(xué)期期中測試卷
- 2025年本科土壤學(xué)(土壤檢驗技術(shù))試題及答案
- 2025年大學(xué)給排水科學(xué)與工程(給排水工程設(shè)計)試題及答案
- 2025年大學(xué)第四學(xué)年(教育學(xué))教育基礎(chǔ)綜合試題及答案
- 2025年大學(xué)語文(經(jīng)典誦讀)試題及答案
- 2025年大學(xué)護(hù)理(鼻飼工具框架)試題及答案
- 2025年高職(社區(qū)護(hù)理)家庭護(hù)理階段測試題及答案
- 九年級生物(實驗應(yīng)用)2026年上學(xué)期期末測試卷
- 羅茨鼓風(fēng)機(jī)行業(yè)發(fā)展趨勢報告
- 慢性阻塞性肺疾病患者非肺部手術(shù)麻醉及圍術(shù)期管理的專家共識
- 燈謎大全及答案1000個
- 中建辦公商業(yè)樓有限空間作業(yè)專項施工方案
- 急性胰腺炎護(hù)理查房課件ppt
- 初三數(shù)學(xué)期末試卷分析及中考復(fù)習(xí)建議課件
- GB/T 4074.8-2009繞組線試驗方法第8部分:測定漆包繞組線溫度指數(shù)的試驗方法快速法
- 第十章-孤獨癥及其遺傳學(xué)研究課件
- 人教版四年級上冊語文期末試卷(完美版)
- 防空警報系統(tǒng)設(shè)計方案
- 酒店管理用水 酒店廚房定額用水及排水量計算表分析
評論
0/150
提交評論