Thread 中讨论的其他器件:UNIFLASH、 SYSCONFIG
工具/软件:
嘿、专家、
我有一个有关刷写定制电路板的问题。
作为使用 IS25LX064的闪存 iam (与 eval 板相同、只是带有64MB RAM 而不是256MB)
作为 SW、我要使用:
CCS 12.8.1.00005
SDK 10_00_00_35
Uniflash 8.1.4983
首先我阅读本指南: https://software-dl.ti.com/mcu-plus-sdk/esd/AM263PX/latest/exports/docs/api_guide_am263px/CUSTOM_FLASH_SUPPORT_GUIDE.html 并运行 ospi 闪存诊断示例、输出如下:
Cortex_R5_0][OSPI 闪存诊断测试]正在启动...
[OSPI 闪存诊断测试]闪存制造商 ID:0x9D
[OSPI 闪存诊断测试]闪存器件 ID :0x5A17
[OSPI 闪存诊断测试]在第一个块上执行闪存擦除...
[OSPI 闪存诊断测试]已完成!!
[OSPI 闪存诊断测试]执行读写测试...
[OSPI 闪存诊断测试]读写测试通过!
[QSPI 闪存诊断测试] SFDP 信息:
============================================
SFDP
============================================
SFDP 主要修订版 :0x1
SFDP 次要版本 :0x9
此表中的参数标题数:3.
此闪存中其他参数表的类型
--------------------------------------------------------
4字节寻址模式指令表
NOR SPI 配置文件表
闪存的 JSON 数据:
{
"flashSize":8388608,
"flashPageSize":256、
"flashManfId":"0x9D"、
"flashDeviceId":"0x5A17"、
"flashBlockSize":131072、
"flashSectorSize":4096、
"cmdBlockErase3B":"0xD8"、
"cmdBlockErase4B":"0xDC"、
"cmdSectorErase3B":"0x20"、
"cmdSectorErase4B":"0x21"、
"原型":{
"P111":{
"isDtr":false、
"cmdRd":"0x03"、
"cmdWr":"0x02"、
"modeClksCmd":0、
"modeClksRd":0、
"dummyClksCmd":0、
"dummyClksRd":0、
"enableType":"0"、
"enableSeq":"0x00"、
"dummyCfg":null、
"protocfg":null、
"strDtrCfg":空
}、
"P112":空、
"P114":空、
"P118":{
"isDtr":false、
"cmdRd":"0x7C"、
"cmdWr":"0x84"、
"modeClksCmd":0、
"modeClksRd":1、
"dummyClksCmd":0、
"dummyClksRd":7、
"enableType":"0"、
"enableSeq":"0x00"、
"dummyCfg":null、
"protocfg":null、
"strDtrCfg":空
}、
"p444s":空、
"p444d":空、
"p888s":空、
"p888d":{
"isDtr":false、
"cmdRd":"0x0B"、
"cmdWr":"0x12"、
"modeClksCmd":0、
"modeClksRd":0、
"dummyClksCmd":8、
"dummyClksRd":32,
"enableType":"0"、
"enableSeq":"0x00"、
"dummyCfg":{
"isAddrReg":错误、
"cmdRegRd":"0x00"、
"cmdRegWr":"0x00"、
"cfgReg":"0x00000000"、
"移位":0、
"Mask":"0x00"、
BitP":31
}、
"protocfg":{
"isAddrReg":错误、
"cmdRegRd":"0x00"、
"cmdRegWr":"0x00"、
"cfgReg":"0x00000000"、
"shift":0、
"Mask":"0x00"、
"BitP":0
}、
"strDtrCfg":{
"isAddrReg":错误、
"cmdRegRd":"0x00"、
"cmdRegWr":"0x00"、
"cfgReg":"0x00000000"、
"shift":0、
"Mask":"0x00"、
"BitP":0
}
}、
"pCustom (pCustom)":{
"fxn":空
}
}、
"addrByteSupport":"1"、
"fourByteAddrEnSeq":"0x22"、
"cmdExtType":"repeat"、
"ResetType":"0x30"、
"deviceBusyType":"0"、
"cmdWren":"0x06"、
"cmdRdsr":"0x05"、
"srWip": 0、
"srWel": 0、
"cmdChipErase":"0xC7"、
"rdIdSettings":{
"cmd":"0x9F"、
"numBytes":5、
"dummy4":0、
"dummy8":0
}、
"xspiWipRdCmd":"0x00"、
"xspiWipReg":"0x00000000"、
"xspiWipBit":0、
"flashDeviceBusyTimeout":20000000、
"flashPageProgTimeout":120
}
所有测试均已通过!!
我得出结论、我的闪存连接正确吗?
我想知道为什么这与 SDK 中提供的 Jason 数据不同(请参阅随附的文件)。
之后我获取了 flasher_JTAG_uniflash_am263px-LP 示例、调整了 SysConfig 中的引脚排列并更改了闪存设置(只是 ID 和大小、如果我更改了其他参数、它将不再起作用)
然后、我选择了 Uniflashtool,选择了 cosum flasher 并具有我所改编的 lasher_JTAG_uniflash_am263px-LP 示例的正确路径、并刷写了修改后的 sbl_ospi 和我的应用程序:
在这里、我不确定外部闪存位于哪个地址的定义。 我只是拿了我在 am263p-cc 评估板上测试时使用的地址。
当我加载文件时、unifflash 表示可以刷新:
但当我尝试读取地址0x60000000处的存储器时、只有0。 这里没有任何内容。
有什么想法,我做错了?
此致
Marcel