伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

STM32F1_ 外部SRAM作為運行內存

黃工的嵌入式技術圈 ? 來源:黃工的嵌入式技術圈 ? 2020-04-08 10:07 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

前言

今天總結“STM32F103外部SRAM作為運行內存”。對于運行內存應該都知道它的意思,主要是程序運行時所使用的RAM,比如我們定義的全局變量、局部變量這些在程序運行時都會在RAM中為它們開辟一片空間,用于運行時所使用。

今天提供的工程是基于前面“TIM延時”的工程修改而來,但是今天的例子是使用ST官方提供的標準庫里面“system_stm32f10x.c”文件里面現成的函數接口(使用寄存器配置),使其控制外部SRAM作為運行內存。昨天的工程使用標準庫fsmc相應的函數接口來配置的FSMC,昨天工程的目的就是為了使其大家熟悉參數信息。因此,今天單獨再提供一個工程”FSMC讀寫外部SRAM_官方配置”(就是用寄存器配置的版本),請自行下載查看和測試,效果和昨天一樣只是配置FSMC的方式不同。

如何知道運行內存是使用的內部RAM還是外部RAM呢?測試方法很簡單,就是定義一些全局變量或者局部變量,讀出其地址就知道了。因此今天提供的例程就是使用這種方法來測試的。

下載

今天提供下載的“軟件工程”都是在硬件板子上進行多次測試、并保證沒問題才上傳至360云盤,官方配置工程是和昨天做對比(FSMC配置方式不一樣)。

今天的軟件工程下載地址(360云盤):

FSMC讀寫外部SRAM_官方配置:

https://yunpan.cn/cSq3WajiZIcx8訪問密碼 30c0

外部SRAM作為運行內存:

https://yunpan.cn/cSq3n5iBTHuDc訪問密碼 4102

STM32F10x的資料可以在我360云盤下載:

https://yunpan.cn/crBUdUGdYKam2訪問密碼 ca90

內容講解

工程概要說明: 例程定義了一個全局BUF和一個局部BUF,通過對倆BUF賦值,再打印數值和對應其地址,這樣就可以檢測運行內存的地址。

提供的工程以簡單為原則,詳細中文注釋,方便自己方便大家。

關于“STM32F103 外部SRAM作為運行內存”我把重要的幾點在下面分別講述:

一、配置啟動文件

我們使用官方標準庫,拷貝標準庫FSMC例程里面的“startup_stm32f10x_hd.s”文件(工程使用103ZE,若使用互聯型芯片拷貝對應文件),替換掉我們之前工程的啟動文件,如下圖:

二、配置FSMC

我們使用官方標準庫里面“system_stm32f10x.c”文件里面現成的函數接口(使用寄存器配置)來配置FSMC,只需要打開“system_stm32f10x.c”文件里面第122行的宏“DATA_IN_ExtSRAM”,見下圖:


三、分配RAM

RAM地址的分配是由編譯器完成的,因此需要對工程進行相應配置,就是使用外部RAM,見下圖:


四、測試函數說明


該函數位于main.c文件下面;

這個函數主要就是對上面配置及整改工程的測試。定義一個全局變量和一個局部變量,通過串口打印出他們的地址就可以判斷運行內存是使用外部還是內部。

五、打印(測試)結果


看了測試函數就知道依次打印出來的數據是什么,這里我們很明顯的可以看到打印出的地址是0x6800xxxx,這里的0x6800xxxx地址數據就是外部SRAM地址(不懂的話,請看昨天的講解),說明運行內存確實是外部SRAM.

六、今天的重點

A.實際開發中請盡量使用官方標準庫里面“system_stm32f10x.c”文件里面現成的函數接口(使用寄存器配置)來配置FSMC,這樣效率高一下。或者,如果你喜歡STM32CubeMX配置的代碼風格也可以使用哪一種,關于STM32CubeMX的使用方法其實很簡單,網上也有一些使用教程,或者后期我會增加一片關于STM32CubeMX的文章。

說明

今天提供的軟件工程基于STM32F103大容量芯片,中等及小容量芯片沒有FSMC功能,自然也不能使用。其實只要適當修改工程的部分配置,STM32F1有FSCM功能的芯片都適用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • sram
    +關注

    關注

    6

    文章

    824

    瀏覽量

    117610
  • RAM
    RAM
    +關注

    關注

    8

    文章

    1399

    瀏覽量

    120871
  • STM32F10
    +關注

    關注

    0

    文章

    49

    瀏覽量

    16264
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    STM32F042x4/STM32F042x6微控制器深度解析:特性、應用與設計要點

    STM32F042x4/STM32F042x6系列微控制器集成了高性能的ARM? Cortex? - M0 32位RISC內核,最高運行頻率可達48 MHz。它擁有高速嵌入
    的頭像 發表于 03-19 17:15 ?438次閱讀

    LAT1621_STM32N6 在 PSRAM 上運行代碼的調試

    STM32N6 項目中,用戶代碼可能會比較大,此時僅用內部 SRAM 并不能滿足用代碼運行需求。那么,將代碼放置到 PSRAM 上運行也是個不錯的選擇。?客戶在開發其產品過程中,使用了
    發表于 03-11 10:44 ?0次下載

    AT32F011 SRAM應用指南

    上手。 支持型號:AT32F011 系列 1 SRAM 奇校驗檢測簡介 AT32F011 系列內置最高可達 9K 字節的片上 SRAM,起始
    發表于 03-02 11:39

    LAT1171+STM32F745 USART1 Bootloader 失敗原因分析與解決

    使用 STM32F745 進行產品開發的時候,出現了使用 STM32CubeProgramer 無法通過 USART1 Bootloader 進行程序升級的問題。為了解決客戶的問題,我在 NUCLEO-
    發表于 01-11 17:33 ?0次下載

    AT32F系列 使用DMA將數據從FLASH傳輸到SRAM

    IAR6/7,keil4/5)進行簡單修改即可。 1.3 示例使用 1) 打開 flash_to_sram 源程序,編譯后下載到實驗板 2) 實驗使用AT-START-F403A V1.0 開發板,故選擇 AT32
    發表于 12-03 16:26

    STM32WBA65I-DK1探索套件技術解析

    STMicroelectronics STM32WBA65I-DK1探索套件采用STM32WBA65RI微控制器作為完整的演示和開發平臺。該套件包括Arm^^?^^ Cortex^?^ -M33芯體(帶ARM TrustZone
    的頭像 發表于 10-16 09:51 ?757次閱讀
    <b class='flag-5'>STM32WBA65I-DK1</b>探索套件技術解析

    制作STM32F1開發板的BSP失敗的原因?

    stm32f1xx_hal_sram.c... \"no source\": Error:#5: cannot open source input file \"..\\libraries
    發表于 08-29 07:42

    STM32F10xxx參考手冊

    STM32F1XX數據手冊中文版
    發表于 07-10 16:09 ?10次下載

    STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊

    電子發燒友網站提供《STM32F3系列、STM32F4系列、STM32L4系列和STM32L4+系列Cortex-M4編程手冊.pdf》資料免費下載
    發表于 06-06 17:06 ?17次下載

    STM32F40xxx和STM32f41xx flash編程手冊

    PM0081_STM32F40xxx and STM32F41xxx單片機編程手冊
    發表于 06-06 17:02 ?5次下載

    STM32F429VGT6 ST(意法半導體) LQFP-100(14x14) 嵌入式 單片機以及規格參數,應用領域

    ### **STM32F429VGT6 規格參數** ? **1. 核心架構** ? - **CPU**: ARM Cortex-M4 內核,帶 FPU(浮點運算單元) ? - **主頻**: 最高
    的頭像 發表于 05-20 15:57 ?861次閱讀

    stm32外部供電無法運行

    stm32f103c8t6做一個項目,之前用的是STlink連接stm32通過串口打印esp8266的連接信息,能夠連接WiFi并且上報數據到云平臺,現在想將程序下載到stm32之后斷開
    發表于 05-13 16:49

    STM32N6使用SDMMC1-eMMC作為外部存儲器,地址如何配置?

    STM32N6 使用SDMMC1-eMMC作為外部存儲器(保存FSBL和app),因為eMMC不支持內存映射,那么使用
    發表于 04-28 08:02

    STM32N6使用SDMMC1-eMMC作為外部存儲器,地址如何配置?

    STM32N6 使用SDMMC1-eMMC作為外部存儲器(保存FSBL和app),因為eMMC不支持內存映射,那么使用
    發表于 04-22 11:31

    STM32F103x8 STM32F103xB單片機數據手冊

    STM32F103x8STM32F103xB單片機數據手冊
    發表于 04-14 14:55 ?8次下載