硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4848|回复: 3
收起左侧

[脱机烧录] H7-TOOL脱机烧录器自行添加芯片的步骤 2022-04-11(有FLM文件即可)

  [复制链接]

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
发表于 2020-9-22 17:22:25 | 显示全部楼层 |阅读模式
文件操作:
1. 在PC软件目录 Programmer\Device文件下面新建厂商文件夹,比如NXP
    Programmer\Device\NXP
2. 在NXP文件夹下新建 FLM文件夹,并将所有的FLM文件都统一放到这里
3. 在NXP文件夹下面新建某个系列的文件夹,比如 RT10xx
4. 在RT10xx文件夹下面新建文件 : MIMXRT105x_QSPI.lua

建立映射关系:
1. PC软件根目录下 device.csv 文件,可以用wps打开,是一个文本文件
2. 添加厂家名、系列名、芯片型号、关联的lua文件
NXPRT10xxRT1021_QSPIMIMXRT1021_QSPI.lua
NXPRT10xxRT105x_HYPERMIMXRT105x_HYPER.lua

注意:
1. 厂商名字NXP、RT10xx系列名和文件夹的名字必须相同。厂商名字后面可以添加括号(括号内文字仅仅PC展示用,不影响文件夹名字)
2. WPS打开device.csv后,会独占文件,必须关闭wps软件后,H7-TOOL的PC软件才能访问。
3. PC软件烧录器配置窗口,点 “厂商/分类” 这个标签可以重载 device.csv文件。

image.png

编写lua文件:
MIMXRT105x_QSPI.lua
1.找 个相近的lua文件,模仿修改每个字段
2.推荐用 notepad++ 编辑lua文件,可以自动语法着色

复制到H7-TOOL
1. PC软件Programer文件夹和H7-TOOL里面的H7-TOOL\Programmer文件夹内容是一致的
2. 执行PC软件的烧录器 - 文件管理 - 按钮开始更新device
image.png


回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2020-9-22 17:28:12 | 显示全部楼层
硬汉太牛了,非常感谢,我来尝试做一下.
回复

使用道具 举报

747

主题

1049

回帖

3295

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3295
 楼主| 发表于 2020-9-22 17:42:07 | 显示全部楼层
[C] 纯文本查看 复制代码
-------------------------------------------------------
-- 文件名 : RA2A1_256K.lua
-- 版  本 : V1.0  2022-04-08
-- 说  明 :
-------------------------------------------------------

print("load \"RA_Lib.lua\" ok")

IncludeList = {
	"0:/H7-TOOL/Programmer/Device/Renesas/Lib/RA_Lib.lua"
}

function config_cpu(void)
	CHIP_TYPE = "SWD"		--指定器件接口类型: "SWD", "SWIM", "SPI", "I2C", "UART"

	AlgoFile_FLASH = "0:/H7-TOOL/Programmer/Device/Renesas/FLM/RA2A1_256K.FLM"
	AlgoFile_DATA  = "0:/H7-TOOL/Programmer/Device/Renesas/FLM/RA2A1_DATA.FLM"
	AlgoFile_CONF  = "0:/H7-TOOL/Programmer/Device/Renesas/FLM/RA2A1_CONF.FLM"
	
	FLASH_ADDRESS = 0x00000000		--CPU内部FLASH起始地址

	RAM_ADDRESS = 0x20000000		--CPU内部RAM起始地址

	--Flash算法文件加载内存地址和大小
	AlgoRamAddr = 0x20000000
	AlgoRamSize = 0x2000

	MCU_ID = 0x0BC11477

	--旧的 0x10001F18
	--新的 0x10001EF0
	UID_ADDR = 0x10001EF0	   	--UID地址,不同的CPU不同
	UID_BYTES = 0

	--缺省校验模式
	VERIFY_MODE = 0				-- 0:读回校验, 1:软件CRC32校验, 其他:扩展硬件CRC(需要单片机支持)

	ERASE_CHIP_TIME = 500		--全片擦除时间ms(仅用于进度指示)

	OB_FILE_USED	= -1		--1表示使用文件方式烧录,0表示用字符串方式烧录,-1表示不支持OB区烧录
	OB_FILE_ADDRESS = 0
	OB_FILE_SIZE = 128
	OB_FILE_SECURE_OFF = ""
	OB_FILE_SECURE_ON  = ""	
	
	OB_ADDRESS     = "1FFFF800 FFFFFFFF 1FFFF802 FFFFFFFF 1FFFF804 FFFFFFFF 1FFFF806 FFFFFFFF 1FFFF808 FFFFFFFF 1FFFF80A FFFFFFFF 1FFFF80C FFFFFFFF 1FFFF80E FFFFFFFF"

	OB_SECURE_OFF  = "AA FF FF FF FF FF FF FF"	--SECURE_ENABLE = 0时,编程完毕后写入该值(解除加密)
	OB_SECURE_ON   = "00 FF FF FF FF FF FF FF"	--SECURE_ENABLE = 1时,编程完毕后写入该值(芯片加密)

	--判断读保护和写保护的条件(WRP = Write protection)
	OB_WRP_ADDRESS   = {0x1FFFF800, 0x1FFFF808, 0x1FFFF80A, 0x1FFFF80C, 0x1FFFF80E} 	--内存地址
	OB_WRP_MASK  	 = {0xFF, 0xFF, 0xFF, 0xFF, 0xFF}		--读出数据与此数相与
	OB_WRP_VALUE 	 = {0xAA, 0xFF, 0xFF, 0xFF, 0xFF}		--相与后与此数比较,相等表示没有保护
	
	--FLM_INIT_CLK = 48 * 1000000
end

--用于PC软件, 设置缺省配置参数
function pc_default(void)
	TVCC_VOLT = 3.3			--定义CPU供电电压TVCC
	
	VERIFY_MODE = 0			--校验模式: 0:自动(FLM提供校验函数或读回) 1:读回  2:软件CRC32  3:STM32硬件CRC32

	REMOVE_RDP_POWEROFF = 1 --写完OB后需要断电
	POWEROFF_TIME1 = 0   	--写完OB延迟时间ms
	POWEROFF_TIME2 = 100   	--断电时间ms
	POWEROFF_TIME3 = 20   	--上电后等待时间ms

	SWD_CLOCK_DELAY_0 = 0 	--单路烧录时的时钟延迟
	SWD_CLOCK_DELAY_1 = 0 	--多路烧录时的时钟延迟
	
	AUTO_REMOVE_PROTECT = -1 --自动解除读保护

	NOTE_PC = ""
	
	--供PC软件选择算法的列表
	AlgoFile_List = {
		"AlgoFile_FLASH", 0x00000000, 0x040000,
		"AlgoFile_DATA", 0x40100000, 0x002000,
		"AlgoFile_CONF", 0x01010000, 0x000034,
	}
	
	--有如下行,将自动展示文件内容
	--VIEW_HELP_FILE = "reademe.txt"	
end

---------------------------结束-----------------------------------
回复

使用道具 举报

7

主题

23

回帖

44

积分

新手上路

积分
44
发表于 2020-9-22 23:29:21 | 显示全部楼层
硬汉太牛了,非常感谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-4-28 21:10 , Processed in 0.168006 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表