【问题标题】:PiFm On AllWinner SoCAllWinner SoC 上的 PiFm
【发布时间】:2017-05-25 05:30:37
【问题描述】:

我想让 PiFm https://github.com/rm-hull/pifm/blob/master/pifm.cpp 在 OrangePi One(h3 AllWinner ARM 处理器)上兼容

我猜,做兼容我只是?设置好的寄存器地址没有?

在 PiFm 上我找到了这些地址:

#define CM_GP0CTL (0x7e101070)
#define GPFSEL0 (0x7E200000)
#define CM_GP0DIV (0x7e101074)
#define CLKBASE (0x7E101000)
#define DMABASE (0x7E007000)
#define PWMBASE  (0x7e20C000) /* PWM controller */

但在 H3 数据表 http://dl.linux-sunxi.org/H3/Allwinner_H3_Datasheet_V1.0.pdf 上,我无法翻译这些地址。

我不是 ARM/编程方面的专家,但 PiFm 可以在 OrangePi One 上工作?

(对不起我的英语,我是法国人)

提前致谢 问候

【问题讨论】:

  • 请移除 C++ 标签。

标签: arm orange-pi


【解决方案1】:

将此程序转换为在 Allwinner SoC 上运行将涉及完全重写它,如果可能的话。

PiFm 依赖于能够通过精心设计的 DMA 请求打开和关闭 Broadcom SoC 的 PWM 外设。这不是 Allwinner 的选项; PWM 外设没有 DMA 端口(数据表第 193 页)。

【讨论】:

  • 感谢您的回复。我在 AllWinner 数据表上看到处理器具有 PLL(锁相环),它可以达到几兆赫兹,这可以用于驱动 GPIO 吗?我找不到任何记录在案的示例。
  • @kiki67100 否。PLL 用于生成处理器内部使用的时钟信号。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-30
  • 1970-01-01
  • 2017-08-17
相关资源
最近更新 更多