对于 SWJ 选项为三线制调试, 将在后面的高级教程中介绍. 右下方有两个选项:
\表示下载后校验数据
\表示当仿真的时候先将目标代码下载到 Flash 中.
Trace 菜单为跟踪配置, 可以实时的将一些变量使用曲线的形式实时表示出来, 我们将在今后的高级教程中介绍这一项功能.
注意: 市面上目前的盗版 Ulink2 不支持这项功能, 正版的支持, Jlink 也不支持这项功能.
\菜单用来配置使用仿真器程序下载的配置选项, 大家务必选择好和你芯片配套的选项. 如果你是使用的别人模板下修改为你的工程, 这个选项请注意一下, 如果不正确将不能将你的代码下载到芯片中.
配置好 \后, 那么 \可以不用配置.
如果你使用的是仿真器仿真, 在你已经正确得将目标板和仿真器建立了物理连接后, 请选择正确的仿真器进行配置.
6
(二) ISP 在线下载程序
ISP:in system programming
简介:
ISP: 用写入器将code烧入,不过,芯片可以在目标板上,不用取出来,在设计目标板的时
候就将接口设计在上面,所以叫\在系统编程\即不用脱离系统;
应用场合: 1,ISP 程序升级需要到现场解决,不过好一点的是不必拆机器了; ISP的实现一般需要很少的外部电路辅助实现,通常可利用单片机的串行口接到计算机
的RS232口,通过专门设计的固件程序来编程内部存储器。
主要是指代芯片的烧写方式,以往写片子需要把片子拿下来,离开电路,用 编程器烧,
换句话说,芯片不能不脱离应用系统进行写入。
ISP 主要针对这个问题,使用JTAG或者串行口(MCU 内部有Boot Loader,通过指定的方式激活之,它可以和PC或其它上位机通过串口联系,不用使单片机离开应用系统而更新
内部的程序/设置)进行程序的烧写操作。
因此,具有ISP 功能的MCU 可以不使用编程器进行编程。当然,实现ISP 可能需要一
些硬件电路支持,具体的在数据手册中有说明。
一般具备ISP 功能后,就不要编程器了,而是使用下载线进行编程工作。但是不是说他们就一定不支持编程器了,具体型号具体分析。是否需要仿真器进行仿真和是否具备ISP和IAP没有必然的联系。只不过具备了IAP功能,可以在MCU内写入监控程序,模拟一个仿真器,当然,这个监控程序是要消耗资源的,和使用硬件的仿真器还有一定的差异。
-------------------------------------------------------------------
以上就是 ISP 的一些概念上的描述, 现在通俗点说就是怎么利用工具把程序下载到芯片
当中去.
第一步: 配置工程, 输出编译后的代码 .Hex 文件:
我们打开第一个我们的教程例子, GPIO_Test 这个例子工程.
先按照下面的步骤来配置一下工程:
7
点击下图中的 Option 选项;
选中 \菜单下的 \并且在右边的 \中
填写我们生成编译代码的文件名称.
配置完选项后, 点击工程编译按钮, 然后我们就可以在
\\Example2-GPIO\\GPIO_test\\output 目录下面得到 Gpio_Test.Hex 文件了.
8
第二步: 准备串口物理连接和 设置 Boot 跳线选择芯片启动类型
先需要准备一根串口延长线, 一头为公头,一头为母头的串口连接线 (非交叉线), 和一台有串口的电脑. (注意:如果您的电脑没有串口,请购买 \转 RS232\的硬件设备来扩
充你电脑的串口.)
将 Mini-STM32 的 J1 跳线帽跳至 2,3 两脚上选择芯片从内部的 Boot 区启动, 上电后会
先进入 ISP 状态. 连接串口线至你的电脑上的串口
将 USB 延长线连接至你的电脑上给 Mini-STM32 开发板供上 5V 电源. 当开发板上的电
源指示灯点亮后一切准备就绪.
第三步: 配置 ISP 下载软件 mcuisp.exe:
您可以点击下载稳定版的 mcuisp V0.975 版本的软件:
打开 mcuisp.exe 绿色软件,
选择好您连接至开发板使用的电脑上的串口, 可以通过搜索串口菜单来自动搜索出你电脑
上的串口信息.
在左上方的\程序文件\选择你准备烧入芯片中的代码, 就是前面我们生成的
Gpio_Test.Hex.
然后在菜单选项栏上选择 \菜单, 点击 \读STM32器件信息\命令按钮.
我们会在右边的信息框中显示出连接成功的信息:
如图所示:
mcuisp.rar (576.58 KB)
9
选择上\校验\和\编程后运行\两个选项后点击\开始编程\会报出程序成功烧入芯片的一些信息, 如下:
------------------------------------------------------------------ DTR电平置高(+3-+12V),复位
RTS置高(+3-+12V),选择进入BootLoader ...延时100毫秒
DTR电平变低(-3--12V)释放复位 RTS维持高
开始连接...3, 接收到:1F
在串口COM4连接成功@115200bps,耗时343毫秒 芯片内BootLoader版本号:2.1 芯片PID:00000410 芯片FLASH容量为128KB
芯片SRAM容量为65535KB(此信息仅供参考,新版本芯片已不包含此信息) 96位的芯片唯一序列号:33006C065839353235581943 读出的选项字节:
A55AFF00FF00FF00FF00FF00FF00FF00 全片擦除成功
第547毫秒,已准备好
共写入2KB,进度100%,耗时4343毫秒 成功从08000000开始运行
www.mcuisp.com向您报告,命令执行完毕,一切正常
----------------------------------------------------------------
这个时候您可以看到您手中的 Mini-STM32 开发板上的两个红色 LED 有规律的轮流点亮, 说明程序已经成功的烧入芯片了.
10