This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 编译器/AM3358:跳转至外部二进制/共享库类调用

Guru**** 2540720 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/579445/compiler-am3358-jump-into-external-binary-shared-library-like-calls

部件号:AM3358

工具/软件:TI C/C++编译器

您好,

我已经在StarterWare论坛上发布了一个类似但不太详细的问题,但我认为这一问题越多,对我来说似乎就越像是一个编译器。

我想通过某种基本的共享库功能来扩展裸机应用程序。  这就是我认为它如何工作的原因:

  • 主应用程序将第二个应用程序加载到RAM中的固定地址
  • 第二个应用程序提供了一些功能AD固定地址
  • 现在,主应用程序不时跳转到其中一个地址,这些地址在完成任何操作后返回

我在这里的问题:

  • 这样做是否可行?
  • 如果是:如何在固定地址分配RAM,或者如何将第二个应用程序加载到固定地址?
  • 如何以某些函数位于预定义地址/地址偏移的方式编译第二个应用程序? 链接程序命令文件的一些技巧?

谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    TI ARM编译器中没有直接支持您的用例的功能。  也许可以一起攻击一些东西。  但我不喜欢这种尝试通常伴随而来的缺乏稳健性。

    我有一个相当不同的建议。  阅读 您在Starterware论坛上的另一篇文章 就是激发这一想法的原因。 您如何使代码成为客户调用的库?  所有内容都在静态目标代码库中提供,只有少量C/C++代码显示如何以简单的默认方式使用库。  您的客户可以直接添加自己的代码,并形成最终的可执行文件。

    谢谢,此致,

    -George