您好:
MCU内部RAM不足,想外扩一个RAM,向各位大神请教几个问题:
1、F28377d 外扩RAM的接口是哪个?查DATAsheet没有发现
2、外扩后在软件方面如何操作?是不是修改cmd文件,指定到外扩ram地址存储,然后就可以了
3、外扩的和内置的访问效率能差多少?
Susan Yang:
一般是通过EMIF来外扩RAM的,对此您可以查看TRM的2705页
Chapter 25External Memory Interface (EMIF)
www.ti.com/…/spruhm8i.pdf
以及相关的设计文档和使用指南
也给出了相关的示例使用说明,如
In the following example, a 512K×16 SDRAM is located connected to EMIF1 chip select zone 0 (EMIF1_CS0n). This gives it a starting address of 0x80000000.
/********************************************************************
* MyFile.cmd – linker command file
********************************************************************/
MEMORY
{
PAGE 1: /* Data Memory */
SDRAM : origin = 0x80000000, length = 0x00080000 /* 512Kx16 SDRAM */
}
SECTIONS
{
.farbss: > SDRAM, PAGE = 1
}您可以先参考一下
www.ti.com/…/spraby4.pdf
(Accessing External SDRAM on the TMS320F2837x/2807x Microcontrollers Using C/C++)
www.ti.com/…/sprac96a.pdf
Design and Usage Guidelines for the C2000™ External Memory Interface (EMIF)
mangui zhang:
参考28335等板卡的设计,采用EMIF接口外扩多个并行设备,同时只能选择一个外设,通过CS或地址译码等
配置好EMIF接口,直接通过指针进行读写操作
SRAM效率还是比较高的,将EMIF接口配置到最高时钟