有客戶認為Ti60F100內(nèi)部flash容量比較小,只有16Mb,需要外掛flash.這里我們提供了內(nèi)部flash和外部flash分別操作的方案。
該程序是通過SOC操作4線的外部flash和內(nèi)部flash.程序先經(jīng)過外部flash的擦除,寫入和讀出操作,再經(jīng)過外部flash的擦除,寫入和讀出操作,每次讀出后會進行數(shù)據(jù)的比較以判斷寫入和讀出的數(shù)據(jù)是否一致。
硬件方案如下:

由于使用的RSICV是softjtag操作,所以使用了兩個下載器。在硬件設(shè)計外外掛一片64Mb的flash。

外部flash管腳分配
| flash管腳 | FPGA pin | FPGA name | flash管腳 |
| Flash_cs_n | A4 | GPIOT_P_01 | CS# |
| Flash_cck | J2 | GPIOL_N_01_CCK | SCLK |
| Flash_cdi0 | H2 | GPIOL_P_03_CDI0 | SI |
| Flash_cdi1 | H1 | GPIOL_N_03_CDI1 | SO |
| Flash_cdi2 | G4 | GPIOL_P_05 | WP# |
| Flash_cdi3 | G3 | GPIOL_N_05 | HOLD#RESET# |
IO的連接方案如下:
內(nèi)flash與外部flash除片選信號分開外,對于4線flash,IO[3:2]是分開的,其余信號都是共用。SOC操作flash時,我們通過一個GPIO來控制flash的選擇

可能會有人有疑問為什么內(nèi)外flash的管腳能夠共用呢?因為內(nèi)部flash的管腳也拉到GPIO上面的原因。如下圖SSL_N,CCK,CDI0,1和都是與內(nèi)部flash相通的。

外部flash的data2,data3及cs_n的接口配置。
|
IO Configure |
ext_flash_cs_n | ext_flash_data2 | Ext_flash_data3 | ||||
| Mode | outout | inout | Inout | ||||
| I/O Standard | 1.8V lvcmos | 1.8V lvcmos | 1.8V lvcmos | ||||
| IN | OUT | OE | IN | OUT | OE | ||
| Connection Type | normal | normal | - | - | normal | - | - |
| Register Option | register | register | register | register | Register | Register | register |
| Clock Pin Name | soc_clk | soc_clk | soc_clk | soc_clk | Soc_clk | soc_clk | Soc_clk |
| Pull Option | Weak pullup | None | - | - | None | - | |
| Drive Strenght | 12mA | - | 4mA | - | - | 4mA | - |
| Enable Fast Slew Rate | - | - | - | - | - | - | - |
| IO | GPIOT_P_01 | GPIOL_P_05 | GPIOL_N_05 | ||||
添加SPI flash block,如下圖,使能Enable Register Interface, Read/Write Width設(shè)置為4。

FPGA通過GPIO來控制操作內(nèi)部與外部flash,如下圖,通過gpio_0來控制選擇內(nèi)部flash還外部flash,int_flash_select為高,表示選擇內(nèi)部flash,為低則選擇外部flash。

調(diào)試
程序經(jīng)過擦除-->寫入-->讀出操作后,內(nèi)存0x20000的數(shù)據(jù)為下圖所示。

程序經(jīng)過擦除-->寫入-->讀出操作后,內(nèi)存0x20000的數(shù)據(jù)為下圖所示。

-
FlaSh
+關(guān)注
關(guān)注
10文章
1748瀏覽量
155514
發(fā)布評論請先 登錄
采用易靈思Ti60F100的Ti60F100I3評估板詳解
stm32 HAL庫Flash該如何去操作
盛群再推Enhanced Flash MCU系列新產(chǎn)品HT68F60與HT66F60
PWD13F60 STMicroelectronics PWD13F60柵極驅(qū)動器
STM32F103:內(nèi)部Flash的讀寫
Ti60F100用片內(nèi)flash啟動RISCV程序不能成功的解決辦法
求一種Ti60F100高速IO實現(xiàn)HDMI環(huán)出方案
PCA7412F-100/PCA7412L-100/PCA7412G-100/PCA7413F-80 用戶手冊(PROM Adapter for M16C/60 Series)
易靈思Ti60F100驅(qū)動LCD屏案例
Ti60F100 內(nèi)外flash操作方案
評論