原创 [原创] MINI-STM32 开发板入门教程 (二) ISP 在线下载程序

2009-8-24 23:37 4620 6 6 分类: MCU/ 嵌入式
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 这个例子工程.

先按照下面的步骤来配置一下工程:

点击下图中的 Option 选项;
attachimg.gif 5
下载 (9.61 KB)

2009-7-31 22:17


选中 "Output" 菜单下的 "Create HEX File ", 并且在右边的 "Name of Executable" 中填写我们生成编译代码的文件名称.
attachimg.gif 点击看大图
下载 (10.26 KB)

2009-7-31 22:17


配置完选项后, 点击工程编译按钮, 然后我们就可以在 \Example2-GPIO\GPIO_test\output 目录下面得到 Gpio_Test.Hex 文件了.
attachimg.gif 7
下载 (8.5 KB)

2009-7-31 22:17



第二步: 准备串口物理连接和 设置 Boot 跳线选择芯片启动类型
先需要准备一根串口延长线, 一头为公头,一头为母头的串口连接线 (非交叉线), 和一台有串口的电脑.  (注意:如果您的电脑没有串口,请购买 "USB 转 RS232" 的硬件设备来扩充你电脑的串口.)
将 Mini-STM32 的 J1 跳线帽跳至 2,3 两脚上选择芯片从内部的 Boot 区启动, 上电后会先进入 ISP 状态.
连接串口线至你的电脑上的串口
将 USB 延长线连接至你的电脑上给 Mini-STM32 开发板供上 5V 电源.  当开发板上的电源指示灯点亮后一切准备就绪.


第三步: 配置 ISP 下载软件 mcuisp.exe:

您可以点击下载稳定版的 mcuisp V0.975 版本的软件: mcuisp.rar (576.58 KB)
下载次数: 0

2009-7-31 22:43


打开 mcuisp.exe 绿色软件,
选择好您连接至开发板使用的电脑上的串口, 可以通过搜索串口菜单来自动搜索出你电脑上的串口信息.
在左上方的"程序文件"选择你准备烧入芯片中的代码, 就是前面我们生成的Gpio_Test.Hex.
然后在菜单选项栏上选择 "STMISP" 菜单, 点击 "读STM32器件信息" 命令按钮.
我们会在右边的信息框中显示出连接成功的信息:
如图所示:
attachimg.gif 点击看大图
下载 (23.51 KB)

2009-7-31 22:41


选择上"校验"和"编程后运行"两个选项后点击"开始编程".
会报出程序成功烧入芯片的一些信息, 如下:
------------------------------------------------------------------
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 有规律的轮流点亮, 说明程序已经成功的烧入芯片了.

最后您在断电后将 Mini-STM32 上 J1 的跳线帽跳至 1,2 引脚上, 重新上电后, 程序就可以正常运行了.

文章评论0条评论)

登录后参与讨论
我要评论
0
6
关闭 站长推荐上一条 /2 下一条