[应用相关] 请问版主:IAP程序一定小于8K吗?

[复制链接]
3469|10
 楼主| bolin1981 发表于 2008-11-17 19:00 | 显示全部楼层 |阅读模式
IAP程序一定要小于8K吗?
最近我在做程序升级,IAP程序大于8K,做程序升级时老是出错,不知道是不是因为程序大于8K的原因???
香水城 发表于 2008-11-17 21:10 | 显示全部楼层

IAP程序的大小没有限制

多大都没有问题,100K、200K、500K都可以。
 楼主| bolin1981 发表于 2008-11-18 08:58 | 显示全部楼层

我现在把一些功能删除了,程序代码小于8K

我现在把一些功能删除了,程序代码小于8K,IAP升级代码程序不变,进行升级成功,之前为什么不行?
没真正弄清楚!
ST_ARM 发表于 2008-11-18 11:06 | 显示全部楼层

如果你使用的ST的源代码

你的IAP的大小需要小于8K,如果你编译ST的代码超过8K,那你需要通过软件对代码进行优化。
为何代码要小于8K见下图:
winloop 发表于 2008-11-18 11:34 | 显示全部楼层

IAP程序你搞那么大干吗?

 楼主| bolin1981 发表于 2008-11-18 14:28 | 显示全部楼层

功能多一点

我把USB本地程序下载更新放在IAP程序中.
 楼主| bolin1981 发表于 2008-11-18 14:44 | 显示全部楼层

需要怎样修改向量表才可以使IAP代码大于8K?

ST_ARM:
你好,我看明白了你写的.
能否通过修改向量表来满足iap代码大于8k时也能升级程序?
如何修改?
能否相告?
香水城 发表于 2008-11-18 14:48 | 显示全部楼层

只需把你的程序代码定位到较高的地址即可

我说的程序代码是你要通过IAP下载的那段代码。
ST_ARM 发表于 2008-11-18 16:07 | 显示全部楼层

可以修改IAR的*.xcl来改变8K的大小

在使用IAR软件进行开发时,用户的代码使用的*.xcl如下(部分):
/*************** (C) COPYRIGHT 2007 STMicroelectronics *************
;* File Name     : lnkarm_flash.xcl
;* Author        : MCD Application Team
;* Version       : V1.0
;* Date          : 10/08/2007
;* Description   :  XLINK command file template for EWARM/ICCARM
;* Usage         : xlink  -f lnkarm  <your_object_file(s)>
;*               :-s <program start label>  <C/C++ runtime library>
;*******************************************************************/

// Code memory in FLASH
-DROMSTART=0x8002000  <----- 这里指示用户的代码的起始地址,当前值位于8K的起始地址,用户只需改变该值即可使IAP的代码超过8K。
-DROMEND=0x801FFFF

// Data in RAM
-DRAMSTART=0x20000000
-DRAMEND=0x20004FFF

walnutcy 发表于 2008-11-18 16:56 | 显示全部楼层

同楼上,另外注意vector的设置,要匹配

Miltonliu2010 发表于 2013-1-28 14:39 | 显示全部楼层
香水城 发表于 2008-11-17 21:10
多大都没有问题,100K、200K、500K都可以。

版主  你能看看我的帖子吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

44

帖子

0

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