| 本帖最后由 lc115647 于 2024-10-5 18:26 编辑 
 在擦写使用Flash过程可能会出现误操作,使flash出现保护操作
 
 
 (1)在开始菜单的SEGGER-J-LINK下找到J-Link Commander打开,在开始菜单中无法找到的话可在SEGGER-J-LINK安装目录下找到JLink.exe打开。---建议使用V6.80版本,有些过高版本可能会出现失败
 
 
 (2)在终端中按提示首先输入    connect回车
 
 
  
 (3)在出现Device>后输入
 
  
 APM32F103TB回车然后出现选择调试接口提示,这里直接输入S回车在出现的选择通讯速率设置时可直接回车选择默认
 
 (4)之后J-Link会连接到APM32F103TB出现如下界面
 
  
 
 (5)之后逐条输入如下命令即可解锁读保护: 
     w4 40022004 45670123        w4 40022004 CDEF89AB     w4 40022008 45670123     w4 40022008 CDEF89AB     w4 40022010 00000220      w4 40022010 00000260      w4 40022010 00000200     w4 40022010 00000210     w4 1ffff800 FFFF00A5     w4 40022010 00000200 
  (6)逐条执行以上命令后,在命令行直接输入r回车,则可看到J-Link又可以正常连接到APM32F103TB了  (7)这里对以上几个命令做简要说明,以便于参考解决其它型号单片机的问题。        w4为J-link Commander中写寄存器命令,表示的时写一个4字节数据,             w4后紧跟要写入的目标寄存器地址,然后是要写入的数据。            w4 40022004 45670123    w4 40022004 CDEF89AB             是对FMC解锁,相当于库中函数fmc_unlock()             w4 40022008 45670123    w4 40022008 CDEF89AB             是对ob进行解锁,相当于ob_unlock()             w4 40022010 00000220             置位FMC_CTL寄存器中的OBER位(选项字节擦除命令位)         w4 40022010 00000260             置位FMC_CTL寄存器中的START位(向FMC发送擦除命令位 )             w4 40022010 00000200             清除FMC_CTL寄存器中的OBER位             w4 40022010 00000210             置位FMC_CTL寄存器中的OBPG位(选项字节编程命令位)             w4 1ffff800 FFFF00A5             写选项字节的前4个字节,A5即是表示解除读保护             w4 40022010 00000200             清零FMC_CTL寄存器中的OBPG位
 
 
 
 
 
 |