京微齐力(Hercules)离线编程
支持硬件:
Vllink 2X支持硬件:
Vllink Basic2
一、准备工作
1.1 接口准备
1.2 固件准备
在
Fuxi中生成.acf格式的固件依次点击菜单栏中的
Tools->Command-Line Windows...,打开Fuxi Design Console执行:
acftobin.exe ./outputs/your_project_name.acf,就会在./outputs目录下生成your_project_name.acf.bin记录
your_project_name.acf.bin的文件长度,当前尚未支持固件压缩,所以长度不得超过1MB$ ls -al ./outputs/*.bin -rwxrwx---+ 1 xxx xxx 555020 May 1 14:02 ./outputs/your_project_name.acf.bin
十进制
555020换算成十六进制,即:0x8780C,用例中会用到
1.3 离线编程器准备
将离线编程器固件升级到 V00.56-202608021157 或更高
通过 Vllink 2026 Console 将
your_project_name.acf.bin载入Data Block 0修改运行模式
Mode=customize,此模式会强制配置Vref_Voltage_mV=0与Vout=disable根据需要修改
Customize_CMD,修改方法见下文
1.4 编程过程
trig_once模式下,编程器立刻执行编程过程,若未连接目标芯片,失败退出trig_button模式下,可以先给编程器上电,然后接上已上电的目标芯片,按按键触发编程trig_vref模式下,可以先给编程器上电,然后接上已上电的目标芯片,VRef脚电压被目标芯片抬高即自动触发烧录trig_rxd_rise模式下,可以先给编程器上电,然后接上已上电的目标芯片,机台通过RXD脚给出上升沿即自动触发烧录trig_rxd_fall模式下,可以先给编程器上电,然后接上已上电的目标芯片,机台通过RXD脚给出下降沿即自动触发烧录烧录过程中蓝灯闪烁;烧录成功绿灯常亮;烧录失败黄灯常亮
pass_txd_rise/pass_txd_fall配置后,烧录成功时TXD脚输出对应边沿提示机台fail_srst_rise/fail_srst_fall配置后,烧录失败时SRST脚输出对应边沿提示机台
1.5 接口电气特性
下载器
DC3接口的所有逻辑IO均经74LVC1T45电平转换,其外侧IO电平以VRef为参考电压VRef为目标芯片的通讯电压,与机台控制板电压(记为V_CTRL)不一定匹配当
VRef未上电时,74LVC1T45输出高阻,所有逻辑IO均无效任务过程中若
VRef发生变化,SRST/TXD输出电平随之漂移,可能产生边沿毛刺,被机台误判为pass/fail提示在
VRef与V_CTRL不一致的情况下,若电压偏差较小,可使用二极管/肖特基二极管匹配电平;若电压偏差较大,则需使用MOS/BJT/电平转换芯片/光耦等进阶匹配机制机台对接可用IO:
SRST/TXD为输出(VRef有效时可输出0V或VRef电平),RXD为输入
二、命令
hercules_prog:京微齐力编程命令
2.1 子命令综述
子命令 |
功能 |
状态 |
|---|---|---|
|
自动化执行离线编程功能 |
开发中 |
2.2 子命令说明-auto
命令格式:
hercules_prog auto [target_type] [trig_type] <lz4> <autoreset> <boost> <pass_txd_rise> <pass_txd_fall> <fail_srst_rise> <fail_srst_fall> <flash [data_select] [addr] [size]> <chip [data_select] [size]>target_type:芯片类型,必填target_type芯片类型
M5M5系列
M7M7系列
HR02HR02系列
H1D03H1D03系列
P1P1系列
H3H3系列
P0P0系列
H7H7系列
trig_type:触发方式,必填trig_type触发方式
trig_vrefVRef脚电平上升沿触发
trig_button按键按下事件触发
trig_rxd_riseRXD脚电平上升沿触发
trig_rxd_fallRXD脚电平下降沿触发
trig_once触发一次后退出
【暂未支持】~~
lz4:声明载入编程器的数据文件是lz4压缩格式,选填~~autoreset:操作完毕后复位芯片,选填boost:以最高可探测档位时钟与目标芯片通讯,可获得最快编程速度,但不建议启用,选填pass_txd_rise:烧录成功后,TXD脚输出上升沿提示机台,选填pass_txd_fall:烧录成功后,TXD脚输出下降沿提示机台,选填fail_srst_rise:烧录失败后,SRST脚输出上升沿提示机台,选填fail_srst_fall:烧录失败后,SRST脚输出下降沿提示机台,选填补充说明:
pass_txd_rise与pass_txd_fall互斥,不能同时使用;fail_srst_rise与fail_srst_fall互斥,不能同时使用;pass_txd_*与fail_srst_*可同时使用flash [data_select] [addr] [size]:对Flash编程data_select:当前仅支持data0,使用 Vllink 2026 Console 载入addr:目标Flash的编程起始地址,一般填入0x0,必须是以0x开头的十六进制size:目标Flash的编程长度,建议使用所载入文件的长度,且必须是以0x开头的十六进制
chip [data_select] [size]:对Chip编程data_select:当前仅支持data0,使用 Vllink 2026 Console 载入size:目标Chip(SRAM)的编程长度,建议使用所载入文件的长度,且必须是以0x开头的十六进制
补充说明:
chip与flash互斥,不能同时使用;chip也不要与autoreset同时使用
2.3 子命令用例-auto
例1:
Customize_CMD=hercules_prog auto H7 trig_vref autoreset flash data0 0x0 0x8780C目标芯片是HME-H7;通过VRef脚探测目标板的IO电平触发编程;烧录完成后自动复位芯片
烧录对象是Flash,对象Flash的烧录起始地址是0,长度是0x8780C
例2:
Customize_CMD=hercules_prog auto H7 trig_button boost chip data0 0x8780C目标芯片是HME-H7;通过编程器的按键按下事件触发编程;使用最高可用档位时钟通讯
烧录对象是Chip,长度是0x8780C
例3:
Customize_CMD=hercules_prog auto H7 trig_rxd_fall pass_txd_rise fail_srst_rise flash data0 0x0 0x8780C目标芯片是HME-H7;机台通过
RXD脚下降沿触发编程烧录成功后
TXD脚输出上升沿提示机台;烧录失败后SRST脚输出上升沿提示机台烧录对象是Flash,烧录起始地址是0,长度是0x8780C