PEmicro CPROG32Z 闪存编程软件
产品信息
CPROG32Z 是一款用于对微控制器进行编程的编程软件。 它需要一个硬件接口,通过调试带状电缆连接 PC 和目标 MCU(微控制器单元)。 可以从 Windows 命令提示符或通过使用正确的命令行参数调用 CPROG32Z 可执行文件来运行编程软件。 允许的命令行参数是:
- [?/!] - 使用 '?' 或者 '!' 字符选项导致
命令行编程器等待并在 PROG32Z 窗口中显示编程结果。 - [file名称] – A file 包含编程命令和注释,默认 = prog.cfg。
- [/PARAMn=s] – 一个命令行参数,可以通过替换特殊的方式来修改正在执行的脚本 tags (/参数)。
- [INTERFACE=x]——硬件接口类型(USBMULTILINK,
PARALLEL,以太网IP地址)用于连接PC和目标MCU。 - [PORT=y] – 用于连接 PC 和目标 MCU 的端口号或名称。
- [showports] – 显示已连接硬件的列表。
产品使用说明
要使用 CPROG32Z 编程软件,请按照以下步骤操作:
- 通过调试带状电缆连接 PC 和目标 MCU 之间的硬件接口。
- 通过从 Windows 命令提示符运行它或通过使用正确的命令行参数调用 CPROG32Z 可执行文件来启动编程软件。
- 如有必要,使用允许的命令行参数修改正在执行的脚本。
- 选择用于连接 PC 和目标 MCU 的硬件接口类型和端口号或名称。
- 使用编程软件对微控制器进行编程。
Examp命令行参数:
- CPROG32Z ?
- CPROG32Z [file名称] /PARAMn=s 接口=USBMULTILINK
端口=USB1 - CPROG32Z [filename] INTERFACE=CYCLONE PORT=10.0.1.223 NAME=”Joe's Cyclone”
- CPROG32Z [file名称]接口=USBMULTILINK端口=PE5650030
- CPROG32Z [file名称] INTERFACE=CYCLONE PORT=COM1
介绍
CPROG32Z 是 PROG32Z 软件的 Windows 命令行版本,它通过 PEmicro 硬件接口将闪存、EEPROM、EPROM 等编程到受支持的 NXP 683xx 处理器。 硬件接口可从 PEmicro 获得。 一旦您的接口硬件在您的 PC 和目标设备之间正确连接,您就可以从命令行启动 CPROG32Z 可执行文件。 除了可执行文件之外,还必须传递多个命令行参数,以配置 CPROG32Z 应尝试连接到哪个 PEmicro 硬件接口,以及配置该硬件接口如何连接到目标设备。 这些参数包括配置名称 (.CFG) file,以及启动命令,例如硬件接口的名称或接口连接到的端口。 介绍
CPROG32Z 是 PROG32Z 软件的 Windows 命令行版本,它
通过 PEmicro 硬件接口对 Flash、EEPROM、EPROM 等进行编程
支持 NXP 683xx 处理器。 硬件接口可从
微电子。
一旦您的接口硬件在您的 PC 和目标设备之间正确连接,您就可以从命令行启动 CPROG32Z 可执行文件。 除了可执行文件之外,还必须传递多个命令行参数,以配置 CPROG32Z 应尝试连接到哪个 PEmicro 硬件接口,以及配置该硬件接口如何连接到目标设备。 这些参数包括配置名称 (.CFG) file,以及启动命令,例如硬件接口的名称或接口连接到的端口。
启动
- 通过调试带状电缆连接 PC 和目标 MCU 之间的硬件接口。
- 通过从 Windows 命令提示符运行它或通过使用正确的命令行参数调用 CPROG32Z 可执行文件来启动编程软件。 允许的命令行参数是:
- CPROG32Z [?/!] [file名称] [/PARAMn=s] [v] [reset_delay n] [bdm_speed n]
[hideapp] [频率 n] [接口=x] [端口=y] [显示端口] [nosync]
[/日志file 日志file姓名] 在哪里: - [?/!] 使用 '?' 或者' '!' 字符选项使命令行编程器等待并在 PROG32Z 窗口中显示编程结果。 “?” 将始终显示结果,'!' 只有在发生错误时才会显示结果。 如果用户不使用批处理 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章节)
USBMULTILINK(此设置还支持 OSBDM) PARALLEL(并行端口或 BDM Lightning [Legacy]) - [端口=y] 其中 y 的值为以下之一(有关已连接硬件的列表,请参阅 showports 命令行参数;同时始终指定“接口”类型):
- 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 和 Tracelink,支持为设备指定一个名称,例如“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、XNUMX 或 XNUMX。代表 BDM Lightning 卡号。 (注意:这是旧产品)
要在 BDM Lightning #1 上选择并行电缆:INTERFACE=PARALLEL PORT=PCI1
[showports] 命令行程序员将所有可用端口输出到文本 file 然后终止(不管其他命令行参数)。 此信息输出到文本 file 包括联系附加编程硬件所需的参数以及硬件接口的描述。 默认输出 file名称为 ports.txt 并在与 CPROG 相同的文件夹中创建。
输出也可以被定向到不同的 file.
Example: 显示端口=C:\我的端口.TXT
此列表不显示并行端口或 COM 端口选项
这也是可用的。 下面是前任amp输出的文件
对于连接到 PC 的各种硬件接口(注
有不同的方式来称呼同一个单位; 这
每个接口的数据后面可能会跟随一个 [DUPLICATE] 行,该行显示同一接口的不同标签)。
Showports 输出前amp乐:
接口=USBMULTILINK 端口=PE5650030 ; USB1 : Multilink Universal FX Rev A (PE5650030)[PortNum=21] INTERFACE=USBMULTILINK PORT=USB1 ; USB1:多链路通用 FX 版本 A (PE5650030)[PortNum=21][重复] - [不同步] 这可以防止程序员在启动时验证与目标的通信是否有效。 验证涉及读取和写入 D0 数据寄存器。 这对于某些较新版本的 68F375 处理器很有用,这些处理器在此类验证过程中可能会出现问题。
- [五] 导致程序员在编程或验证之前不检查S-record地址的范围。 这加快了编程过程。 应谨慎使用该选项,因为所有超出范围的 S 记录都将被忽略。
- [重置延迟 n] 指定程序员重置目标后的延迟,我们检查该延迟是否已正确进入后台调试模式。 如果目标有一个复位驱动程序,在程序员释放复位线后保持 MCU 处于复位状态,这将很有用。 n 值是以毫秒为单位的延迟。
- [bdm_速度n] 该选项允许用户设置 PEmicro 调试接口的 BDM 移位时钟速度。 可以使用此整数值|
确定通信速度根据
以下等式:
USB-ML-16/32: (1000000/(N+1)) Hz – 传统产品
USB 多链路通用 FX: (25000000/(N+1)) 赫兹
BDM闪电 : (33000000/(2*N+5)) Hz – Legacy product n 的值应该在 0 到 31 之间。这个移位时钟在编程算法顶部的命令执行后生效,这样这些命令可以增加目标频率,并允许更快的移位时钟。 该时钟通常不能超过处理器总线频率的四分之一。 - [隐藏应用] 这将导致命令行程序员在运行时不显示视觉存在,但出现在任务栏上除外。 仅限 32 位应用程序!
- [频率] 默认情况下,PROG32Z 软件会尝试通过在处理器中加载延迟例程并计算执行所需的时间来自动确定目标的运行速度。 在某些机器上,这可能会产生不一致的结果,这可能会影响对 MCU 内部闪存进行编程的算法。 PEmicro 提供了一种命令行机制,允许用户通知 PROG32Z 软件目标处理器运行的确切速度。 这样,算法中的时间将是精确的。 在命令行上,您可以在“FREQ”标识符后面以赫兹为单位指定内部时钟频率。 请注意,通常如果您使用 MCU 外部的闪存设备,则不需要此时序参数,因为闪存会自行处理时序。
- [/日志file 日志file姓名] 此选项打开一个日志file 名称“日志filename”,这将导致写入状态窗口的任何信息也被写入此 file. “日志filename” 应该是一个完整的路径名,例如
c:\mydir\mysubdir\mylog.log。
命令行执行器amp莱斯:
CPROG32Z C:\ENGINE.CFG 接口=USBMULTILINK 端口=PE5650030
使用以下选项打开 CPROG32Z: - – 运行 C:\ENGINE.CFG 脚本
- – 接口是第一个 USB Multilink Universal FX,序列号为 PE5650030
- – 自动检测通信频率(未设置 io_delay_cnt)
- CPROG32Z C:\ENGINE.CFG 接口=USBMULTILINK 端口=USB1
使用以下选项打开 CPROG32Z: – 运行 C:\ENGINE.CFG 脚本 – 接口是 USB Multilink Universal FX,检测到的第一个接口。
- [/日志file 日志file姓名] 此选项打开一个日志file 名称“日志filename”,这将导致写入状态窗口的任何信息也被写入此 file. “日志filename” 应该是一个完整的路径名,例如
- CPROG32Z [?/!] [file名称] [/PARAMn=s] [v] [reset_delay n] [bdm_speed n]
编程命令
编程命令都以两个字符序列开头,后跟空格(空格或制表符)。 以不是命令的字符开头的行被列为 REMarks。 期限 filename 表示一个完整的 DOS 路径 file. 命令使用与交互式编程器 PROG32Z 中使用的相同的两个字母代码。 同样的.32P filePROG32Z 使用的 s 用于设置要编程的特定设备。 如果为特定设备指定了用户功能,则在 .32P 中指定其双字符命令和含义或 user_par file. 注意:命令参数 starting_addr、ending_addr、base_addr、byte、word 和 user_par 使用默认的十六进制格式。
- BM – 空白支票模块。
- BR 起始地址 结束地址
- – 空白检查范围。 CHANGEV n.nn –
- (仅限 Cyclone)更改音量tage 提供给目标,其中 n.nn 表示介于 0.00 和 5.00 之间的值,包括端值。 当命令执行时,Cyclone 将立即更改为该卷tage. 如果在调用此命令之前 Cyclone 继电器关闭,则继电器将打开并设置新的音量tag执行此命令时的 e 值。 请注意,vol 太低tage 值可能会使设备进入低功耗模式,这可能会完全失去调试通信。 确保 Cyclone 的跳线设置设置正确,以将电源发送到正确的端口。
- EB 起始地址 结束地址 – 擦除字节范围。
- EW 起始地址 结束地址 – 擦除单词范围。
- 电磁- 擦除模块。
- PB起始地址 字节 … byte——程序字节。
- PW starting_addr 字 … 字 – 程序字。
- PM – 程序模块。
- CM file名称 base_addr – 选择模块 .32P file. 注意:某些模块可能需要指定基地址。
- VM – 验证模块。
- VR 起始地址 结束地址 – 验证范围。
- UM file姓名 – 上传模块。
- UR 起始地址 结束地址 file名称 - 上传范围。
- SS file姓名 – 指定 S 记录。
- SM起始地址 ending_addr – 显示模块。
- 继电器关闭 –(仅限 Multilnk FX 和 Cyclone)关闭为目标供电的继电器,包括断电延迟(如果指定)。 对于希望在运行测试之前重启电路板、允许其引导加载程序运行或在编程后运行应用程序代码的用户特别有用。
- 继电器 –(仅限 Multink FX 和 Cyclone)打开继电器为目标供电,如果指定,包括加电延迟。 卷tag提供的 e 将基于最后一卷tage 指定的设置。 对于 Cyclone 用户,CHANGEV 命令可以改变 voltage值。 对于希望在运行测试之前重启电路板、允许其引导加载程序运行或在编程后运行应用程序代码的用户特别有用。
- HE – 帮助(查看 cprog.doc file).
- QU - 辞职。
- RE – 重置芯片。
- GO – 启动设备运行。 如果您希望设备运行以进行测试,可以用作最终命令。 应该紧接在“RE”命令之后。
- DE 时间(单位:ms) – 延迟“timeinms”毫秒
- xx用户_par – 仅适用于 .32P 中指定的用户函数 file.
启动配置命令
配置命令全部在程序员尝试联系目标之前处理。 整体配置 file 在尝试通信之前针对这些命令进行解析。 本节给出一个结束view 使用这些配置命令进行不同类型的配置。
笔记:配置命令参数默认基数为十进制。 一个结束view 配置命令如下:
- CUSTOMTRIMREF nnnnnnnn.nn 文件
“PT”所需的内部参考时钟频率; 程序修剪”命令。 该频率覆盖默认的内部参考时钟频率。 “n”的有效值取决于正在编程的特定设备。 有关有效的内部参考频率时钟范围,请参阅设备的电气规格。
在哪里:
nnnnnnnn.nn:以赫兹为单位的频率,保留两位小数 - 提供电源 n
确定接口是否应为目标供电。 注意:并非所有硬件接口都支持此命令。 n 的有效值为:- 0:接口不给目标供电。 (默认)
- 1:使能接口为目标供电。
(笔记:与传统选项相同:
- :USEPRORELAYS n)POWERDOWNDELAY n
为使目标电源降至 0.1v 以下而关闭目标电源时延迟的时间量。 n 是以毫秒为单位的时间。 - :上电延时 n
从目标电源打开或目标重置到软件尝试与目标对话之前的延迟时间。 该时间可以是加电时间和复位时间的组合(尤其是在使用复位驱动器的情况下)。 n 是以毫秒为单位的时间。 - :关机退出 n
确定在 CPROG32Z 应用程序终止时是否应关闭提供给目标的电源。 注意:并非所有硬件接口都支持此命令。 n 的有效值为:- 0 :退出时关闭电源(默认)
- 1 : 退出时保持开机状态
验证结束view
有几个可用的命令可用于在编程后验证设备上闪存的内容。 使用最广泛的命令是“VC
;验证对象的CRC File 到模块”。 “VC”命令将指示 CPROG32Z 首先从所选对象计算一个 16 位 CRC 值 file. 然后 CPROG32Z 会将代码加载到设备的 RAM 中,并指示设备根据设备 FLASH 中的内容计算一个 16 位 CRC 值。 只有对象中的有效地址范围 file 在设备上计算。 一旦来自对象的 16 位 CRC 值 file 和设备可用,CPROG32Z 将它们进行比较。 如果两个值不匹配,则会抛出错误。
或者,“VM ;Verify Module”命令可用于在所选对象之间执行逐字节验证 file 和设备。 通常,VM 命令比 VC 命令执行时间更长,因为 CPROG32Z 必须逐字节读取设备 FLASH 的内容。 还有另外两个命令可用于验证。 “SC ;Show Module CRC”指示 CPROG32Z 将代码加载到设备的 RAM 中,并指示设备根据设备整个 FLASH 的内容(包括空白区域)计算 16 位 CRC 值。 一旦计算出 16 位 CRC 值,CPROG32Z 就会在状态窗口中显示该值。 “VV ;Verify Module CRC to Value”命令类似于“SC”命令。 不同之处在于,CPROG16Z 不会显示计算出的 32 位 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 – 打开 .32P 时出错 file.
- 12 – 读取 .32P 时出错 file.
- 13 – 设备未初始化。
- 14 – 加载 .32P 时出错 file.
- 15 – 错误启用刚刚选择的模块。
- 16 – 指定的 S 记录 file 未找到。
- 17 – .32P 指定的缓冲区空间不足,无法容纳 file S-记录。 18 – 编程时出错。
- 19 – 起始地址未指向模块。
- 20 – 最后一个字节编程时出错。
- 21 – 模块中不再有编程地址。
- 22 – 起始地址不在对齐的字边界上。
- 23 – 最后一个字编程时出错。
- 24 – 无法擦除模块。
- 25 – 模块字未擦除。
- 26 – 选定的 .32P file 不执行字节检查。
- 27 – 模块字节未擦除。
- 28 – 字擦除起始地址必须是偶数。
- 29 – 字擦除结束地址必须是偶数。
- 30 – 用户参数不在范围内。
- 31 – .32P 指定功能期间出错。
- 32 – 指定的端口不可用或打开端口时出错。
- 33 – 命令对此 .32P 无效 file.
- 34 – 无法进入后台模式。 检查连接。
- 35 – 无法访问处理器。 尝试软件重置。
- 36 – 无效的 .32P file.
- 37 – 无法访问处理器 RAM。 尝试软件重置。
- 38 – 初始化被用户取消。
- 39 – 转换十六进制命令编号时出错。
- 40 – 配置 file 未指定和 file prog.cfg 不存在。
- 41 – .32P 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是:
- CM C:\PEMICRO\333__48K.32P 0 EM: 擦除模块
- 马来亚大学: 空白检查模块
- SS C:\PEMICRO\TEST.S19: 指定要使用的 S19
- 下午: 使用 S19 对模块进行编程
- 虚拟机: ;再次验证模块
笔记: 的路径名 file也可以使用与 CPROG 可执行文件相关的文件。
在脚本中使用命令行参数
/PARAMn=s 形式的命令行参数可用于将文本插入脚本 file 代替特殊 tags. 这可用于替换脚本的任何部分,包括编程命令, file名称和参数。 n 的有效值为 0..9。 s 是一个字符串,它将替换脚本中出现的任何 /PARAMn file.
作为前任ample,以下通用脚本可用于与 ex 具有完全相同功能的编程amp第 7 节中的 le 脚本 – Examp文件编程脚本 File:
CM /PARAM1 EM: CM /PARAM1 电磁
马来亚大学: BM
SS /参数 2 下午: SS /参数 2 PM
/参数 3: /参数3
以下参数将添加到 CPROG 命令行:
“/PARAM1=C:\PEMICRO\9B32_32K.32P 0″
/PARAM2=C:\PEMICRO\TEST.S19
/PARAM3=虚拟机
笔记: 由于 /PARAM1 参数的值中有空格,因此需要将整个参数用双引号括起来。 这向 Windows 表明它是单个参数。 在这种情况下,脚本中的 Choose Module 行中包含基地址 0x0,因此必须在命令行中指定 /PARAM1,如下所示:
“/PARAM1=C:\PEMICRO\9B32_32K.32P 0″
所以完整的前任amp命令行将是(注意这是连续的;没有换行符):
C:\PEMICRO\CPROG32Z 接口=USBMULTILINK 端口=PE5650030 BDM_SPEED 0 C:\PROJECT\GENERIC.CFG
“/PARAM1=C:\PEMICRO\333__48K.32P 0″ /PARAM/
参数2=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\CPROG32Z C:\PROJECT\ENGINE.CFG 目录
接口=USBMULTILINK 端口=USB1
如果错误级别 1 变坏
好
:坏的
ECHO 坏坏坏坏坏坏坏坏坏
: 好的
回声完成
视窗 95/98/ME/XP:
开始 /WC:\PROJECT\CPROG32Z C:\PROJECT\ENGINE.CFG
接口=USBMULTILINK 端口=USB1
如果错误级别 1 变坏
好
:坏的
ECHO 坏坏坏坏坏坏坏坏坏
: 好的
回声完成
注意:路径名 file也可以使用与 CPROG 可执行文件相关的文件。
信息
有关 CPROG32Z 和 PROG32Z 的更多信息,请联系我们:
- P&E Microcomputer Systems, Inc. 98 Galen St. Watertown, MA 02472-4502 美国
- 嗓音: 617-923-0053
传真: 617-923-0808
WEB: http://www.pemicro.com
到 view 我们整个 .32P 模块库,请转到 PEmicro 的支持页面 web网站 www.pemicro.com/support.
文件/资源
![]() |
PEmicro CPROG32Z 闪存编程软件 [pdf] 用户指南 CPROG16Z, CPROG32Z, CPROG32Z 闪存编程软件, 闪存编程软件, 编程软件, 软件 |