Thread 中讨论的其他器件:SYSBIOS
工具/软件:Linux
您好,
正在尝试使用 IPCGRx 从 ARM 触发 DSP 中断。 使用 mmap 函数 am 尝试从 Linux 用户空间修改 ipcgrx 中断位。
mmap 将成功返回虚拟空间地址,页面大小为4098。 当我尝试写入寄存器时、会出现以下错误。
未处理的故障:在 bb6f7d240的非线性获取(ox1818)上的外部中止
总线错误。
正在尝试类似这样的东西-请查看以下主题-
当我尝试访问寄存器地址时、会出现上述错误。
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.
工具/软件:Linux
您好,
正在尝试使用 IPCGRx 从 ARM 触发 DSP 中断。 使用 mmap 函数 am 尝试从 Linux 用户空间修改 ipcgrx 中断位。
mmap 将成功返回虚拟空间地址,页面大小为4098。 当我尝试写入寄存器时、会出现以下错误。
未处理的故障:在 bb6f7d240的非线性获取(ox1818)上的外部中止
总线错误。
正在尝试类似这样的东西-请查看以下主题-
当我尝试访问寄存器地址时、会出现上述错误。
Yordan,您好!
感谢您的快速响应。
出现这种情况的一个原因可能是缺少功能时钟。 您能否验证 DSP 是否已正确初始化?
我已启用 DSP 时钟功能(SysBIOS 配置中的配置中的默认时钟选项)。 是否还有其它时钟功能要使用?
另一个更可能的原因是您尝试通过用户空间访问 IPC 寄存器。
mmap 的主要功能是通过用户空间中的虚拟映射内存访问设备内存。 另一个选项是 ioremap、它是内核空间功能。 因为我的目标是从 userspace 访问它、所以我尝试使用 mmap。
它们需要特权模式才能访问它们
我的代码仅以 root 身份运行。
换句话说、您需要从内核空间执行这些设置。
什么类型的设置? 您能否指定它、我无法找到任何此类示例。
有没有可用于 ARM-DSP 中断机制的示例代码?
谢谢、此致、
Vinodh