eclipse建立stm項目指南_第1頁
eclipse建立stm項目指南_第2頁
eclipse建立stm項目指南_第3頁
eclipse建立stm項目指南_第4頁
eclipse建立stm項目指南_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、Eclipse環(huán)境設(shè)置指南Tips: 其實固件庫就有最好的項目模板本文前提是設(shè)置好了eclipse的cdt和gunarm插件, 并且安裝了交叉編譯器且添加進PATH了, 還有機器安裝了jre.已經(jīng)打包好了三個版本的eclipse我做的幾個例子要去掉LibrariesCMSISCM3DeviceSupportSTSTM32F10xsystem_stm32f10x.c和user目錄下的重復(fù)了先選擇全部配置然后確認匯編工具和gcc工具, 都是arm-none-eabi-gccgcc的預(yù)編譯選項設(shè)置幾個macro這里提示一下啊用st的固件庫就必須加USE_STDPERIPH_DRIVER內(nèi)存調(diào)試可以加

2、VECT_TAB_SRAM來重定位向量表(其實jlink初始化里面也有這個功能)添加DEBUG_INRAM, USE_STM3210C_EVAL等自定義的宏根據(jù)器件的不同選擇STM32F10X_CLSTM32F10X_HDSTM32F10X_HD_VLSTM32F10X_MDSTM32F10X_MD_VLSTM32F10X_LDSTM32F10X_LD_VLSTM32F10X_XL例如STM32F103ZEstartup_stm32f10x_cl.s 互聯(lián)型的器件,STM32F105xx,STM32F107xxstartup_stm32f10x_hd.s 大容量的STM32F101xx,STM

3、32F102xx,STM32F103xxstartup_stm32f10x_hd_vl.s 大容量的STM32F100xxstartup_stm32f10x_ld.s 小容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_ld_vl.s 小容量的STM32F100xxstartup_stm32f10x_md.s 中容量的STM32F101xx,STM32F102xx,STM32F103xxstartup_stm32f10x_md_vl.s 中容量的STM32F100xxstartup_stm32f10x_xl.s FLASH在512K

4、到1024K字節(jié)的STM32F101xx,STM32F102xx,STM32F103xx固件庫中的Release_Notes_for_STM32F10x_CMSIS.html寫到:STM32F10x CMSIS Startup files: startup_stm32f10x_xx.s · Add new startup files for STM32 Low-density Value line devices: startup_stm32f10x_ld_vl.s · Add new startup files for STM32 Medium-density Value

5、 line devices: startup_stm32f10x_md_vl.s · SystemInit() function is called from startup file (startup_stm32f10x_xx.s) before to branch to application main.To reconfigure the default setting of SystemInit() function, refer to system_stm32f10x.c file · GNU startup file for Low density device

6、s (startup_stm32f10x_ld.s) is updated to fix compilation errors.添加固件庫的include文件夾設(shè)置優(yōu)化級別(有的人勾了后面兩項,我一直都不勾)然后指定鏈接文件, 目前從yagarto大俠給的例子提取了這幾個gcc_flash_arm.ldgcc_ram_arm.ldstm32f107xc_flash.ldstm32f107xc_ram.ldstm32f103xe_flash.ldstm32f103xe_ram.ld這些配合大俠給的vectors_stm32f10x_cl.c和crt.c肯定能用更直接的辦法是: 啟動文件還可以在固

7、件庫中工程模板中提取,在STM32F10x_StdPeriph_Lib_VProjectSTM32F10x_StdPeriph_TemplateTrueSTUDIO比如STM32F103ZET6就選擇STM3210E-EVAL文件下的stm32_flash.ld, 啟動文件就對應(yīng)固件庫的startup_stm32f10x_hd.S, 注意要把擴展名改為大S, 可以用固件庫的, 不放心還可以用例子里面的嘛工程模板在STM32F10x_StdPeriph_Lib_VProjectSTM32F10x_StdPeriph_ExamplesLinker這里"Do not use standar

8、d start files" was checked and shouldn't have been"Remove unused sections" wasn't checked and should have been然后設(shè)置鏈接庫編譯器需要gcc庫. 如果把固件庫編譯成靜態(tài)庫, 那么就要添加自己的libstm32庫這里勾選cross 并填寫-u Reset_Handler -with-newlib.再一次提醒:如果用固件庫模板的linker文件(來自固件庫的STM32F10x_StdPeriph_Template),根據(jù)linker文件的來源不

9、同應(yīng)該選不同的startup文件,選中特定的CPU版本的改為大寫S里面都是flash調(diào)試鏈接腳本,直接把鏈接到FLASH的字段鏈接到RAM就可以(腳本里面替換)得到ram版本的Yagarto大蝦的鏈接文件是配合他給出的啟動文件(2個),比較簡明而已。所以不要改固件庫的s文件為S尾綴。調(diào)試先要打開jlink gdb-server, 并且給板子上電這里貼出我的一個例子的調(diào)試設(shè)置截圖Main tab選定elf文件,并且設(shè)置launcher不勾選remote target對于stm32而言, yagarto大蝦說了, 要填寫兩個地方, 并且不要選runtime option把大蝦給的例子里面的分別填進去就ok大體上run commands類似這樣, 不過我覺得一個break就好了吧進入調(diào)試狀態(tài)這時候gdb-server狀態(tài)稍微變了這個時候斷點在reset handler, 或者main,F5/F6進行單步調(diào)試然后是stm32庫的編譯添加固件庫文件輸出rel

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論