天嵌 ARM开发社区

 找回密码
 注册
查看: 9265|回复: 6

E9 用TF卡单独烧写内核,串口打印此信息如下,求分析

[复制链接]
勤奋的小青蛙 发表于 2014-5-15 12:28:28 | 显示全部楼层 |阅读模式
本帖最后由 勤奋的小青蛙 于 2014-5-15 12:41 编辑

我修改了内核,用来支持外接的触摸屏。重新编译以后,准备烧到板子上,用的方法是:手册
天嵌科技出品-E9用户手册_20140225.pdf 第76页的方式。制作启动卡------放入文件-------修改EmbedSky.ini  ,之后启动板子。


EmbedSky.ini 内容如下:

#### This is E9 SD config files ####
operating condition=install
OS Type=ubuntu
LED indicator=off
Beep=off
extern_indication=partition

#### Others ####
bootloader=
LOGO=
#### Others end ####

#### Linux ####
kernel=
rootfs=
#### Linux end ####

#### Windows CE ####
NK=
#### Windows CE end ####

#### Android ####
boot_img=
system_img=
recovery_img=
#### Android end ####

#### Ubuntu ####
kernel=images/ubuntu/uImage
rootfs=
#### Ubuntu end ####

#### uCOS-II ####
uCOS-II Image=
#### uCOS-II end ####

#### User Application ####
Application Image=
#### User Application end #####

修改好之后,将TF卡插到开发板的TF接口内。然后将 J8的跳线帽只接 1 和 7,上电启动。
下面是启动过程串口输出的信息:

U-Boot 2009.08-dirty (Oct 28 2013 - 14:37:18)

CPU: Freescale i.MX6 family TO1.2 at 792 MHz
Thermal sensor with ratio = 171
Temperature:   36 C, calibration data 0x53e4b369
mx6q pll1: 792MHz
mx6q pll2: 528MHz
mx6q pll3: 480MHz
mx6q pll8: 50MHz
ipg clock     : 66000000Hz
ipg per clock : 66000000Hz
uart clock    : 80000000Hz
usdhc4 clock  : 198000000Hz
nfc clock     : 24000000Hz
Board: i.MX6Q-SABRESD: unknown-board Board: 0x63012 [POR ]
Boot Device: SD
I2C:   ready
DRAM:   2 GB
MMC:   board_mmc_init call

FSL_USDHC: 0,FSL_USDHC: 1,FSL_USDHC: 2,FSL_USDHC: 3
*** Warning - bad CRC or MMC, using default environment

In:    serial
Out:   serial
Err:   serial
Net:   got MAC address from IIM: 00:00:00:00:00:00
FEC0 [PRIME]
Hit any key to stop autoboot:  0
kernel   @ 10808000 (5049716)
ramdisk  @ 11800000 (2829172)
kernel cmdline:
        use boot.img command line:
        console=ttymxc0,115200 init=/init video=mxcfb0:dev=lcd,if=RGB24,bpp=32 video=mxcfb1:off video=mxcfb2:off fbmem=28M vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Initializing cgroup subsys cpu
Linux version 3.0.35 (qingleqq@z) (gcc version 4.6.x-google 20120106 (prerelease) (GCC) ) #1 SMP PREEMPT Mon Oct 28 13:53:01 HKT 2013
CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c53c7d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Freescale i.MX 6Quad/DualLite/Solo Sabre-SD Board
Ignoring unrecognised tag 0x54410008
Memory policy: ECC disabled, Data cache writealloc
CPU identified as i.MX6Q, silicon rev 1.2
PERCPU: Embedded 7 pages/cpu @c2ac0000 s6944 r8192 d13536 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 463616
Kernel command line: console=ttymxc0,115200 init=/init video=mxcfb0:dev=lcd,if=RGB24,bpp=32 video=mxcfb1:off video=mxcfb2:off fbmem=28M vmalloc=400M androidboot.console=ttymxc0 androidboot.hardware=freescale
PID hash table entries: 2048 (order: 1, 8192 bytes)
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
Memory: 767MB 820MB 240MB = 1827MB total
Memory: 1839360k/1839360k available, 257792k reserved, 1461248K highmem
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xfff00000 - 0xfffe0000   ( 896 kB)
    DMA     : 0xfbe00000 - 0xffe00000   (  64 MB)
      .data : 0xc096e000 - 0xc09f21d8   ( 529 kB)
       .bss : 0xc09f21fc - 0xc0b7c5a8   (1577 kB)
Preemptible hierarchical RCU implementation.
NR_IRQS:624
MXC GPIO hardware
sched_clock: 32 bits at 3000kHz, resolution 333ns, wraps every 1431655ms
arm_max_freq=1GHz
MXC_Early serial console at MMIO 0x2020000 (options '115200')
bootconsole [ttymxc0] enabled
Calibrating delay loop... 1581.05 BogoMIPS (lpj=7905280)
Freeing init memory: 236K
mount: mounting none on /proc/bus/usb failed: No such file or directory
FAT-fs (mmcblk1p2): utf8 is not a recommended IO charset for FAT filesystems, filesystem will be case sensitive!

mount: mounting /dev/mmcblk1p2 on /sddisk failed: Invalid argument
/etc/init.d/rcS: line 27: EmbedSky_wdg: not found
Try to bring net interface up ...
sh: 1: unknown operand
/etc/rc.d/init.d/httpd: line 16: /sbin/boa: not found
ifconfig eth0: Freescale FEC PHY driver [Generic PHY] (mii_bus:phy_addr=1:00, irq=-1)
eth0 hw ether 10:23:45:67:89:ab
point 0
calvin:point 1
point 2
point 3
point 4
point 5
point 6
need partition
operation == 0
os_type == 3
led == 2
beep == 2
uboot_dir ==
logo_dir ==
skip_lines == 22
kernel_dir == ootfs_dir == images/ubuntu/uImage
rootfs_dir's len == 20
kernel_dir's len == 1
dd: can't open '/mnt/RCONF(NETDEV_UP): eth0: link is not ready
': No such file or directory
1+0 records in
1+0 records out
1024 bytes (1.0KB) copied, 0.002838 seconds, 352.4KB/s
dd: can't open '/bin/mbr': No such file or directory
boot_rom_start : 1MB
BOOT           : 16MB
ifconfig eth0 192.168.1.6 netmask 255.255.255.0 up
add default gw 192.168.1.2
Done
16+0 records in
16+0 records out
8192 bytes (8.0KB) copied, 0.666429 seconds, 12.0KB/s
Device contains neither a valid DOS partition table, nor Sun, SGI, OSF or GPT disklabel
Building a new DOS disklabel. Changes will remain in memory only,
until you decide to write them. After that the previous content
won't be recoverable.


The number of cylinders for this disk is set to 238592.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): Command action
   e   extended
   p   primary partition (1-4)
Partition number (1-4): First cylinder (1-238592, default 1): Last cylinder or +size or +sizeM or +sizeK (488-238592, default 238592): Using default value 238592

Command (m for help): The partition table has been altered.
Calling ioctl() to re-read partition table
mmcblk0: p1
mke2fs 1.43-WIP (20-Jun-2013)
ext2fs_check_if_mount: Can't check if filesystem is mounted due to missing mtab file while determining whether /dev/mmcblk0p1 is mounted.
Discarding device blocks: done                           
Filesystem label=system
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
476720 inodes, 1904840 blocks
95242 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1954545664
59 block groups
32768 blocks per group, 32768 fragments per group
8080 inodes per group
Superblock backups stored on blocks:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Allocating group tables: done                           
Writing inode tables: done                           
Creating journal (32768 blocks): PHY: 1:00 - Link is Up - 1000/Full
ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
Unable to handle kernel NULL pointer dereference at virtual address 00000240
pgd = c0004000
[00000240] *pgd=00000000
Internal error: Oops: 80000007 [#1] PREEMPT SMP
Modules linked in:
CPU: 0    Not tainted  (3.0.35 #1)
PC is at 0x240
LR is at handle_irq_event+0x3c/0x5c
Flags: nZcv  IRQs off  FIQs on  Mode SVC_32  ISA ARM  Segment kernel
Control: 10c53c7d  Table: 2678004a  DAC: 00000015


Process swapper (pid: 0, stack limit = 0xc096e2f0)
Stack: (0xc096ff34 to 0xc0970000)
ff20:                                              c00d0824 c09847d0 c0041dc4
ff40: c096e000 c00cdb0c 00000270 c004a1b0 ffffffff f2a00100 00000057 00000002
[<c00ce448>] (handle_irq_event+0x3c/0x5c) from [<c096e000>] (0xc096e000)


就这样卡死在了这里。我就当它是烧写完了,然后断电,把 J8 跳线帽接到 1 2 4 5 6 上面直接从eMMC 启动。出现了下面的信息:






hub 2-1:1.0: USB hub found
Bus freq driver Enabled
hub 2-1:1.0: 4 ports detected
DVFS driver module loaded
regulator_init_complete: SPKVDD: incomplete constraints, leaving on
snvs_rtc snvs_rtc.0: setting system clock to 2014-05-15 04:05:23 UTC (1400126723)
List of all partitions:
b300         7634944 mmcblk0  driver: mmcblk
  b301         7619360 mmcblk0p1 00000000-0000-0000-0000-000000000000
b310            4096 mmcblk0boot1  (driver?)
b308            4096 mmcblk0boot0  (driver?)
No filesystem could mount root, tried:  ext3 ext2 ext4 cramfs vfat msdos ntfs fuseblk
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(179,1)
[<800bc8d4>] (unwind_backtrace+0x0/0xf8) from [<806286e8>] (panic+0x74/0x18c)
[<806286e8>] (panic+0x74/0x18c) from [<80008dc4>] (mount_block_root+0x1e0/0x224)
可以看到,内核启动了,文件系统没有挂载上去。大家给看看是怎么回事。
我怀疑是EmbedSky.ini的问题,我把它也传上来。因为不让上传 .ini的文件,所以在上传时我改了后缀名。下面图片是文件夹的结构







本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
TQ-ZQL 发表于 2014-5-15 13:41:14 | 显示全部楼层
用usb下载看下,或者直接用光盘里的Embedsky.ini文件,只改=里面的东西,不要改其它,包括多一个空格或者多一行。
 楼主| 勤奋的小青蛙 发表于 2014-5-15 14:23:36 | 显示全部楼层
我用MfgTool2烧写一切正常。可是很麻烦,修改一个小地方就要重新烧写所有文件。
 楼主| 勤奋的小青蛙 发表于 2014-5-15 14:28:06 | 显示全部楼层
TQ-ZQL 发表于 2014-5-15 13:41
用usb下载看下,或者直接用光盘里的Embedsky.ini文件,只改=里面的东西,不要改其它,包括多一个空格或者多 ...



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 勤奋的小青蛙 发表于 2014-5-15 15:10:16 | 显示全部楼层
TQ-ZQL 发表于 2014-5-15 13:41
用usb下载看下,或者直接用光盘里的Embedsky.ini文件,只改=里面的东西,不要改其它,包括多一个空格或者多 ...

我仔细分析了一下上边的串口信息,发现可能是tf卡的问题。因为我在制作启动卡时,在Ubuntu里面并没有手册上所说的/dev/sdc ,插上tf卡之后出现了两个设备,分别是 /dev/sdb和/dev/sdb1 。我就直接用 ./create_sdcard.sh -f /dev/sdb 来制作。

我估计是这个地方有问题,但是这该怎么解决呢??明明是一个TF卡,怎么会出现两个设备呢!!!
TQ-ZQL 发表于 2014-5-15 16:23:46 | 显示全部楼层
中间没有换行,你直接用我们的估计就好了。sdb与sdb1是正常的。是sdb1是分区。不是设备。
 楼主| 勤奋的小青蛙 发表于 2014-5-26 10:00:51 | 显示全部楼层
问题已经解决。上面图片所说的中间确实不能有空格。详细过程在这里
http://www.armbbs.net/forum.php? ... mp;extra=#pid260969
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-28 12:26 , Processed in 1.046875 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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