Other Parts Discussed in Thread: SYSBIOS
Thread 中讨论的其他器件:SYSBIOS
工具/软件:TI-RTOS
您好!
我想将 UART10与中断驱动程序 SYSBIOS 驱动程序结合使用。
Linux 负责 iomux 和 IRQ 交叉开关配置。
为了使 UART10可以访问、我使用了自定义 rsc_table.h 并添加了:
#define UART10_CFG_REGS 0x4AE00000
#define UART10_CFG_regs_virt (UART10_CFG_regs)
和:
{
TYPE_DEVMEM、
UART10_CFG_regs_virt、UART10_CFG_regs、
SZ_1M、0、0、"UART10_regs"、
}、
在我的 Ipu1.cfg 中、我添加了:
var socType ="am572x";
VAR UART = XDC.loadPackage ('ti.drv.UART');
UART.Settings.socType = socType;
在我使用的 C 文件中:
#include //定义 UART_HwAttrs
#include
#include
#include
#include
UART_HwAttrs UART_hwAttrs;
UART_socGetInitCfg (UART_instance、&UART_hwAttrs);
UART_hwAttrs.baseAddr = 0x6AE2B000;
UART_socSetInitCfg (UART_instance、&UART_hwAttrs);
这似乎会处理错误的默认地址偏移。 这种方法适用于 I2C
现在、我设置 IRQ 交叉开关以将 UART10_IRQ (221)路由至 IPU1_IRQ32 (0x4A0027F0为0xDD0000)。
通过读取源代码、我找到了 HwAttrs.EventID 和 intNum、但没有这些字段的文档。
UART_open 失败:
[0][6.650] [t=0xa213533f] ti.sysbios.family.arm.m3/hwi:错误:第1104行:E_hardFault:强制
[0][6.650] ti.sysbios.family.arm.m3.hwi:第1104行:e_hardFault:Forced
[0][6.650] [t=0xa2160591] ti.sysbios.family.arm.m3/hwi:错误:第1216行:e_usageFault:INVSTATE:EPSR 无效和指示
N 组合
如何告知 SYSBIOS UART 驱动程序/中断处理程序 UART10 IRQ 将位于 IPU1_IRQ32上?
此致、
环路2.