移植Linux-2.6.22 到S3C2440的开发板上可以通过printk输出了

前两天在移植Linux的过程中,当程序运行到init/main.c中的start_kernel()时,调用printk,死活不能通过串口输出,且有输出时,是乱码, 如下:

通过修改mach-smdk2440.c中的函数smdk2440_map_io(),将 

         s3c24xx_init_clocks(16934400)修改

         s3c24xx_init_clocks(12000000).终于能够有输出了:
    ....
         done, booting the kernel.
 in  start_kernel
 Linux version 2.6.22.5 (
root@localhost.localdomain) (gcc version 3.4.5) #69 PRE7CPU:   ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
 Machine: SMDK2440
 Memory policy: ECC disabled, Data cache writeback
 CPU S3C2440A (id 0x32440001)
 S3C244X: core 400.000 MHz, memory 100.000 MHz, peripheral 50.000 MHz
 S3C24XX Clocks, (c) 2004 Simtec Electronics
 CLOCK: Slow mode (1.500 MHz), fast, MPLL on, UPLL on
 CPU0: D VIVT write-back cache

....

这是因为根据原理图,

晶振的频率是12MHz, 这是需要修改s3c24xx_init_clocks(12000000)的缘故。

虽然有输出了,但是离移植(并且是板级移植,呵呵)完成还有好一段路。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值