一乐电子

一乐电子百科

 找回密码
 请使用微信账号登录和注册会员

QQ登录

只需一步,快速开始

快捷登录

手机号码,快捷登录

搜索
楼主: fat
收起左侧

[其他综合] 请对ICD2有经验的兄弟来指点下

  [复制链接]
发表于 2010-3-15 12:06 | 显示全部楼层
BL010101.hex,是一个“纯”的bootloader,而ICD661.hex,是bootloader+OS的“套装”,之所以刷这个ICD661,是因为一来我不了解ICD2的操作,第一次接触这东东,不知道后面的OS如何装进去,所以选择这个一步到位的,二来是这个ICD661在网上看到有N个人刷后反映“it work well”。
那我今天回去刷MPLAB8.46里带的BL010101.hex,但刷完后,要如何操作?后面这部分操作网上没有看到介绍。。。。。
fat 发表于 2010-3-15 11:35 https://www.yleee.com.cn/images/common/back.gif


何以见得,我没找到这样的说明,此外又怎知前者只是一个纯bootloader?我也没看到这样的说明。我对比了一下两者的大小,都是3K。

如何下载网上有说明:
If none of the following errors occurred you will have the following error message, as the 16F876 has only the  bootloader in memory.

Go to "Programmer / Download ICD2 operating system" and do it. It will take a few moments. Be patient.

我设置了一下机器上装的汉化版7.10,载取了ICD2的设置画面和下载操作系统菜单画面如下供参考(这是中文的,如果装的英文的对照一下):

ICD2_1.gif

ICD2_2.gif
发表于 2010-3-15 12:08 | 显示全部楼层
RB3上接LED,这个更不好说明问题啊,红色LED压降1.8V,5.1-1.8=3.3V,此时RB3上加上3.3V,应该视为高电 ...
fat 发表于 2010-3-15 11:38 https://www.yleee.com.cn/images/common/back.gif



    我的意思是人家敢用这个I/O接LED,更说明这个I/O与编程无关,也即用的不是低电压ICSP方式。
发表于 2010-3-15 12:10 | 显示全部楼层
多积累一些实践经验,再进行相应的理论分析;是不是会事半功倍?
无锡风 发表于 2010-3-15 11:56 https://www.yleee.com.cn/images/common/back.gif



    同意,所以我认为fat应该换一个MPLAB或对应新MPLAP的固件,排除固件版本不对的可能后再分析。
发表于 2010-3-15 12:13 | 显示全部楼层
我担心 fat “钻进去了出不来”
发表于 2010-3-15 12:22 | 显示全部楼层
本帖最后由 cosine 于 2010-3-15 12:35 编辑
也许是我理解错了,但如熊所说,在运行时不需要硬件标志(或者说限制)就可以直接修改片内程序,那么运行时很容易就把程序给冲掉了(比如受到干扰,程序跑飞或是reset后执行bootloader),在工控应用中这不是非常危险的吗?

看来还要再去查一下microchip的IAP说明文档才行。
fat 发表于 2010-3-15 11:57 https://www.yleee.com.cn/images/common/back.gif



    我认为自编程应该是不需要硬件标志的,不然还得人工干预硬件,那样的话和ISP又有啥区别?看了一下AVR的设置,是通过熔丝位来保护BOOT区甚至程序区的。PIC不太清楚。我的理解芯片是这样的,1脚为低即为复位状态,为高电平时进入正常工作状态,此状态也可以进行IAP自编程,安全性由bootload程序来保证。如果在正常状态时PB3为高电平则进入低电压ICSP状态。如果1脚高于9V,则进入普通ICSP状态。

纠正一下,不要认为bootloader只是一个下载程序的软件,而应该认为是一个监控程序(象一个简单的操作系统),甚至本来就是工作程序的主要部分(也即不需要变更的部分)。所以上电后本身就应该运行bootloader,然后在此程序的监控下运行应用部分。

至于跑飞后冲掉程序的危险本来就是有的,比如PC的操作系统被病毒吃掉了。但MCU可以用一些措施保护boot区,比如AVR的熔丝位,也可以用一些方式防止误进入更新状态(因为更新必须要有新输入的正确程序数据,干扰不可能给MCU输入完全正确的更新数据,这样bootloader就可以判断并回到正常的运行状态)。
发表于 2010-3-15 12:37 | 显示全部楼层
考拉的分析很精辟。
至少是我认为。
发表于 2010-3-15 12:46 | 显示全部楼层
我关心的是:
如果这个ICD2编程器,需要“全功能”串口支持的话......

就不如K149了——只需要RXD/TXD/GND三线制——很容易使用USB-COMM方式来实现:
——我的新本本,既没有串口、又没有并口,只有USB接口;
——使用外加的usb-comm转接线,现在本本和K149可以很方便地连接(我的K149板上未安装usb芯片),而且软件界面很是友好。
发表于 2010-3-15 12:56 | 显示全部楼层
本帖最后由 cosine 于 2010-3-15 13:07 编辑
我关心的是:
如果这个ICD2编程器,需要“全功能”串口支持的话......
就不如K149了——只需要RXD/TXD/GN ...
无锡风 发表于 2010-3-15 12:46 https://www.yleee.com.cn/images/common/back.gif



    k系列应该只是下载,而ICD2好象还能仿真.而且ICD2可以直接被MPLAB支持.

另外个人认为k系列的优势在于USB,如果走COM口不如作JDM了,简单得多,如果用USB-232只要外接12V即可,成本比k系列低好多的.
 楼主| 发表于 2010-3-15 13:47 | 显示全部楼层
中午试验的情况是这样:重写了876,写入的是MPLAB8.46中带的bl010101.hex,结果连接情况如下图:

BL010101.JPG

前面两次联机失败,是因为串口速率选的是57600,(之前串口设置我没改过,用ICD661是每次都能Connected的),失败两次之后,我将串口速率调到19200,连接成功,提示Connected,但下载OS,仍跟原来一样。换软件版本与固件版本,似乎无必要,如果ICD2与某个版本的MPLAB不兼容,网上应该早就有人发现了,毕竟用ICD2的人成千上万呢。还是找找其它原因吧
发表于 2010-3-15 13:57 | 显示全部楼层
好象还是下载不了.

本版积分规则

QQ|一淘宝店|手机版|商店|电子DIY套件|一乐电子 ( 粤ICP备09076165号 ) 公安备案粤公网安备 44522102000183号

GMT+8, 2024-5-19 07:54 , Processed in 0.055169 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表