基於RT1052 Aworks 內存擴容記錄(一)
- 2021 年 8 月 21 日
- 筆記
- Awroks, rt1052, RT1052 Aworks 開發
本文主要是通過遷移的思維,記錄本人初次使用周立功的Aworks框架進行BSP開發
1. 首先閱讀原理圖
內存容量由32M擴容至64M。
2. 再則比較兩顆芯片的參數
通過比較32M和64M SDRAM的數據手冊,其行地址線不變,數據位寬不變,列地址線多了一根。
在相同的頻率下,關鍵參數兼容。
3. 查找Aworks初始化DDR參數的位置
在工程裏面找到flexram_config_for_armcc.S 文件提供了初始化DDR參數的函數接口,通過閱讀DDR初始化的彙編函數。
配置總的SDRAM容量大小:
ldr r0, = 0x8000001B
str r0, [r1], #4
*(0x402F0010) = 0x8000001B 32M
New: *(0x402F0010) = 0x8000001D 64M
參考芯片手冊進行修該:
配置列地址線的位數:
ldr r0, = 0x00000F31
ldr r1, = 0x402F0040
str r0, [r1], #4
老配置:
*(0x402F0040) = 0x00000F31
CL=3
COL=9BIT
BL=8
Port size = 16
新配置:
New: *(0x402F0040) = 0x00000E31
CL=3
COL=10BIT
BL=8
Port size = 16
參考芯片手冊進行修改:
4. 適配sct文件
在easy_arm_rt1052_flexspi_flash.sct文件當中多出來的32M內存,
HEAP_SIZE 增加27M, VRAM_SIZE增加5M,如下所示:
在easy_arm_rt1052_sdram.sct文件當中多出來的32M內存,
HEAP_SIZE 增加27M, VRAM_SIZE增加5M,如下所示:
5. 支持SDRAM 在線調試
為了支持SDRAM調試,需要修該其在線調試的ini文件如下所示:
在easy_arm_rt1052_sdram.ini會調用 easy_arm_rt1052_common.ini的函數。
Index: easy_arm_rt1052_common.ini
===================================================================
--- easy_arm_rt1052_common.ini (revision 1)
+++ easy_arm_rt1052_common.ini (working copy)
@@ -131,8 +131,8 @@
_WDWORD(0x402F0000, 0x10000004);
_WDWORD(0x402F0008, 0x00030524);
_WDWORD(0x402F000C, 0x06030524);
- _WDWORD(0x402F0010, 0x8000001B);
- _WDWORD(0x402F0040, 0x00000F31);
+ _WDWORD(0x402F0010, 0x8000001D);
+ _WDWORD(0x402F0040, 0x00000E31);
_WDWORD(0x402F0044, 0x00652922);
_WDWORD(0x402F0048, 0x00010920);
_WDWORD(0x402F004C, 0x50210A08);
6.如何測試
可以使用SDK自帶的測試樣例demo_sdram.c 測試日記如下所示:
AWorks for i.MX RT1050, build Oct 15 2020
AWorks SDK Version is 2.1.0 <2020-04-20>
use panel: tft_panel 0 (480 x 272 16 bpp)
current time: 1970-01-01 05:18:01
P/IP i|AWorks->>> nitializing
Hostname set to AWorks
TCP/IP initialized
netif: add 0 <eth0>, (default)
Application Start.
demo_sdram test...
test_sdram_write:246.15 MB/s
test_sdram_read:90.14 MB/s
test sdram success
test_sdram_read:90.14 MB/s
test sdram success
test_sdram_read:90.14 MB/s
test sdram success
test_sdram_read:90.14 MB/s
test sdram success
test_sdram_read:90.14 MB/s
test sdram success
```</eth0>