MTK开发中一些经验总结 | 少将全栈
  • 欢迎访问少将全栈,学会感恩,乐于付出,珍惜缘份,成就彼此、推荐使用最新版火狐浏览器和Chrome浏览器访问本网站。
  • 吐槽,投稿,删稿,交个朋友
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏少将全栈吧

MTK开发中一些经验总结

点滴 admin 11年前 (2014-03-14) 1815次浏览 已收录 扫描二维码

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里AdvanceException handling查看stack dump ,对应查找/build目录下的.sym文件。

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

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

喜欢 (0)
[🍬谢谢你请我吃糖果🍬🍬~]
分享 (0)
关于作者:
少将,关注Web全栈开发、项目管理,持续不断的学习、努力成为一个更棒的开发,做最好的自己,让世界因你不同。