主题中讨论的其他器件: C2000WARE、 LAUNCHXL-F28379D、 TMDSCNCD28379D
您好!
我正在尝试将外部 ASRAM (ISSI IS61WV25616EDBLL-10TL)与 TMS320F28379D 连接。 我有一个根据 TI 规范构建的子板。 但是、当我运行 EMIF_ex1_16bit_asram.c 时 、没有数据写入并且 errCountGlobal = 4。 我是否可以运行任何测试来了解错误? 谢谢你。
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
我正在尝试将外部 ASRAM (ISSI IS61WV25616EDBLL-10TL)与 TMS320F28379D 连接。 我有一个根据 TI 规范构建的子板。 但是、当我运行 EMIF_ex1_16bit_asram.c 时 、没有数据写入并且 errCountGlobal = 4。 我是否可以运行任何测试来了解错误? 谢谢你。
您能否详细说明 您所指的 TI 规格?
[引用 userid="475398" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/992381/tms320f28379d-emif "]但是,当我运行 EMIF_ex1_16bit_asram.c 时 ,没有数据写入,错误计数全局= 4。[/quot]您是否自定义了 EMIF 延迟 以匹配 ASRAM 的时序要求? C2000-EMIF_ConfigurationTool.xlsx 对这一点很有帮助: ~\C2000Ware_XXXX\boards\TIDesigns\F28379D_EMIF_DC\
配置 EMIF 后、您是否能够使用存储器浏览器与任何 EMIF 位置进行交互? 如果不是、您可能需要使用示波 器观察某些 EMIF 控制信号、以查看是否存在信号完整性问题。
[报价 userid="475398" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/992381/tms320f28379d-emif "]是否可以运行任何测试来了解错误?您是否正在使用 EMIF 应用手册引用的设计? (~\C2000Ware_XXXX\boards\TIDesigns\F28379D_EMIF_DC\)
如果是 ,适当的示例将是 EMIF_dc_*示例,位于以下位置:~\C2000Ware_XXXX\device_support\f2837xd\examples\cpu1
您好!
我 使用 的是 EMIF 应用手册( ~\C2000Ware_XXXX\boards\TIDesigns\F28379D_EMIF_DC\)引用的设计。 我正在运行
通过 使用默认 延迟、EMIF_ex1_16bit_asram.c 代码。
tparam.rSetup = 0;
tparam.rStrobe = 3;
tparam.rHold = 0;
tparam.TurnArnd = 0;
tparam.wSetup = 0;
tparam.wStrobe = 1;
tparam.whold = 0;
请问 ISSI IS61WV25616EDBLL-10TL 的经销商的价值是多少? 谢谢你。
请尝试 EMIF_dc_*示例。 它们是为在 EMIF 子卡设计上运行而开发的。
另请验证软件项目和硬件是否按照应用手册中"评估板指南"表中的建议进行配置。
[引用 userid="475398" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/992381/tms320f28379d-emif/3666587 #3666587"]您能否告诉我 ISSI IS61WV25616EDBLL-10TL 的交易价值是多少?EMIF_dc_*示例预填充了包含此 ASRAM 的参考设计中使用的组件的时序。
您好!
我正在尝试简单地写入子卡上的16位 ASRAM。 我将 EMIF_dc.c 和 emif_dc.h 文件放入 EMIF_ex1_16bit_asram.c
代码如下:
######################################################################################################################
//
//包含的文件
//
#include "F28x_Project.h"
#include "EMIF_dc.h"
//
//常量
//
#define EMIF_NUM EMIF_DC_F2837X_controlCARD_EMIF_NUM
//#define buffer_words 256
//
//全局变量
//
//#pragma DATA_SECTION (dstBuffer、".EM2_CS2");
#define ASRAM_CS2_START_ADDR 0x100000
#define ASRAM_CS2_SIZE 0x8000
//函数原型
特性
MEM_READ_WRITE (uint32 start_addr、uint32 mem_size);
//extern void setup_emif1_pinmux_async_16bit (uint16);
//
//主函
//
void main (void)
{
//
//初始化系统控制:
// PLL、安全装置、启用外设时钟
//
InitSysCtrl();
Dint;
//
//将 PIE 控制寄存器初始化为默认状态。
//默认状态为禁用所有 PIE 中断和标志
//被清除。
//此函数位于 F2837xD_PIECTRL.c 文件中。
//
InitPieCtrl();
//
//禁用 CPU 中断并清除所有 CPU 中断标志:
//
EALLOW;
IER = 0x0000;
IFR = 0x0000;
EDIS;
//
//使用指向 shell 中断的指针初始化 PIE 矢量表
// GService 例程(ISR)。
//这将填充整个表,即使是中断也是如此
//在本例中未使用。 这对于调试用途很有用。w
//可以在 F2837xD_DefaultIsr.c 中找到 shell ISR 例程
//此函数可在 F2837xD_PieVect.c 中找到
//
InitPieVectTable();
//
//初始化 EMIF 模块以便与子卡一起使用
//
EALLOW;
EMIF_DC_setupPinmux (EMIF_NUM、GPIO_MUX_CPU1);
EMIF_DC_initModule (EMIF_NUM);
EMIF_DC_initCS0 (EMIF_NUM);
EMIF_DC_initCS2 (EMIF_NUM、EMIF_DC_ASRAM);
EDIS;
char c = mem_read_write (ASRAM_CS2_start_ADDR、ASRAM_CS2_size);
// setup_emif1_pinmux_async_16bit (1);
}
特性
MEM_READ_WRITE (uint32 start_addr、uint32 mem_size)
{
unsigned long mem_wds;
long *XMEM_ps;
unsigned int i;
unsigned int j;
//
//写入数据
//
XMEM_ps =(long *) start_addr;
//
//填充存储器
//
MEM_WDS = 0x12340000;
对于(i=0;i < mem_size;i++)
{
*XMEM_ps++= mem_WDS;
MEM_WDS += 0x00001000;
对于(j = 0;j < 1000;j++){};
}
返回(0);
}
如果我切换到 EMIF1、数据被写入块中、但被复位为零。 该代码 不适用于 EMIF2。 我有备用子卡、如果您想尝试代码、我可以将其发运。
桑比亚尔
我怀疑在发挥作用时仍然存在分歧。 例如、如果您参考子卡原理图、您将看到内存地址引脚只有14位(A[13:0])被映射到 EMIF 控制的地址信号。 因此、访问偏移量0x4000以外的存储器将需要基于 GPIO 的分页。
软件上、写入 EMIF_ex1_16bit_asram.c 示例是为了使用32位运算、因此存储器字计数器是32位字、而不是16位字。
Tommy
您好!
[引用 userid="475398" URL"~/support/microcontrollers/c2000/f/c2000-microcontrollers-forum/992381/tms320f28379d-emif/3677827 #3677827"]如果我切换到 EMIF1,数据将以块形式写入,但会重置为零。[/quot]当 EMIF 数据变为0时,您是否检查了 EMIF 配置? 如果由于某种原因器件被复位、那么 EMIF 数据将显示0x0、因为所有配置都丢失了。
您提到您能够正确运行 CLA 代码。 如果是、则您应该能够为 CPU 使用相同的代码。 实际上、EMIF 配置将仅是 CPU 代码的一部分。 只需添加 RD/WR 代码即可。
在本例中、我发现有点难理解这个问题。
此致、
Vivek Singh