我可以在嵌入式系统中安装大型Ada程序吗?

时间:2012-09-18 13:40:48

标签: embedded microcontroller ada

我想知道我使用的大型Ada程序是否可以在微处理器或微控制器上运行,因为我正在探索在低功耗要求的专用封装中实现它的可能性。

该程序在Ada 95中有超过500个源文件,在Win XP中编译为10MB可执行文件,并使用最多200MB的内存。它不需要多个线程,也不需要“实时”运行。

对于这么大的程序,这是否有意义?如果是这样,操作系统的选项有哪些?代码的修改是否会扩展到与操作系统兼容?

2 个答案:

答案 0 :(得分:2)

很有可能你目前看到的那么大的大小与程序需要的东西有关,以便在像XP这样的大胖操作系统上运行。

当然可能是你的程序实际上依赖于一堆巨大的数组或其他东西,并且它无法适应。我不能在这里说出来。

如果是我,我会联系我的Ada供应商,寻找我正在考虑的平台,并请求他们帮助进行可行性研究。一般来说,嵌入式目标上的Ada编译器的许可证就足够了,供应商很乐意为您提供这样的个人售前关注。

我还应该提一下。 Ada有一个非常广泛的运行时库。它包括全面的任务和任务同步内核。像Windows或Linux这样的“大胖操作系统”的程序经常会把这些东西拉进去,即使他们不需要它。大多数编译器提供了一种方法来减少你不需要的crud,而小型嵌入式目标上的编译器 当然可以做到这一点。因此,如果您构建针对较小平台的目标,那么它的大小可能会自行消失。如果您愿意,可以查看Gnat's instructions for minimizing its runtime overhead。即使那不是您的供应商,也应该向您展示可能涉及的一些问题。

答案 1 :(得分:0)

听起来像Raspberry-Pi的合理使用,它将Gnat作为其Debian(Raspbian)发行版的一部分。如果200MB的占用空间只是数据......你可能需要注意其内存占用...