“线程”中讨论的其它部件:OMAP-L138, AM1810
我们使用 了处理器 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