[ZLG-MCU] LM3SXXX已经支持ISP啦

[复制链接]
3934|19
 楼主| cyuan5 发表于 2007-11-13 13:36 | 显示全部楼层 |阅读模式
ISP, lm, ip
1.&nbsp;&nbsp;&nbsp;&nbsp;下载SW01248-323.zip&nbsp;&nbsp;&nbsp;&nbsp;http://www.zlgmcu.com/luminary/yingyong.asp<br />&nbsp;&nbsp;&nbsp;&nbsp;使用Stellaris(群星)单片机的Boot&nbsp;Loader_源代码&nbsp;<br />2.&nbsp;&nbsp;&nbsp;&nbsp;修改代码:&nbsp;startup_rvmdk.s<br />Vectors<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;StackMem&nbsp;+&nbsp;Stack&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;Top&nbsp;of&nbsp;Stack<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DCD&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Reset_Handler&nbsp;&nbsp;&nbsp;&nbsp;;&nbsp;-&nbsp;0x20000000&nbsp;&nbsp;;&nbsp;Reset&nbsp;Handler//去掉-20000000<br />3.&nbsp;&nbsp;&nbsp;&nbsp;修改ISP引脚boot_loader.h<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#define&nbsp;FORCED_UPDATE_PORT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(GPIO_PORTD_BASE)&nbsp;&nbsp;&nbsp;&nbsp;//引脚端口&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />#define&nbsp;FORCED_UPDATE_PIN&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(0)&nbsp;&nbsp;&nbsp;&nbsp;//ISP引脚号PD0<br />4.&nbsp;&nbsp;&nbsp;&nbsp;修改初始化引脚端口boot_loader.c<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Int&nbsp;main(void){<br />&nbsp;&nbsp;&nbsp;&nbsp;HWREG(SYSCTL_RCGC2)=SYSCTL_SET2_GPIOB|SYSCTL_SET2_GPIOA|SYSCTL_SET2_GPIOD;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//这里我加上SYSCTL_SET2_GPIOD,因为我用PD0<br /><br /><br />6.&nbsp;&nbsp;&nbsp;&nbsp;下载到芯片,来到这里已经修改好啦!<br />7.&nbsp;&nbsp;&nbsp;&nbsp;用户代码只要将芯片的ROM的地址修改为0x800(见图)<br />8.&nbsp;&nbsp;&nbsp;&nbsp;输出生成BIN代码(见图)<br />9.&nbsp;&nbsp;&nbsp;&nbsp;从http://www.luminarymicro.com/products/software_updates.html下载<br />Serial&nbsp;Flash&nbsp;Loader&nbsp;and&nbsp;sflash.exe&nbsp;&nbsp;&nbsp;&nbsp;09/18/07&nbsp;&nbsp;&nbsp;&nbsp;download<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />10.&nbsp;&nbsp;&nbsp;&nbsp;运行SFLASH&nbsp;自己代码.BIN&nbsp;–p&nbsp;0x800&nbsp;–r&nbsp;0x8f0&nbsp;–c&nbsp;1&nbsp;–d<br />结果将代码从0x800位置存放,运行地址就是Reset_Handler的起始地址<br />11.&nbsp;&nbsp;&nbsp;&nbsp;<br /><br /><br />
xingliu200 发表于 2007-11-26 16:12 | 显示全部楼层

你牛啊,zlg都还没研究出来。

这下爽了。<br />zlg&nbsp;太慢了。还号称全力推广。
逐风 发表于 2007-11-26 22:55 | 显示全部楼层

为什么我试了没用啊

  
zlgmcu 发表于 2007-11-27 10:14 | 显示全部楼层

Luminary原厂的ISP过于复杂,不适合一般应用所以我们不推荐使

我们编写一个简单实用的ISP程序,使用非常简,而且是与用户的应用程序分开。ISP服务程序与用户应用程序是两个独立的工程,ISP使用0~1024之间的代码,用户程序可以使用1024之后的代码区。可以先下载ISP程序,然后通过ISP程序可以下载用户的程序。下载ISP程序后,用户可以将芯片加密,以后就通过ISP可以更新用户的程序。<br />&nbsp;&nbsp;&nbsp;用户程序开发起来也很简单,只要通过IDE将程序的起始地址设置在1024开始的地址即可。<br />&nbsp;&nbsp;&nbsp;&nbsp;目前该程序已经开发完成,现在正编写相关文档,很快就可以上载到网站发布.
浪淘沙 发表于 2007-11-27 11:13 | 显示全部楼层

Espionage

Haha
SHMM2002 发表于 2007-11-27 16:06 | 显示全部楼层

这个方法也不简单

拿到芯片后要先把ISP下载进去,然后再下载用户程序。<br />在量产时就多了一个流程。
席君秋 发表于 2007-11-27 21:05 | 显示全部楼层

晕!

&nbsp;zlgmcu&nbsp;发表于&nbsp;2007-11-27&nbsp;10:14&nbsp;ZLG-MCU&nbsp;←返回版面&nbsp;&nbsp;&nbsp;&nbsp;<br /><br />“可以先下载ISP程序,然后通过ISP程序可以下载用户的程序。”<br /><br />----麻烦,生产上多了一个流程!<br />奇怪,为什么Luminary不把ISP代码在出厂时固化???
 楼主| cyuan5 发表于 2007-11-28 09:39 | 显示全部楼层

Luminary的方案也是一样呀!!!先下载ISP程序!!

Luminary的方案也是一样呀!!!先下载ISP程序!!以后就可以直接串口下载用户程序,只是占用多一点空间而与
席君秋 发表于 2007-11-28 11:04 | 显示全部楼层

晕,楼上的,占用多一点空间并不是问题!

呵呵,批量生产的时候,你就知道痛苦!<br />你要用ISP,就必须先用编程器把ISP代码烧进去,然后才能把芯片焊到板上去。不然的话,你在板上留个大大的JTAG口!
SHMM2002 发表于 2007-11-28 11:10 | 显示全部楼层

Luminary ARM ISP功能

我要等Luminary&nbsp;ARM&nbsp;ISP功能代码在出厂时固化在芯片中时,才用于产品。
hackdj 发表于 2007-11-28 11:45 | 显示全部楼层

确实不方便

设计阶段用jtag下到是没什么,<br />生产量大的话非常麻烦,希望能将isp程序在出厂时固化在芯片中,像nxp&nbsp;的arm7一样用串口下载
逐风 发表于 2007-11-28 22:06 | 显示全部楼层

请问

请问到底是ZLG的ISP还是Luminary的ISP啊
zlgmcu 发表于 2007-11-29 15:42 | 显示全部楼层

量产时,推荐使用编程序,同时我们也有拷贝机

可以将ISP程序和应用程序一起下载到芯片
xingliu200 发表于 2007-11-29 17:48 | 显示全部楼层

始终应该固化才对

搞来搞去,搞不懂为什么不固化。<br />就想多卖一个编程器?<br />好麻烦。
21ele 发表于 2008-1-4 12:40 | 显示全部楼层

最好像stm32那样,固化加专用引脚在复位是检测,影响正常使

  
 楼主| cyuan5 发表于 2008-1-4 16:31 | 显示全部楼层

最好别用ISP引脚,利用串口协议握手就进入ISP功能

最好别用ISP引脚,利用串口协议握手就进入ISP功能,快速超时进入用户程序
mohanwei 发表于 2008-1-4 21:08 | 显示全部楼层

还是用引脚比较好,不然开机还要等几百ms才能运行用户程序

<br />有时候需要快速启动,就有问题了……
 楼主| cyuan5 发表于 2008-1-5 10:01 | 显示全部楼层

上电时候,等待PC指令几十MS就足够啦!!!

并且上电时,我习惯先延时一下,再做其它的事!!!
mohanwei 发表于 2008-1-5 10:14 | 显示全部楼层

几十ms,很多时候足够你焦头烂额了,如果在工控场合

<br />一般涉及到输出的电路都需要严格根据后果来设计的,比如说一个继电器输出,可能必须要在硬件上保证它上电的时候是不能动作的……
ijk 发表于 2008-1-5 17:29 | 显示全部楼层

LM3SXXX的ISP跟STM32的ISP方式各有千秋

&nbsp;&nbsp;LM3SXXX的ISP方法需要占用部分Flash空间,幸好不多-2k字节。它实际上是一种IAP方式,好处是定义可以比较灵活,可以根据各个用户的方式进行修改。<br />&nbsp;&nbsp;STM32的ISP是真正的ISP,不需要占用用户的Flash空间,但它的缺点是需要使用专用的BOOT引脚。当然,既然LM3SXXX的ISP方法被公布出来了,那么同理可以用于STM32。<br />
您需要登录后才可以回帖 登录 | 注册

本版积分规则

60

主题

86

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部