gpt4 book ai didi

c - 代码是否可以在两家不同公司生产的 Cortex A5 和 Cortex A9 之间轻松移植?

转载 作者:行者123 更新时间:2023-11-30 16:44:07 25 4
gpt4 key购买 nike

为一家公司构建的 Cortex A5 编写的代码能否轻松移植到另一家公司构建的 Cortex A9 上?

我想编写一些在 Atmel 的 SAMA5D4 上运行的裸机 C 代码(Cortex A5),从具有并行接口(interface)的 CMOS 摄像头获取视频并将其编码为 H.264。该芯片可以以 720p 进行硬件编码。

稍后,我可能想要构建一个可以以 1080p 编码的类似设置,因此我想升级到更昂贵的芯片,NXP i.MX 6Solo (皮质 A9)。

所以我想知道我是否会遇到严重的问题,或者以后移植是否会很容易。我的直觉告诉我这应该很容易,但我认为我最好先询问专家。如果这是一个非常令人头疼的问题,我可能会先从更昂贵的芯片开始。

我对此很陌生,对 ARM 芯片甚至 C 没有太多经验,但我愿意学习:-)

最佳答案

正如注释中所捕获的,如果最初编写代码是为了尝试从应用程序代码中清晰地抽象出特定于平台的细节,则此任务可以变得更容易。这并不像简单地替换 boot.s 那么简单,而且在您测试移植之前,您不能真正声称已经完成了这项工作。

两个处理器之间的大部分架构行为将保持不变,并且 C 编译器应该能够利用微架构优化。这种优化可能不是您通过手动操作所能实现的最佳优化。

您可能会遇到困难的问题是代码中对内存排序或代码与异常之间的潜在交互敏感的任何点。 Cortex-A9 的无序程度明显高于 Cortex-A5,迁移可能会暴露代码中的错误。图书馆现在应该很稳定,但仍然存在需要注意的风险。预测此类问题非常困难,如果您自己编写大部分代码,您可能需要为移植任务构建一些应急措施。一旦代码在 A9 上稳定,此类问题就不太可能出现在 A5(以提供更低成本的生产选项)或更新的高性能内核上。

关于c - 代码是否可以在两家不同公司生产的 Cortex A5 和 Cortex A9 之间轻松移植?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44707474/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com