• imx6sl 调试记录


    公板芯片型号:MCIMX6L8DVN10AB 

    我的板子芯片型号:MCIMX6L2EVN10AB no GPU ,no EPDC

    调板子时一定要注意,首先要搞清楚硬件芯片的具体差异,然后去nxp的官网找区别,网址如下:https://community.nxp.com/search.jspa?q=imx6sl%20no%20gpu%20no%20epdc

    一直认为gpu,epdc是内核起来一定时间后才初始化的,这是错误的。

    之前程序打印信息:Uncompressing Linux...  done, booting the kernel.然后就重启了,当时就认为是kernel启动的汇编有问题,一直跟,追后发现程序已经跑到内核里面了,最后死在asmlinkage void __init start_kernel(void)中的rest_init();,跟到这就不知道什么原因导致死机,因为rest_init()是创建系统的0号进程。最后只能换方法。到freescale官网上找到类似的问题,屏蔽掉epdc,和gpu就可以正常启动了,但是程序跑着跑着还是会重启

    yv ...................enter do_one_initcall=1
    calling init_machine_late+0x0/0x28 @ 1
    cpu cpu0: dev_pm_opp_get_opp_count: device OPP not found (-19)
    initcall init_machine_late+0x0/0x28 returned 0 after 7224 usecs
    yv ...................enter do_one_initcall=1
    calling imx_amp_power_init+0x0/0xdc @ 1
    initcall imx_amp_power_init+0x0/0xdc returned 0 after 1 usecs
    yv ...................enter do_one_initcall=1
    calling init_oops_id+0x0/0x40 @ 1


    U-Boot 2015.04 (Sep 28 2016 - 14:14:49)

    并且不是死在某一个驱动函数里,因为calling init_oops_id+0x0/0x40 @ 1已经执行完了,目前只能去内核里面找,函数下一个要执行什么驱动初始化,在System.map文件中找到

    58470 809a2c78 T __initcall7_start
    58471 809a2c78 t __initcall_init_machine_late7
    58472 809a2c7c t __initcall_imx_amp_power_init7
    58473 809a2c80 t __initcall_init_oops_id7
    58474 809a2c84 t __initcall_pm_qos_power_init7
    猜测下一个执行的应该是pm_qos_power_init,到内核里把这一部分相关的屏蔽掉,内核没有从启现象了。但是

    mmcblk1: mmc1:0007 SD16G 14.4 GiB (ro)
    mmcblk1: p1 p2
    wm8962 1-001a: Failed to read ID register
    wm8962: probe of 1-001a failed with error -110
    imx-wm8962 sound.18: failed to find codec platform device
    imx-wm8962: probe of sound.18 failed with error -22
    imx-spdif sound-spdif.19: snd-soc-dummy-dai <-> 2004000.spdif mapping ok
    NET: Registered protocol family 26
    TCP: cubic registered
    NET: Registered protocol family 10
    sit: IPv6 over IPv4 tunneling driver
    NET: Registered protocol family 17
    can: controller area network core (rev 20120528 abi 9)
    NET: Registered protocol family 29
    can: raw protocol (rev 20120528)
    can: broadcast manager protocol (rev 20120528 t)
    can: netlink gateway (rev 20130117) max_hops=1
    Bluetooth: RFCOMM TTY layer initialized
    Bluetooth: RFCOMM socket layer initialized
    Bluetooth: RFCOMM ver 1.11
    Bluetooth: BNEP (Ethernet Emulation) ver 1.3
    Bluetooth: BNEP filters: protocol multicast
    Bluetooth: BNEP socket layer initialized
    Bluetooth: HIDP (Human Interface Emulation) ver 1.2
    Bluetooth: HIDP socket layer initialized
    8021q: 802.1Q VLAN Support v1.8
    Key type dns_resolver registered
    cpu cpu0: failed to init cpufreq table: -22
    imx6q-cpufreq: probe of imx6q-cpufreq failed with error -22
    SWBST: disabling
    SW4: disabling
    wm8962-supply-4v2: disabling
    wm8962-supply-3v15: disabling
    usb_otg1_vbus: disabling
    regulator-dummy: disabling
    imx mcc test is registered.
    snvs_rtc 20cc034.snvs-rtc-lp: setting system clock to 1970-01-01 00:00:00 UTC (0)
    ALSA device list:
    #0: imx-spdif
    VFS: Cannot open root device "mmcblk1p2" or unknown-block(179,2): error -30
    Please append a correct "root=" boot option; here are the available partitions:
    1f00 8192 mtdblock0 (driver?)
    b300 15159296 mmcblk1 driver: mmcblk
    b301 501760 mmcblk1p1 000ab1ac-01
    b302 14544896 mmcblk1p2 000ab1ac-02
    Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,2)

    error -30显示是sd卡的读写权限问题,上面还识别成只读,所以去量sd卡的WP脚,果不其然,此脚一直为高,无论卡上锁还是不上锁。找到wp的配置管脚把它从上拉改成下拉,kernel总算可以正常启动了。

  • 相关阅读:
    LeetCode 152. 乘积最大子数组 | Python
    LeetCode 31. 下一个排列 | Python
    LeetCode 136. 只出现一次的数字 | Python
    LeetCode 102. 二叉树的层序遍历 | Python
    LeetCode 155. 最小栈 | Python
    LeetCode 69. x 的平方根 | Python
    Python3 高阶函数
    Python3 装饰器
    Python3 递归函数
    Python3 函数
  • 原文地址:https://www.cnblogs.com/yangv/p/5959283.html
Copyright © 2020-2023  润新知