我有SPC56EL70的DPM配置。我最初在调试器连接到目标时遇到了一些麻烦(可以在LSM中正常连接。)问题与不清除LSM_DPMB位有关。 Erwan发现这个常见问题解答给我留下了一些非常好的面包屑:
https://www.pls-mc.com/microcontroller-faqs/faqs-a-1291.html?sh8=bHNt
使用PLS-UDE v4.8:
1)使用已知的工作LSM模式配置连接到目标。
2)打开FLASH / OTP存储器编程工具
3)从Memory Device下拉列表中选择'SHADOW FLASH'并选中'Enable'进行连接,然后选择Exit。
4)打开一个内存窗口并导航到BIU4地址,即0x00FF_FE10
5)将地址值更改为FFBF_FFFF,该字段将显示为红色,表示它不匹配。
6)再次打开FLASH / OTP存储器编程工具,注意启用Program All按钮,然后编程并验证。
7)关闭处理器
电源并重新启动。使用DPM配置/工作区重新连接,您应该能够连接到目标。从“文件”菜单中选择“加载程序”时,应该同时具有Core0和Core1二进制文件/符号。
我按照这些步骤成功地连接和dataload。在我阅读参考手册时,我不知道我所做的是否正确(即使它确实连接),位0x0040_0000不是用户选项表中描述的LSM_DPMB位。第9位,而不是第22位应该切换
LSM_DPMB。
也许BIU4地址与用户选项位的映射不同?我不知道。这似乎很深奥。问题:
我遇到的问题是,当我调试时,程序卡在SPCSetRunMode()中等待ME.IS.R!= 0U。如果我从目标断开并重置,则程序在不调试时运行。但是,我的main_core1()例程从未启动过。我的猜测是我没有正确配置调试,或者存在PLS - .wsx对齐问题。有人有一个wsx和一个小DPM helloworld吗?
以上来自于谷歌翻译
以下为原文
I have a DPM configura
tion for SPC56EL70. I initially had some trouble getting the debugger to connect to the target ( could connect fine in LSM.) The problem had to do with not clearing the LSM_DPMB bit. Erwan found this FAQ which left me some really good bread crumbs:
https://www.pls-mc.com/microcontroller-faqs/faqs-a-1291.html?sh8=bHNt
Using PLS-UDE v4.8:
1) Connect to the target using a known working LSM mode configuration.
2) Open the FLASH/OTP Memory Programming Tool
3) Select 'SHADOW FLASH' from Memory Device dropdown and check 'Enable' to make the connection, then Exit.
4) Open a Memory Window and navigate to BIU4 address, which is 0x00FF_FE10
5) Change the Address value to FFBF_FFFF, and the field will be red indicating that it doesn't match.
6) Open the FLASH/OTP Memory Programming Tool again and notice that the Program All button is enabled, then program and verify.
7) Power off the processor and restart. Reconnect using a DPM configuration/workspace and you should be able to connect to the target. There should be both Core0 and Core1 binaries/symbols when Load Program is selected from the File Menu.
I followed those steps with some success of being able to connect and dataload. I don't know if what I did is correct (even if it does connect) as I read the reference manual, bit 0x0040_0000 is not the LSM_DPMB bit as described in User Options Table. Bit 9, not bit 22 should toggle
LSM_DPMB.
Maybe the BIU4 address doesn't map the same as the User Option Bits? I don't know. It seems esoteric.The problem:
The problem I am having is that when I debug, the program gets stuck in SPCSetRunMode() waiting for ME.IS.R != 0U. If I disconnect from the target and reset, then the program runs while not debugging. However, my main_core1() routine is never started. My guess is that I'm either not configured correctly to debug, or that there is a PLS - .wsx alignment issue. Does anyone have a wsx and a small DPM helloworld out there?