打印

关于mega128的远程程序升级问题,一起讨论一下吧?

[复制链接]
1582|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
keer_zu|  楼主 | 2007-6-20 09:09 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
keer_zu: 

  想做一个mega128的远程程序升级
  要升级的程序能不能通过串口写入flash存储器?
  如果可以那样,写入的代码应该是哪种形式的?
  如何解决重定位问题的?

如果要通过串口写入,要写入的程序是不是编译输出的.hex文件?还是别的?
写入falsh]的位置是不是根据编译器设置的目标存储器而定?
    还请各位指教/

   

 pantodd: 这样。 

在M128的BOOT区的BOOTLOADER程序与远程的上位机进行通讯(通讯可以是串口,SPI,I2C。。。)如果这个远程很远,要考虑其它通讯媒介了。
BOOTLOADER将上位机收到的数据包中的数据写入其应用区的FLASH这样就可以程序升级。当然自已可以定义通讯协议。这样写入FLASH的位置可以由上位机决定了。
   
keer_zu:谢谢 

  如果升级程序,那么写入的文件是什么文件?是不是我们平时用ISP下载的
  .hex文件?只要编译时设置好就行吗?



 
 

 音乐乐乐 :
 什么文件都行,反正上位机是自己写的通讯程序 

 可以将hex加密成只有自己程序才能读懂的文件,呵呵。



 
 

 keer_zu :
 那么程序的定位问题呢? 


^_^:

写入的是可执行的二进制代码,程序代码中的地址应该是绝对地址,所以我把程序最终加载的位置一定是确定的吧?这样的程序是编译器直接生成的?

 
 

 
 

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1351

主题

12431

帖子

53

粉丝