S5PV210(tiny210) linux-3.0.8 卡在 Starting kernel ...(UART设置均正常)

在S5PV210(tiny210)设备上,Linux-3.0.8内核启动时遇到'Starting kernel ...'卡住的问题。尽管UART配置正确,但问题出在未初始化fifo_mask和fifo_max,导致在putc函数的while循环中停滞。解决方案是在'uncompress.h'文件中添加对fifo_mask和fifo_max的赋值。完成这些修改后,内核成功解压并启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Starting kernel ...

排除串口号设置等问题后;发现还是没有打印信息

uart发送使用了fifo的方法,因fifo_mask、fifo_max没被赋值,导致死在了一个while循环里面

(arch/arm/mach-s5pv210/include/mach/uncompress.h       static void putc(int ch))

解决办法:

arch/arm/mach-s5pv210/include/mach/uncompress.h   

static void arch_detect_cpu(void)
{
    /* we do not need to do any cpu detection here at the moment. */
    fifo_mask = S5PV210_UFSTAT_TXMASK;
    fifo_max = 255 << S5PV210_UFSTAT_TXSHIFT; 

}


## Booting kernel from Legacy Image at 20007fc0 ...
   Image Name:   Linux-3.0.8-gaa35df4-dirty
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    1849084 Bytes = 1.8 MiB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   XIP Kernel Image ... OK


Starting kernel ...


Uncompressing Linux... done, booting the kernel.
s3c24xx_serial_initconsole
s3c24xx_serial_init_ports: initialising ports...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值