PEmicro-标志

PEmicro CPROG16Z 闪存编程软件

PEmicro-CPROG16Z-闪存编程-软件产品

产品信息

CPROG16Z 是一款命令行编程器,旨在将您的 PC 连接到目标 MCU 以进行编程。 它带有一条调试带状电缆,用于连接您的 PC 和目标 MCU 之间的硬件接口。 可以通过从 Windows 命令提示符运行编程软件或使用正确的命令行参数调用 CPROG16Z 可执行文件来启动编程软件。 允许的命令行参数包括:[?/!]、[filename]、[/PARAMn=s]、[v]、[reset_delay n]、[bdm_speed n]、[hideapp]、[freq n]、[Interface=x]、[port=y]、[showports] 和[/日志file 日志file姓名]。 这些参数可以通过替换特殊参数来修改执行脚本 tags, 替换脚本的任何部分,包括编程命令, file名称和参数,并提供一种显示编程结果的方法。 INTERFACE=x 参数允许您选择以下接口之一:USB MULTILINK、PARALLEL、以太网 IP 地址、NAME 和 UNIQUEID。 PORT=y 参数允许您根据所选接口类型选择端口号或名称。

产品使用说明

  1. 通过调试带状电缆连接 PC 和目标 MCU 之间的硬件接口。
  2. 通过从 Windows 命令提示符运行它或通过使用正确的命令行参数调用 CPROG16Z 可执行文件来启动编程软件。
  3. 使用允许的命令行参数修改执行脚本并选择适当的接口和端口号或名称。
  4. 如有必要,使用 [?/!] 参数在 PROG16Z 窗口中显示编程结果。
  5. 请参阅第 7 节 - Examp文件编程脚本 File 对于前任amp一个 file 包含编程命令和注释。
  6. 请参阅第 8 节 – 在脚本中使用命令行参数以获得 examp如何使用 [/PARAMn=s] 命令行参数修改执行脚本的文件。
  7. 如果多个单元连接到同一台 PC,请使用 [showports] 参数根据其端口号或名称选择适当的单元。

介绍

CPROG16Z 是 PROG16Z 软件的 Windows 命令行版本,它通过 PEmicro 硬件接口将闪存、EEPROM、EPROM 等编程到受支持的 NXP 68HC16 处理器。 硬件接口可从 PEmicro 获得。 一旦您的接口硬件在您的 PC 和目标设备之间正确连接,您就可以从命令行启动 CPROG16Z 可执行文件。 除了可执行文件之外,还必须传递多个命令行参数,以配置 CPROG16Z 应尝试连接到哪个 PEmicro 硬件接口,以及配置该硬件接口如何连接到目标设备。 这些参数包括配置名称 (.CFG) file,以及启动命令,例如硬件接口的名称或接口连接到的端口。 .CFG file 指定如何按照您的意愿对目标进行编程,它包括标准编程命令和可选的配置命令。 以下章节将对这些命令和参数进行详细说明。

启动

  • 通过调试带状电缆连接 PC 和目标 MCU 之间的硬件接口。
  • 通过从 Windows 命令提示符运行它或通过使用正确的命令行参数调用 CPROG16Z 可执行文件来启动编程软件。 允许的命令行参数是:

CPROG16Z [?/!] [file名称] [/PARAMn=s] [v] [reset_delay n] [bdm_speed n] [hideapp] [freq n] [Interface=x] [port=y] [showports] [/logfile 日志file姓名] 在哪里:

  • [?/!]: 使用 '?' 或者' '!' 字符选项使命令行编程器等待并在 PROG16Z 窗口中显示编程结果。 “?” 将始终显示结果,'!' 只有在发生错误时才会显示结果。 如果用户不使用批处理 file 测试错误级别,这提供了一种显示编程结果的方法。 此选项应该是第一个命令行选项。
  • [file名称]: A file 包含编程命令和注释,默认 = prog.cfg。 参见第 7 节 – Examp文件编程脚本 File 对于前任amp勒。
  • [/PARAMn=s]: 一个命令行参数,可以通过替换特殊的方式来修改正在执行的脚本 tags (/参数)。 这可用于替换脚本的任何部分,包括编程命令, file名称和参数。 n 的有效值为 0..9。 s 是一个字符串,它将替换脚本中出现的任何 /PARAMn file. 第 8 节——在脚本中使用命令行参数有一个例子amp乐供使用。
  • [接口=x]: 其中 x 是以下之一:(参见前amp文件部分) USB MULTILINK(此设置还支持 OSBDM) PARALLEL(并行端口或 BDM Lightning [Legacy])
  • [端口=y]: 其中 y 的值为以下之一(有关已连接硬件的列表,请参阅 show ports 命令行参数;始终指定“接口”类型):
  • USBx: 其中 x = 1,2,3、4、1 或 1。表示从 XNUMX 开始的每个硬件的枚举编号。在尝试连接到 Cyclone 或 Multilink 产品时很有用。 如果只连接了一个硬件,它将始终枚举为 USBXNUMX。 一个前任amp选择找到的第一个 Multilink 的文件是:INTERFACE=USBMULTILINK PORT=USB1
  • #.#.#.#: 以太网 IP 地址#.#.#.#。 每个 # 符号代表一个介于 0 和 255 之间的十进制数。适用于 Cyclone 和 Tracelink 接口。 通过以太网连接。 接口=旋风端口=10.0.1.223
  • 姓名: 一些产品,例如 Cyclone 和 Trace 链接,支持为设备指定一个名称,例如“Joe's Max”。 Cyclone 可以用它的指定名称来指代。 如果名称中有任何空格,则整个参数应该用双引号括起来(这是 Windows 要求,而不是 PEmicro 要求)。
    • Examp莱斯: INTERFACE=CYCLONE PORT=MyCyclone99 INTERFACE=CYCLONE “PORT=Joe's Cyclone”
  • 独特的: ID USB Multilink 产品都有分配给它们的唯一序列号,例如 PE5650030。 Multilink 可以称为这个号码。 这在多个单元连接到同一台 PC 的情况下很有用。
    • Examp莱斯: 接口=USBMULTILINK 端口=PE5650030
  • 串口: 其中 x = 1,2,3、4、1 或 1。代表 COM 端口号。 对 Cyclone 接口有效。 要连接到 COMXNUMX 上的 Cyclone:INTERFACE=CYCLONE PORT=COMXNUMX
  • x: 其中 x = 1,2,3、4、1 或 1。表示并行端口号 要在并行端口 #XNUMX 上选择并行接口:INTERFACE=PARALLEL PORT=XNUMX
  • PCIx: 其中 x = 1,2,3、4、1 或 1。代表 BDM Lightning 卡号。 (注意:这是旧产品)要在 BDM Lightning #XNUMX 上选择并行电缆:INTERFACE=PARALLEL PORT=PCIXNUMX
  • [表演场馆]: 命令行程序员将所有可用端口输出到文本 file 然后终止(不管其他命令行参数)。 此信息输出到文本 file 包括联系附加编程硬件所需的参数以及硬件接口的描述。 默认输出 file名称为 ports.txt 并在与 CPROG 相同的文件夹中创建。 输出也可以被定向到不同的 file.
    • Examp乐: SHOWPORTS=C:\MYPORTS.TXT 此列表不显示也可用的并行端口或 COM 端口选项。 下面是前任amp连接到 PC 的各种硬件接口的输出文件(请注意,有不同的方法来寻址同一单元;每个接口的数据后面可能跟一个 [DUPLICATE] 行,它显示同一接口的不同标签)。

Showports 输出前amp乐:
接口=USBMULTILINK 端口=PE5650030

  • USB1: 多链路通用 FX 修订版 A (PE5650030)[端口号=21] 接口=USBMULTILINK 端口=USB1
  • USB1: Multilink Universal FX Rev A (PE5650030)[PortNum=21][重复]
  • [v]: 导致程序员在编程或验证之前不检查S-record地址的范围。 这加快了编程过程。 应谨慎使用该选项,因为所有超出范围的 S 记录都将被忽略。
  • [重置延迟 n]:指定程序员重置目标后的延迟,我们检查该延迟是否已正确进入后台调试模式。 如果目标有一个复位驱动程序,在程序员释放复位线后保持 MCU 处于复位状态,这将很有用。 n 值是以毫秒为单位的延迟。
  • [bdm_速度 n]: 该选项允许用户设置 PEmicro 调试接口的 BDM 移位时钟速度。 该整数值可用于根据以下等式确定通信速度:
    • USB-ML-16/32: (1000000/(N+1)) Hz – 旧产品
    • USB 多链路通用 FX: (25000000/(N+1)) Hz BDM Lightning : (33000000/(2*N+5)) Hz – Legacy product n 值应在 0 到 31 之间。此移位时钟在顶部的命令后生效执行编程算法,以便这些命令可以增加目标频率并允许更快的移位时钟。 该时钟通常不能超过处理器总线频率的四分之一。
  • [隐藏应用]: 这将导致命令行程序员在运行时不显示视觉存在,但出现在任务栏上除外。 仅限 32 位应用程序!
    [频率]: 默认情况下,PROG16Z 软件会尝试通过在处理器中加载延迟例程并计算执行所需的时间来自动确定目标的运行速度。 在某些机器上,这可能会产生不一致的结果,这可能会影响对 MCU 内部闪存进行编程的算法。 PEmicro 提供了一种命令行机制,允许用户通知 PROG16Z 软件目标处理器运行的确切速度。 这样,算法中的时间将是精确的。 在命令行上,您可以在“FREQ”标识符后面以赫兹为单位指定内部时钟频率。 请注意,通常如果您使用 MCU 外部的闪存设备,则不需要此时序参数,因为闪存会自行处理时序。
    [/日志file 日志file名称]: 此选项打开一个日志 file 名称“日志file name”,这将导致写入状态窗口的任何信息也被写入此 file. “日志 filename” 应该是一个完整的路径名,例如 c:\mydir\mysubdir\mylog.log.

命令行执行器amp莱斯:
CPROG16Z C:\ENGINE.CFG 接口=USBMULTILINK 端口=PE5650030

使用以下选项打开 CPROG16Z:

  • 运行 C:\ENGINE.CFG 脚本
  • 该接口是第一款USB Multilink Universal FX,序列号为PE5650030
  • 自动检测通信频率(未设置 io_delay_cnt)CPROG16Z C:\ENGINE.CFG Interface=USBMULTILINK Port=USB1

使用以下选项打开 CPROG16Z:

  • 运行 C:\ENGINE.CFG 脚本
  • 接口是 USB Multilink Universal FX,检测到的第一个接口。

编程命令
编程命令都以两个字符序列开头,后跟空格(空格或制表符)。 以不是命令的字符开头的行被列为 REMarks。 期限 filename 表示一个完整的 DOS 路径 file. 命令使用与交互式编程器 PROG16Z 中使用的相同的两个字母代码。 同样的.16P filePROG16Z 使用的 s 用于设置要编程的特定设备。 如果为特定设备指定了用户功能,则在 .16P 中指定其双字符命令和含义或 user_par file.

  • 笔记: 命令参数 starting_addr、ending_addr、base_addr、byte、word 和 user_par 使用默认的十六进制格式。
  • 马来亚大学: 空白支票模块。
  • BR 起始地址 结束地址: 空白检查范围。
  • 更改 n.nn:  (仅限 Cyclone)更改音量tage 提供给目标,其中 n.nn 表示介于 0.00 和 5.00 之间的值,包括端值。 当命令执行时,Cyclone 将立即更改为该卷tage. 如果在调用此命令之前 Cyclone 继电器关闭,则继电器将打开并设置新的音量tag执行此命令时的 e 值。 请注意,vol 太低tage 值可能会使设备进入低功耗模式,这可能会完全失去调试通信。 确保 Cyclone 的跳线设置正确,以将电源发送到正确的端口。
  • EB 起始地址结束地址: 擦除字节范围。
  • EW 起始地址 结束地址: 擦除单词范围。
  • 电磁- 擦除模块。
  • PB 起始地址字节 … 字节 – 程序字节。
  • PW 起始地址 字 … 字 – 程序的话。
  • 下午 – 程序模块。
  • CM file名称 base_addr – 选择模块 .16P file. 注意:某些模块可能需要指定基地址。
  • 虚拟机—— 验证模块。
  • VR 起始地址 结束地址 – 验证范围。
  • UM file姓名 - 上传模块。
  • UR 起始地址 结束地址 file姓名 - 上传范围。
  • SS file姓名 - 指定S记录。 SM starting_addr ending_addr – 显示模块。
  • 继电器关闭 – (仅限 Multilink FX 和 Cyclone)关闭为目标供电的继电器,包括指定的断电延迟。 对于希望在运行测试之前重启电路板、允许其引导加载程序运行或在编程后运行应用程序代码的用户特别有用。
  • 继电器 - (仅限 Multilink FX 和 Cyclone)打开继电器为目标供电,如果指定,包括加电延迟。 卷tag提供的 e 将基于最后一卷tage 指定的设置。 对于 Cyclone 用户,CHANGEV 命令可以改变 voltage值。 对于希望在运行测试之前重启电路板、允许其引导加载程序运行或在编程后运行应用程序代码的用户特别有用。
  • 他 - 求助(看cprog.doc file).
  • 曲—— 辞职。
  • 关于 - 复位芯片。
  • 去 - 开始设备运行。 如果您希望设备运行以进行测试,可以用作最终命令。 应该紧接在“RE”命令之后。
  • DE 时间(单位:ms) – 延迟“timeinms”毫秒
  • xx 用户_par – 仅适用于 .16P 中指定的用户功能 file.

启动配置命令

配置命令全部在程序员尝试联系目标之前处理。 整体配置 file 在尝试通信之前针对这些命令进行解析。 本节给出一个结束view 使用这些配置命令进行不同类型的配置。
笔记: 配置命令参数的默认基数是十进制。 一个结束view 配置命令如下:
CUSTOMTRIMREF nnnnnnnn.nn 文件
“PT”所需的内部参考时钟频率; 程序修剪”命令。 该频率覆盖默认的内部参考时钟频率。 “n”的有效值取决于正在编程的特定设备。 有关有效的内部参考频率时钟范围,请参阅设备的电气规格。
在哪里: nnnnnnnn.nn:以赫兹为单位的频率,保留两位小数

提供电源 n
确定接口是否应为目标供电。 注意:并非所有硬件接口都支持此命令。 n 的有效值为:

  • 0: 接口不为目标供电。 (默认)
  • 1: 启用接口为目标供电。
    • (笔记: 与传统选项相同:USEPRORELAYS n)

:掉电延迟 n
为使目标电源降至 0.1v 以下而关闭目标电源时延迟的时间量。 n 是以毫秒为单位的时间。
:POWERUPDELAY n
从目标电源打开或目标重置到软件尝试与目标对话之前的延迟时间。 该时间可以是加电时间和复位时间的组合(尤其是在使用复位驱动器的情况下)。 n 是以毫秒为单位的时间。
:POWEROFFONE 退出 n
确定在 CPROG16Z 应用程序终止时是否应关闭提供给目标的电源。 注意:并非所有硬件接口都支持此命令。 n 的有效值为:

  • 0: 退出时关闭电源(默认)
  • 1: 退出时保持电源打开

验证结束view

有几个可用的命令可用于在编程后验证设备上闪存的内容。 最广泛使用的命令是“VC ;Verify CRC of Object File 到模块”。 “VC”命令将指示 CPROG16Z 首先从所选对象计算一个 16 位 CRC 值 file. 然后 CPROG16Z 会将代码加载到设备的 RAM 中,并指示设备根据设备 FLASH 中的内容计算一个 16 位 CRC 值。 只有对象中的有效地址范围 file 在设备上计算。 一旦来自对象的 16 位 CRC 值 file 和设备可用,CPROG16Z 将它们进行比较。 如果两个值不匹配,则会抛出错误。 或者,“VM ;Verify Module”命令可用于在所选对象之间执行逐字节验证 file 和设备。 通常,VM 命令比 VC 命令执行时间更长,因为 CPROG16Z 必须逐字节读取设备 FLASH 的内容。 还有另外两个命令可用于验证。 “SC ;Show Module CRC”指示 CPROG16Z 将代码加载到设备的 RAM 中,并指示设备根据设备整个 FLASH 的内容(包括空白区域)计算 16 位 CRC 值。 一旦计算出 16 位 CRC 值,CPROG16Z 就会在状态窗口中显示该值。 “VV ;Verify Module CRC to Value”命令类似于“SC”命令。 不同之处在于,CPROG16Z 不会显示计算出的 16 位 CRC 值,而是将计算出的值与用户给出的 16 位 CRC 值进行比较。

DOS 错误返回
提供 DOS 错误返回,因此可以在 .BAT 中测试它们 file秒。 错误代码
使用的是:

  • 0 – 程序完成且没有错误。
  • 1 – 被用户取消。
  • 2 – 读取 S 记录时出错 file.
  • 3 – 验证错误。
  • 4 – 确认被用户取消。
  • 5 – S 记录 file 未选定。
  • 6 – 起始地址不在模块中
  • 7 – 结束地址不在模块中或小于起始地址。
  • 8 – 无法打开 file 用于上传。
  • 9 – File 上传时写入错误。
  • 10 – 上传被用户取消。
  • 11 – 打开 .16P 时出错 file.
  • 12 – 读取 .16P 时出错 file.
  • 13 – 设备未初始化。
  • 14 – 加载 .16P 时出错 file.
  • 15 – 错误启用刚刚选择的模块。
  • 16 – 指定的 S 记录 file 未找到。
  • 17 – .16P 指定的缓冲区空间不足,无法容纳 file S-记录。
  • 18 – 编程时出错。
  • 19 – 起始地址未指向模块。
  • 20 – 最后一个字节编程时出错。
  • 21 – 模块中不再有编程地址。
  • 22 – 起始地址不在对齐的字边界上。
  • 23 – 最后一个字编程时出错。
  • 24 – 无法擦除模块。
  • 25 – 模块字未擦除。
  • 26 – 选定的 .16P file 不执行字节检查。
  • 27 – 模块字节未擦除。
  • 28 – 字擦除起始地址必须是偶数。
  • 29 – 字擦除结束地址必须是偶数。
  • 30 – 用户参数不在范围内。
  • 31 – .16P 指定功能期间出错。
  • 32 – 指定的端口不可用或打开端口时出错。
  • 33 – 命令对此 .16P 无效 file.
  • 34 – 无法进入后台模式。 检查连接。
  • 35 – 无法访问处理器。 尝试软件重置。
  • 36 – 无效的 .16P file.
  • 37 – 无法访问处理器 RAM。 尝试软件重置。
  • 38 – 初始化被用户取消。
  • 39 – 转换十六进制命令编号时出错。
  • 40 – 配置 file 未指定和 file prog.cfg 不存在。
  • 41 – .16P file 不存在。
  • 42 – 命令行上的 io_delay 数字错误。
  • 43 – 无效的命令行参数。
  • 44 – 指定以毫秒为单位的十进制延迟时出错。
  • 47 – 脚本错误 file.
  • 49 – 未检测到电缆
  • 50 – S-唱片 file 不包含有效数据。
  • 51 – 校验和验证失败 – S 记录数据与 MCU 内存不匹配。
  • 52 – 必须启用排序以验证闪存校验和。
  • 53 – S-Records 不在模块范围内。 (见“v”命令行参数)
  • 54 – 在端口/接口的命令行设置中检测到错误
  • 60 – 计算设备 CRC 值时出错
  • 61 – 错误 – 设备 CRC 与给定的值不匹配
  • 70 – 错误 – CPROG 已经在运行
  • 71 – 错误 – 必须在命令行上同时指定接口和端口
  • 72 – 当前硬件接口不支持选定的目标处理器。

Examp文件编程脚本 File

编程脚本 file 应该是纯 ASCII file 每行一个命令。 这是CFG file 在前任amp莱斯。
前任amp是:

  • 厘米丙:\PEMICRO\9X1__32K.16P 0 ;选择闪存模块
  • 电磁; 擦除模块
  • 骨髓; 空白检查模块
  • 党卫军:\PEMICRO\TEST.S19 ;指定要使用的S19
    下午; 使用 S19 对模块进行编程
    虚拟机; 再次验证模块

笔记: 的路径名称 file也可以使用与 CPROG 可执行文件相关的文件。

在脚本中使用命令行参数

/PARAMn=s 形式的命令行参数可用于将文本插入脚本 file 代替特殊 tags. 这可用于替换脚本的任何部分,包括编程命令, file名称和参数。 n 的有效值为 0..9。 s 是一个字符串,它将替换脚本中出现的任何 /PARAMn file. 作为前任ample,以下通用脚本可用于与 ex 具有完全相同功能的编程amp第 7 节中的 le 脚本 – Example
编程脚本 File:

  • CM /参数 1 ;选择闪存模块
  • 电磁;擦除模块
  • 骨髓;空白检查模块
  • SS /参数2; 指定要使用的 S19
  • 下午;使用 S19 对模块进行编程
  • /参数3; 再次验证模块

以下参数将添加到 CPROG 命令行:
“/PARAM1=C:\PEMICRO\9X1__32K.16P 0″
/PARAM2=C:\PEMICRO\TEST.S19
/PARAM3=虚拟机
笔记: 由于 /PARAM1 参数的值中有空格,因此需要将整个参数括在双引号中。 这向 Windows 表明它是单个参数。 在这种情况下,基地址 0x0 包含在脚本的选择模块行中,因此必须在命令行中指定 /PARAM1,如下所示:
“/PARAM1=C:\PEMICRO\9X1__32K.16P 0″
所以完整的前任amp命令行将是(注意这是连续的;没有换行符):
C:\PEMICRO\CPROG16Z 接口=旋风端口=USB1 BDM_SPEED 1
C:\PROJECT\GENERIC.CFG “/PARAM1=C:\PEMICRO\9X1__32K.16P 0″ /PARAM2=C:\PEMICRO\TEST.S19 /PARAM3=VM

Samp批次 File

这是一个前任amp调用命令行编程器并测试其错误代码的文件以简单的批处理方式返回 file. 史amp乐批次 files 适用于 Windows 95/98/XP 和 Windows 2000/NT/XP/Vista/7/8/10。
Windows NT/2000/Vista/7/8/10:

  • C:\PROJECT\CPROG16Z C:\PROJECT\ENGINE.CFG INTERFACE=USBMULTILINK PORT=USB1 如果错误级别 1 变坏变好
  • 坏的: ECHO 坏坏坏坏坏坏坏坏坏
  • 好的: 回声完成
  • 视窗 95/98/ME/XP: START /WC:\PROJECT\CPROG16Z C:\PROJECT\ENGINE.CFG INTERFACE=USBMULTILINK PORT=USB1 如果错误级别 1 变坏变好
  • 坏的: ECHO 坏坏坏坏坏坏坏坏坏
  • 好的: 回声完成

笔记: 的路径名称 file也可以使用与 CPROG 可执行文件相关的文件。

信息

有关 CPROG16Z 和 PROG16Z 的更多信息,请联系我们:

到 view 我们整个 .16P 模块库,请转到 PEmicro 的支持页面 web网站 www.pemicro.com/support.

© 2021 P&E Microcomputer Systems, Inc. 版权所有

 

文件/资源

PEmicro CPROG16Z 闪存编程软件 [pdf] 用户指南
CPROG16Z 闪存编程软件, CPROG16Z, 闪存编程软件, 编程软件, 软件

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *