OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 859|回复: 7

imx6ull通过boot命令启动卡死在Starting kernel ...

[复制链接]

1

主题

7

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2023-9-24
在线时间
3 小时
发表于 2023-10-17 00:26:43 | 显示全部楼层 |阅读模式
1金钱
配置bootcmd与bootargs后通过boot命令启动显示Starting kernel ...卡死
内核与设备树在mmc或nfs中均不行

但是通过uboot的倒计时结束能够正常启动进入Linux
  1. U-Boot 2016.03 (Oct 16 2023 - 23:48:30 +0800)

  2. CPU:   Freescale i.MX6ULL rev1.1 69 MHz (running at 396 MHz)
  3. CPU:   Industrial temperature grade (-40C to 105C) at 48C
  4. Reset cause: POR
  5. Board MX6ULL ALIENTEK ALPHA EMMC
  6. I2C:   ready
  7. DRAM:  512 MiB
  8. MMC:   FSL_SDHC: 0, FSL_SDHC: 1
  9. Display: TFT7016 (1024x600)
  10. Video: 1024x600x24
  11. In:    serial
  12. Out:   serial
  13. Err:   serial
  14. switch to partitions #0, OK
  15. mmc0 is current device
  16. Net:   FEC1
  17. Normal Boot
  18. Hit any key to stop autoboot:  0
  19. Using FEC1 device
  20. TFTP from server 192.168.3.165; our IP address is 192.168.3.166
  21. Filename './nfs/imx6ull_alientek_zImage'.
  22. Load address: 0x80800000
  23. Loading: #################################################################
  24.          #################################################################
  25.          #################################################################
  26.          #################################################################
  27.          #################################################################
  28.          ####################################################
  29.          1.4 MiB/s
  30. done
  31. Bytes transferred = 5533608 (546fa8 hex)
  32. Using FEC1 device
  33. TFTP from server 192.168.3.165; our IP address is 192.168.3.166
  34. Filename './nfs/imx6ull-alientek-emmc.dtb'.
  35. Load address: 0x83000000
  36. Loading: ###
  37.          458 KiB/s
  38. done
  39. Bytes transferred = 37590 (92d6 hex)
  40. Kernel image [url=home.php?mod=space&uid=95564]@[/url] 0x80800000 [ 0x000000 - 0x546fa8 ]
  41. ## Flattened Device Tree blob at 83000000
  42.    Booting using the fdt blob at 0x83000000
  43.    Using Device Tree in place at 83000000, end 8300c2d5

  44. Starting kernel ...

  45. Booting Linux on physical CPU 0x0
  46. Linux version 4.1.15 (sentaku@ubuntu) (gcc version 7.5.0 (Linaro GCC 7.5-2019.12) ) #1 SMP PREEMPT Sun Sep 24 22:28:57 CST 2023
  47. CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
  48. CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
  49. Machine model: Freescale i.MX6 ULL 14x14 EVK Board
  50. Reserved memory: created CMA memory pool at 0x8c000000, size 320 MiB
  51. Reserved memory: initialized node linux,cma, compatible id shared-dma-pool
  52. Memory policy: Data cache writealloc
  53. PERCPU: Embedded 12 pages/cpu @8bb31000 s16716 r8192 d24244 u49152
  54. Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
  55. Kernel command line: console=tty1 console=ttymxc0,115200 root=/dev/nfs nfsroot=192.168.3.165:/home/sentaku/Desktop/IMX6ULL/nfs/rootfs,proto=tcp rw ip=192.168.3.166:192.168.3.165:192.168.3.1:255.255.255.0::eth0:off
复制代码


最佳答案

查看完整内容[请看2#楼]

> 修改arch/arm/lib/cache-cp15.c的dcache_disable函数 > 在下面的代码中增加刷新缓冲区代码 ```C void dcache_disable(void) { cache_disable(CR_C); } ``` 修改为 ```C void dcache_disable(void) { cache_disable(CR_C); printf("\n"); } ``` > 再次并不确定为什么需要将缓冲区进行刷新操作,前面的代码中并没有字符输出操作 > 不过也可能是哪儿占用了堆栈,需要进行刷新 > 并且在之前测试的过 ...
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2023-9-24
在线时间
3 小时
 楼主| 发表于 2023-10-17 00:26:44 | 显示全部楼层
> 修改arch/arm/lib/cache-cp15.c的dcache_disable函数
> 在下面的代码中增加刷新缓冲区代码
```C
void dcache_disable(void)
{
    cache_disable(CR_C);
}
```
修改为
```C
void dcache_disable(void)
{
    cache_disable(CR_C);
    printf("\n");
}
```
> 再次并不确定为什么需要将缓冲区进行刷新操作,前面的代码中并没有字符输出操作
> 不过也可能是哪儿占用了堆栈,需要进行刷新
> 并且在之前测试的过程中经常回发生“data abort”等错误刚好也是和MMU寄存器相关
回复

使用道具 举报

2

主题

416

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3538
金钱
3538
注册时间
2018-5-14
在线时间
797 小时
发表于 2023-10-17 10:41:44 | 显示全部楼层
终端显示到屏幕上面了,串口不再响应和打印。需要接键盘看着屏幕操作。 console指定的设备不对
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2023-9-24
在线时间
3 小时
 楼主| 发表于 2023-11-1 17:43:48 | 显示全部楼层
姚先起 发表于 2023-10-17 10:41
终端显示到屏幕上面了,串口不再响应和打印。需要接键盘看着屏幕操作。 console指定的设备不对

console指定的都是跟着教程设置的,和教程的一样,而且有极少数的时候能够boot命令启动;其他时候只有等倒计时结束过后才能后正常的启动linux内核
回复

使用道具 举报

2

主题

416

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
3538
金钱
3538
注册时间
2018-5-14
在线时间
797 小时
发表于 2023-11-2 12:58:43 | 显示全部楼层
Sentaku 发表于 2023-11-1 17:43
console指定的都是跟着教程设置的,和教程的一样,而且有极少数的时候能够boot命令启动;其他时候只有等 ...

console=tty1不就是屏幕吗
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2023-9-24
在线时间
3 小时
 楼主| 发表于 2023-11-2 17:33:10 | 显示全部楼层
姚先起 发表于 2023-11-2 12:58
console=tty1不就是屏幕吗

用的这个console=ttymxc0
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2023-9-24
在线时间
3 小时
 楼主| 发表于 2023-11-2 21:16:56 | 显示全部楼层
> 修改arch/arm/lib/cache-cp15.c的dcache_disable函数
> 在下面的代码中增加刷新缓冲区代码
```C
void dcache_disable(void)
{
    cache_disable(CR_C);
}
```
修改为
```C
void dcache_disable(void)
{
    cache_disable(CR_C);
    printf("\n");
}
```
> 再次并不确定为什么需要将缓冲区进行刷新操作,前面的代码中并没有字符输出操作
> 不过也可能是哪儿占用了堆栈,需要进行刷新
> 并且在之前测试的过程中经常回发生“data abort”等错误刚好也是和MMU寄存器相关
回复

使用道具 举报

1

主题

7

帖子

0

精华

新手上路

积分
20
金钱
20
注册时间
2023-9-24
在线时间
3 小时
 楼主| 发表于 2023-11-2 21:27:11 | 显示全部楼层
Sentaku 发表于 2023-11-2 17:33
用的这个console=ttymxc0

> 修改arch/arm/lib/cache-cp15.c的dcache_disable函数
> 在下面的代码中增加刷新缓冲区代码
```C
void dcache_disable(void)
{
    cache_disable(CR_C);
}
```
修改为
```C
void dcache_disable(void)
{
    cache_disable(CR_C);
    printf("\n");
}
```
> 再次并不确定为什么需要将缓冲区进行刷新操作,前面的代码中并没有字符输出操作
> 不过也可能是哪儿占用了堆栈,需要进行刷新
> 并且在之前测试的过程中经常回发生“data abort”等错误刚好也是和MMU寄存器相关
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2024-5-29 13:51

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表