AT32 ISP 命令行操作工具和手册-V3.0.0
本帖最后由 muyichuan2012 于 2022-4-6 10:18 编辑AT32 ISP 命令行操作工具和手册
20220406 更新V3.0.0版到附件 Artery_ISP_Console_Linux_V3.0.0V3.0.0新增 支持Linux唤醒
简介:
本手册用于介绍Artery ISP Console。ISP Console 是一款基于MCU Bootloader 的命令行应用程序。使用该应用程序,用户可以通过UART 端口或者USB 端口配置操作Artery 的MCU 设备。
环境要求:软件要求:需要Windows XP、Windows 7 及以上操作系统支持。需要.net framework 4.0 的支持。
硬件要求:可用的串行通讯端口(COM)。可用的USB 通讯端口。
名词解释ISP:在线编程(In-System Programming)。具有ISP 功能的单片机芯片,可以直接在电路板上给芯片写入或者擦除程序。UART:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)。是一种全双工异步通信的串行通讯端口(COM)。USB:通用串行总线(Universal Serial Bus)。是一种用于规范电脑与外部设备连接与通讯的外部总线标准。DFU:(Device Firmware Upgrade)。是一种基于USB 通讯的设备固件更新协议。
安装硬件安装:UART 通讯:需将设备连接到电脑上可用的串行通讯端口(COM)。DFU 通讯: 需将设备连接到电脑上可用的USB 端口。
USB DFU 驱动程序安装:如果使用USB DFU 通讯方式,需安装USB DFU 驱动程序。
软件操作:使用方式:使用方式1:命令行下输入参数
使用方式2:批处理文件(常用方式,可参考DFU_download.bat 和USART_download.bat)
命令行参数:
更多细节内容,请下载附件查看。
喜欢Linux系统的还是喜欢敲命令行的感觉 下载看看 命令行敲击的感觉真爽 批处理方式
1、 在程序校验完后,如果使能了读保护命令 -p --erp,程序无法自动运行(此时boot0为高)
2、 在程序校验完后,未添加读保护命令,程序能自动运行(此时boot0为高)
能否做到添加了读保护命令,在程序烧录完后能自动运行(此时boot0为高)
下载看看 bat批处理不错,很方便。 能设置成免登陆下载附件吗? linux 版本还缺少一个 udev 文件,有相关串口号或者其他能标识的信息吗? ./AT32_ISP_Console.sh
export LD_LIBRARY_PATH=$(pwd)
./AT32_ISP_Console -com --pn $1 --br 115200 --db 8 --pr EVEN --to 5 -p --dfap --depp -enspim --ft 2 --fs 16 --fda 1000000 --remap 1p -e --all -d --a 08400000 --fn $2 --v --o -usd --set --fn $3 -p --efap
这部分可以修改一下
添加库的信息可以这么优化
由于是二进制提供,按 linux 打包规范是放 opt 下,如 /opt/Artery32/AT32_ISP_Console
install -Dm0644 /dev/stdin "/etc/profile.d/AT32_ISP_Console.sh" << EOF
#!/bin/sh
[ -d /opt/Artery32/AT32_ISP_Console ] && append_path '/opt/Artery32/AT32_ISP_Console'
export PATH
EOF
饕餮人 发表于 2022-4-6 14:16
linux 版本还缺少一个 udev 文件,有相关串口号或者其他能标识的信息吗?
请问您使用哪个版本的linux系统呢? 我也喜欢敲命令行的感觉,哈哈 饕餮人 发表于 2022-4-6 14:16
linux 版本还缺少一个 udev 文件,有相关串口号或者其他能标识的信息吗?
根据您的建议,把DFU连接方式可以增加到udev文件。新建脚本,并root权限执行。成功后,下次使用ISP工具时,就不需要使用root权限了。
脚本如下:
install -Dm0644 /dev/stdin "/etc/udev/rules.d/90-artery32.rules" << EOF
# Copy this file to /etc/udev/rules.d/ or /usr/lib/udev/rules.d/
# If rules fail to reload automatically, you can refresh udev rules
# with the command "sudo udevadm control --reload"
ACTION!="add|change", SUBSYSTEM!="usb_device", GOTO="artery32_rules_end"
# SUBSYSTEM=="gpio", MODE="0666", GROUP="plugdev", TAG+="uaccess"
# SUBSYSTEM!="usb|tty|hidraw", GOTO="artery32_rules_end"
# Please keep this list sorted by VID:PID
# artery32
ATTRS{idVendor}=="2e3c", ATTRS{idProduct}=="df11", MODE="666", GROUP="plugdev", TAG+="uaccess"
# BUS=='usb',
#ATTRS{manufacturer}=="*AT32*", MODE="0666", GROUP="plugdev", TAG+="uaccess"
LABEL="artery32_rules_end"
EOF 将其打包到 AUR 仓库
artery-isp-console-bin:https://aur.archlinux.org/packages/artery-isp-console-bin
由于 21ic 相关的帖子设置了需要用户登录才能下载
我这边做个链接处理
用户自行下载到本地
然后运行本地编译即可
附件是编译好的 aur 包,下载后用 tar 解压
tar -xf artery-isp-console-bin-3.0.0-2-any.pkg.tar.zst.zip
使用 pacman -U artery-isp-console-bin-3.0.0-2-any.pkg.tar.zst 安装
软件包包含信息,
sha256sums
9df3be610b4a168103ee5f7f5e1a221cc67f5e755dc03fa62a6f17ad975222b5artery-isp-console-bin-3.0.0-2-any.pkg.tar.zst.zip
b5e8530af2598122d44a69aaf339559c39122a85b286996a0ed067599f6da58cartery-isp-console-bin-3.0.0-2-any.pkg.tar.zst
❯ exa -T pkg/artery-isp-console-bin
pkg/artery-isp-console-bin
├── etc
│└── udev
│ └── rules.d
│ └── 90-artery32.rules
├── opt
│└── Artery32
│ └── artery-isp-console
│ ├── AT32_ISP_Console
│ ├── DFU_download.sh.template
│ ├── Document
│ │├── UM_ISP_Console_Programmer.pdf
│ │└── UM_ISP_Console_Programmer_EN.pdf
│ ├── Map
│ │├── AR8F403CGT6-A_1024K.ATmap
│ │├── AR8F403CGT6_1024K.ATmap
│ │├── AT32F403ACCT7_256K.ATmap
│ │├── AT32F403ACCU7_256K.ATmap
│ │├── AT32F403ACET7_512K.ATmap
│ │├── AT32F403ACEU7_512K.ATmap
│ │├── AT32F403ACGT7_1024K.ATmap
│ │├── AT32F403ACGU7_1024K.ATmap
│ │├── AT32F403ARCT7_256K.ATmap
│ │├── AT32F403ARET7_512K.ATmap
│ │├── AT32F403ARGT7_1024K.ATmap
│ │├── AT32F403AVCT7_256K.ATmap
│ │├── AT32F403AVET7_512K.ATmap
│ │├── AT32F403AVGT7_1024K.ATmap
│ │├── AT32F403AVGW_1024K.ATmap
│ │├── AT32F403CBT6_128K.ATmap
│ │├── AT32F403CCT6_256K.ATmap
│ │├── AT32F403CCU6_256K.ATmap
│ │├── AT32F403CET6_512K.ATmap
│ │├── AT32F403CEU6_512K.ATmap
│ │├── AT32F403CGT6_1024K.ATmap
│ │├── AT32F403CGU6_1024K.ATmap
│ │├── AT32F403RCT6_256K.ATmap
│ │├── AT32F403RET6_512K.ATmap
│ │├── AT32F403RGT6_1024K.ATmap
│ │├── AT32F403VCT6_256K.ATmap
│ │├── AT32F403VET6_512K.ATmap
│ │├── AT32F403VGT6_1024K.ATmap
│ │├── AT32F403ZCT6_256K.ATmap
│ │├── AT32F403ZET6_512K.ATmap
│ │├── AT32F403ZGT6_1024K.ATmap
│ │├── AT32F407AVCT7_256K.ATmap
│ │├── AT32F407AVGT7_1024K.ATmap
│ │├── AT32F407RCT7_256K.ATmap
│ │├── AT32F407RET7_512K.ATmap
│ │├── AT32F407RGT7_1024K.ATmap
│ │├── AT32F407VCT7_256K.ATmap
│ │├── AT32F407VET7_512K.ATmap
│ │├── AT32F407VGT7_1024K.ATmap
│ │├── AT32F413C8T7_64K.ATmap
│ │├── AT32F413CBT7_128K.ATmap
│ │├── AT32F413CBU7_128K.ATmap
│ │├── AT32F413CCT7_256K.ATmap
│ │├── AT32F413CCU7_256K.ATmap
│ │├── AT32F413KBU7-4_128K.ATmap
│ │├── AT32F413KCU7-4_256K.ATmap
│ │├── AT32F413RBT7_128K.ATmap
│ │├── AT32F413RCT7_256K.ATmap
│ │├── AT32F413TBU7_128K.ATmap
│ │├── AT32F415C8T7_64K.ATmap
│ │├── AT32F415CBT7_128K.ATmap
│ │├── AT32F415CBU7_128K.ATmap
│ │├── AT32F415CCT7_256K.ATmap
│ │├── AT32F415CCU7_256K.ATmap
│ │├── AT32F415K8U7-4_64K.ATmap
│ │├── AT32F415KBU7-4_128K.ATmap
│ │├── AT32F415KCU7-4_256K.ATmap
│ │├── AT32F415R8T7-7_64K.ATmap
│ │├── AT32F415R8T7_64K.ATmap
│ │├── AT32F415RBT7-7_128K.ATmap
│ │├── AT32F415RBT7_128K.ATmap
│ │├── AT32F415RBW_128K.ATmap
│ │├── AT32F415RCT7-7_256K.ATmap
│ │├── AT32F415RCT7_256K.ATmap
│ │├── AT32F415RCW_256K.ATmap
│ │├── AT32F421C4T7_16K.ATmap
│ │├── AT32F421C6T7_32K.ATmap
│ │├── AT32F421C8T7_64K.ATmap
│ │├── AT32F421C8W-YY_64K.ATmap
│ │├── AT32F421C8W_64K.ATmap
│ │├── AT32F421F4P7_16K.ATmap
│ │├── AT32F421F4U7_16K.ATmap
│ │├── AT32F421F6P7_32K.ATmap
│ │├── AT32F421F6U7_32K.ATmap
│ │├── AT32F421F8P7_64K.ATmap
│ │├── AT32F421F8U7_64K.ATmap
│ │├── AT32F421G4U7_16K.ATmap
│ │├── AT32F421G6U7_32K.ATmap
│ │├── AT32F421G8U7_64K.ATmap
│ │├── AT32F421K4T7_16K.ATmap
│ │├── AT32F421K4U7-4_16K.ATmap
│ │├── AT32F421K4U7_16K.ATmap
│ │├── AT32F421K6T7_32K.ATmap
│ │├── AT32F421K6U7-4_32K.ATmap
│ │├── AT32F421K6U7_32K.ATmap
│ │├── AT32F421K8T7_64K.ATmap
│ │├── AT32F421K8U7-4_64K.ATmap
│ │├── AT32F421K8U7_64K.ATmap
│ │├── AT32F421PF4P7_16K.ATmap
│ │├── AT32F421PF8P7_64K.ATmap
│ │├── AT32F423C8T7_64K.ATmap
│ │├── AT32F423C8U7_64K.ATmap
│ │├── AT32F423CBT7_128K.ATmap
│ │├── AT32F423CBU7_128K.ATmap
│ │├── AT32F423CCT7_256K.ATmap
│ │├── AT32F423CCU7_256K.ATmap
│ │├── AT32F423K8U7-4_64K.ATmap
│ │├── AT32F423KBU7-4_128K.ATmap
│ │├── AT32F423KCU7-4_256K.ATmap
│ │├── AT32F423R8T7-7_64K.ATmap
│ │├── AT32F423R8T7_64K.ATmap
│ │├── AT32F423RBT7-7_128K.ATmap
│ │├── AT32F423RBT7_128K.ATmap
│ │├── AT32F423RCT7-7_256K.ATmap
│ │├── AT32F423RCT7_256K.ATmap
│ │├── AT32F423T8U7_64K.ATmap
│ │├── AT32F423TBU7_128K.ATmap
│ │├── AT32F423TCU7_256K.ATmap
│ │├── AT32F423V8T7_64K.ATmap
│ │├── AT32F423VBT7_128K.ATmap
│ │├── AT32F423VCT7_256K.ATmap
│ │├── AT32F425C6T7_32K.ATmap
│ │├── AT32F425C6U7_32K.ATmap
│ │├── AT32F425C8T7_64K.ATmap
│ │├── AT32F425C8U7_64K.ATmap
│ │├── AT32F425F6P7_32K.ATmap
│ │├── AT32F425F8P7_64K.ATmap
│ │├── AT32F425G6U7_32K.ATmap
│ │├── AT32F425G8U7_64K.ATmap
│ │├── AT32F425K6T7_32K.ATmap
│ │├── AT32F425K6U7-4_32K.ATmap
│ │├── AT32F425K8T7_64K.ATmap
│ │├── AT32F425K8U7-4_64K.ATmap
│ │├── AT32F425R6T7-7_32K.ATmap
│ │├── AT32F425R6T7_32K.ATmap
│ │├── AT32F425R8T7-7_64K.ATmap
│ │├── AT32F425R8T7_64K.ATmap
│ │├── AT32F435CCT7-W_192K.ATmap
│ │├── AT32F435CCT7_256K.ATmap
│ │├── AT32F435CCU7-W_192K.ATmap
│ │├── AT32F435CCU7_256K.ATmap
│ │├── AT32F435CGT7-W_960K.ATmap
│ │├── AT32F435CGT7_1024K.ATmap
│ │├── AT32F435CGU7-W_960K.ATmap
│ │├── AT32F435CGU7_1024K.ATmap
│ │├── AT32F435CMT7-E_4032K.ATmap
│ │├── AT32F435CMT7_4032K.ATmap
│ │├── AT32F435CMU7-E_4032K.ATmap
│ │├── AT32F435CMU7_4032K.ATmap
│ │├── AT32F435RCT7_256K.ATmap
│ │├── AT32F435RGT7_1024K.ATmap
│ │├── AT32F435RMT7_4032K.ATmap
│ │├── AT32F435VCT7_256K.ATmap
│ │├── AT32F435VGT7_1024K.ATmap
│ │├── AT32F435VMT7_4032K.ATmap
│ │├── AT32F435ZCT7_256K.ATmap
│ │├── AT32F435ZGT7_1024K.ATmap
│ │├── AT32F435ZMT7_4032K.ATmap
│ │├── AT32F437RCT7_256K.ATmap
│ │├── AT32F437RGT7_1024K.ATmap
│ │├── AT32F437RMT7_4032K.ATmap
│ │├── AT32F437VCT7_256K.ATmap
│ │├── AT32F437VGT7_1024K.ATmap
│ │├── AT32F437VMT7_4032K.ATmap
│ │├── AT32F437ZCT7_256K.ATmap
│ │├── AT32F437ZGT7_1024K.ATmap
│ │├── AT32F437ZMT7_4032K.ATmap
│ │├── AT32FEBKC8T7_64K.ATmap
│ │├── AT32L021C4T7_16K.ATmap
│ │├── AT32L021C6T7_32K.ATmap
│ │├── AT32L021C8T7_64K.ATmap
│ │├── AT32L021F4P7_16K.ATmap
│ │├── AT32L021F4U7_16K.ATmap
│ │├── AT32L021F6P7_32K.ATmap
│ │├── AT32L021F6U7_32K.ATmap
│ │├── AT32L021F8P7_64K.ATmap
│ │├── AT32L021F8U7_64K.ATmap
│ │├── AT32L021G4U7_16K.ATmap
│ │├── AT32L021G6U7_32K.ATmap
│ │├── AT32L021G8U7_64K.ATmap
│ │├── AT32L021K4T7_16K.ATmap
│ │├── AT32L021K4U7-4_16K.ATmap
│ │├── AT32L021K4U7_16K.ATmap
│ │├── AT32L021K6T7_32K.ATmap
│ │├── AT32L021K6U7-4_32K.ATmap
│ │├── AT32L021K6U7_32K.ATmap
│ │├── AT32L021K8T7_64K.ATmap
│ │├── AT32L021K8U7-4_64K.ATmap
│ │├── AT32L021K8U7_64K.ATmap
│ │├── AT32WB415CCU7-7_256K.ATmap
│ │└── KC9060_128K.ATmap
│ └── USART_download.sh.template
└── usr
├── bin
│└── artery-isp-console
└── lib
├── libATBLLIB.so.1.0.0
├── libATDFULIB.so.1.0.0
├── libATUARTBLLIB.so.1.0.0
└── libFiles.so.1.0.0
页:
[1]