imx6系列系統移植筆記--imx6q內核版本4.1.15更新rt后,解決編譯失敗的問題

本文记录了在Ubuntu 14.04环境下,针对IMX6Q平台,内核版本4.1.15在应用RT补丁(版本patch-4.1.15-rt16.patch)后遇到的编译问题。在编译过程中遇到drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c文件中rt_spin_lock/unlock错误。为解决此问题,提出了相应的修改方案。
摘要由CSDN通过智能技术生成

開發環境:ubuntu 14.04
交叉編譯器版本:arm-poky-linux-gnueabi-gcc 5.3.0
kernel源碼版本:4.1.15
rt補丁版本:patch-4.1.15-rt16.patch

更新完rt補丁后,編譯報錯定位到drivers/mxc/gpu-viv/hal/os/linux/kernel/gc_hal_kernel_os.c中提示rt_spin_lock/unlock出錯,可如下修改:

gceSTATUS
gckOS_WaitSignal(
    IN gckOS Os,
    IN gctSIGNAL Signal,
    IN gctUINT32 Wait
    )
{
	gceSTATUS status = gcvSTATUS_OK;
	gcsSIGNAL_PTR signal;

    gcmkHEADER_ARG("Os=0x%X Signal=0x%X Wait=0x%08X", Os, Signal, Wait);

    /* Verify the arguments. */
    gcmkVERIFY_OBJECT(Os, gcvOBJ_OS);
    gcmkVERIFY_ARGUMENT(Signal != gcvNULL);

    gcmkONERROR(_QueryIntegerId(&Os->signalDB, (gctUINT32)(gctUINTPTR_T)Signal, (gctPOINTER)&signal));

    gcmkASSERT(signal->id == (gctUINT32)(gctUINTPTR_T)Signal);

    might_sleep();
    //modify by J.Wong 2018/09/04
    //spin_lock_irq(&signal->obj.wait.lock);
    raw_spin_lock_irq(&si
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值