郞性人生

导航

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,当然一直存在

  

  

posted on 2022-07-21 16:32  郞性人生  阅读(3197)  评论(0编辑  收藏  举报