close

FSMC使用之外擴RAM的妙用

FSMC使用之外擴RAM的妙用 作者:liklon時間:2013-10-23來源:電子產品世界 在STM32上跑UCOS_II和UCGUI時,要想讓屏幕穩定不閃,顯示效果多樣化,而且分配給每個任務的堆棧空間足夠,STM32內部的RAM肯定是不足的。最好的方法就是配置FSMC使內部RAM作為堆棧使用,而外部RAM作為變量存儲和UCOS_II的任務堆棧。現在介紹FSMC以及如何配置,並寫出啟動文件中需要修改的地方。

本文引用地址:http://www.eepw.com.cn/article/182411.htm

FSMC簡介

為什麼可以利用FSMC來使用外部RAM呢,先瞭解一下STM32裡的FSMC。大容量且引腳數在100腳以上的STM32F103芯片都帶有FSMC接口。FSMC是靈活的靜態存儲控制器,能夠與同步或異步存儲器和16位PC存儲器卡接口,STM32的FSMC接口支持包括SRAM、NAND FLASH、NOR FLASH和PSRAM等存儲器。FSMC框圖:

FSMC管理1 GB的映射地址空間。該空間劃分為4個大小為256 MB的BANK,每個BANK又劃分為4個64 MB的子BANK,FSMC的2個控制器管理的映射地址空間不同。NOR Flash控制器管理第1個BANK,NAND/PC Card控制器管理第2~4個BANK。如圖是FSMC的存儲空間地址映射:

這次的重點是用上外部的RAM,所以隻介紹Bank1。STM32的FSMC存儲塊1被分為4個區,每個區管理64M字節空間,每個區都滴雞精比較有獨立的寄存器對連接的存儲器進行配置。Bank1的256M字節空間由28根地址先尋址。當Bank1接的是16位寬的設備,HADDR[25:1]- FSMC[24:0]。當Bank1接的是8為寬度存儲器的時候:HADDR[25:0]- FSMC[25:0]。

對FSMC的基本信息介紹就是上面這幾點,重點是關註每一個區的地址范圍。因為在下面的內容會用到。

FSMC配置

根據此原理圖進行配置:

如圖是以FSMC的BANK1區域3來控制IS63WV51216這個1M字節容量的SRAM芯片。開始配置FSMC,現在是利用FSMC來操作外部SRAM。所以在選擇存儲器類型時就選擇SRAM。上圖可以懷孕滴雞精看出地址總線和數據總線是分開的,所以配置的時候選擇不復用總線。也要註意的是芯片的數據寬度是16位。在配置完成後使能控制塊就可以瞭。如下是配置代碼

LDR R0,= 0x00000114

LDR R1,= 0x40021014

STR R0,[R1] ;使能FSMC時鐘

LDR R0, =0X000001E0

LDR R1, =0X40021018

STR R0,[R1] ;GPIOD,GPIOE,GPIOF,GPIOG時鐘使能

LDR R0,= 0x44BB44BB

LDR R1,= 0x40011400

STR R0,[R1]

LDR R0,= 0xBBBBBBBB

LDR R1,= 0x40011404

STR R0,[R1] ;配置GPIOD

LDR R0,= 0xB44444BB
燕窩功效

LDR R1,= 0x40011800

STR R0,[R1]

LDR R0,= 0xBBBBBBBB

LDR R1,= 0x40011804

STR R0,[R1] ;配置GPIOE

LDR R0,= 0x44BBBBBB

LDR R1,= 0x40011C00
雞精何時喝

STR R0,[R1]

LDR R0,= 0xBBBB4444

LDR R1,= 0x40011C04

STR R0,[R1] ;配置GPIOF

LDR R0,= 0x44BBBBBB

LDR R1,= 0x40012000

STR R0,[R1]
滴雞精團購

LDR R0,= 0x44444B44

LDR R1,= 0x40012004

STR R0,[R1] ;配置GPIOG

存儲器相關文章:存儲器原理

台灣電動床工廠 電動床

台灣電動床工廠 電動床

AUGI SPORTS|重機車靴|重機車靴推薦|重機專用車靴|重機防摔鞋|重機防摔鞋推薦|重機防摔鞋

AUGI SPORTS|augisports|racing boots|urban boots|motorcycle boots

arrow
arrow
    創作者介紹
    創作者 uda326p4t8 的頭像
    uda326p4t8

    紅土的網購推薦

    uda326p4t8 發表在 痞客邦 留言(0) 人氣()