Chinaunix首页 | 论坛 | 博客
  • 博客访问: 831092
  • 博文数量: 281
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 2770
  • 用 户 组: 普通用户
  • 注册时间: 2009-08-02 19:45
个人简介

邮箱:zhuimengcanyang@163.com 痴爱嵌入式技术的蜗牛

文章分类
文章存档

2020年(1)

2018年(1)

2017年(56)

2016年(72)

2015年(151)

分类: 嵌入式

2015-09-10 22:46:55

最近在研究芯片下载方式,那种比较方便。
这一篇主要是探讨ISP下载方式,CPU用的是NXP的LPC1549。
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ISP方式: in system programming.

硬件搭建:

看LPC1549的datasheet:P22.
直接贴图了:



ISP管脚配置,有四种不同的方式:
在CPU上有两个管脚:ISP_0, ISP_1

      

软件搭建:

(下面是转载的

NXP的微控制器产品线涵盖ARM公司的ARM7/ARM9/Cortex-M0/Cortex-M0+ /Cortex-M3/Cortex-M4F全线产品,可满足大部分客户的需求。这些微控制器的程序更新除了可以通过仿真器和编程器以外,NXP微控制器 提供了一个串口下载用户程序的功能(这就是传说中的ISP),通过大家常用的串口就可以进行程序烧写或更新,特别适合小批量生产,既经济又实惠。

今天我们就来简单唠唠如何通过ISP来更新程序,其实非常简单,一个串口+一个PC软件就可以搞定,大家可以下载Flash Magic软件,下载安装后,运行Flash Magic如图0.1所示(FlashMagic下载地址:)。

图0.1 FlashMagic


将芯片的UART0(ISP只支持UART0,具体大家要参考芯片的用户手册,找到具体是那两个引脚)与计算机的串口相连,将ISP引脚(哪里可以找到引脚号?你猜!)短接到地,重新上电或者复位让芯片进入ISP状态,通过简单的5步就可实现:


Step1 Communications(通信设置)

在“COM Port”中根据实际情况选择串行通信端口;在“Baud Rate”选项中设置串口通信波特率[1];在“Device”中选择您所使用的芯片型号;在“Interface”中选择“None(ISP)”作为下 载方式;在“Oscillator Freq”中设置芯片所使用的系统时钟频率[2]。

[1]推荐串口通信波特率选用9600Hz或19200Hz,波特率设置过高容易导致ISP通信出错,若ISP频繁出错,请上调或下调波特率。

[2]系统时钟频率并非固定的参数,推荐与系统晶振值相同,其值大小一般情况下不影响ISP下载,但是早期的ARM7芯片该值一定要和使用的晶振保持一致。


Step2 Erase(擦除设置)

选择好“Device”后,在图0.2红色方框中将出现所选芯片的Flash分区情况。在红色方框中可任意选择您所要擦除的分区。
亦可勾选“Erase all Flash+Code Rd Prot” ------ 擦除所有的分区
或 “Erase blocks used by Hex File”         ------ 擦除Hex文件使用到的分区。
若用户无特殊应用,建议选择擦除所有分区。

图0.2 擦除设置


Step3 Hex File(Hex文件路径设置)

点击【Browse】按钮,选择您需要下载的Hex文件。


Step4 Options(其它功能设置)

“Verify after programming”设置是否在下载后进行效检,用户根据自己需要进行选择。

“Fill unused Flash”设置填充未使用的Flash,无特殊要求无需勾选此项。


Step5 Start(启动)

重启系统(重新给系统上电或按下开发板上的“RESET”键)后点击【Start】启动ISP下载。
下载完成后断开ISP跳线,并重启系统,程序运行。

当使用代码保护功能加密芯片后,SWD调试不可用,只能通过ISP执行芯片的整片擦除才能够清除代码保护。ISP擦除过程如下:

参照上文ISP下载步聚1进行通信设置;

选择菜单档的“ISP”?>“EraseFlash...”,在弹出的“Erase Flash”窗口中勾选“Erase all Flash+Code Rd Prot”,单击【Erase】启动整片擦除。如图0.3所示。

图0.3 擦除芯片


擦除成功后,断开ISP跳线并重启系统。

用最简单的方式实现代码的下载或者更新,So Easy!


阅读(3870) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~