2009年3月31日星期二

嵌入式开发的新途径

嵌入式开发的传统过程是:
  • 编程
  • 交叉编译
  • 下载到板子或模拟器
  • 运行和交叉调试

如此往复循环。在此之前,需要购买或自己构建交叉工具链。

这一过程,如果使用一个足够强大的模拟器,可以简化为以下步骤:
  • 编程
  • 直接编译
  • 直接执行
  • 运行+直接调试或交叉调调试
可见最大的改动在于变交叉开发为直接开发,就像是在开发传统的非嵌入式软件(PC软件或服务器软件)。在此过程中,不再使用交叉编译,而是直接编译!

如同虚拟化工具能够给服务器软件或网络编程带来便利,模拟器能给嵌入式软件开发带来同样的便利,甚至更多——因为嵌入式开发与传统开发相比,更受限于可以使用的资源,如果能让嵌入式开发人员享受主机资源,那相对的开发效率提升是非常可观的。

对于模拟器的功能需求,至少有以下几点:
  • 必须是足够精确的全系统模拟器;
  • 必须具有远程(源码级)调试能力;
  • 必须具有虚拟化功能,即能让开发人员自由使用宿主机的资源,包括网络资源、存储资源能等;
  • 必须能够灵活配置,以使用户能够按需分配资源,如内存大小,处理器个数等;
也就是说,模拟器不仅仅只作为简单的模拟执行目标机指令的软件,而是能够行使嵌入式软件开发环境的功能。我正在开发的quark模拟器正是以此为目标的。

(quark模拟器正在最后测试,不久将发布第一个版本,该版本将支持ARM体系结构)

没有评论:

发表评论