You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Atmel Studio硬件调试无法启动,模拟器可正常运行问题咨询

问题描述

我在调试器中选定了目标设备(对应截图:调试器设备选择界面、点击“启动调试”后的界面),点击「Start debugging」后调试无法启动;但使用模拟器作为调试器时,哪怕未添加断点也能正常启动调试。请问这是什么问题?

相关代码

start:
    ; 要从signature row读取全部10个序列号字节,需执行以下步骤:
    ; 1. 将指定的signature字节地址加载到Z-pointer中
    ; 2. 设置SPMCSR寄存器中的SIGRD位
    ; 3. 设置SPMCSR寄存器中的SPMEN位
    ; 4. 将Z寄存器中的内容加载到通用寄存器
    ; 5. 通用寄存器中现在存储有序列号字节

; 读取序列号字节0
ldi ZH, 0x00
ldi ZL, 0x0E // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R0, Z


; 读取序列号字节1
ldi ZH, 0x00
ldi ZL, 0x0F // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R1, Z


; 读取序列号字节2
ldi ZH, 0x00
ldi ZL, 0x10 // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R2, Z


; 读取序列号字节3
ldi ZH, 0x00
ldi ZL, 0x11 // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R3, Z


; 读取序列号字节4
ldi ZH, 0x00
ldi ZL, 0x12 // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R4, Z


; 读取序列号字节5
ldi ZH, 0x00
ldi ZL, 0x13 // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R5, Z


; 读取序列号字节6
ldi ZH, 0x00
ldi ZL, 0x14 // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R6, Z


; 读取序列号字节7
ldi ZH, 0x00
ldi ZL, 0x15 // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R7, Z


; 读取序列号字节8
ldi ZH, 0x00
ldi ZL, 0x16 // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R8, Z


; 读取序列号字节9
ldi ZH, 0x00
ldi ZL, 0x17 // 设置要读取的signature row地址
; 将SPMCSR位加载到R16,再写入SPMCSR
ldi R16, 0x21   ; (1<<SIGRD)|(1<<SPMEN)
out SPMCSR, R16
LPM R9, Z
排查方向
  • 硬件连接检查:重新插拔调试器与目标设备的连接线,确认引脚定义匹配(比如SWD/JTAG引脚无接反),同时检查目标设备供电是否稳定。
  • 调试器兼容性验证:确认调试器固件版本支持当前目标设备型号,必要时更新调试器固件。
  • 代码冲突排查:注释掉所有SPMCSR寄存器操作代码,测试调试能否启动——部分AVR芯片在调试模式下,SPM操作可能触发权限限制或调试挂起。
  • 调试配置核对:检查调试器的时钟频率、接口类型(SWD/JTAG)是否与目标设备匹配,部分芯片需配置熔丝位允许调试访问。
  • 目标设备状态重置:尝试擦除目标芯片并烧录空白程序,排除芯片锁死或熔丝位配置错误导致的调试接口禁用问题。

内容的提问来源于Stack Exchange,提问作者Ahmad Uzzam Masood

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 04:15:38