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.

[参考译文] TMS320C6748:擦除 SPI 闪存失败

Guru**** 665180 points
Other Parts Discussed in Thread: OMAP-L138, AM1810
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1079191/tms320c6748-erasing-spi-flash-failed

部件号:TMS320C6748
“线程”中讨论的其它部件:OMAP-L138AM1810

我们使用  了处理器 P/N:TMS320C6748EZWTA3,并尝试 通过连接仿真器和 SPI 编写器写入 SPI 闪存(SPI 或闪存设备 P/N:MT25QL128ABA1EW9-0SIT),我们收到了以下错误:

启动 OMAP-L138 SPIWriter。
您是否会写 UBL 图像? (y 或 y)
N
输入应用程序文件名(输入“无”可跳过):
C:\SecureOut.bin
   INFO:文件读取完成。
   错误:擦除 SPI 失败。
SPI 闪存失败!   

我们 根据闪存设备更新了“device_SPI.c”(路径 OMAP-L138_FlashAndBootUtils_2_36\OMAP-L138\Common\src),如下所述

const UINT32 device_SPI_baseAddr[SPI_Peripheral_CNT]=

(UINT32) SPI0,
(UINT32) SPI1
};

const SPI_ConfigObj device_SPI_config =

1,//极性
0,//相位
10,//预校准
8 // charLen
};

//将 SPI config 设置为 NULL 以使用 SPI 驱动程序默认值
//SPI_ConfigHandle const hDEVICE_SPI_CONFIG =空;
SPI_ConfigHandle const hDEVICE_SPI_CONFIG =(SPI_ConfigHandle)&DEVICE_SPI_CONFIG;

const SPI_MEM_ParametersObj device_SPI_MEM_params =

SPI_MEM_TYPE_FLASH,
24,// addrWidth
256,//页面大小
#ifdef AM1810
4096,// sectorSize
#else
0,// sectorSize
#endif
64*1024,//块大小
16*1024*1024 //内存大小
};

//将 mem 参数设置为 NULL 以强制自动检测
//SPI_MEM_PARAMSHandle Const hDEVICE_SPI_MEM_Params =空;
SPI_MEM_PARAMSHandle Const hDEVICE_SPI_MEM_params =(SPI_MEM_PARAMSHandle)&DEVICE_SPI_MEM_params;

调试时发现以下问题

hSPIMEMInfo 变量显示在调试器中,CCS 无法在特定地址处读取。 因此问题是,它不会进入“擦除和编程”部分,因为它总是会出现在:

否则,如果(hSPIMemInfo->hMemParams->memType == SPI_MEM_TYPE_FLASH)

SPIWriter_DSP.cmd 中提到以下内容

堆栈0x00000800 /*堆栈大小*/
堆0x00000800 /*堆大小*/

内存

L2RAM org=0x1800000 len=0x00040000 /* DSP L2 RAM */
DRAM org=0xC0000000 len=0x04000000 /* SDRAM */
shared_RAM org=0x8000000 len=0x00020000 /* DDR for program */
AEMIF org=0x60000000 len=0x02000000 /* AEMIF CS2地区*/
AEMIF_CS3 ORG=0x62000000 len=0x02000000 /* AECS3 MIF 地区*/
}

章节

文本:

}> SHARD_RAM
科斯特:

}> SHARD_RAM
BSS:

}> SHARD_RAM
截至:

}> SHARD_RAM
堆栈:

}> SHARD_RAM
数据:

}> SHARD_RAM
电影:

}> SHARD_RAM
sysmem:

}> SHARD_RAM
首席信息官:

}> SHARD_RAM
切换:

}> SHARD_RAM

aemif_mem

。 += 0x1000;
}负载= AEMIF,填充=0x00000000,类型=DSECT,启动(_NORStart)

{\f2 .exam}

。 =0x04000000;
} load = DRAM,fill = 0x00000000,type=DSECT,start (_external_RAM_start),end (_external_RAM_end), 大小(_external_RAM_Size)
}

请建议如何解决此问题

此致,

普拉塔普 V C

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好,

    很抱歉, TI 已停止支持 基于 TI-RTOS 的裸机软件开发 C6748。 请参阅 公告 并在此处找到综合资源。

    此致,

    建中