web在线升级方案遭否定

研究了3天,今天终于可以通过web下载文件到串行flash中了,这个虽然很简单,但是首先得理解代码然后修改,其实我总共也就改了1行代码而已。毕竟基本框架已经有现成的了。但是组长还是坚持用tftp方式实现在线升级,目的是方便以后维护,添加板子测试。web难于维护,而且占地大。虽然很多道理,但是我想所有的应用都应该给予用户角度考虑,我在做EtherMux V4在线升级时,让客户使用过在线升级,操作起来很是复杂,如果没有文档很难自主完成。但是如果是web的在线升级,我想不用教谁都会应该。对于扩充功能和维护考虑,我想也应该不是很难的。如果不想添加网页可以添加telnet程序,代码多不了多少。对于备份程序我想这个功能不是很有必要,应该可以给客户两个版本,如果想用老版本,只是从新升级回老版本就可以了。

我可以这么做,在telnet在线升级的基础上添加个宏控制打开web_interface,同时使用两种在线升级方式,只有结果才能改变看法,我把两种都实现最后由组长定夺,实现web_interface也很简单。

如果是从bootrom直接启动那么可以把程序直接下载到flash2去,实现升级。

添加串行flash的目的是为了程序在flash中运行过程中是看不到another flash的,所以只能先把程序download到sf中,然后启动时从sf中copy到flash2中实现启动。

我先实现在bootrom中下载程序到sf中,然后添加个copy到flash2并启动的选项。这个功能实现后才能在线升级。

 

DESCRIPTION:  This function is called to complete initialisation of the
               TFTP state structure.  Before calling this function, some
               fields in the struct tftp_state must be set up as follows:
                 ts->state = <0 for read, 1 for write>
                 ts->buf_addr = <physical address of xmem buffer>
                 ts->buf_len = <length of physical buffer, 0-65535>
                 ts->my_tid = <UDP port number.  Set 0 for default>
                 ts->sock = <address of UDP socket (udp_Socket *)>
                 ts->rem_ip = <IP address of TFTP server host>
                 ts->mode = <one of the following constants:
                   TFTP_MODE_NETASCII   ASCII text
                   TFTP_MODE_OCTET      8-bit binary
                   TFTP_MODE_MAIL       Mail>
                 strcpy(ts->file, <remote filename or mail address>)

rabbit编译器的命令行参数:

http://www.rabbitsemiconductor.com/documentation/docs/manuals/DC/DCUserManual/cmdlined.htm

查任何资料可以直接在rabbit网站直接搜索:

 http://www.rabbitsemiconductor.com/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
程序功能: 本程序是检查程序版本并提供HTTP方式在线更新的程序! 支持多个文件、不同目录更新。 windows环境通用。 使用: 1.把所有需要更新的文件名称和版本号信息添加到更新列表XML文件中,XML文件内容格式: <?xml version="1.0" encoding="gb2312"?> BPL\FORM.bpl 2012.6.4.0 main.exe 2012.6.5.0 注意: 1)与XML文件同一个目录的,文件名不要含目录信息。 2)没有版本号的文件,每次发布时,自己编一个不同的版本号填入XML. 3)XML文件清单信息,每次发布都应包含所有的程序文件。 4)更新列表XML文件与程序文件一同发布到IIS虚拟目录中(windows环境下的)。 2.手动直接执行UPDATE.EXE文件更新时, 需要把更新列表XML文件的URL地址写在文本配置文件CLIENTDB.LXH中。 内容格式如下: [UPDATE] XMLURL=HTTP://192.168.0.80/RELEASE/FILELISTS.XML 3.由主控程序调用时,调用代码格式如下: ShellAPI.ShellExecute(0, 'Open', 'UPDATE.EXE', PWideChar(Params), '',SW_SHOWNORMAL); 其中Params参数,字符串内容必须按顺序分别为: 更新列表XML文件的URL地址 + 主控程序文件名 + 个性程序标题, 共传入三个入口参数,每个参数之间用空格隔开。 可以不传参数,则默认用CLIENTDB.LXH配置文件中的XML URL地址; 可以只传1个参数,参数此时必须为XML URL地址; 如果传第2个参数,更新完毕会自动启动主控程序; 如果传第3个参数,则更新程序标题为第3个参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值