2.3.2. 构建用于半主机环境的应用程序

如果开发在半主机环境中运行以进行调试的应用程序,您必须有一个支持 ARM 或 Thumb 半主机的执行环境,并且具有足够的内存。

可以使用以下任一方法来提供执行环境:

有关需要半主机的函数的列表,请参阅半主机相关性概述

如果使用库的缺省半主机功能,则不需要编写任何新的函数或包含文件。

使用 RVISS 或 ISSM

RVISS 和 ISSM 支持半主机,并且具有允许使用库的内存映射。 RVISS 和 ISSM 使用主机中的内存,对于应用程序来说,这通常就足够了。

使用 RealView ICE

ARM 调试代理支持半主机,但可能需要调整库所使用的内存映射,以便与所调试的硬件相匹配。 不过,调整 C 库使用的内存映射比较容易。 请参阅调整运行时内存模型

在半主机环境中使用重新实现的函数

也可以将半主机功能与新的输入/输出函数混合使用。 例如,除了半主机实现以外,还可以实现 fputc() 以直接输出到硬件,如 UART。 有关如何重新实现各个函数的信息,请参阅构建用于非半主机环境的应用程序

将半主机应用程序转换为独立应用程序

在半主机调试环境中开发应用程序后,可以使用以下方法之一将其移到非主机环境中:

  • 删除对半主机函数的所有调用。 请参阅避免使用半主机

  • 重新实现低级函数,如 fputc()。 请参阅构建用于非半主机环境的应用程序。 不必重新实现所有半主机函数。 但是,您必须重新实现在应用程序中使用的函数。

  • 实现所有半主机调用的处理程序。

Copyright © 2007 ARM Limited. All rights reserved. ARM DUI 0349AC
Non-Confidential