MTK开发中一些经验总结

1.  在确定你的MTK工程完整而且在模拟器和真机上能正常运行 之前, 不要开始工作。

2.   MTK开发 C是唯一选择, 不要试图用把C++工程移植到MTK平台。

3.   ADS C/C++ COMPILER不同的编译选项可能导致代码的性能差异很大。ADS使用ARMV4指令集, 而真机是Thumb指令集。

4.   MMI/GUI的工作尽量用MODIS模拟器。 真机编译很慢,可用分布式编译加速。

5.   Image$$ZI$$Limit 错误原因有2种: 使用了malloc,free, printf, assert,fopen之类的函数; 定义了过大的静态数组。

6.   适配WIN32和ARMC平台。 文件读写和内存操作函数需要替换成MTK支持的函数。

7.   MTK真机内存有限(MED堆内存<800k),ROM SIZE极其宝贵, 尽量优化代码结构,减少内存占用。

8.   MTK支持多线程, 不过是用TASK替换Thread.

9.   真机有watchdog, 函数内LOOP太久会导致阻塞并重启,  可以加kal_sleep_task, 给系统一点空闲。

10. 真机重启常见的错误LOG有2种: assert failed: 会显示出错的文件及代码行。   data abort: 一般是数组越界。

11. 重启错误可通过恢复函数栈来大致定位出错函数段。 可在Cacher.exe里Advance>Exception handling查看stack dump ,对应查找/build目录下的.sym文件。

12. 做好代码的内存泄漏检测。

13. 不要频繁的分配小块内存, 这样会导致内存碎片。

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/lius1984/archive/2009/12/26/5081817.aspx

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值