让MDK代码没有被调用的函数也编译进入?咋弄!

KEILC51是没有被调用的函数都编译进去的。

但是MDK arm是没有调用的就没有被编译进去,现在我要搞不同的工程,调用同样的固件,放在同一个地址。需要没有被调用的函数也好便一起进去。咋弄?

目前还没有找到好的方法。



已经找到keep指令可以实现都编译进去。

但是不同工程生成的固件还是有些不一样!

很困难的问题!!!


明白了!

内存也需要定位。

HEX文件中涉及到DCW指令是关于内存分配的。

这种分散加载看起来比较适合

(1)大的FLASH,否则keep之后,真的可能将flash撑爆。

(2)只操作应用层数据,比如做个PLC给别人用。

同时满足以上两点可以才可以考虑用分散加载。否则真挺麻烦,不太值得。

--------------------------------------------------------------------------------------

2018.06.22

看了一下老外的固件  将近两M。这么大的固件,如果和app一起下载,那么时间可真够长的。而我的固件现在将近2K,也需要1分多钟。目前这个阶段还是暂且放弃固件方式吧。固件首先需要大的flash,我是没有这么大的flash的。后来我想的折中的方法,查一下上一次的固件的CRC值和长度,然后本次加载的固件的CRC值和长度作为比较,如果一样就不下载固件,直接下载app。否则若不一样,则固件和APP。这么做起来也挺啰嗦麻烦,考虑的细节不少。

所以目前的方式是放弃固件方式。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值