原创 晚睡早起读解STM32之ISP命令格式及应用前景和其不足之处

2007-12-20 07:31 5429 9 9 分类: MCU/ 嵌入式

hotpower 发表于 2007-12-20 07:28 ST MCU ←返回版面 按此察看该网友的资料 按此把文章加入收藏夹 按此编辑本帖


楼主: 晚睡早起读解STM32之ISP命令格式及应用前景和其不足之处


3点的火锅吃得早起实在是倒塌了~~~

俺有个坏习惯---心中有事觉太少...因为俺的"脑电波"不能停顿,非要描绘出一幅"晕图"了~~~

首次看STM32的应用笔记,选择的当然是首个攻击目标---ISP.

为什么要首选它呢???因为它是我们"裸奔裸调"的开始~~~也是STM32实战中最为重要的第一步!!!

因为产品可以通过它来实现"不开机壳"进行ISP软件升级,而昨晚在菜农和香斑竹

进行"盲棋"后http://blog.ednchina.com/hotpower/70691/message.aspxISP的硬件设计应该有了头绪,不过俺可能用74hc123来实现Boot0和Reset这2个重要的ISP控制信号的错位控制和系统的外部硬件看门狗的设计.

虽然STM32内部有硬件看门狗,但俺对能被软件关闭的都不太放心~~~具体硬件的设计以后再细说...

描了一眼ISP协议,基本由一个命令原码和命令反码组成---"无同步字符但带校验的同步序列码"

他们的和为0,也可认为异或和为0xff.

这在无同步字符传送协议中应用很广...俺就应用的很多~~~

LPCMCU是靠'U'即0x55来同步每行的hex码的~~~

LPCARM好象改为了'?',并且是比hex码更小的UU码来进行ISP的.

今天看到STM32使用"无同步但带校验的同步"的bin码来进行ISP,速率肯定比LPCARM

快2/3倍.

当然菜农一贯反对采用bin作为串行海量的数据传送协议,这主要是异地多机

无法正确地同步...

但在有条件限制并有应答和校验机制的ISP数据传送中,由于STM32不在运行模式

他空循环捕捉命令应该是没问题的~~~

由于STM32的Boot0不是可以做GPIO的,故就不存在误入ISP事件的发生.

虽然它很类似TI的DSP,但IO的浪费确实有点可惜~~~

哈哈~~~万事具备,只欠东风了~~~

本来想自己用UU码完成对LPCARM的ISP软件,但俺在FlashMagic上加壳http://blog.ednchina.com/hotpower/68894/message.aspx算是对付过去了~~~

但是既然做了STM32的菜鸟,这次对付不过去了~~~因为Boot0和Reset信号STM32不管~~~

哈哈~~~可恨STM32的ISP软件没提供命令行ISP版本的工具(这个俺不知道有无)

否则俺也可省心用Windows的API函数CreateProcess()加壳节省脑浆了~~~

这样可以增加用户序列号等诸多实际应用功能,也可轻易地完成远程ISP软件升级~~~

就写到这里吧~~~该吃早饭了~~~但愿今天的PIC24菜鸟毕业作业早日完成...

也好复习明天的STM32研讨会(哈哈~~~俺也记不清什么会了~~~)

倒塌了~~~喜来登可离俺村很远呀~~~中午饭怕是吃不成了~~~

不过"眼冒火星"也要迷糊着听意法鬼子"讲道理"~~~不知能否说动一个"不讲道理"的农村人~~~


 




 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条