打印
[i.MX]

i.MX系列产品使用中常见问题9

[复制链接]
3226|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
FSL_TICS_imx|  楼主 | 2013-12-10 15:41 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
i.mx, ce, ST, rc, TI
本帖最后由 FSL_TICS_imx 于 2013-12-10 15:54 编辑

17、I.MX6Q 平台下mediaLB总线的ahbDMA的中断号
Q:MLB150.c的驱动中有这样一个ISR,我想知道这个中断号是多少,最近在做QNX的MLB驱动,这个中断号没有找到。
static irqreturn_t mlb_ahb_isr(int irq, void*dev_id)
PS:参考L3.0.35_1.1.0_121218,板子上跑的是QNX系统
      
6.5.0 SP1
  
A:首先,QNXBSP,需要您和QNX公司保持联系并获取技术支持!我们FSL没有提供QNX BSP~~
第二,以上问题,我们仅能从FSL发行的Linux BSP sourcecodereference manual寻找答案和解决的方法。如下:
(1)中断信号定义   
   在我们的mlb150 driver中,使用到3个不同的中断资源,定义在linux/arch/arm/plat-mxc/include/mach/mx-6.h
#defineMXC_INT_MLB   85
#define MXC_INT_MLB_AHB0  149
#define MXC_INT_MLB_AHB1  158
(2)中断资源定义
定义在:linux/arch/arm/plat-mxc/devices/platform-mxc_mlb.c
#ifdefCONFIG_SOC_IMX6Q
structplatform_device *__init imx_add_mlb(
  const struct mxc_mlb_platform_data *pdata)
{
struct resource res[] = {
  {
   .start = MLB_BASE_ADDR,
   .end = MLB_BASE_ADDR + SZ_4K - 1,
   .flags = IORESOURCE_MEM,
  },
  {
   .start = MXC_INT_MLB,   .end = MXC_INT_MLB,   .flags = IORESOURCE_IRQ,  },
  {
   .start =MXC_INT_MLB_AHB0,   .end = MXC_INT_MLB_AHB0,   .flags = IORESOURCE_IRQ,  },
  {
   .start =MXC_INT_MLB_AHB1,   .end = MXC_INT_MLB_AHB1,   .flags = IORESOURCE_IRQ,
  },
};
if(!fuse_dev_is_available(MXC_DEV_MLB))
  return ERR_PTR(-ENODEV);
returnimx_add_platform_device("mxc_mlb150", 0,
   res, ARRAY_SIZE(res), pdata, sizeof(*pdata));
}
#endif
(3)中断资源及信号调用(驱动程序)
驱动程序源码位置:linux/driver/mxc/mlb/mxc_mlb150.c
在驱动的probe函数中,调用了上述中断资源:
static int__devinit mxc_mlb150_probe(struct platform_device *pdev)
{
..
}
请下载linux bsp源码,找到这个驱动程序,参考它往QNX系统上做移植。

18、LTIB编译linux kernel error( iMX6 kernel L3.0.35 build error)
Q:当用LTIB编译linux kernel i.MX6时出错,BSP:L3.0.35_4.0.0_130424_source开发板为:i.MX6Q Sabre-SD
Error为:
arch/arm/mach-mx6/built-in.o: Infunction `pfuze100_init':
usb_h1.c(.text+0xf9ac): undefinedreference to `pfuze_reg_read'
usb_h1.c(.text+0xf9d0): undefined referenceto `pfuze_reg_read'
usb_h1.c(.text+0xfa00): undefinedreference to `pfuze_reg_write'
usb_h1.c(.text+0xfa44): undefined reference to `pfuze_reg_rmw'
usb_h1.c(.text+0xfa60): undefinedreference to `pfuze_reg_rmw'
usb_h1.c(.text+0xfa84): undefinedreference to `pfuze_reg_rmw'
usb_h1.c(.text+0xfaa0): undefinedreference to `pfuze_reg_rmw'
usb_h1.c(.text+0xfac8): undefinedreference to `pfuze_reg_rmw'
arch/arm/mach-mx6/built-in.o:usb_h1.c(.text+0xfae4):more undefined references to `pfuze_reg_rmw' follow
arch/arm/mach-mx6/built-in.o: Infunction `pfuze100_init':
usb_h1.c(.text+0xfb5c): undefinedreference to `pfuze_reg_write'
...
make: *** [.tmp_vmlinux1] Error 1
error: Bad exit status from /home/yxq/iMX6/L3.0.35_4.0.0_130424_source/ltib/tmp/rpm-tmp.34384(%build)
RPM build errors:

  
Bad exit status from  /home/yxq/iMX6/L3.0.35_4.0.0_130424_source/ltib/tmp/rpm-tmp.34384 (%build)
  
...
These packagesfailed to build
kernel-3.0.35
Build failed
在编译时有许多未定义的引用,请问如何解决上述编译时候出现的问题?
A: 出错的原因是关闭了CONFIG_MFD_PFUZE,运行 distclean ,即解决上述问题。或者在Configration 选项device driver->Multifunction device drivers->Support for Freescale's PMIC PFUZE中选择也可以


相关帖子

沙发
FSL_TICS_ZJJ| | 2013-12-10 16:14 | 只看该作者
强势顶起!!!

使用特权

评论回复
板凳
maowa_2005| | 2013-12-12 14:09 | 只看该作者
多谢楼主分享

使用特权

评论回复
地板
FSL_TICS_imx|  楼主 | 2013-12-12 15:42 | 只看该作者
maowa_2005 发表于 2013-12-12 14:09
多谢楼主分享

哈哈,非常感谢您的支持,同时也欢迎大家有问题一起探讨学习~~

使用特权

评论回复
5
mini1986| | 2015-4-17 13:40 | 只看该作者
qnx,这么高端.....

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:   Freescale Semiconductor     i.MX Community    i.MX 中文论坛

29

主题

730

帖子

21

粉丝