新唐的icp和isp
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的更多相关文章
- 新唐M0 ISP下载要点
http://blog.csdn.net/rejoice818/article/details/7736029 一.注意:官方光盘内“Software Utilities”目录下,可找到ICP或ISP ...
- 从51跳新唐cortex-m0学习1——思想转变
Cortex-M0学习第一帖 序言:这里先说一下,大家在看帖子时候,可能看见字数比较多的,可能只是先大概浏览一下,之后从中挑几段大概瞅瞅,但是我要说,如果你碰到一个适合的帖子,请仔细品读,这是我在论坛 ...
- 新唐M0特点分析
1,价格低,05x系列0.6-1.5美金,1xx系列1.5-3.5美金:2,性能好,最新32位CORTEX-M0的ARM核,唯一可工作到+5.5V的CORTEX-M0:3,速度快,CPU核能跑到50M ...
- 新唐Cortex-M0微控制器的省电管理
新唐科技的NUC1xx包含NUC101.NUC100.NUC120.NUC130和NUC140,是以ARM Cortex-M0为核心的32位微控制器(MCU),经由不同时钟的设定,最高可以达到 50M ...
- 新唐ARM9之NUC972学习历程之系统的搭建和BSP包的使用
说到嵌入式,我们首先想到的,就是它的复杂程度,LINUX,BSP,UBOOT,交叉编译,寄存器配置,等等一系列的问题,甚至有的时候我们对此一头雾水,很是头疼,不过我们今天要说的就是关于NUC972的一 ...
- 基于MDK的ARM-GCC开发环境建立及新唐M0的HID类设备的C++开发
一,下载安装测试arm-none-eabi-gcc编译工具链 1,查看arm-none-eabi-gcc编译工具版本 打开网页:https://sourcery.mentor.com/G ...
- 从51跳新唐cortex学习3——细说新唐两种定时器
的定时器我们已经是相当熟悉啦.但是,对于第一次接触新唐,第一次接触cortex的定时器一样,都是加1计数,但是功能和容量变大了),包括4个32位定时器(里面放24位的数据),还有分频功能.TMER0到 ...
- 新唐N32905U1DN开发教程:MDK环境下工程搭建(官方提供的固件库)(转)
前言:新唐N32905U1DN单片机不支持用户将程序烧录到内部FLASH,必须外挂FLASH存储用户程序,可以是SPI FLASH.NAND FLASH.SD卡.用户采用裸机开发的方式可使用官方提供的 ...
- 新唐的开发环境的搭建,驱动以及BSP
https://www.keil.com/demo/eval/arm.htm#DOWNLOAD1,MDK-ARM的IDE集成开发环境:mdk512.exehttp://www.keil.com/fid ...
随机推荐
- LeetCode_sqrt(x)
class Solution { public: int sqrt(int x) { // Start typing your C/C++ solution below // DO NOT write ...
- Linq to OBJECT延时标准查询操作符
1.Where 操作符用于限定输入集合中的元素,将符合条件的元素组织声称一个序列结果.2.Select 操作符用于根据输入序列中的元素创建相应的输出序列中的元素,输出序列中的元素类型可以与输入序列中 ...
- WCF的执行过程
既然是实现互通信.那么肯定会有概念意义上的服务端Server 和概念意义上的客户端 Client,在这里,我所说明的都是概念意义上的,单独强调此,是因为,基于WCF的通信没有物理上的划分,但是概念上 ...
- Eclipse中安装TestNG插件
在Eclipse中安装TestNG也像安装其他插件一样非常方便,如下: 选择菜单:Help->Install New Software,然后在弹出窗口中的“Work with”中输入地址: ht ...
- 减少leftJoin的使用 (转)
作为开发,你是否经常碰到下面需要转换用户ID成用户名称的情况: 可惜你的这些业务表出于最少冗余设计要求,只有UserId,而没有UserName,这时你不得不破坏你一个类封装一个表的美好想法, 在你的 ...
- C++基础回顾1(数据类型, 控制语句, 数组)
最近两天打开本科学校的C++教材,快速回顾了一下C++方面的内容.虽然书本内容比较基础,但是还是有些知识点值得自己强化记忆.分几篇文章,加上自己的理解记录如下. 先回顾面向过程的部分. C++数据类型 ...
- 前端开发利器—FIDDLER 转
http://www.cnblogs.com/yuzhongwusan/archive/2012/07/20/2601306.html 前端开发利器—FIDDLER 1.Fiddler相对其他调试工具 ...
- Bootstrap--本地安装使用
1.到官网下载:http://v2.bootcss.com 2.下载后是一个压缩文件,把它放在相应的工作目录下,然后解压. 3.新建一个测试文件,然后导入两个文件.
- leetcode_question_57 Insert Interval
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...
- Hadoop动态加入/删除节点(datanode和tacktracker)
大体,正确的做法是首选的配置文件,然后开始详细机对应的进程/停止操作. 网上一些资料说在调整配置文件的时候,优先使用主机名而不是IP进行配置. 总的来说加入/删除DataNode和TaskTracke ...