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

Atmel Studio 7 CLI修改熔丝位提示成功未生效问题

编辑注:大概率已解决

ATSAME54P19A 命令行写入熔丝位异常问题
  1. GUI界面下可正常修改芯片熔丝位,修改后回读熔丝位数值与写入值完全一致,确认GUI操作可生效。
  2. 已明确各熔丝位对应的目标配置值,GUI界面提供复制到剪贴板功能,点击后导出的熔丝位配置如下:
ADC0_BIASCOMP = 0x07
ADC0_BIASREFBUF = 0x07
ADC0_BIASR2R = 0x07
ADC1_BIASCOMP = 0x07
ADC1_BIASREFBUF = 0x07
ADC1_BIASR2R = 0x07
USB_TRANSN = 0x09
USB_TRANSP = 0x19
USB_TRIM = 0x06
ROOM_TEMP_VAL_INT = 0x1E
ROOM_TEMP_VAL_DEC = 0x00
HOT_TEMP_VAL_INT = 0x68
HOT_TEMP_VAL_DEC = 0x09
ROOM_INT1V_VAL = 0xFF
HOT_INT1V_VAL = 0xFF
ROOM_ADC_VAL_PTAT = 0xAE8
HOT_ADC_VAL_PTAT = 0xD96
ROOM_ADC_VAL_CTAT = 0xB6B
HOT_ADC_VAL_CTAT = 0x949
BOD33_DIS = [ ]
BOD33USERLEVEL = 0x2A
BOD33_ACTION = RESET
BOD33_HYST = 0x0A
NVMCTRL_BOOTPROT = 0
NVMCTRL_SEESBLK = 0x00
NVMCTRL_SEEPSZ = 0x00
RAMECC_ECCDIS = [X]
WDT_ENABLE = [X]
WDT_ALWAYSON = [ ]
WDT_PER = CYC4096
WDT_WINDOW = CYC8
WDT_EWOFFSET = CYC8
WDT_WEN = [ ]
NVMCTRL_REGION_LOCKS = 0x12345678

SW0_WORD_0 = 0x1FF07FD (modified)
SW0_WORD_1 = 0x1B29 (unknown)
TEMP_LOG_WORD_0 = 0xFF96801E (unknown)
TEMP_LOG_WORD_1 = 0xD96AE8FF (unknown)
TEMP_LOG_WORD_2 = 0xFF949B6B (unknown)
USER_WORD_0 = 0xFE9AD254 (valid)
USER_WORD_1 = 0x8025FF80 (valid)
USER_WORD_2 = 0x12345678 (valid)
  1. 可正常完成芯片擦除操作,擦除后回读芯片内容,所有存储值均为0,确认擦除生效。
  2. 尝试通过命令行写入熔丝位时,工具提示“操作成功”但实际写入未生效:
    Atmel官方文档给出的写入命令模板为atprogram -t <tool> -i <interface> -d <device> write -fs --values <fuse value>,官方提供的参考示例为atprogram –t avrdragon –i pdi –d atxmega16A4 write –fs --values 4200ff00feef。
    实际使用samice调试工具、SWD接口连接atsame54p19a设备,最初尝试将SW0_WORD_0到USER_WORD_2的所有值直接拼接作为fuse value参数,执行命令:
    atprogram --tool samice -i swd -d atsame54p19a write -fs --values 01FF07FD00001B29FF96801ED96AE8FFFF949B6BFE9AD2548025FF80eeeeeeee
    
    工具返回Write completed successfully.,但回读熔丝字节发现数值完全没有变化。
  3. 本人嵌入式相关操作经验较少,日常仅业余使用Arduino,本次是协助同事处理该问题。
  4. 具体疑问:
    • 应当如何正确修改该芯片的熔丝位?
    • 对values参数的载荷拼接方式是否存在理解错误?
    • 该操作是否存在未被注意到的常见误区?

此前通过搜索引擎查找相关资料未得到有效解决方案,初步推测可能是写入地址或写入方式有误,暂不清楚具体原因。

解决方案

问题原因是命令缺少偏移地址参数,需要添加-o <address>参数指定熔丝写入的起始偏移地址,最终验证可正常生效的命令如下:

atprogram --tool samice -i swd -d atsame54p19a -f write -o 0x804000 -fs --values 54d29afe80ff258012345678

内容的提问来源于stack exchange,提问作者Zeno

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 10:21:25