iTOP4412内核烧写不断重启问题
程序员文章站
2024-03-08 10:28:04
...
在学习ITOP4412开发板驱动教程第6章时,要添加hello_ctl设备驱动到内核,对源码配置之后,重新编译内核并烧写到开发板中,开发板会出现不断重启的现象,超级终端打印信息如下:
OK
U-Boot 2010.03 (Mar 19 2018 - 23:52:03) for iTOP-4412 Android
APLL = 1000MHz, MPLL = 800MHz
ARM_CLOCK = 1000MHz
PMIC: S5M8767(VER5.0)
Board: iTOP-4412
DRAM: 1 GB
MMC: max_emmc_clock:40 MHZ
Set CLK to 400 KHz
EMMC CLOCK OUTPUT:: 400KHz -[div:50]
response timeout error : 00000104 cmd 8
response timeout error : 00000104 cmd 55
max_emmc_clock:40 MHZ
Input CLK [ 50 MHz] is higher than limit [40 MHZ]
Set CLK to 40000 KHz
EMMC clock output: 40000 KHz
max_emmc_clock:40 MHZ
Input CLK [ 50 MHz] is higher than limit [40 MHZ]
Set CLK to 40000 KHz
EMMC clock output: 40000 KHz
MMC0: 7456 MB
SD sclk_mmc is 400K HZ
raise: Signal # 8 caught
raise: Signal # 8 caught
MMC1: 0 MB
0 MB
*** Warning - using default environment
In: serial
Out: serial
Err: serial
eMMC OPEN Success.!!
!!!Notice!!!
!You must close eMMC boot Partition after all image writing!
!eMMC boot partition has continuity at image writing time.!
!So, Do not close boot partition, Before, all images is written.!
MMC read: dev # 0, block # 48, count 16 ...16 blocks read: OK
eMMC CLOSE Success.!!
Checking Boot Mode ... EMMC4.41
SYSTEM ENTER NORMAL BOOT MODE
Hit any key to stop autoboot: 0
reading kernel.. 1120, 12288
MMC read: dev # 0, block # 1120, count 12288 ...12288 blocks read: OK
completed
reading RFS.. 13408, 2048
MMC read: dev # 0, block # 13408, count 2048 ...2048 blocks read: OK
completed
Boot with zImage
Wrong Ramdisk Image Format
[err] boot_get_ramdisk
Starting kernel ...
分析:ramdisk-uboot.img和system.img文件都是迅为已经提供好的文件,问题应该是出在zImage文件上。
解决办法:执行make menuconfig后,会生成一个.config文件,如果直接编译,则会生成错误zImage,需要用config_for_linux_scp_elite(精英板)进行替换:执行
cp config_for_linux_scp_elite .config,然后再进行编译,烧写。
烧录完之后,执行ls /sys/devices/platform/,可以查看到新注册的 hello 设备
Please press Enter to activate this console.
[[email protected]]#
[[email protected]]#
[[email protected]]#
[[email protected]]# ls /sys/devices/platform/
adc_ctl s3c-pl330.1 s5pv210-uart.3
alarm s3c-pl330.2 samsung-audio
android_pmem.0 s3c-sdhci.2 samsung-audio-idma
android_pmem.1 s3c-sdhci.3 samsung-i2s.0
arm-pmu.0 s3c-usbgadget samsung-i2s.4
bt-sysfs s3c2410-wdt samsung-keypad
buzzer_ctl s3c2440-i2c.1 samsung-kmsg
dw_mmc s3c2440-i2c.3 samsung-pd.0
exynos-busfreq s3c2440-i2c.4 samsung-pd.1
exynos-usb-switch s3c2440-i2c.5 samsung-pd.2
exynos4412-adc s3c2440-i2c.7 samsung-pd.5
gpio-keys s3c24xx-pwm.1 samsung-pd.6
hello_ctl s3c64xx-rtc samsung-pd.7
i2c-gpio.0 s3c64xx-spi.2 samsung-rp
ion-exynos s5p-ehci serial8250
leds s5p-fimg2d si_gps
max485_ctl s5p-pmic snd-soc-dummy
mt3326-gps s5p-sysmmu.15 soc-audio
power s5p-tvout-cec switch-gpio.0
power.0 s5p-tvout-hpd tc4-regulator-consumer
reg-dummy s5pv210-uart.0 uevent
regulatory.0 s5pv210-uart.1 wlan_ar6000_pm_dev.1
relay_ctl s5pv210-uart.2
上一篇: Java动态代理分析及简单实例
推荐阅读