HT6XFB5X0 USB Flash系列IC具备ISP功能的开发流程

HT66FB5x0 / HT68FB5x0 USB Flash系列IC具备ISP功能的开发流程
文件编码:HA0328S
简介
HOLTEK USB Flash MCU为新一代USB MCU,提供在线更新模式(ISP),包含HT66FB5x0
铸造脱模剂(A/D type) 与HT68FB5x0 (I/O type) 两系列。由HT-IDE3000的项目设置选择具有
Bootloader,即可搭配HOPE3000、I3000等软件更新Flash。本文将介绍如何搭配HT-IDE3000、
HOPE3000、I3000、USB workshop、库文件Enable_lib来实现ISP烧录。Bootloader功能及ISP烧录简介
启用IDE3000的Bootloader功能,会占用0.5K Words的Flash ROM空间,如图1。例如
HT66FB550的Flash程序存储器大小为8K×16,若使用Bootloader功能,实际只有7.5K×
16可供用户开发程序(该Bootloader Code只能通过e-WriterPro +HOPE3000软件烧录到IC
中)。因此程序可以分成两个部分,Bootloader Code和User Code,当要进行ISP烧录时,
需要连接PC端的软件,它通过和Bootloader Code建立连接,来更新User Code
部分的Flash ROM。
图1  带Bootloader的Flash程序存储器结构
当程序执行在User Code,且要进行ISP烧录时,需要将程序跳转到Bootloader Code,方可
连上进行ISP烧录,为此,HOLTEK提供了一个库文件,用户在IDE3000将其添
加到项目中,在程序中判断到符合跳转到Bootloader的条件时,调用库文件
Enable_lib提供的子程序ENABLE_BL来实现跳转,并通过标志位
B_ENABLE_BL_OK判断是否成功跳转到Bootloader Code。若成功跳转,利用外部复位、
重启MCU或者故意造成WDT溢出对MCU进行复位,MCU被复位后便会执行Bootloader
Code。此时将设备连到PC,USB列举成功后,用户可使用HOLTEK提供的与
Bootloader Code通信,完成User Code更新。
HT-IDE3000设置
HOLTEK USB Flash ISP功能需搭配使用HT-IDE3000 Ver 7.7以上版本,方可支持Bootloader
功能设置。HT66FB5x0与HT68FB5x0系列MCU在建立项目时,如图2,可选择是否使用
Bootloader功能,若选择使用Bootloader功能,需再选择程序是由ISP Mode或是User Mode吸咪头
开始执行。建立好后,再于工程选项中加入库文件Enable_lib。
图2  新建具备Bootloader功能的项目
若项目已经建立,但未加入Bootloader功能,可如图3在“选项”->“工程选项”中勾选“使用
Bootloader”并选择启动模式及加入库文件。
图3  现有项目加入Bootloader及库文件
选择Start at ISP Mode即程序开始运行时,会先执行Bootloader Code,Bootloader进行USB
列举,成功后若在指定时间内打开I3000软件,即可自动链接,进而可执行ISP烧录等操
作,否则超过时间后,程序会自动执行User Code。
选择Start at User Mode即程序开始运行时,会先执行User Code,此时若想进行ISP烧录,
需有从User Code跳转到Bootloader的动作,可通过调用库文件的子程序来实现。具体程序
编写请参考应用范例HA0321S和HA0322S。
HT-IDE3000无法提供Bootloader的仿真模拟。
HOPE3000
HOPE3000需使用V3.08或者以上版本的(有带Bootloader功能,安装目录下有Misc活页
夹),将项目的MTP文件通过烧录器e-WriterPro烧入到IC中。因为Bootloader Code必须
经由e-WriterPro + HOPE3000软件烧录,无法通过e-Link及ISP烧录,故第一次烧录IC时,
需要有烧录器配合,之后User Code的更新便可以脱离烧录器,使用ISP烧录。USB Workshop
当启动模式选择Start at User Code,但要进行ISP更新时,需调用库文件的子程序来将程序
跳转到Bootloader Code。因此程序设计上,可加入适当条件,当条件满足后便调用库文件
的子程序。这个条件可以是按键开关,也可以另外搭配个AP,通过USB接口来给Device
发送跳转命令。若使用AP发送命令的方式,可以在Holtek USB Workshop开发平台产出的
Demo Code的基础上进行修改,在上位机部分新增跳转命令,在下位机部分新增跳转命令
处理,即调用库文件的子程序,再将跳转结果反馈给上位机AP。具体程序可参考的应肛门塞
用范例《用USB Workshop实现HT66FB5x0与HT68FB5x0从User Code跳转Bootloader
Code》。
I3000的使用
当确定程序已跳转到Bootloader Code后,便可将设备以实际挂上PC的方式与连
结,来实现ISP烧录。具体操作步骤如下:
1、连接I3000。USB设备连上PC后,在PC上执行,当I3000接口上“USB
Connect”、“Download Mode”前显示打钩时,如图4所示,便表示已成功连接可进行烧
录。
图4  I3000与Device成功连接
2、烧录新程序的MTP文件。在I3000上点击Open打开新程序的MTP文件,点击I3000
患者腕带
接口右侧的「Erase」按钮,选择「Select All」,按「OK」按钮即可完成擦除。然后点
击「Program」按钮,对MCU进行烧录。最后点击「Verify」,检验是否有将代码成功
烧录到IC中。
3、程序烧录成功后,在I3000上点击右侧的「MCU Start」按钮,如图5,设置MCU执
行的模式(与IDE3000中设置的模式类似,这里多了第一项,MCU只执行Bootloader),
设置好模式后,按「OK」按钮。
图5  设置MCU执行模式
4、当出现图6所示的“Execute Program…”窗口,提示:“the machine needs to be rebooted!”
时,再拔除USB连接,然后重新给MCU上电,MCU就会根据选定的模式执行程序。
至此,新程序便烧录完成。
图6  Execute Program…
ISP烧录流程
综上所述,ISP烧录的流程如下:
1、使用IDE3000编译程序,使能Bootloader并加入库文件Enable_lib,程
序中需加入跳转Bootloader功能,可通过按键开关或处理AP(可通过修改USB
Workshop产出的Demo Code得到)发送的命令来调用库文件的子程序,使程序能够跳
转到Bootloader Code。
2、使用e-WriterPro + HOPE3000软件将编译后的MTP档烧录到IC中(若IC中已烧录有
Bootloader Code且已烧录的程序中有跳转Bootloader功能,可跳过此步骤)。
3、若程序执行在User Code却要进行ISP烧录时,可通过按键开关或AP发送命令使程序高压锅限压阀
跳转到Bootloader。
4、跳转成功后,复位设备,连上I3000,打开新程序的MTP文件进行烧录并设置好执行
弱碱性水机模式。
5、烧录成功后,复位设备,即可按设定好的模式运行设备。
结论
本应用范例包括了使用IDE3000、HOPE3000、USB Workshop、I3000及Enable_Bootloader
Library等工具进行ISP烧录的流程。

本文发布于:2024-09-24 06:23:30,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/278486.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:程序   跳转   烧录   功能   文件   使用   模式
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议