TI中文支持网
TI专业的中文技术问题搜集分享网站

am335x linux内核挂在starting kernel…

大家好,我们目前自己做了一块开发板,芯片使用的是am335x,基于米尔科技的BSP进行移植,内核版本为L4.1.8。目前遇到以下问题:

1.参考论坛上帖子对DDR做了校验ok

2.uboot无法启动,参考论坛上的帖子注释rtc32k_enable()函数,uboot正常运行

3.目前uboot打印最后一句log信息starting kernel…后,没有任何log输出,后参考论坛帖子,在make menuconfig中去掉了RTC相关宏,在设备树中也disabled了RTC配置,但是starting kernel…之后仍然无任何log,串口打印log如下:

4.通过md命令查看log buffer,发现kernel启动到“ omap_hwmod: debugss: _wait_target_disable failed”之后,就报“Unhandled fault: external abort on non-linefetch (0x1028) at 0xfa04a054”错误,内核挂死

5.对比米尔科技开发板正常启动log信息,下一行log应该是“[    0.168150] clocksource jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns”,对jiffies时钟的注册,通过打印调试信息,发现jiffies时钟源模块初始化函数init_jiffies_clocksource未执行,也就是说kernel还没到这一步就挂死了

6.目前还没有找到原因,不知道与uboot及kernel对RTC功能的disabled是否有关,也不知道为什么要关闭这些RTC配置,因为正常的米尔科技BSP没有关闭这些RTC配置,也能正常跑起来,这又是怎么回事呢?请各位TI大神鼎力相助,非常感谢

user5849257:

大家好,

我们目前新做了一块am335x开发板,目前基于米尔科技BSP包进行移植,目前Uboot可正常跑起来,在挂载kernel的时候,停在starting kernel…,暂不知道是什么原因,请各位帮忙支持,谢谢

yongqing wang:

你的板子也是参考米尔的板子吗? 

Shine:

请看一下是否是下面的原因。
processors.wiki.ti.com/…/Kernel_-_Common_Problems_Booting_Linux

user5849257:

回复 yongqing wang:

板子没有参考米尔科技。
1.目前DDR已经通过官方MLO校准过
2.uboot中关掉rtc32k_enable()函数,uboot才跑起来。
3.目前挂载starting kernel…的log如下:
U-Boot SPL 2016.05-g80fc3b6-dirty (Dec 27 2018 – 19:45:40)
Trying to boot from MMC1
reading u-boot.img
reading u-boot.img

U-Boot 2016.05-g80fc3b6-dirty (Dec 27 2018 – 19:45:40 +0800)
Watchdog enabled
I2C:ready
DRAM:1 GiB
MMC:OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env
Net:Could not get PHY for cpsw: addr 0
Could not get PHY for cpsw: addr 4
cpsw
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
** Bad device specification 0x82000000 uEnv **
switch to partitions #0, OK
mmc0 is current device
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
930 bytes read in 6 ms (151.4 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc …
Running uenvcmd …
reading //zImage
3370440 bytes read in 191 ms (16.8 MiB/s)
reading //mehow_am335x_emmc.dtb
33576 bytes read in 10 ms (3.2 MiB/s)
reading ramdisk.gz
20563698 bytes read in 1126 ms (17.4 MiB/s)
Booting from mmc0 …
bootargs=console=ttyO0,115200n8 loglevel=8 root=/dev/ram0 rw rootfstype=ext2
Kernel image @ 0x82000000 [ 0x000000 – 0x336dc8 ]
## Loading init Ramdisk from Legacy Image at 88080000 …Image Name:ramdiskCreated:2018-11-1512:27:17 UTCImage Type:ARM Linux RAMDisk Image (uncompressed)Data Size:20563634 Bytes = 19.6 MiBLoad Address: 88080000Entry Point:88080000Verifying Checksum … OK
## Flattened Device Tree blob at 88000000Booting using the fdt blob at 0x88000000Loading Ramdisk to 8ec63000, end 8ffff6b2 … OKLoading Device Tree to 8ec57000, end 8ec62327 … OK
Fixing up ETH0 & ETH1 to CPSW Ethernet
## Transferring control to Linux (at address 82000000)…

Starting kernel …

4.因pimux不一致,所以设备树有所修改,因没有使用电源管理芯片,所以设备树电源管理这块有修改,设备树配置如下:
/** Copyright (C) 2012 Texas Instruments Incorporated – http://www.ti.com/** This program is free software; you can redistribute it and/or modify* it under the terms of the GNU General Public License version 2 as* published by the Free Software Foundation.*/
/dts-v1/;

#include "am33xx.dtsi"
#include <dt-bindings/interrupt-controller/irq.h>

/ {model = "MYIR MYD C335x";compatible = "ti,myd_c335x", "ti,am33xx";
cpus {cpu@0 {/*cpu0-supply = <&vdd_core>;*/};};
memory {device_type = "memory";reg = <0x80000000 0x40000000>; /* 1 GB */};
gpio_keys: volume_keys@0 {compatible = "gpio-keys";#address-cells = <1>;#size-cells = <0>;autorepeat;
switch@9 {label = "volume-up";linux,code = <115>;gpios = <&gpio1 16 GPIO_ACTIVE_LOW>;gpio-key,wakeup;};
};
gpio-leds {compatible = "gpio-leds";pinctrl-names = "default";pinctrl-0 = <&leds_pins>;
D3 {label = "myc:green:user1";gpios = <&gpio1 21 GPIO_ACTIVE_LOW>;linux,default-trigger = "cpu0";default-state = "off";};
D39 {label = "myd:green:user2";gpios = <&gpio1 22 GPIO_ACTIVE_LOW>;default-state = "off";};};backlight {compatible = "pwm-backlight";pwms = <&ehrpwm1 0 50000 0>;brightness-levels = <0 51 53 56 62 75 101 152 255>;default-brightness-level = <8>;};
panel {compatible = "ti,tilcdc,panel";status = "okay";panel-info {ac-bias= <255>;ac-bias-intrpt= <0>;dma-burst-sz= <16>;bpp= <16>;fdd= <0x80>;sync-edge= <0>;sync-ctrl= <1>;raster-order= <0>;fifo-th= <0>;};
display-timings {800x480p62 {clock-frequency = <30000000>;hactive = <800>;vactive = <480>;hfront-porch = <39>;hback-porch = <39>;hsync-len = <47>;vback-porch = <29>;vfront-porch = <13>;vsync-len = <2>;hsync-active = <1>;vsync-active = <1>;};};};
};

&am33xx_pinmux {pinctrl-names = "default";pinctrl-0 = <&volume_keys_s0>;
volume_keys_s0: volume_keys_s0 {pinctrl-single,pins = <0x40 (PIN_INPUT_PULLUP | MUX_MODE7) /* (R13) gpmc_a0.gpio1[16] */>;};leds_pins: pinmux_leds_pins {pinctrl-single,pins = <0x54 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a5.gpio1_21 */0x58 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_a6.gpio1_22 */>;};
i2c0_pins: pinmux_i2c0_pins {pinctrl-single,pins = <0x188 (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_sda.i2c0_sda */0x18c (PIN_INPUT_PULLUP | MUX_MODE0) /* i2c0_scl.i2c0_scl */>;};
i2c1_pins_default: pinmux_i2c1_pins {pinctrl-single,pins = <0x180 (PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_rxd.i2c1_sda */0x184 (PIN_INPUT_PULLUP | MUX_MODE3) /* uart1_txd.i2c1_scl */>;};
i2c1_pins_sleep: i2c1_pins_sleep {pinctrl-single,pins = <0x180 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* uart1_rxd.i2c1_sda */0x184 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* uart1_txd.i2c1_scl */>;
};
uart0_pins: pinmux_uart0_pins {pinctrl-single,pins = <0x170 (PIN_INPUT_PULLUP | MUX_MODE0) /* uart0_rxd.uart0_rxd */0x174 (PIN_OUTPUT_PULLDOWN | MUX_MODE0) /* uart0_txd.uart0_txd */>;};
uart2_pins_default: pinmux_uart2_pins_default {pinctrl-single,pins = <0x150 ( PIN_INPUT | MUX_MODE1 ) /* (A17) spi0_sclk.uart2_rxd */0x154 ( PIN_OUTPUT | MUX_MODE1 ) /* (B17) spi0_d0.uart2_txd */>;};
uart2_pins_sleep: pinmux_uart2_pins_sleep {pinctrl-single,pins = <0x150 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x154 (PIN_INPUT_PULLDOWN | MUX_MODE7)>;};

ehrpwm1_pins_default: backlight_pins {pinctrl-single,pins = <0x48 0x6 /* (U14) gpmc_a2.ehrpwm1A */>;};
ehrpwm1_pins_sleep: ehrpwm1_pins_sleep {pinctrl-single,pins = <0x48(PIN_OUTPUT_PULLDOWN | MUX_MODE6) /* (U14) gpmc_a2.ehrpwm1A */>;};
cpsw_default: cpsw_default {pinctrl-single,pins = </* Slave 1 */0x114 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txen.rgmii1_tctl */0x118 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxdv.rgmii1_rctl */0x11c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd3.rgmii1_td3 */0x120 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd2.rgmii1_td2 */0x124 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd1.rgmii1_td1 */0x128 (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txd0.rgmii1_td0 */0x12c (PIN_OUTPUT_PULLDOWN | MUX_MODE2) /* mii1_txclk.rgmii1_tclk */0x130 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxclk.rgmii1_rclk */0x134 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd3.rgmii1_rd3 */0x138 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd2.rgmii1_rd2 */0x13c (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd1.rgmii1_rd1 */0x140 (PIN_INPUT_PULLDOWN | MUX_MODE2) /* mii1_rxd0.rgmii1_rd0 */>;};
cpsw_sleep: cpsw_sleep {pinctrl-single,pins = </* Slave 1 reset value */0x114 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x118 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x11c (PIN_INPUT_PULLDOWN | MUX_MODE7)0x120 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x124 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x128 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x12c (PIN_INPUT_PULLDOWN | MUX_MODE7)0x130 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x134 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x138 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x13c (PIN_INPUT_PULLDOWN | MUX_MODE7)0x140 (PIN_INPUT_PULLDOWN | MUX_MODE7)>;};
davinci_mdio_default: davinci_mdio_default {pinctrl-single,pins = </* MDIO */0x148 (PIN_INPUT_PULLUP | SLEWCTRL_FAST | MUX_MODE0) /* mdio_data.mdio_data */0x14c (PIN_OUTPUT_PULLUP | MUX_MODE0)/* mdio_clk.mdio_clk */>;};
davinci_mdio_sleep: davinci_mdio_sleep {pinctrl-single,pins = </* MDIO reset value */0x148 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x14c (PIN_INPUT_PULLDOWN | MUX_MODE7)>;};
mmc1_pins_default: pinmux_mmc1_pins {pinctrl-single,pins = <0x0F0 (PIN_INPUT_PULLUP | MUX_MODE0)/* mmc0_dat3.mmc0_dat3 */0x0F4 (PIN_INPUT_PULLUP | MUX_MODE0)/* mmc0_dat2.mmc0_dat2 */0x0F8 (PIN_INPUT_PULLUP | MUX_MODE0)/* mmc0_dat1.mmc0_dat1 */0x0FC (PIN_INPUT_PULLUP | MUX_MODE0)/* mmc0_dat0.mmc0_dat0 */0x100 (PIN_INPUT_PULLUP | MUX_MODE0)/* mmc0_clk.mmc0_clk */0x104 (PIN_INPUT_PULLUP | MUX_MODE0)/* mmc0_cmd.mmc0_cmd */0x160 (PIN_INPUT_PULLUP | MUX_MODE7)/* spi0_cs1.gpio0_6 */>;};
mmc1_pins_sleep: pinmux_mmc1_pins_sleep {pinctrl-single,pins = <0x0F0 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x0F4 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x0F8 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x0FC (PIN_INPUT_PULLDOWN | MUX_MODE7)0x100 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x104 (PIN_INPUT_PULLDOWN | MUX_MODE7)0x160 (PIN_INPUT_PULLDOWN | MUX_MODE7)>;};emmc_pins: pinmux_emmc {pinctrl-single,pins = <0x80 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn1.mmc1_clk */0x84 (PIN_INPUT_PULLUP | MUX_MODE2) /* gpmc_csn2.mmc1_cmd */0x00 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad0.mmc1_dat0 */0x04 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad1.mmc1_dat1 */0x08 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad2.mmc1_dat2 */0x0c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad3.mmc1_dat3 */0x10 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad4.mmc1_dat4 */0x14 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad5.mmc1_dat5 */0x18 (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad6.mmc1_dat6 */0x1c (PIN_INPUT_PULLUP | MUX_MODE1) /* gpmc_ad7.mmc1_dat7 *//* EMMC nReset */0x78 (PIN_OUTPUT_PULLUP | MUX_MODE7) /* gpmc_wpn.gpio1_28 */>;};lcd_pins_default: lcd_pins_default {pinctrl-single,pins = <
//0x20 (PIN_OUTPUT | MUX_MODE1)/* gpmc_ad8.lcd_data23 */
//0x24 (PIN_OUTPUT | MUX_MODE1)/* gpmc_ad9.lcd_data22 */
//0x28 (PIN_OUTPUT | MUX_MODE1)/* gpmc_ad10.lcd_data21 */
//0x2c (PIN_OUTPUT | MUX_MODE1)/* gpmc_ad11.lcd_data20 */
//0x30 (PIN_OUTPUT | MUX_MODE1)/* gpmc_ad12.lcd_data19 */
//0x34 (PIN_OUTPUT | MUX_MODE1)/* gpmc_ad13.lcd_data18 */
//0x38 (PIN_OUTPUT | MUX_MODE1)/* gpmc_ad14.lcd_data17 */
//0x3c (PIN_OUTPUT | MUX_MODE1)/* gpmc_ad15.lcd_data16 */0xa0 (PIN_OUTPUT | MUX_MODE0)/* lcd_data0.lcd_data0 */0xa4 (PIN_OUTPUT | MUX_MODE0)/* lcd_data1.lcd_data1 */0xa8 (PIN_OUTPUT | MUX_MODE0)/* lcd_data2.lcd_data2 */0xac (PIN_OUTPUT | MUX_MODE0)/* lcd_data3.lcd_data3 */0xb0 (PIN_OUTPUT | MUX_MODE0)/* lcd_data4.lcd_data4 */0xb4 (PIN_OUTPUT | MUX_MODE0)/* lcd_data5.lcd_data5 */0xb8 (PIN_OUTPUT | MUX_MODE0)/* lcd_data6.lcd_data6 */0xbc (PIN_OUTPUT | MUX_MODE0)/* lcd_data7.lcd_data7 */0xc0 (PIN_OUTPUT | MUX_MODE0)/* lcd_data8.lcd_data8 */0xc4 (PIN_OUTPUT | MUX_MODE0)/* lcd_data9.lcd_data9 */0xc8 (PIN_OUTPUT | MUX_MODE0)/* lcd_data10.lcd_data10 */0xcc (PIN_OUTPUT | MUX_MODE0)/* lcd_data11.lcd_data11 */0xd0 (PIN_OUTPUT | MUX_MODE0)/* lcd_data12.lcd_data12 */0xd4 (PIN_OUTPUT | MUX_MODE0)/* lcd_data13.lcd_data13 */0xd8 (PIN_OUTPUT | MUX_MODE0)/* lcd_data14.lcd_data14 */0xdc (PIN_OUTPUT | MUX_MODE0)/* lcd_data15.lcd_data15 */0xe0 (PIN_OUTPUT | MUX_MODE0)/* lcd_vsync.lcd_vsync */0xe4 (PIN_OUTPUT | MUX_MODE0)/* lcd_hsync.lcd_hsync */0xe8 (PIN_OUTPUT | MUX_MODE0)/* lcd_pclk.lcd_pclk */0xec (PIN_OUTPUT | MUX_MODE0)/* lcd_ac_bias_en.lcd_ac_bias_en */>;};
lcd_pins_sleep: lcd_pins_sleep {pinctrl-single,pins = <
//0x20 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad8.lcd_data16 */
//0x24 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad9.lcd_data17 */
//0x28 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad10.lcd_data18 */
//0x2c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad11.lcd_data19 */
//0x30 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad12.lcd_data20 */
//0x34 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad13.lcd_data21 */
//0x38 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad14.lcd_data22 */
//0x3c (PIN_INPUT_PULLDOWN | MUX_MODE7) /* gpmc_ad15.lcd_data23 */0xa0 (PULL_DISABLE | MUX_MODE7)/* lcd_data0.lcd_data0 */0xa4 (PULL_DISABLE | MUX_MODE7)/* lcd_data1.lcd_data1 */0xa8 (PULL_DISABLE | MUX_MODE7)/* lcd_data2.lcd_data2 */0xac (PULL_DISABLE | MUX_MODE7)/* lcd_data3.lcd_data3 */0xb0 (PULL_DISABLE | MUX_MODE7)/* lcd_data4.lcd_data4 */0xb4 (PULL_DISABLE | MUX_MODE7)/* lcd_data5.lcd_data5 */0xb8 (PULL_DISABLE | MUX_MODE7)/* lcd_data6.lcd_data6 */0xbc (PULL_DISABLE | MUX_MODE7)/* lcd_data7.lcd_data7 */0xc0 (PULL_DISABLE | MUX_MODE7)/* lcd_data8.lcd_data8 */0xc4 (PULL_DISABLE | MUX_MODE7)/* lcd_data9.lcd_data9 */0xc8 (PULL_DISABLE | MUX_MODE7)/* lcd_data10.lcd_data10 */0xcc (PULL_DISABLE | MUX_MODE7)/* lcd_data11.lcd_data11 */0xd0 (PULL_DISABLE | MUX_MODE7)/* lcd_data12.lcd_data12 */0xd4 (PULL_DISABLE | MUX_MODE7)/* lcd_data13.lcd_data13 */0xd8 (PULL_DISABLE | MUX_MODE7)/* lcd_data14.lcd_data14 */0xdc (PULL_DISABLE | MUX_MODE7)/* lcd_data15.lcd_data15 */0xe0 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_vsync.lcd_vsync, OUTPUT | MODE0 */0xe4 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_hsync.lcd_hsync */0xe8 (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_pclk.lcd_pclk */0xec (PIN_INPUT_PULLDOWN | MUX_MODE7) /* lcd_ac_bias_en.lcd_ac_bias_en */>;};
};

&uart0 {pinctrl-names = "default";pinctrl-0 = <&uart0_pins>;
status = "okay";
};

&uart2 {pinctrl-names = "default", "sleep";pinctrl-0 = <&uart2_pins_default>;pinctrl-1 = <&uart2_pins_sleep>;status = "okay";
};

&i2c0 {pinctrl-names = "default";pinctrl-0 = <&i2c0_pins>;
status = "okay";clock-frequency = <400000>;
tps: tps@2d {reg = <0x24>;};
};

&usb {status = "okay";
};

&usb_ctrl_mod {status = "okay";
};

&usb0_phy {status = "okay";
};

&usb1_phy {status = "okay";
};

&usb0 {status = "okay";
};

&usb1 {status = "okay";dr_mode = "host";
};

&cppi41dma{status = "okay";
};

&i2c1 {pinctrl-names = "default", "sleep";pinctrl-0 = <&i2c1_pins_default>;pinctrl-1 = <&i2c1_pins_sleep>;
status = "okay";clock-frequency = <100000>;
};

&lcdc {status = "okay";pinctrl-names = "default", "sleep";pinctrl-0 = <&lcd_pins_default>;pinctrl-1 = <&lcd_pins_sleep>;
};

&elm {status = "okay";
};

&epwmss1 {status = "okay";
ehrpwm1: ehrpwm@48302200 {status = "okay";pinctrl-names = "default", "sleep";pinctrl-0 = <&ehrpwm1_pins_default>;pinctrl-1 = <&ehrpwm1_pins_sleep>;};
};

&mac {slaves = <2>;pinctrl-names = "default", "sleep";pinctrl-0 = <&cpsw_default>;pinctrl-1 = <&cpsw_sleep>;dual_emac = <1>;
// active_slave = <1>;status = "okay";
};

&davinci_mdio {pinctrl-names = "default", "sleep";pinctrl-0 = <&davinci_mdio_default>;pinctrl-1 = <&davinci_mdio_sleep>;status = "okay";
};

&cpsw_emac0 {phy_id = <&davinci_mdio>, <4>;phy-mode = "rgmii-txid";
// dual_emac_res_vlan=<0>;
};

&cpsw_emac1 {phy_id = <&davinci_mdio>, <6>;phy-mode = "rgmii-txid";
// dual_emac_res_vlan=<1>;
};

&tscadc {status = "okay";tsc {ti,wires = <4>;ti,x-plate-resistance = <200>;ti,coordinate-readouts = <5>;ti,wire-config = <0x00 0x11 0x22 0x33>;ti,charge-delay = <0x400>;};
adc {ti,adc-channels = <4 5 6 7>;};
};

&mmc1 {status = "okay";bus-width = <4>;pinctrl-names = "default", "sleep";pinctrl-0 = <&mmc1_pins_default>;pinctrl-1 = <&mmc1_pins_sleep>;cd-gpios = <&gpio0 6 GPIO_ACTIVE_HIGH>;
};

&mmc2 {/* eMMC (not populated) on MMC #2 */status = "okay";pinctrl-names = "default";pinctrl-0 = <&emmc_pins>;bus-width = <8>;ti,non-removable;
};

&sham {status = "okay";
};

&aes {status = "okay";
};

&wkup_m3_ipc {ti,scale-data-fw = "am335x-evm-scale-data.bin";
};

&sgx {status = "disabled";
};

user5849257:

回复 user5849257:

另外,通过make menuconfig关掉了RTC模块,设备树中也disable了RTC模块

user5849257:

回复 user5849257:

我目前通过md命令查看__log_buf,里面的值全为a

user5849257:

log如下:
U-Boot 2016.05-g80fc3b6-dirty (Dec 27 2018 – 19:45:40 +0800)

Watchdog enabled
I2C: ready
DRAM: 1 GiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env
Net: Could not get PHY for cpsw: addr 0
Could not get PHY for cpsw: addr 4
cpsw
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
** Bad device specification 0x82000000 uEnv **
switch to partitions #0, OK
mmc0 is current device
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
switch to partitions #0, OK
mmc0 is current device
SD/MMC found on device 0
reading boot.scr
** Unable to read file boot.scr **
reading uEnv.txt
930 bytes read in 6 ms (151.4 KiB/s)
Loaded env from uEnv.txt
Importing environment from mmc …
Running uenvcmd …
reading //zImage
3370440 bytes read in 191 ms (16.8 MiB/s)
reading //mehow_am335x_emmc.dtb
33576 bytes read in 10 ms (3.2 MiB/s)
reading ramdisk.gz
20563698 bytes read in 1126 ms (17.4 MiB/s)
Booting from mmc0 …
bootargs=console=ttyO0,115200n8 loglevel=8 root=/dev/ram0 rw rootfstype=ext2
Kernel image @ 0x82000000 [ 0x000000 – 0x336dc8 ]
## Loading init Ramdisk from Legacy Image at 88080000 …
Image Name: ramdisk
Created: 2018-11-15 12:27:17 UTC
Image Type: ARM Linux RAMDisk Image (uncompressed)
Data Size: 20563634 Bytes = 19.6 MiB
Load Address: 88080000
Entry Point: 88080000
Verifying Checksum … OK
## Flattened Device Tree blob at 88000000
Booting using the fdt blob at 0x88000000
Loading Ramdisk to 8ec63000, end 8ffff6b2 … OK
Loading Device Tree to 8ec57000, end 8ec62327 … OK
Fixing up ETH0 & ETH1 to CPSW Ethernet
## Transferring control to Linux (at address 82000000)…

Starting kernel …

user5849257:

回复 user5849257:

各位,我又重新提交了这个问题,请大家前往这个链接:e2echina.ti.com/…/496045

yongqing wang:

我觉得应该boot还是有问题,造成无法成功启动系统

yongqing wang:

回复 yongqing wang:

你参考一下这个方法看看:e2echina.ti.com/…/86544

赞(0)
未经允许不得转载:TI中文支持网 » am335x linux内核挂在starting kernel…
分享到: 更多 (0)