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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3459|回復: 0
打印 上一主題 下一主題
收起左側

STM32從內部RAM啟動編譯設置

[復制鏈接]
跳轉到指定樓層
樓主
搞了幾天,終于從內部RAM啟動了,我借用了網上一篇文章,在此向原作者致敬。
原作的設置,不完全適用我的環境,我作了一些改動。
本文基礎是原作者的,也加入了我的設置。
文中的圖片,沒能貼上來,我把本文一并壓縮,可以下載打開看個仔細。


STM32內部RAM在線調試配置方法及詳細說明
寫在前面
本文主要講述的內容:基于Keil開發工具下,STM32內部RAM在線調試配置方法,以及每一項配置的詳細說明。
讓程序運行在RAM中調試代碼有兩優點:1.速度快;2.減少對芯片FLASH讀寫次數,增加芯片壽命。
本文基于ST公司Cortex-M內核的STM32來講述其配置方法,其實也適用于其他公司(如:TI、NXP等)的Cortex-M芯片,原理都是一樣的。
第二點在本文中的作用也很大,就是使用了中斷功能。由于RAM調試會牽涉到向量表,中斷功能就會使用到向量表,如果沒有配置正確,這里就不會響應中斷,或者出錯。
RAM調試配置方法
本節主要講述配置方法的過程,為什么這么配置,以及配置的原理將會在下一章節講述。
1.修改內存地址
打開目標配置:Project -> Options for Target -> Target或“工程目標配置”點擊快捷按鈕。
將ROM和RAM地址映射到如下圖地址。
我們使用STM32F103ZE芯片,該芯片的RAM大小為0x10000即64KB,我們這里平分RAM,即各自的大小為0x5000。
注意:配置的地址范圍不能超過芯片實際的大小。


2.配置向量表
同上,打開目標配置:Project -> Options for Target -> C/C++,使用宏定義VECT_TAB_SRAM。如下圖:


這里的宏定義是為了讓向量表指向RAM(我們默認是指向ROM),重要的一個目的就是讓中斷向量表指向RAM,上面“代碼功能”中斷的意義就是為了驗證向量表的正確性。

注意:這里的宏定義是在工具鏈中配置的,多個宏定義之間需要有“逗號”隔離開來。

其實這里的宏定義配置也可以在源代碼中實現,打開system_stm32f10x.c文件下第127行的“VECT_TAB_SRAM”宏定義,如下圖:

3.調試配置
同上:Project -> Options for Target -> Debug, 這里是關于調試的配置。
第一步:去掉“Load Application at Startup”前面的勾選項
導入RAM初始化文件。

RAM初始化文件里面內容如下:
FUNC void Setup (void) {
SP = _RDWORD(0x20000000);
PC = _RDWORD(0x20000004);
_WDWORD(0xE000ED08, 0x20000000);
}

LOAD Objects\ExecutableFile.axf INCREMENTAL
Setup();
g, main

每一條語句具體意思請見源代碼注釋,這里提示的是Objects\ExecutableFile.axf

也就是輸出路徑和輸出文件名,它的路徑與文件名與你工程配置需對應。
第二步:調試不更新目標程序
同上:Project -> Options for Target -> Utilities,不勾選“更新”。意思就是在線調試時,不更新芯片(下載FLASH)程序。


第三步:改右邊上RAM for algonthm  改右邊下Start: (同修改內存地址
單選“Do not Erase”



第四步:
在LinKer 中,不勾Use Memory Layoutfrom Target Dialog(才能改)
改R/O Base= 0x2000 0000  R/W Base=0x20005000(同修改內存地址
勾上Use Memory Layout from Target Dialog(不再改了)


至此,STM32內部RAM在線調試配置方法就完成了,連接開發板,重新編譯后,跳線設置BOOT0=1 ,BOOT1=0 ,就可以使用RAM在線調試代碼了
試驗結果:
1、只能在調試環境中使用,非調試環境,無論BOOT如何設置,都不能運行RAM。
2、不斷電,下次進入本例程調試環境,依然可以運行,不需要再寫入,說明程序在內存中。
(原來寫在FLASH中的程序不使用20000000-20005000這一段,避免破壞本程序)

8. 蜂鳴器RAM.7z (384.79 KB, 下載次數: 7)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日本三级在线视频 | 国产午夜视频 | 久久精品一区二区 | 久久亚洲欧美日韩精品专区 | 888久久久 | 国产一区二 | 中文在线视频 | 91中文字幕在线观看 | 蜜桃毛片 | 爱操av | 久久久久电影 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 国产激情在线播放 | 亚洲午夜久久久 | 伊大人久久 | 综合色久| 久久久国产精品一区 | 国产精品美女久久久久久免费 | 日韩在线不卡视频 | 日韩免费网站 | 中日字幕大片在线播放 | 欧美在线一区二区三区 | 中文字幕成人在线 | 中文字幕日韩一区二区 | 欧美一级黄色片免费观看 | 999www视频免费观看 | 国产精品精品3d动漫 | 国产欧美在线观看 | www.国产.com | 精品1区2区| 午夜免费视频 | 91av视频在线观看 | 亚洲精品久久嫩草网站秘色 | 国产精品日韩欧美一区二区三区 | 九色国产 | 亚洲免费视频一区 | 欧洲毛片| 成人精品一区二区三区 | 国产视频福利 | 国产日韩欧美一区 | 国产高清一区二区三区 |