JFlash添加芯片支持
1.准备工作。
1.1.安装JLink_Windows_V768a_x86_64.exe,最好把原安装的版本卸载干净。
1.2.找到要增加芯片的*.FLM,Keil安装芯片支持包DFP*.pack后,可以在../Arm/Packs/Keil/*_DFP文件夹中的Flash中找到增加芯片的FLM文件;
1.3.将找到的FLM文件按自己的复制到../SEGGER/JLink/Devices中;
2.修改JLinkDevices.xml文件;
2.1.在JLinkDevices.xml增加芯片支持:
<Device> <ChipInfo Vendor="厂商名" Name="芯片型号" WorkRAMAddr="RAM起始地址" WorkRAMSize="RAM空间大小" Core="CPU核心型号" Aliases="相同ARM,FLASH的型号"/> <FlashBankInfo Name="Flash块名" BaseAddr="Flash起如地址" MaxSize="Flas空间大小" Loader="芯片Flash*.FLM文件地址" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/> </Device>
2.2.例:
<Device> <ChipInfo Vendor="Maxim" Name="MAX32600" Core="JLINK_CORE_CORTEX_M3" WorkRAMAddr="0x20000000" WorkRAMSize="0x00008000" /> <FlashBankInfo Name="Internal Flash" BaseAddr="0x00000000" MaxSize="0x00040000" Loader="Devices/Maxim/MAX32600/MAX32600.FLM" LoaderType="FLASH_ALGO_TYPE_OPEN" AlwaysPresent="1"/> </Device>
2.3.参数说明:
<Device> *** </Device> :Device必须成对出现,Device标签中包含对芯片信号的描述; ChipInfo :描述芯片的信息; Vendor :芯片厂家的名字; Name :芯片的具体型号; Core :芯片的内核,这个必须是JLink支持的内核之一; WorkRAMAddr :芯片RAM的起始地址; WorkRAMSize :芯片RAM的大小; Aliases :同系列的相同RAM和FLASH的型号; JLinkScriptFile :高级用法,有些芯片操作比较特殊,可以通过脚本去实现; FlashBankInfo :描述芯片的Flash信息,有多块flash的话,每块对应一个FlashBankInfo; Nameflash :Nameflash的名字,名字可以随便起; BaseAddr :flash的起始地址,可以在用户手册里找到 MaxSize :flash的大小,可以在用户手册里找到 Loader :flash烧录的算法,segger官方的是.elf格式,.flm是ARM的格式。这个路径可以是绝对地址也可以是相对地址,相对地址的话是从JLinkDevices.xml所在的路径为起始地址。 LoaderType :必须是12.5.4.1 Attribute values - LoaderType中列出的类型之一,目前只有FLASH_ALGO_TYPE_OPEN一个类型,而*.flm是支持这个类型的 AlwaysPresent :指示这个块flash是不是一直存在,本文是内部flash,当然一直存在