tag 标签: 在线编程

相关帖子
相关博文
  • 热度 4
    2022-4-20 13:25
    1449 次阅读|
    0 个评论
    改善 芯片 在线烧录 稳定性的 6 个方法 在线烧录 系统 至少 由烧录 器 和 工装 或 夹具 组成,有些不能脱机烧录的烧录器还需要搭配 工控机 使用。 工装 或 夹具与 烧录 器 之间 一般 需要较长 (大于 1 0cm) 的接线, 但是很多烧录接口采用的是 高频信号 协议 ( 3 ~ 30MHz 之间 属于高频信号 )易受 很多外部因素的影响和干扰 从而导致 烧录不良率随之增加, 稳定性不够 。 本文将介绍 几个切实可用的方法来 改善 这 个 问题。 一、降低通讯频率 通讯频率是信息传输的重要参数,频率越高传输速度越快,但信号的衰减会随着频率的增加而增加,因此烧录不稳定时,如果对烧 录速度 要求不高,可以适当的降低通讯频率,以增加烧录的稳定性。 二 、 尽量缩短信号线长度 高频 信号传输 时受传输 距离 影响很大,距离 越远衰减会越大,从而导致烧录不稳定性。 我们可以 把 烧录器的烧录接口布置 在离夹具信号输入口最近的位置,尽量缩短整个信号线的长度 。 三 、 选择 导电能力强的 信号 线 信号传输的完整性与线的材质、长度、粗细有关,可以选择更粗的,导电能力更强的线,好的材质可以减少内阻,降低信号损耗,如纯铜线、镀金线、 镀银线 等。 四、 给 烧录信号线增加屏蔽层,防止电磁干扰。 烧录器通过烧录信号线对芯片烧录时,烧录高频信号对电磁干扰较为敏感。烧 录环境 一般为工厂车间,大功率的设备,使得电磁干扰较为严重,为了降低电磁干扰,我们可以给烧录信号线上增加屏蔽网,或者选择屏蔽功能的线,如屏蔽电缆,网线等。 五 、在关键信号线上接上拉 , 下拉电阻 。 有些 时候 烧录 器烧录 接口本身驱动能力 不足也会 导致的烧录不稳定 , 这时候就 需要在接口 信号线 上增加适当的上拉或下拉电阻以增强驱动能力 。 六 、 更换 稳定性更高的 烧录器 烧录器内部电路 抗干扰能力不强或者烧录器接口电路驱动能力不够, 都 会导致 烧录 不稳定。 这种情况的话 最好另外 选 择 一款稳定性更高的 烧录器 了。 无锡 力捷丰的 烧录 器稳定性就 很不错 ,不少对烧录稳定性要求高的汽车电子大厂 ,如:捷普,伟创力,李尔,伟 世 通等, 都是他们的客户。 不知道我总结的 这几个方法能 否 帮到你 ,如果有不明白的或者 有 其他 烧 录相关 的问题都可以 随时 联系我, 我手机号是妖叁零物贰捌零贰陆陆妖。烧 录行业 待了快十年了,积累了一点小经验,希望能 物尽其用 帮到更多的朋友。
  • 热度 14
    2013-11-28 17:12
    1561 次阅读|
    0 个评论
    写在前面 以往在烧写芯片时,往往需要将芯片主板从系统中取出,离开电路后,才能用编程器烧写程序。也就是说芯片不能脱离系统而进行写入。 这个在众多应用环境中带来了很多的不便及困扰。比如:一些早期的STB机顶盒,还未有操作系统的涉入,但是如果系统程序需要做优化升级,但是产品早已发给客户端,挨家挨户的取做升级,显然是不太可能的事情。 这就引发了人们对于在线编程的探讨。   关键字:在线编程,ISP,IAR,固件更新,程序烧写,远程,TCP/IP,CATV;   应用探讨 很多时候, 我们很难将设备取下来并对其进行更新 : 气象站,交通控制系统,CATV光纤收/发器。 再或我们一些Arduino爱好者, 做的一些远程监控家中空气湿度、温度的小应用等等太多的设备,那么如能都应用远程更新固件就再方便不过了。   在室外,某些放置于高处的气象站的设备,不便于取下来, 而又不想丢失一部分气象数据;用于高压站或是不便操作地点附近的监控系统,或是交通系统中的道路监控;CATV的光纤收/发器,渐渐也走进千家万户,这么多的设备更新起来太麻烦了。 那么今天就为大家介绍我们开发的这款远程固件更新应用,为您解决这些问题!   那么如何能够实现‘不离线’,远程更新固件程序呢? 有关在线编程 常见的有两种在线编程技术——ISP和IAP ISP (在系统可编程),即逻辑器件不用脱离系统,就可以进行程序写入。 ISP实现起来相对容易,通常的做法是利用上位机软件通过串口来改写单片机的内部存储器。条件是单片机需要具备非易失性存储器,用来存储由上位机传来的程序和数据。实现ISP的硬件接口支持JTAG、串口、无线等等。该接口通常固化在单片机所在的电路板上,芯片烧写时无需返厂或技术人员亲临现场,用户只需要通过计算机上的RS232接口或者USB接口就可以自行改写程序。 IAP ( 在应用可编程),即逻辑器件不用脱离应用,就可以进行程序写入。 IAP实现起来相对要复杂一些,单片机内部需要有两个存储区,一块被称为BOOT区,一块被称为APP区。单片机上电后,首先运行在BOOT区,满足改写程序的条件时,则对APP区的程序进行改写操作,程序改写完成后,单片机重新启动;如果不满足改写程序的条件时,程序指针直接跳转到APP区,开始执行存放在APP区的程序。实现IAP的硬件接口支持串口、无线、网口等等。由于网口的原因,一方面工作人员可以不用亲临现场即可实现固件的远程更新,另一方面,可以通过以太网的广播、组播数据包实现多个用户的同时全部更新,节省人力物力资源。   远程固件更新程序应用原理 由于一些类型模块被固化在其他设备当中,因此我们想到开发这款应用程序——Nuri,来实现对该模块固件的远程更新,避免了繁琐复杂的手动连接。只要设备连接到网络,就能够对其进行设置或重置。同时,通过网络的广播和组播,还可实现对多个设备的同时更新,省时省力。 那么以 W5200E01-M3为例,给大家讲解一下在线更新固件的应用原理。 在W5200E01-M3中,通过ISP的方式来烧写BOOT程序。之后由BOOT程序远程更新APP程序时,采用的是IAP方式。 注:W5200E01-M3模块是一款嵌入W5200 (使用全硬件TCP/IP协议)开发板,单片机使用的是STM32F103CB(有128KB的FLASH存储空间),可以将固件程序存储在该存储器中。 上位机通过电缆与下位机相连。下位机进行数据预处理,组成一定的数据格式,通过RS-232串行口,将数据送到上位机,上位机采用串口终端方式接收数据,保证采集数据的实时处理。 那么在远程固件更新的过程中。PC机作为上位机,接收数据,进行固件程序的更新。 操作过程 操作过程就十分容易: (W5200E01-M3中已装载有固件boot.bin) 利用220V@AC~5V@DC电源适配器通过USB数据线为W5200E01-M3模块供电(或者直接通过USB数据线连接至电脑,为W5200E-M3模块提供稳定的5V电源)。同时,利用网线将该模块连接到以太网中。 然后,打开我们开发的应用程序ConfigTool_Nuri.exe,出现如下界面: 1  主程序界面 点击“Search”图标,进行设备搜索。找到设备后 设备信息即更新到“Device”,“Connection”和“Option”标签下。点开左侧串口转以太网下面的设备MAC地址前面的“加号”,可以查看该硬件设备的固件版本信息,如图所示,当前版本信息为0.1。 2  查看固件版本 接下来进行基本操作:更改设备IP地址和恢复出厂设置。 更改设备 IP 地址: 修改Device IP address中的内容为192.168.11.101,然后点击“Setting”图标,即完成了硬件设备的IP地址更改操作。设备的IP地址被设置为192.168.11.101。如下图所示 3  设置IP地址 恢复出厂设置: 点击“Factory Reset”图标,实现恢复出厂设置的功能,再点击“Search”图标更新界面信息,发现Device IP address又恢复为192.168.11.100,即完成了恢复出厂设置的操作。 4  恢复出厂设置 点击“Firmware Upload”图标,弹出窗口,要求选择固件。 选定新版本的固件后,确认升级。耐心等待固件升级完成。固件升级完成后会出现提示。 升级完成后,点击“Search”图标,更新显示信息:可以看到固件版本从0.1升级为1.0。 5  更新显示信息 需要注意的内容: 远程更新固件时,主机与设备必须处于同一网段内,否则更新将不被允许。 远程更新固件时,W5200硬件开关必须处于“RUN”运行模式下,而不是“PROM”编程模式,否则更新将不被允许。 感谢您的关注! 应用程序下载: http://pan.baidu.com/share/link?shareid=593485uk=1930353891   更多信息请关注WIZnet官方微博: http://weibo.com/wiznet2012
  • 热度 22
    2013-11-27 16:31
    1343 次阅读|
    0 个评论
    写在前面 以往在烧写芯片时,往往需要将芯片主板从系统中取出,离开电路后,才能用编程器烧写程序。也就是说芯片不能脱离系统而进行写入。 这个在众多应用环境中带来了很多的不便及困扰。比如:一些早期的STB机顶盒,还未有操作系统的涉入,但是如果系统程序需要做优化升级,但是产品早已发给客户端,挨家挨户的取做升级,显然是不太可能的事情。 这就引发了人们对于在线编程的探讨。 关键字:在线编程,ISP,IAR,固件更新,程序烧写,远程,TCP/IP,CATV; 应用探讨 很多时候, 我们很难将设备取下来并对其进行更新 : 气象站,交通控制系统,CATV光纤收/发器。 再或我们一些Arduino爱好者, 做的一些远程监控家中空气湿度、温度的小应用等等太多的设备,那么如能都应用远程更新固件就再方便不过了。 在室外,某些放置于高处的气象站的设备,不便于取下来, 而又不想丢失一部分气象数据;用于高压站或是不便操作地点附近的监控系统,或是交通系统中的道路监控;CATV的光纤收/发器,渐渐也走进千家万户,这么多的设备更新起来太麻烦了。 那么今天就为大家介绍我们开发的这款远程固件更新应用,为您解决这些问题! 那么如何能够实现‘不离线’,远程更新固件程序呢? 有关在线编程 常见的有两种在线编程技术——ISP和IAP ISP (在系统可编程),即逻辑器件不用脱离系统,就可以进行程序写入。 ISP实现起来相对容易,通常的做法是利用上位机软件通过串口来改写单片机的内部存储器。条件是单片机需要具备非易失性存储器,用来存储由上位机传来的程序和数据。实现ISP的硬件接口支持JTAG、串口、无线等等。该接口通常固化在单片机所在的电路板上,芯片烧写时无需返厂或技术人员亲临现场,用户只需要通过计算机上的RS232接口或者USB接口就可以自行改写程序。 IAP ( 在应用可编程),即逻辑器件不用脱离应用,就可以进行程序写入。 IAP实现起来相对要复杂一些,单片机内部需要有两个存储区,一块被称为BOOT区,一块被称为APP区。单片机上电后,首先运行在BOOT区,满足改写程序的条件时,则对APP区的程序进行改写操作,程序改写完成后,单片机重新启动;如果不满足改写程序的条件时,程序指针直接跳转到APP区,开始执行存放在APP区的程序。实现IAP的硬件接口支持串口、无线、网口等等。由于网口的原因,一方面工作人员可以不用亲临现场即可实现固件的远程更新,另一方面,可以通过以太网的广播、组播数据包实现多个用户的同时全部更新,节省人力物力资源。 远程固件更新程序应用原理 由于一些类型模块被固化在其他设备当中,因此我们想到开发这款应用程序——Nuri,来实现对该模块固件的远程更新,避免了繁琐复杂的手动连接。只要设备连接到网络,就能够对其进行设置或重置。同时,通过网络的广播和组播,还可实现对多个设备的同时更新,省时省力。 那么以 W5200E01-M3为例,给大家讲解在线更新固件的应用原理。 在W5200E01-M3中,通过ISP的方式来烧写BOOT程序。之后由BOOT程序远程更新APP程序时,采用的是IAP方式。 注:W5200E01-M3模块是一款嵌入W5200 (使用全硬件TCP/IP协议)开发板,单片机使用的是STM32F103CB(有128KB的FLASH存储空间),可以将固件程序存储在该存储器中。 上位机通过电缆与下位机相连。下位机进行数据预处理,组成一定的数据格式,通过RS-232串行口,将数据送到上位机,上位机采用串口终端方式接收数据,保证采集数据的实时处理。 那么在远程固件更新的过程中。PC机作为上位机,接收数据,进行固件程序的更新。 操作过程 操作过程就十分容易: (W5200E01-M3中已装载有固件boot.bin) 利用220V@AC~5V@DC电源适配器通过USB数据线为W5200E01-M3模块供电(或者直接通过USB数据线连接至电脑,为W5200E-M3模块提供稳定的5V电源)。同时,利用网线将该模块连接到以太网中。 然后,打开我们开发的应用程序ConfigTool_Nuri.exe,出现如下界面: 1  主程序界面 点击“Search”图标,进行设备搜索。找到设备后 设备信息即更新到“Device”,“Connection”和“Option”标签下。点开左侧串口转以太网下面的设备MAC地址前面的“加号”,可以查看该硬件设备的固件版本信息,如图所示,当前版本信息为0.1。 2  查看固件版本 接下来进行基本操作:更改设备IP地址和恢复出厂设置。 更改设备 IP 地址: 修改Device IP address中的内容为192.168.11.101,然后点击“Setting”图标,即完成了硬件设备的IP地址更改操作。设备的IP地址被设置为192.168.11.101。如下图所示 继续阅读:http://blog.iwiznet.cn/?p=5849 应用程序下载:http://pan.baidu.com/share/link?shareid=593485uk=1930353891 更多信息请关注WIZnet官方微博: http://weibo.com/wiznet2012  
  • 热度 18
    2010-10-20 14:31
    2372 次阅读|
    1 个评论
    1、DSP应用程序代码结构,有三种: ○ 纯汇编; ○ 纯C语言; ○ 汇编+C语言。 这三种结构还可插入带CSL或不带CSL的DSP/BIOS API。为了加快应用程序的开发,现在的DSP程序一般都采用:汇编+C语言+带CSL的API。其中,汇编代码用于特殊要求,如Flash编程及对速度要求很高的关键部分;C语言则是整个应用程序主框架,但主要是运算处理部分;而与硬件打交道的工作全部由CSL API来完成。 DSP应用程序工程模式有两种:调式仿真(debug)模式与应用发布(release)模式。 ○ 仿真模式用于开发调式阶段,使用仿真器通过JTAG口从PC机中下载到DSP片内RAM中运行,可设置断点进行调式,由于是存放在RAM中,因此断电后程序会丢失; ○ 应用程序完全调式通过后,必须写入外部Flash中,断电后不再丢失。加电后,由引导程序装入DSP片内RAM运行,这就是产品生产阶段的发布模式。 很明显,发布模式的DSP应用程序工程(发布工程)比仿真调式阶段的应用程序工程(仿真工程)要复杂些,发布工程除应用程序本身外,还要增加如下处理: ○ 自带的二次引导程序(当应用程序大于1KB时); ○ Flash在线编程代码; ○ COFF格式文件到Flash用的二进制格式文件(BIN)转换。 此外,“发布工程”的DSP/BIOS配置文件及连接地址分配文件也要比“仿真工程”复杂,好在它们可以用CCS自带的配置工具通过对话方式来设置生成。 2、DSP应用程序加电装载(Bootload)过程 DSP加电复位后,应用程序从外部Flash装入DSP片内RAM中运行,这个过程称为“加电装载”或“引导装载”(Bootload),其流程如下:                         DSP加电复位                              ↓         DSP内置的引导程序将外部Flash前1KB(Flash-boot区)         的二次引导程序装入DSP片内RAM运行                              ↓                     二次引导程序开始运行                              ↓         二次引导程序将外部Flash地址在1KB以上的程序/数据区         (Flash-rest区)装入DSP片内RAM,其中程序部分放入         片内程序存储器,从0地址开始存放;数据部分放入片内         数据存储器的指定区域。装完后跳转到应用程序入口。                              ↓                       应用程序开始运行 要注意一点的是,DSP应用程序可配置为好几种装载(Boot)方式,如外部存储器(Flash、EEPROM等)、PCI、HPI、XBUS等,其中以外部Flash最常用。 3、DSP应用程序在线编程 DSP应用程序发布后,一般是存放在目标板的Flash中,要将应用程序写入Flash,最容易想到的方法是使用通用编程器,但这要求Flash是可拆卸的,而且最好是DIP 封装的,如果是表贴且焊死在目标板上的,就只有使用在线编程方法了。与一般的MCU在线编程(ISP)不同,TI公司并没有提供工具来完成这一工作,只有用户自己编程来实现。通常有两种方法可以使用: ○ 根据所使用的Flash型号,设计一个专用DSP程序,该程序用仿真器下载至DSP片内RAM运行,然后由它将应用程序目标代码文件写入Flash中。 ○ 如果目标板上有USB接口,可以在应用程序中插入一段专门写Flash的代码,在应用程序运行中,由PC机通过USB口将待更新的应用程序传至DSP片内未用RAM区,再由应用程序中的专用程序将其写入Flash覆盖原来的老程序,加电复位后装载运行的就是新程序了。
相关资源
  • 所需E币: 1
    时间: 2023-4-1 18:01
    大小: 223.75KB
    上传者: 张红川
    在线编程的单片机教学实验板设计.pdf
  • 所需E币: 2
    时间: 2022-5-2 21:43
    大小: 126.03KB
    上传者: ZHUANG
    基于KWP2000的ECU在线编程研究及应用
  • 所需E币: 0
    时间: 2022-4-20 13:35
    大小: 413.22KB
    上传者: 王朋1986
    在线烧录系统至少由烧录器和工装或夹具组成,有些不能脱机烧录的烧录器还需要搭配工控机使用。工装或夹具与烧录器之间一般需要较长(大于10cm)的接线,但是很多烧录接口采用的是高频信号协议(3~30MHz之间属于高频信号)易受很多外部因素的影响和干扰从而导致烧录不良率随之增加,稳定性不够。本文将介绍几个切实可用的方法来改善这个问题。
  • 所需E币: 1
    时间: 2022-1-22 13:56
    大小: 505.95KB
    上传者: Argent
    FREESCALEHCS12系列MCU的FLASH存储器在线编程方法
  • 所需E币: 1
    时间: 2021-3-16 09:05
    大小: 412.41KB
    上传者: ZHUANG
    多DSP系统独立加载模块在线编程软件设计
  • 所需E币: 0
    时间: 2020-11-4 08:45
    大小: 1.39MB
    上传者: czd886
    基于Docker技术开发的在线编程辅助教学平台
  • 所需E币: 0
    时间: 2020-6-13 12:09
    大小: 1.75MB
    上传者: samewell
    单片机在线编程板-下载板.rar
  • 所需E币: 0
    时间: 2020-6-13 12:10
    大小: 3.26MB
    上传者: samewell
    单片机在线编程板-下载板B.rar
  • 所需E币: 4
    时间: 2019-12-25 21:08
    大小: 80.5KB
    上传者: givh79_163.com
    介绍IAP功能及其相关应用,以及采用GPRS远程实现IAP功能的现实意义;结合某地区地下水远程监控系统,着重阐述采用GPRS网络远程执行IAP升级系统的思想和实现方法,以及应用中应注意的一些关键技术;论述采用GPRS通信简单实用的应用层协议设计的方法,重点强调通信中校验码和重传机制;讨论影响本系统远程IAP升级可靠性的一些因素和所采取的针对性解决办法。……
  • 所需E币: 3
    时间: 2019-12-25 15:32
    大小: 282.9KB
    上传者: 238112554_qq
    在分析MPC5xx系列单片机Flash编程特点的基础上,设计了上位机与下位机的通信协议,开发了基于CAN和SCI的在线编程系统.该系统能够很好地满足汽车用控制器对Fxash编程在易操作性、速度和健壮性等方面的要求.基于坝场总线帕MPC5默系列单传相FIash在线编程技市方成,李建秋,周明,欧阳明高(清华大学汽车工程系汽车安全与节能国家重点实验室,北京100084)摘要:在分析MPC5xX系列单片机nash编程特点的基础上,设计了上位机与下位机的通信协议,开发了基于CAN和SCI的在线编程系统。该系统能够很好地满足汽车用控制器对Flash编程在易操作性、速度和健壮性等方面的要求。关键词:在线Flash编程子任务单片机随着能源危机和环境污染的加剧,对汽车的经济性校验、数据上传和硬件重启。和尾气排放要求越来越高。为了更大限度地优化发动机根据上述子任务,在线编程技术的开发可以具体的动力、经济和排放性能,必须使用发动机电子控制技为:为各个子任务设计上位机与下位机问的通信协议,术。电子控制单元(ECU)是发动机电子控制技术的核心。编写上位机程序,编写下位机……
  • 所需E币: 5
    时间: 2019-12-24 17:28
    大小: 263.6KB
    上传者: 2iot
    所有中档系列单片机都可以在最终应用电路中在线串行编程(In-CircuitSerialProgramming™,ICSP™)。ICSP™只需使用五根线,其中时钟和数据线各1根,另外三根线作为电源、地和编程电压线。在线串行编程有利于降低库存开销和加快产品上市。在你的产品中嵌入空白的Microchip单片机,作为一个备用的设计。当接到订单后,便可以在很短的时间内用最新版本的固件对这些产品进行编程、测试,然后交货。这种方法也减少了旧固件版本引起的报废库存。这种生产方法有利于快速根据用户要求定制产品。大部分人认为只能在装配线上通过ICSP™对PICmicro®OTP单片机进行一次编程,这是不正确的。实际上,可以采用一定的方法对OTP器件进行多次编程,这与固件大小有关。下文将对这个方法进行介绍,该方法提供了一种类似于EEPROM或闪存存储器的现场升级固件的手段。第28章在线串行编程目录本章包括下面一些主要内容:28.1简介..............................................................................................................................28-228.2进入在线串行编程模式.................................................................................................28-328.3应用电路.......................................................................................................................28-428.4编程器..........................................................................................................................28-628.5编程环境.................……