有客戶認為Ti60F100內部flash容量比較小,只有16Mb,需要外掛flash.這里我們提供了內部flash和外部flash分別操作的方案。
該程序是通過SOC操作4線的外部flash和內部flash.程序先經過外部flash的擦除,寫入和讀出操作,再經過外部flash的擦除,寫入和讀出操作,每次讀出后會進行數據的比較以判斷寫入和讀出的數據是否一致。
硬件方案如下:
由于使用的RSICV是softjtag操作,所以使用了兩個下載器。在硬件設計外外掛一片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的連接方案如下:
內flash與外部flash除片選信號分開外,對于4線flash,IO[3:2]是分開的,其余信號都是共用。SOC操作flash時,我們通過一個GPIO來控制flash的選擇
可能會有人有疑問為什么內外flash的管腳能夠共用呢?因為內部flash的管腳也拉到GPIO上面的原因。如下圖SSL_N,CCK,CDI0,1和都是與內部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設置為4。
FPGA通過GPIO來控制操作內部與外部flash,如下圖,通過gpio_0來控制選擇內部flash還外部flash,int_flash_select為高,表示選擇內部flash,為低則選擇外部flash。
調試
程序經過擦除-->寫入-->讀出操作后,內存0x20000的數據為下圖所示。
程序經過擦除-->寫入-->讀出操作后,內存0x20000的數據為下圖所示。
-
FlaSh
+關注
關注
10文章
1642瀏覽量
148681
發布評論請先 登錄
相關推薦
采用易靈思Ti60F100的Ti60F100I3評估板詳解
![采用易靈思<b class='flag-5'>Ti60F100</b>的<b class='flag-5'>Ti60F100</b>I3評估板詳解](https://file1.elecfans.com/web3/M00/06/F0/wKgZO2eQw9WAaqzCAAAY987apwI924.jpg)
![](https://file1.elecfans.com/web2/M00/88/F6/wKgaomR3H1-AaPFUAAGipRJsS_4616.png)
![](https://file1.elecfans.com/web2/M00/88/F6/wKgaomR3H1-APXHvAAFGkESyVyQ323.png)
stm32 HAL庫Flash該如何去操作
盛群再推Enhanced Flash MCU系列新產品HT68F60與HT66F60
PWD13F60 STMicroelectronics PWD13F60柵極驅動器
STM32F103:內部Flash的讀寫
![STM32<b class='flag-5'>F</b>103:內部<b class='flag-5'>Flash</b>的讀寫](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
Ti60F100用片內flash啟動RISCV程序不能成功的解決辦法
![<b class='flag-5'>Ti60F100</b>用片內<b class='flag-5'>flash</b>啟動RISCV程序不能成功的解決辦法](https://file1.elecfans.com//web2/M00/99/16/wKgaomTnYu6ABTYEAAB2RZrf7gk546.png)
PCA7412F-100/PCA7412L-100/PCA7412G-100/PCA7413F-80 用戶手冊(PROM Adapter for M16C/60 Series)
![PCA7412<b class='flag-5'>F-100</b>/PCA7412L-<b class='flag-5'>100</b>/PCA7412G-<b class='flag-5'>100</b>/PCA7413<b class='flag-5'>F</b>-80 用戶手冊(PROM Adapter for M16C/<b class='flag-5'>60</b> Series)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
易靈思Ti60F100驅動LCD屏案例
![易靈思<b class='flag-5'>Ti60F100</b>驅動LCD屏案例](https://file1.elecfans.com/web2/M00/8C/5D/wKgaomSrh6GAXclhAAAL9RjrNE0633.png)
評論