当前位置:首页 >> 信息与通信 >>

菜农群课笔记之ICP与ISP

ICP 与 ISP 详解-------------------------雁塔菜农 ICP 课 题: 《ICP 与 ISP 详解》 主讲人:雁塔菜农 ICP 内 容:ICP ISP 原理及 HotIsp 和 NuMicro ICP Programming Tool 软 件使用详细解说 12047788 地 点:菜农 Cortex-M0 技术交流群 群号:12047788 2011-4-13 时 间:2011-4-13 20:30 –2011-4-13 23:40
以下内容由 Swallow_0322 整理,若有失误之处请谅解! 今天想再从头讲一遍新唐工具的使用方法及一些革命道理 ,因为有些人还 是不太明白,实际是不明白它们之间的关系和作用。首先我们最终目标是将程序 代码下载到目标板上的 M0 芯片里(要清楚引导程序和运用程序的区别),那么 必须借用一些工具及软件, 主要可以通过两种途径。 大家可能对其他 MCU 的 ISP 都很熟悉,大多是通过串口进行下载,感觉很方便,那么这些芯片都内置了及固 化了 ISP 固件,在上电启动时,通过某种接口和协议与 PC 通讯,完成对 FLASH 的烧录。 新唐的实际也是一样的,不同的是必须你将这个 ISP 固件想办法先放 进去,有些人说这不方便,但是可能有更多的人说这种方法好,可以自己编写 ISP 固件,说法不一。国军在 3.21 日直飞西安见菜农时说想近期就事先烧录进 去,但是菜农说再等大家讨论,俺觉得应该保持现状,但可以由厂家事先烧录进 去, 不要固化。前者需要用 nulink 通过 ICP 软件, ISP.BIN 烧录到 M0 的 LDROM 将 区,所以,就有了关键词“Nulink”和"ICP",后者需要通过 USB 或 UART(新唐 的 ISP 很有创意)借助 ISP 软件再 ISP,所以,我们应该首先现在新唐的 ICP 和

ISP 软件

这个是 ICP 的外观,

这个是 ISP 的外观图标。

由于 ICP 要用到 USB,xp 需要驱动 vista 不需要,再者我们看到需要 keil 等调 试平台,故需要下载 nulink for keil 的驱动,现在有个普遍的问题,就是版本 的匹配问题。前天俺给一位 55 岁的老先生指导了四个多小时,最后实际是版本 的问题。 现在大家知道了我们需要硬件 nulink,软件 icp,isp,keil。菜农为了更加方 便,故自己在以前为 nxp 的 arm7 和 m0 做的 isp 软件 hotshell 升级成为 hotis 直接为两个厂家的 M0 提供 ISP 服务。由于时间的问题 ,hotisp 暂时只做了链 接和整片删除功能, hotisp 主要提供一些测试功能, 如是否真的有 nulink 插入, usbisp 接入等,它可以在加密的情况下读出配置位,并可强行 ISP,所以,目前 ICP 和 Hotisp 是互补关系。icp 主要提供 nulink 向 M0 的 LDROM 写入 ISP.BIN, 并配置从 LDROM 启动, 这是主要任务, 此后 hotisp 将全部接替所有后续的任务。
共 24页 第 1页 Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
大家首先启动 HotISP,此时主要测试 nulink 的好坏和驱动安装否。

这是 hotisp 的启动界面,现在要特别注意 为空白时,说明文件不存在或路径不对。

,假若长度和检验和

这个表格若是空的, 说明配置文件的路径不对或不存在。早先的版本是多文件系 统,内置 INI 文件。
共 24页 第 2页 Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
后来新唐出了 B 系列, 就存在配置升级的问题故现在做成活的。这个路径可以这

样找到:

右键属性

可能 xp 的是其他名称(XP



),可以看到了 config.ini



图中的路径就是这样得到的。 现在的任务是检查 nulink 的好坏 ,大家注意左下的状态栏,有系统提示, 特别重要。

现在插入 nulink,等 5 秒左右系统提示:usbicp 设备接入!!!

它说明你的驱动和 nulink 都是正常的。此时 nulink 和助学板的灯都会亮的。 (在使用之前要安装 nulink 驱动吗?对,vista 可以不要),等会说版本的问 题。(哦 那么 win7 也不需要了,俺没有 win7)。

点击"ICP" 然后单击链接。 注意两个图的不同,有黑点表示被选中。能 停留说明设备还在。 链接 ICP 开始 测试:Nu-Link 制作芯片为 NUC120RE3AN, 软件版本号为 4125 测试:目标板芯片为 NUC120RE3AN 测试:Config0=0x80000002, Config1=0x00000000
共 24页 第 3页 Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
测试:程序从 LDROM 启动, 程序未加密 ICP 链接成功

直接拔掉 nulink,系统提示 ICP 退出。单选钮回到了串口,所以,hotisp 具备 实时测试能力,再插入,插入时实际 nulink 闪烁了 3 次,故约 5 秒 hotisp 才 能识别出。

再点击"ICP"

,链接

进入下图。

共 24页 第 4页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
注意 config.ini。 它全部是 hotisp 测试出来的,它的依据就是那个配置文件

下面的是 config0 的翻译 点击看看 , 可以看出 config0 变化了, 再点击有复原。

注意,这是目标板子的芯片。

这是 hotisp 测试的 nulink 的版本号, 特别注意这个版本号 4125, keil mdk 4.12a 是 4125,高的版本是 4228,所以 keil 和 icp 的版本应该一致 否则就会存在一会升级一会降级的问题。新唐是通过 keil 或 icp 自动对 nulink 【 升级的,不匹配可以要升级或降级,keil 或 icp 有权力对 nulink 升级或降级, 所以为了避免这点:keil4.12 应该 unlink 4125(ICP)keil4.14 以上应该 unlink 4228(ICP),那晚把俺折腾的老先生就是 4.13 ,最后降级驱动降级到 4125,keil 没变。(120 助学板配的是哪个版本的 unlink? 4125 ,icp 可以强 行升级它,升级完就可以变 4228 了?icp 可以强行升级它到 4228) 但若 keil 为 4.12 则调试又将 nulink 降级到 4125,所以来回折腾】 现在就要使用新唐的 ICP 了!为什么?因为现在 hotisp 不具备烧写 LDROM 的功能。这是要把 hotisp 的链接断开 (断开后显示为) 、


共 24页 第 5页


Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

助学板用的是 nuc120re3an, 由于新唐的 ICP 不能自动识别,故必须选择一个 M0

的大类型

--》

共 24页 第 6页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

链接--》 ,我现在就是版本不匹配的问题,因为我的 ICP 是 4228, nulink 是 4125,可以按否。

共 24页 第 7页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

这个界面主要是两大部分,上面是源代码,下面是配置和内容

注意有三部分,我们先涉及前面的 2 部分,

这是文件

的内容,

这是芯片里面的数据。
共 24页 第 8页 Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
现在我们先选文件,可以同时写 3 个,也可以只写一个 ldrom,它就是我们 需要 ISP 的固件。

下来需要配置

,选中

点击,弹出对话框。

注意主要选择从 LDROM 启动,否则,你烧写的 LDROM 里的 ISP.BIN 就不会运行,

也就不能 ISP 了

,其次要选是否写入数据 120 在 0x00001f000



使能,点确定。

共 24页 第 9页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

--》

离线下载是需要,

这三个要选择--》点击确定

,现

在就可以烧写了,我只选择了 ldrom 和配置,(此操作是将 isp.bin 写入目标 芯片的 LDROM 及配置目标芯片),点开始。

因为要改写配置,故必须整片擦除。(所以有如下提示)烧写后,目标板的内部 只有 isp.bin 了。

(改写配置必须全部重新 FLASH?对)

共 24页 第 10页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

你可以加密, ICP 是在 4228 开始支持批量的,所以从这里也可以区分 4125 和

4228,此处选 束了。

,成功编程如下提示!点确定!这样 ICP 的任务就结

此时要断开,



到 hotisp。我发现个问题,可能是没有复位,我们试试,注意,我们刚 ICP 完, 没断电,现在开始自动 ISP。注意,主频我们不理会,那是为 nxp 的用的。

选中。在 hotisp 的右侧主要操作这个。
共 24页 第 11页 Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

注意波特率是 57600,我们用的是 COM10 (usb 转串口)现在我没插串口, 双击 已经没了 ,现在系统有提示串口个数是否变化,我接串口。(三线串口不能用, 必须要带流控全串口? 对)。 死机.............. ,我现在拔掉串口 双击

没了,系统提示串口个数发生变化,即少了一个串口,因为俺拔掉了。

再插入, 再双击, 到底对否???注意右侧 !

识别成了 COM11,

共 24页 第 12页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
,选择 COM11 ;

--》打开 ,COM10 变为 COM11 估计是刚才蓝屏的结果,

必须关闭。

开始连接,

链接成功后显示,

,注意这个 21,它是助学板上 DB9 的 1

共 24页 第 13页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
脚,是用于远程监测的,假若有数字,说明远程的助学板首先是开机的, 因为里面的 max3232 里面的非门其作用了,至少变化了,这主要检测远程的助学 板开机否,协议的握手进一步检测是否死机,假若没数字即 max3232 没工作, 远 程就没开机。 自动 ISP 的电路:

看看 DCD 信号 ,对于 PC 是输入的

它实际是 DB9_3 即 PC 的 TX 输入,经过 3232 到达 RXD0,即 PC 发送数据,M0 接 收数据 ,直接没经过 M0 而进入 T2IN,经过 3232 的非门即 反向到达 DB_1 即 DCD 。 假若 3232 坏或目标板未开机,那么非门就不会作用,DCD 就不会得到至少一次 的变化,一位串口的一帧由起始位 0 数据 0xff(假使)和停止位 1 组成的,那么 至少有一个脉冲的发生所以这个 21 是跳变的数字,并不是发送的数据,只要跳
共 24页 第 14页 Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
变,就可以知道对方开机否,这就是 DCD 的目的。所以,助学板已经具备了远程 被控制的能力。 有人批评自动 ISP 电路复杂,没意义。都是神马和浮云!

眼睛睁大点!!!注意,加密了 HotISP 可以继续 。

!这个在新唐的 ISP 就要直接擦除,

共 24页 第 15页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
hotisp 的 ISP 和新唐的 ISP 完全兼容,功能一样并更加强大,自动识别检测注 意,实际是下面 2 个文件,即 APROM 和 Data Flash,注意,打开文件后,长度 和校验必须不能为空白。

编程设置

,一般选择 APROM 和 DATA,还有校验、擦除

一般配置别动,左边动一个就要勾配置。

开始编程

共 24页 第 16页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

俺用了 31 秒,大家记住,注意!这说明 aprom 和 data 都通过了校验,因为 你选择了校验

断开

,断开后显示

,这样,我们的串口自动 ISP 就完成了。

那么写入的程序对吗???注意:ICP 没写程序,只写了 ISP 固件,而程序 是由 HotISP 完成的。C:\HotISP\hex\Smpl_DrvRTC.hex,注意:我们选择了 RTC 做实验。HotISP 自带串口助手,立即检查。
共 24页 第 17页 Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
点击 ,

选择你的串口号

共 24页 第 18页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农
准备打开 ,打开后可以看见程序确实写入了!!!

假使有些问题,dtr 就是你的复位键!!! 是压下复位键。不选就是放开复位键。

打钩就

可以清空! 此处为测试 DTR 控制复位的效果,自己实践一下吧,呵呵!

共 24页 第 19页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

这是将要远程控制的

最后一个 USBISP

,现在俺没接线,

把 nulink 拔了 插上没动静,因为 ISP.BIN 固件要求 PB15 接地。 我们可以用 3 种方法链接 USBISP: 第一种: 1.按下 key1,rst 2.松开 rst 3.松开 key1

就会发现提示

可以选中表示接好了!

自动显示



拔掉 usbisp,提示退出

切换到串口

,插上,不见动静

第二种,用串口模拟手动
共 24页 第 20页 Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

,选择串口 key1、

(即压下复位)、压下

(即松开复位) usbisp 接入! ! !

拔掉 usb,退出!

第三种: 插上

因为此时是 key1 压下,上电就是复位,所以直接接入 拔掉

共 24页 第 21页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

关闭,否则影响

没动静

选择



准备点击 usbis

系统提示:自动 ISP 接入!!!

共 24页 第 22页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

显示

,usbisp 链接成功

记住刚才串口是 31 秒

共 24页 第 23页

Swallow_0322 整理

ICP 与 ISP 详解-------------------------雁塔菜农

USBISP 是 10.1 秒!!! --》 讲课结束!

共 24页 第 24页

Swallow_0322 整理


相关文章:
菜农群课笔记之ICP与ISP.pdf
菜农群课笔记之ICP与ISP - ICP 与 ISP 详解---雁塔菜农 ICP
SP ISP ICP 的定义.doc
ICP(网络内容服务商)因特网内容提供商英文全称为 Internet Content Provider 简写...菜农群课笔记之ICP与ISP 24页 1下载券 TC14_ICP_ISP_ICE 27页 1下载券...
stm32学习之ISP下载笔记总结.doc
但肯定不能打开机壳来转换 ISP RUN 方式,所以要通过外部对 Boot1 Boot0 控制 以实现不开壳来 ISP 升级产品的软件. 如果菜农说得(理解)对了,那么 ...