您尚未登录。

楼主 #1 2019-05-04 08:29:21

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9197

解决 V3s / F1C100s Linux 显示 starting kernel ... 就没有然后的问题 (earlyprintk)

链接1: https://whycan.cn/t_1725.html
链接2: https://whycan.cn/t_728.html


解决 V3s Linux 显示 starting kernel ...  就没有然后的问题



Kernel hacking  --->

[ *] Kernel debugging

[ *] Kernel low-level debugging functions (read help!)                                               
                      Kernel low-level debugging port (Kernel low-level debugging messages via sunXi UART0)  --->   
                         (0x01c28000) Physical base address of debug UART                                                   
                         (0xf1c28000) Virtual base address of debug UART





离线

楼主 #2 2019-05-04 08:32:11

晕哥
管理员
注册时间: 2017-09-06
已发帖子: 9,191
积分: 9197

Re: 解决 V3s / F1C100s Linux 显示 starting kernel ... 就没有然后的问题 (earlyprintk)

QQ20190504083059.png

QQ20190504082758.png





离线

#3 2019-05-13 15:17:34

Jmhh247
会员
注册时间: 2018-12-21
已发帖子: 262
积分: 262

Re: 解决 V3s / F1C100s Linux 显示 starting kernel ... 就没有然后的问题 (earlyprintk)

占位,学习

离线

#4 2019-05-13 17:12:03

还能这么玩
会员
注册时间: 2019-04-14
已发帖子: 119
积分: 119

Re: 解决 V3s / F1C100s Linux 显示 starting kernel ... 就没有然后的问题 (earlyprintk)

2019-05-13_170940.png


2019-05-13_170716.png

CONFIG_DEBUG_UART_PHYS=0x01c25000
CONFIG_DEBUG_UART_VIRT=0xf1c25000

改成:

CONFIG_DEBUG_UART_PHYS=0x01c28000
CONFIG_DEBUG_UART_VIRT=0xf1c28000

握草, 终于搞定f1c100s 这个恼人的 earlyprintk 了,

只是基地址与 V3s 有点不同而已,

其他一模一样

离线

#5 2022-01-27 14:10:55

CHSHIQING
会员
注册时间: 2020-11-27
已发帖子: 38
积分: 3

Re: 解决 V3s / F1C100s Linux 显示 starting kernel ... 就没有然后的问题 (earlyprintk)

请问下大佬,earlyprintk打开怎么定位内核启动卡在starting kernel...这里,偶尔会启动不了,但是按钮重启后又能起来

离线

#6 2022-02-11 13:50:35

dnkrs
会员
注册时间: 2021-03-15
已发帖子: 10
积分: 39.5

Re: 解决 V3s / F1C100s Linux 显示 starting kernel ... 就没有然后的问题 (earlyprintk)

补充一下,我自己遇到的情况,我的板子也出现这个问题,刚买荔枝派nano的时候运行也出现这个问题,我用官网的镜像和其他镜像都一样,当时没有注意,只是把日志发给了客服,他们说正常没毛病,我就没有在意,一直都以为是我手里的镜像问题,由于一直无果,所以就放弃了,研究别的去了,直到前段时间,我又得到一块板子,随便一试竟然能进系统。随后我又从朋友那找来了另一个厂家的板子,一样都能进入系统。真坑啊!就这事我又联想到之前买的荔枝派zero板子能进系统,但i2s始终不好用,但我的i2s是被在其他单片机上都正常使用,看来我要买个别家的板子再试试,看看到底是不是板子问题。

最近编辑记录 dnkrs (2022-02-11 13:51:07)

离线

#7 2022-03-06 07:27:04

simakeng
会员
注册时间: 2020-03-26
已发帖子: 2
积分: 2

Re: 解决 V3s / F1C100s Linux 显示 starting kernel ... 就没有然后的问题 (earlyprintk)

这个坑踩了两天
来这里回复记录一下:
如果你是F1C100s,这里的地址配置应该是

(0x01c25000) Physical base address of debug UART
(0xf1c25000) Virtual base address of debug UART

如果不输出内核解压的信息,看看这个选项有没有开

 [*] Enable decompressor debugging via DEBUG_LL output

如果你的设备不是F1C100s,最好参考手册确定寄存器基地址

F1C100s的UART寄存器与8250是一样的,所以基本都不用改可以直接用,但不排除你的芯片有改动,所以最好一切以手册为准

贴一下我的配置

[ ] Export kernel pagetable layout to userspace via debugfs                                         
[ ] Warn on W+X mappings at boot                                                                    
    Choose kernel unwinder (Frame pointer unwinder)  --->                                           
[ ] Verbose user fault messages                                                                     
[*] Kernel low-level debugging functions (read help!)                                               
      Kernel low-level debugging port (Kernel low-level debugging messages via sunXi UART0)  --->   
[ ] Enable flow control (CTS) for the debug UART                                                    
(0x01c25000) Physical base address of debug UART                                                    
(0xf1c25000) Virtual base address of debug UART                                                     
(2) Register offset shift for the 8250 debug UART                                                   
[ ]   Use 32-bit accesses for 8250 UART                                                             
[ ] 8250 UART is Palmchip BK-310x                                                                   
[*] Enable decompressor debugging via DEBUG_LL output                                               
[*] Early printk                                                                                    
< > CoreSight Tracing Support  ----                  

我这里安装上面说的把地址配置成了0x01c28000,但是没有成功进系统,卡在了Starting kernel ... 结合汇编排查应该是putc函数尝试向0x01c28000写入数据但是这里并不是UART0的寄存器,导致内部硬件出错程序跑飞了,改成0x01c25000现在正常了.....

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn