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.
工具与软件:
我在自定义电路板上以 QSPI (4S)或 QSPI (1S)模式从 SDK 启动默认 SBL_QSPI.release.tiimage SBL 映像时遇到问题。
我可以使用 JTAG ok 在 CCS 上运行构建的 QSPI 测试。
我使用 uart_uniflash.py 和默认 SBL_QSPI 映像对闪存进行编程、其中具有 UART 引导 SOP0=0、SOP1=1、SOP2=1、SOP3=1的开关设置、但当我将开关设置更改为 SOP0=1、SOP1=0、SOP2=1、SOP3=1 (QSPI (1S))和下电上电时、我不会在 PC 控制台上看到"正在启动 QSPI 引导加载程序..."。 不过、使用我的示波器、我可以在从闪存器件启动时看到微控制器中存在时钟和数据线上的活动。
(1)使用 JTAG 加载的测试(使用定制电路板):
处理器= AM2634COKFHMZCZRQ1
SDK = MCU_PLUS_sdk_am263x_09_02_00_55
闪存= S25FL128SAGNFI010
CCS = 12.7.1.00001.
[Cortex_R5_0][QSPI 闪存诊断测试]正在启动...
[QSPI 闪存诊断测试]闪存制造商 ID:0x1
[QSPI 闪存诊断测试]闪存器件 ID :0x2018
[QSPI 闪存诊断测试]对第一个块执行闪存擦除...
[QSPI 闪存诊断测试]已完成!!!
[QSPI 闪存诊断测试]执行写读测试……
[QSPI 闪存诊断测试]写读测试通过!
[QSPI 闪存诊断测试]读取 SFDP 表时出现错误或闪存不支持 SFDP!!
所有测试均已通过!!
[Cortex_R5_0][QSPI 闪存传输测试]正在启动...
[QSPI 闪存传输测试]在第一个块上执行闪存擦除...
[QSPI 闪存传输测试]执行写入读取测试……
所有测试均已通过!!
(2)从 SDK 预编译中刷写默认的 SBL_QSPI.release.tiimage。 闪存和验证正常、但在 QSPI (1S)引导或 QSPI (4S)上的开关设置下电上电时控制台上没有任何内容。 我期望"正在启动 QSPI 引导加载程序..."。
C:\ti\mcu_plus_sdk_am263x_09_02_00_55\tools\boot>python uart_uniflash.py -p COM11 --cfg=default_sbl_qspi.cfg
正在解析配置文件...
正在解析配置文件...成功。 找到2个命令!!!
正在执行命令1、共2个...
找到闪存写入器...正在发送 sbl_prebuilt/am263x-lp/sbl_uart_uniflash.release.tiimage
发送了闪存写入器 sbl_prebuilt/am263x-lp/sbl_uart_uniflash.release.tiimage、大小为42129字节(在4.0s 内)。
正在执行命令2/共2个...
命令参数:--file=sbl_prebuilt/am263x-lp/sbl_qspi.release.tiimage --operation=flash --flash-offset=0x0
发送大小为227181字节的 sbl_prebuilt/am263x-lp/sbl_qspi.release.tiimage、时间为24.05s。
[status]成功!!!
执行配置文件中的所有命令!!!
尊敬的 Douglas Bolton:
感谢您发送编修。
您能否确保 SOP 引脚将定制板设置为正确/要求的引导模式?
请按照以下步骤检查 SOP 模式:
此致、
Rijohn
感谢您快速回答 Rijohn。
我按照您的说明操作、我的 SOP 开关读数正确。
Cortex_R5_0:GEL 输出:
***所有 IP 时钟均已启用***
Cortex_R5_0:AM2634
Cortex_R5_0:GEL 输出:SOP 模式= 0x00000005
Cortex_R5_0:GEL 输出:
QSPI - 1S 回退 UART 引导模式
我昨天订购并收到了 LP-AM263 Launchpad。 从闪存启动可以正常用于 LaunchPad、但无法从我的定制 PCB 启动。
通过研究原理图、我认为我的问题可能是 SOP 开关选择和我的定制 PCB 上的微器件之间缺少 tri 状态缓冲器。
RBL ROM 代码的额外速度/不同设置可能是运行诊断/传输测试和 RBL 代码之间的差异。
今天、我将尝试通过定制板破解一个缓冲器、看看它是否可以解决问题。
谢谢。
尊敬的 Rijohn:
我设法在定制 PCB 的 SOP 引脚上放置了 tri 状态缓冲器、然后使用 JTAG 和您的说明检查了引脚状态、一切都顺利。 但是、我仍然遇到同样的诊断/传输测试问题、但从闪存启动的 RBL 无法正常工作。 在 LP-AM263板上、一切正常。
然后、我比较了 LP-AM263上的实际器件和我的定制 PCB:
LP-AM263 -
S25FL128SAGNFI000
定制 PCB -
S25FL128SAGNFI010
查看数据表、发现差异似乎是-
这种差异是否就是 RBL ROM 代码无法引导的问题?
谢谢你
道格拉斯。
嗨、Douglas、
您能否完成以下步骤、并查看程序计数器的位置:
此致、
Rijohn
Rijohn、您知道是否存在不同的 S25FL128扇区大小问题?
是否是 uniflash 编程器或者 RBL 代码与闪存架构不匹配?
如果是、我将在 SOP 引脚上使用 tri 状态缓冲器重新旋转电路板、并使其与 LP-AM263完全相同的器件型号。
嗨、Douglas、
很抱歉耽误你的时间。
Rijohn、您是否知道不同的 S25FL128扇区大小可能是问题?
这不会影响它。
定制 PCB 应确保适当 加电和复位时序 如 AM263数据表中的第7.11.2.1节所述。 LP-AM263使用 SN74AVC4T245RSVR 作为 tri 状态缓冲器。
您能否确认以下事项:
1)你能看到' C' 引导模式设置为 UART 后在串行端口(波特率= 115200)中打印的字符。
2) 2)在 sbl_qspi 项目中添加了一个 loop_forever ()函数(C:\ti\mcu_plus_sdk_am263x_09_02_00_56\examples\drivers\boot\sbl_qspi\am263x-lp)、然后按照此 e2e 中 的步骤逐步执行、以准确查看程序停止的位置。
此致、
Rijohn
1)你能看到' C' 引导模式设置为 UART 后在串行端口(波特率= 115200)中打印的字符。
有
2) 2)在 sbl_qspi 项目中添加了一个 loop_forever ()函数(C:\ti\mcu_plus_sdk_am263x_09_02_00_56\examples\drivers\boot\sbl_qspi\am263x-lp)、然后按照此 e2e 中 的步骤逐步执行、以准确查看程序停止的位置。
这对于 TI Launchpad 电路板来说没问题、我可以在汇编器中逐步完成无限循环-
在我的定制电路板上、Uniflash 已编程并验证正常、但串行端口(UART 回退)上打印了字符"C"、程序计数器错误-
我已向 SOP 引脚添加了一个缓冲器、并且制造了另一个 PCB -
嗨、Douglas、
[报价 userid="615349" url="~/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1389626/am2634-sbl-qspi-boot/5344004 #5344004"]据我了解、这应该可以解决这个问题。
有关"SOP 引导模式引脚上的缓冲器"的更多见解、请参阅此 e2e
此致、
Rijohn
谢谢你。
我将在新的 PCB 上进行测试、看看这样是否可以解决该问题。