参考http://www.360doc.com/content/21/0113/09/47421141_956614020.shtml
使用J_Link调试与下载程序,
找到J_Link软件地址下的JLinkDevices.xml,添加如下的代码,可使用jlink调试与下载代码;
<!-- -->
<!-- MindMotion -->
<!-- -->
<Device>
<ChipInfo Vendor="MindMotion" Name="MM32F0010" WorkRAMAddr="0x20000000" WorkRAMSize="0x00000800" Core="JLINK_CORE_CORTEX_M0" Aliases="MM32F0010A1T; MM32F0010A1N"/>
<FlashBankInfo Name="Flash Block" BaseAddr="0x8000000" MaxSize="0x4000" Loader="D:\Software\MDK\MindMotion\MM32F0010_DFP\1.0.4\Flash\MM32F0010_16.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/>
</Device>
和必须成对出现,而且没有属性表。每个(系列)芯片都对应着这么一对。
ChipInfo是描述芯片的信息,必须在 和内。
参数说明
Vendor芯片厂家的名字,比如这里的"HDSC"就是华大半导体
Name芯片的具体型号,我用的就是HC32L190FCUA
Core芯片的内核,这个必须是JLink支持的内核之一,具体的名字可以在文档里的12.5.3.1 Attribute values - Core章节找到。本文的这颗芯片是M0+的内核,但是列表里没有M0+,所以这里选M0!
WorkRAMAddr芯片RAM的起始地址,这个可以在用户手册里找到,也可以打开SDK里的官方例程,然后在工程配置里找到
WorkRAMSize芯片RAM的大小,同样可以在用户手册里找到,也可以打开SDK里的官方例程,然后在工程配置里找到
Aliases同系列的相同RAM和FLASH的型号,比如华大这里全是同样的配置,我就都加进去了
JLinkScriptFile高级用法,有些芯片操作比较特殊,可以通过脚本去实现,这里我用不上
FlashBankInfo描述芯片的Flash信息,有多块flash的话,每块对应一个FlashBankInfo。
参数说明
Nameflash的名字,名字可以随便起
BaseAddrflash的起始地址,可以在用户手册里找到
MaxSizeflash的大小,可以在用户手册里找到
Loader烧录的算法,segger官方的是.elf格式,.flm是ARM的格式,keil里就用这个。这个路径可以是绝对地址也可以是相对地址,相对地址的话是从JLinkDevices.xml所在的路径为起始地址。本文使用的算法文件是在华大的HDSC.HC32L19X.1.0.0.pack安装后从C:\Keil_v5\ARM\Flash拷贝过来的,没有的文件夹就自己新建
LoaderType必须是12.5.4.1 Attribute values - LoaderType中列出的类型之一,目前只有FLASH_ALGO_TYPE_OPEN一个类型,而*.flm是支持这个类型的
AlwaysPresent指示这个块flash是不是一直存在,本文是内部flash,当然一直存在