ICP 的意思是 "在电路编程"(in Circuit Programming),PC 电脑可以运行 “NuMicro ICP Programming Tool”软件通过 Nu-Link 的 SWD 接口(serial wire debug) 去更新目标板上的 APROM, LDROM, Data Flash 和用户配置字。
ISP 的意思是“在系统编程”(In System Programming),目标板通过运行 LDROM 里的启动/加载代码调用外部的接口,如 USB/UART/SPI/I2C... 去更新内部的 APROM, DataFlash 和 用户配置字。

你可以参考论坛里NuMicro_ISP_Tool_Source_Code,v1.42 使用ISP 实现用USB对板子的固件进行升级。

ICP是自己CPU不跑,通过别的工具对JTAG状态机去烧录。ISP是自己CPU跑,通过接口自己下载自己烧录。

 

芯唐的单片机出厂不带BOOTLOADER(即启动/加载代码)的,需要用户自己用ICP方式或者专用编程器烧写到LDROM里的(代码厂家有提供的),很不方便;另外,使用ICP烧写程序还会把客户原先存储在EEPROM(用FLASH模拟共享的)里的参数也一并檫除掉的,这点需要特别注意。如果客户对所存储的参数不是很在意的话,那用ICP也是很方便的。不过我选择芯唐的单片机后,又放弃了,主要就是出厂不带ISP,而用ICP又会檫除我存的参数。

  ISP

  采用 ISP 下载,芯片必须处于可执行程序的状态 (除了上电, 还要接 XTAL),且必须预烧ISP-code 在 LDROM  里面,也就是内部必须先烧好类似 Bootloader  的程序,然后内部运行的程序可以在 USB 口或 UART 口接收来自 PC 的通信协议并进行烧写动作。而 ISP-Code 必须通过 ICP 烧录器进行下载
  ISP 烧录范围只限于 APROM,DataFlash 或 CONFIG。芯片在 LOCK 的状态下,仍然可以只更新某一区块 (APROM, DataFlash 或 CONFIG)。
ISP 下载工具是个绿色软件,不需要安装。

  ICP

  芯片只要处于上电状态即可,不必预烧任何 code 在芯片里面。烧录范围涵盖整颗 MCU,包括 APROM, DataFlash,CONFIG,LDROM 和 ROMMAP
芯片在 LOCK 的状态下, 无法只更新某一区块, 只能在 Erase-ALL 之后, 更新某一区块, 再逐一烧回其它区块,这是因为 ICP  的本质就是走 “串行接口的 Writer Mode ” , 芯片被 LOCK之后,除了 erase-ALL ,所有烧录动作皆会被禁止。
所以 ICP  下载需要 ICP  下载器,Nu-Link  仿真器可以作为 ICP  下载器使用。

新唐的icp和isp的更多相关文章

  1. 新唐M0 ISP下载要点

    http://blog.csdn.net/rejoice818/article/details/7736029 一.注意:官方光盘内“Software Utilities”目录下,可找到ICP或ISP ...

  2. 从51跳新唐cortex-m0学习1——思想转变

    Cortex-M0学习第一帖 序言:这里先说一下,大家在看帖子时候,可能看见字数比较多的,可能只是先大概浏览一下,之后从中挑几段大概瞅瞅,但是我要说,如果你碰到一个适合的帖子,请仔细品读,这是我在论坛 ...

  3. 新唐M0特点分析

    1,价格低,05x系列0.6-1.5美金,1xx系列1.5-3.5美金:2,性能好,最新32位CORTEX-M0的ARM核,唯一可工作到+5.5V的CORTEX-M0:3,速度快,CPU核能跑到50M ...

  4. 新唐Cortex-M0微控制器的省电管理

    新唐科技的NUC1xx包含NUC101.NUC100.NUC120.NUC130和NUC140,是以ARM Cortex-M0为核心的32位微控制器(MCU),经由不同时钟的设定,最高可以达到 50M ...

  5. 新唐ARM9之NUC972学习历程之系统的搭建和BSP包的使用

    说到嵌入式,我们首先想到的,就是它的复杂程度,LINUX,BSP,UBOOT,交叉编译,寄存器配置,等等一系列的问题,甚至有的时候我们对此一头雾水,很是头疼,不过我们今天要说的就是关于NUC972的一 ...

  6. 基于MDK的ARM-GCC开发环境建立及新唐M0的HID类设备的C++开发

    一,下载安装测试arm-none-eabi-gcc编译工具链 1,查看arm-none-eabi-gcc编译工具版本        打开网页:https://sourcery.mentor.com/G ...

  7. 从51跳新唐cortex学习3——细说新唐两种定时器

    的定时器我们已经是相当熟悉啦.但是,对于第一次接触新唐,第一次接触cortex的定时器一样,都是加1计数,但是功能和容量变大了),包括4个32位定时器(里面放24位的数据),还有分频功能.TMER0到 ...

  8. 新唐N32905U1DN开发教程:MDK环境下工程搭建(官方提供的固件库)(转)

    前言:新唐N32905U1DN单片机不支持用户将程序烧录到内部FLASH,必须外挂FLASH存储用户程序,可以是SPI FLASH.NAND FLASH.SD卡.用户采用裸机开发的方式可使用官方提供的 ...

  9. 新唐的开发环境的搭建,驱动以及BSP

    https://www.keil.com/demo/eval/arm.htm#DOWNLOAD1,MDK-ARM的IDE集成开发环境:mdk512.exehttp://www.keil.com/fid ...

随机推荐

  1. 构建WDK驱动出现fatal error U1087: cannot have : and :: dependents for same target

    原因:WDK在编译驱动时,是不允许源文件所在的路径(全路径)中包含空格的,如果你包含了空格,就会出现上述错误. 解决方法:把源文件放在一个没有空格的路径下. reference: http://blo ...

  2. 关于bootstrap--列表(ol、ul)

    1.list-unstyled : 在<ol>(有序列表)</ol><ul>(无序列表)</ul>中加入class="list-styled& ...

  3. 第34讲 UI组件之 ProgressDialog和Message

    第34讲UI组件之 ProgressDialog和Message 1.进度对话框 ProgressDialog <1>简介 ProgressDialog是AlertDialog类的一个扩展 ...

  4. python字符串(移除空白,长度,索引,分割,切片,拼接,格式化输出)

    常用功能: 移除空白: >>> name = "meng" >>> name 'meng' >>> name.strip() ...

  5. 给那些因为Firebug而舍不得FireFox的朋友

    Google Chrome浏览器调试 作为Web开发人员,我为什么喜欢Google Chrome浏览器 [原文地址:http://www.cnblogs.com/QLeelulu/archive/20 ...

  6. HDOJ 1316 How Many Fibs?

    JAVA大数.... How Many Fibs? Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Jav ...

  7. 具体解说Android的图片下载框架UniversialImageLoader之磁盘缓存的扩展(二)

    相对于第一篇来讲,这里讲的是磁盘缓存的延续.在这里我们主要是关注四个类.各自是DiskLruCache.LruDiskCache.StrictLineReader以及工具类Util. 接下来逐一的对它 ...

  8. AngularJS移动开发中的坑汇总

    使用AngualrJs开发移动App已经快半年了,逐渐积累了非常多AngularJS的问题,特别是对于用惯了Jquery的开发人员,转到AngularJS还是须要克服非常多问题的.不像Jquery那样 ...

  9. Java_.jar .war .ear 详解

      .jar 全称:                     java archive: 包含:                     class.properties文件,是文件封装的最小单元: ...

  10. read(),write() 读/写文件

    read read()是一个系统调用函数.用来从一个文件中,读取指定长度的数据到 buf 中. 使用read()时需要包含的头文件: <unistd.h> 函数原型: ssize_t re ...