久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1690|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

基于stm32官方3.5庫文件所建立工程并做仿真

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
一. 需要準(zhǔn)備的資料及環(huán)境:

    1.STM32固件庫,我們使用的固件庫為STM32F10x_StdPeriph_Lib_V3.5.0,可在st官方下載

    2.MDK開發(fā)環(huán)境(我們使用的版本為MDK4.7A)。

二. 新建工程
    1.打開MDK ,然后選擇菜單 Project->Close Project,關(guān)掉已存在的工程!這樣整個(gè)MDK就是一個(gè)空的了,接下來我們將建立工程。
    2.在建立工程之前,建議用戶在電腦的某個(gè)目錄下面建立一個(gè)文件夾,后面所建立的工程都可以放在這個(gè)文件夾下面,這里我們建立一個(gè)文件夾為: STM32_IAP.在該文件夾下再創(chuàng)建CORE、OBJ、STM32F10x_FWLib、USER等文件夾,USER用來保存工程,CORE用來存放核心文件和啟動(dòng),OBJ是用來存放編譯過程文件以及 hex 文件,STM32F10x_FWLib 文件夾用來存放ST 官方提供的庫函數(shù)源碼文 官方提供的庫函數(shù)源碼文 官方提供的庫函數(shù)源碼文 官方提供的庫函數(shù)源碼件。

    3.點(diǎn)擊Keil的菜單:Project –>New Uvision Project ,然后將目錄定位到剛才建立的文件夾STM32_IAP之下,把工程文件保存到USER文件夾下面。工程命名為IAP-Bootloader ,點(diǎn)擊保存

   4.接下來會(huì)出現(xiàn)一個(gè)選擇Device的界面,我們選擇STM32F103C8(如果是其他芯片,請(qǐng)選擇對(duì)應(yīng)的型號(hào))。

5.彈出對(duì)話框“ Copy STM32 Startup Code to project  ….”,詢問是否添加啟動(dòng)代碼到工程中,選擇“否”,”,因?yàn)槭褂玫?ST 固件庫文件已經(jīng)包含了啟動(dòng)文件。

6.下面我們要將官方的固件庫包里的源碼文件復(fù)制到我們的工程目錄文件夾下面。

    打開官方固件庫包,定位到我們之前準(zhǔn)備好的固件庫包的目錄STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\STM32F10x_StdPeriph_Driver下面,將目錄下面的src,inc文件夾copy到我們剛才建立的STM32F10x_FWLib文件夾下面。src存放的是固件庫的.c文件,inc存放的是對(duì)應(yīng)的.h文件。

    7.將固件庫包里面相關(guān)的啟動(dòng)文件復(fù)制到我們的工程目錄CORE之下。     打開官方固件庫包,定位到目錄STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\CoreSupport下面,將文件core_cm3.c和文件core_cm3.h 復(fù)制到CORE下面去。然后定位到目錄STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x\startup\arm下面,將里面所有的文件同樣復(fù)制到CORE下面

    8.定位到目錄:STM32F10x_StdPeriph_Lib_V3.5.0\Libraries\CMSIS\CM3\DeviceSupport\ST\STM32F10x,將里面的三個(gè)文件stm32f10x.h,system_stm32f10x.c,system_stm32f10x.h,復(fù)制到我們的USER目錄之下。然后將STM32F10x_StdPeriph_Lib_V3.5.0\Project\STM32F10x_StdPeriph_Template下面的4個(gè)文件main.c,stm32f10x_conf.h,stm32f10x_it.c,stm32f10x_it.h復(fù)制到USER目錄下面。

    9.前面的步驟,我們將需要的固件庫相關(guān)文件復(fù)制到工程目錄下面,下面我們將這些文件加入我們的工程中去。右鍵點(diǎn)擊Target1,選擇Manage Components

    10.Project Targets一欄,我們將Target名字修改為IAP-Bootloader,然后在Groups一欄刪掉一個(gè),建立三個(gè)Groups:USER,CORE,FWLIB.點(diǎn)擊OK.可以看到我們的Target名字以及Groups情況。

    11.往Group里面添加我們需要的文件。我們按照步驟10的方法, 右鍵點(diǎn)擊點(diǎn)擊IAP-Bootloader,選擇選擇Manage Components.然后選擇需要添加文件的Group,這里第一步我們選擇FWLIB,然后點(diǎn)擊右邊的Add Files,定位到我們剛才建立的目錄STM32F10x_FWLib/src下面,選擇需要的文件,然后點(diǎn)擊Add,然后Close.可以看到Files列表下面包含我們添加的文件。

    12.用同樣的方法,將Groups定位到CORE和USER下面,添加需要的文件。這里我們的CORE下面需要添加的文件為core_cm3.c,startup_stm32f10x_md.s,USER目錄下面需要添加的文件為main.c,stm32f10x_it.c,system_stm32f10x.c.這樣我們需要添加的文件已經(jīng)添加到我們的工程中去了,最后點(diǎn)擊OK,回到工程主界面。

13.點(diǎn)擊魔術(shù)棒,出來一個(gè)菜單,然后點(diǎn)擊 c/c++選項(xiàng).然后點(diǎn)擊Include Paths右邊的按鈕。彈出一個(gè)添加path的對(duì)話框,然后我們將圖上面的3個(gè)目錄添加進(jìn)去。記住,keil只會(huì)在一級(jí)目錄查找,所以如果你的目錄下面還有子目錄,記得path一定要定位到最后一級(jí)子目錄。然后點(diǎn)擊OK.

14.配置一個(gè)全局的宏定義變量。按照步驟13,定位到c/c++界面,然后copy “STM32F10X_MD,USE_STDPERIPH_DRIVER”到 Define里面。這里解釋一下,如果你用的是大容量那么STM32F10X_MD修改為STM32F10X_HD,小容量修改為STM32F10X_LD。

15.配置Output選項(xiàng)。定位到Output界面,點(diǎn)擊Select Folder For Obiects...將目標(biāo)文件選擇到OBJ文件夾下。然后勾上下三個(gè)選項(xiàng)。其中Create HEX file是編譯生成hex文件,Browser Information是可以查看變量和函數(shù)定義

16..配置Debug選項(xiàng)。定位到Debug界面,選擇ST-Link Debugger(按實(shí)際用的工具選擇),勾選Use,點(diǎn)擊右邊的Setting選項(xiàng),在彈出的Cortex-MTarget Driver Setup窗口中選擇SW(按實(shí)際選擇),選擇確定。

17.配置Utilities選項(xiàng)。(1)定位到Utilities界面;(2)選擇ST-Link Debugger(按實(shí)際用的工具選擇);(3)點(diǎn)擊右邊的Setting選項(xiàng);(4)在彈出的Cortex-MTarget Driver Setup窗口按下圖紅框4選擇;(5)點(diǎn)擊下方ADD;(6)在彈出的Add Flash Programming Algorithm菜單中選擇STM32F10X Med-density Flash(按實(shí)際對(duì)應(yīng)芯片選擇);(7)選擇完后點(diǎn)擊Add;(8)選擇確定,回到上一菜單后再次選擇確定,回到主界面。

18.編寫簡(jiǎn)單main函數(shù),點(diǎn)擊進(jìn)行編譯,編譯完成后在OBJ文件夾中生成.hex文件

19.用ST Link將MCU與PC連接好后,點(diǎn)擊將.hex文件下載到MCU中。

仿真設(shè)置


在使用模擬器調(diào)試時(shí),出現(xiàn)以下錯(cuò)誤提示,導(dǎo)致不能連續(xù)運(yùn)行:

*** Error 65: Access violation at 0x40000004 : No 'write' permission

解決措施
將以下內(nèi)容保存為debug_Cortex-M_use_simulator.ini腳本文件,并根據(jù)CPU的外設(shè)地址更改map指令后面的參數(shù)。

配置選擇為初始化文件:

/* Usage: Project ==> Options for Target ==> Debug:
/====================================================================\
|  (●) Use Simulator                                                 |
|                                                                    |
+--------------------------------------------------------------------+
|                                                                    |
|  Initialization File:                                              |
|  +------------------------------------+    +-----+    +---------+  |
|  | .\debug_Cortex-M_use_simulator.ini |    | ... |    | Edit... |  |
|  +------------------------------------+    +-----+    +---------+  |
|                                                                    |
|                                                                    |
|                                                                    |
|                                                                    |
\====================================================================/
*/


// S32K1xx Series Reference Manual, Chapter 3: Memory Map
map 0x40000000,0x40080000 read write        // Peripheral
map 0x400FF000,0x40100000 read write        // GPIO controller
map 0x50000000,0x50070000 read write
map 0xA0000000,0xA0080000 read write

STM32_IAP - 副本.7z

643.89 KB, 下載次數(shù): 7, 下載積分: 黑幣 -5

評(píng)分

參與人數(shù) 1黑幣 +30 收起 理由
admin + 30 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 精品视频一区二区在线观看 | 日本福利视频免费观看 | 欧美日韩高清免费 | 精品av天堂毛片久久久借种 | 久久久蜜桃一区二区人 | 国产精品大全 | 成人二区 | 国产精品免费一区二区三区四区 | 国产成人黄色 | 欧美自拍网站 | 一区二区三区日韩 | 国产精品久久久久久久久免费相片 | 在线视频一区二区 | 一级黄色大片 | 91精品国产一区二区三区 | 国产亚洲精品久久久优势 | 九九免费在线视频 | 成人亚洲片 | 日韩精品一区二区三区在线观看 | 免费看国产片在线观看 | 久久久性 | 一区二区三区国产好 | 在线成人免费视频 | 99精品久久99久久久久 | 午夜影院在线观看 | 国产做爰| 一级片视频免费 | 亚洲啊v在线 | 国产亚洲成av人片在线观看桃 | 国产精品久久国产精品 | 一区二区三区在线免费观看 | 这里精品 | 一级黄色夫妻生活 | 在线播放一区 | 亚洲精品1区 | 国产一区二区在线免费播放 | 亚洲精品久久久久中文字幕二区 | 欧美1区2区 | 亚洲免费一区二区 | 在线观看中文字幕视频 | 天堂一区二区三区四区 |