0

我是 u-boot 的新手,目前正试图将它移植到一个 mpc5554 板(来自 phytec)以获得乐趣。

我很高兴找到mpc5xxx.h文件,表明它可以在我的情况下使用。然而,我越是研究它,似乎该文件并不像名称所暗示的那样通用。在我的情况下它似乎不可用。

  1. 我弄错了吗?
  2. 有没有人尝试过类似的东西?
  3. 我需要创建自己的 mpc555x.h 等吗?
  4. 是否应该在分发中重新命名文件?

任何想法表示赞赏,谢谢!

4

1 回答 1

2
  1. 我弄错了吗?

也许。对于 U-Boot(和 Linux),您必须进行两个级别的自定义。
第一层是 SoC (MPC5554) 的架构 (PowerPC) 和处理器 (???)。
第二层是安装 SoC 的板(Phytec SOM?)。

显然您使用的是飞思卡尔 MPC5554 SoC 而不是摩托罗拉 MPC5200。您将需要验证该文件中的#defines和 register/port 声明是否mpc5xxx.h与您的 SoC 规范相匹配。

然后你需要为你的电路板获取或编写模块。该板是 SoC 的可配置选项的特定实现,现在硬连线在引脚的板侧。必须编写这些模块来配置引脚芯片侧的 SoC 外设和 GPIO 以匹配电路板。

2 有人试过类似的吗?

我已经为电路板定制了 U-Boot 。
您应该尝试从电路板制造商那里获得电路板支持,并从芯片制造商那里获得 SoC 支持。
更流行的 SoC 板(尤其是芯片供应商的“评估板”)带有演示 Linux 内核和引导程序。
您可以尝试在 Internet 上搜索 U-Boot、Linux on PowerPc、飞思卡尔和/或 Phytec 开发人员网站和/或邮件列表。

3 我需要创建自己的 mpc555x.h 等吗?

也许。
如果该文件#defines中的 and register/port 声明mpc5xxx.h与您的 SoC 的规范不匹配,并且您无法从其他开发人员那里找到,那么您可以生成一个mpc5554.h文件。#ifdef CPU_IS_MPC5444或者,根据匹配与不同规格的比率,您可以使用条件编译指令(例如... #else... #endif)在现有文件中增加 MPC5444 的声明。

如果您只有一个 MPC5554 进行测试,那么在扩展代码以包含其他 MPC555x 器件或 Qorivva MPC55xx 系列时要小心。

4 文件是否应该在发行版中重新命名?

可能不会,因为这会破坏那些使用该文件的人的构建。

于 2012-11-08T09:23:39.793 回答