你好,我一直在尝试使用 AB_SWAP 固件进行引导加载。我没有推进生命周期或类似的事情,也没有启用安全启动。我正在闪烁一个程序库,然后使用 HSE 执行活动程序库切换。我遇到了复杂的重置原因
在尝试在银行交换机重置呼叫之前将时钟切换到FIRC之后,我一直无法使用jLink访问我的MCU。
我试过在RESET下连接、循环运行和重启电源等。是否有任何启动配置可以通过引脚将其保持在已知状态,或者出厂重置工具可以将其恢复为已知状态?
键入 " connect " 建立目标连接,'?'如需帮助
J-Link > connect
请指定设备/内核。: S32K358 _M7_0
类型 '?'对于选择对话框
设备 >
请指定目标接口:
J) JTAG(默认)
S) SWD
T) cjTag
TIF > s
指定目标接口速度 [kHz]。: 4000 kHz
速度 >
设备 " S32K358_M7_0 " 已选择。
通过 SWD 连接目标
configTargetSettings () 启动 con
figTargetSettings () 结束——花了 27us
initTarget () 启动 SDA_AP 在必要时检测到正在解锁设备...
设备未锁定。不执行解锁程序。
检查是否已启用调试访问...
调试访问尚未启用。执行启用调试访问序列...
启用调试访问
检查是否安装了 HSE 固件...
未安装 HSE 固件
检查 Cortex-M7_0 和 Cortex-M7_1 是否在锁步模式下运行
启用锁步模式
InitTarget() end - 耗时 10.0ms
找到 ID 为 0x6BA02477 的 SW-DP
DPIDR: 0x6BA02477
CoreSight SoC-400 或更早版本
跳过 AP 映射检测。找到手动配置的 AP 映射。
AP[0]:MEM-AP(IDR:未设置,ADDR:0x00000000)
AP[1]:APB-AP (IDR:未设置,ADDR:0x00000000)
AP[2]:MEM-AP (IDR:未设置,ADDR:0x00000000)
AP[3]:AHB-AP(IDR:未设置,ADDR:0x00000000)
AP[4]:AHB-AP(IDR:未设置,ADDR:0x00000000)
AP[5]:AHB-AP(IDR:未设置,ADDR:0x00000000)
AP[6]:MEM-AP(IDR:未设置,ADDR:0x00000000)
AP[7]:MEM-AP (IDR: 未设置,ADDR: 0x00000000)
AP[4]:跳过 ROMBASE 读取。用户
AP [4] 手动
设置 CorebaseAddr:Core 找到 configTargetSettings () 启动 configTargetSet
tings () 结束——花了 13us
initTarget () 启动 SDA_AP 在必要时检测到正在解锁设备...
设备未锁定。不执行解锁程序。
检查是否已启用调试访问...
调试访问尚未启用。执行启用调试访问序列......
启用调试访问
检查是否安装了 HSE 固件......
未安装 HSE 固件
检查 Cortex-M7_0 和 Cortex-M7_1 是否在锁步模式下运行
启用锁步模式
InitTarget() end - Took 20.5ms
找到 ID 为 0x6BA02477 的 SW-DP
DPIDR: 0x6BA02477
CoreSight SoC-400 或更早版本
跳过 AP 映射检测。找到手动配置的 AP 映射。
AP[0]:MEM-AP(IDR:未设置,ADDR:0x00000000)
AP[1]:APB-AP (IDR:未设置,ADDR:0x00000000)
AP[2]:MEM-AP (IDR:未设置,ADDR:0x00000000)
AP[3]:AHB-AP(IDR:未设置,ADDR:0x00000000)
AP[4]:AHB-AP(IDR:未设置,ADDR:0x00000000)
AP[5]:AHB-AP(IDR:未设置,ADDR:0x00000000)
AP[6]:MEM-AP(IDR:未设置,ADDR:0x00000000)
AP[7]:MEM-AP (IDR: 未设置,ADDR: 0x00000000)
AP[4]:跳过 ROMBASE 读取。CoreBaseAddr 由用户手动设置
AP[4]:找到核心****** 错误:读取 AIRCR 时 DAP 出错。
出现错误:无法连接到目标设备。
有关故障排除步骤,请访问: https://kb.segger.com/J-Link_Troubleshooting
J-Link>
我从同事那里得到了新消息。如果再次遇到此问题,请尝试执行以下命令:
R0
Erase
在此之前不要使用 "连接"。清除 "命令发出后,系统会要求您建立连接。然后它会擦除闪存,同时不执行任何代码。
如果不起作用,可以尝试使用 JTAG 模式代替 SWD。看来,这也能带来不同。
此致,
Lukas
澄清一下。无论是否连接 JLink,每隔 30 毫秒就会钳位一个 50us 的复位脉冲
不,此设备上没有启动配置引脚。我知道这可能是其他一些设备上的解决方法,但是 S32K3 的情况并非如此。它始终只能从内置闪存启动。
你能检查一下RESET信号吗?不是一直都在断言RESET吗?我正在主板上玩 jLink,当我在 “连接” 命令执行期间保持 RESET 状态时,我收到了完全相同的错误消息。
此致,
Lukas
这是一块定制主板,但我已经使用了几个月,所以它不是硬件问题。然后是与 SWD 连接的 J 轨迹。
无法连接到目标设备。?你用什么样的电路板来编程?