As I mentioned in another thread (http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/p/130560/467798.aspx#467798), I can't get IPNC 2.6.1 to build and run correctly on an Appro DM368-IMX036 camera.
When I build in the release configuration (using davinci_dm368_ipnc_defconfig_rel), the boot sequence ends at
Loading iSCSI transport class v1.1-646.<5>iscsi: registered transport (tcp)
and then there is no login prompt. If the camera's boa server is running, it does not respond to HTTP requests. See the console output below.
When I build in the debug configuration (using davinci_dm368_ipnc_defconfig_dbg), the boot sequence completes and I get a login prompt. The usual IPNC processes appear to be running (system_server, av_server.out, boa) but the boa server does not respond to HTTP requests.
I'm using the 2.6.1 package provided by Appro. If I install Appro's pre-built 2.6.1 binaries into the camera's flash, the camera works correctly and responds to HTTP requests. It seems like I must be doing something wrong when building or installing Linux or the root filesystem. How can I resolve these problems?
Console output from release configuration:
---------------------------------------------------------
DM368 IPNC :>tftpboot 0x80700000 uImage_ipnc_DM368_IMX036
TFTP from server 192.168.20.142; our IP address is 192.168.20.20
Filename 'uImage_ipnc_DM368_IMX036'.
Load address: 0x80700000
Loading: #################################################################
###########################################################
done
Bytes transferred = 1809576 (1b9ca8 hex)
DM368 IPNC :>tftpboot 0x82000000 cramfsImage_ipnc_DM368_IMX036
TFTP from server 192.168.20.142; our IP address is 192.168.20.20
Filename 'cramfsImage_ipnc_DM368_IMX036'.
Load address: 0x82000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
###################
done
Bytes transferred = 14577664 (de7000 hex)
DM368 IPNC :>nand erase 0x500000 0x1000000
NAND erase: device 0 offset 0x500000, size 0x1000000
Erasing at 0x14e0000 -- 100% complete.
OK
DM368 IPNC :>nand write 0x80700000 0x500000 0x200000
NAND write: device 0 offset 0x500000, size 0x200000
2097152 bytes written: OK
DM368 IPNC :>nand write 0x82000000 0x700000 0xE00000
NAND write: device 0 offset 0x700000, size 0xe00000
14680064 bytes written: OK
DM368 IPNC :>setenv bootargs 'mem=48M console=ttyS1,115200n8 root=/dev/mtdblock3 rootfstype=cramfs ip=192.168.20.20:192.168.20.1:192.168.20.1:255.255.255.0 eth=00:0C:0C:A0:06:94'
DM368 IPNC :>saveenv
Saving Environment to NAND...
Erasing Nand...
Erasing at 0x240000 -- 100% complete.
Writing to Nand... done
DM368 IPNC :>printenv
bootdelay=4
baudrate=115200
bootfile="uImage"
setboot=setenv bootargs $(bootargs)
ethaddr=00:0C:0C:A0:06:94
dnsip=192.168.20.1
nfshost=192.168.20.142
rootpath=/home/troy/disk/ipnc_2.6.1/ipnc/target/filesys
stdin=serial
stdout=serial
stderr=serial
ver=U-Boot 1.3.4 (Dec 9 2010 - 17:44:14) DM368-IPNC-1.0.1
filesize=DE7000
fileaddr=82000000
gatewayip=192.168.20.1
netmask=255.255.255.0
ipaddr=192.168.20.20
serverip=192.168.20.142
bootargs=mem=48M console=ttyS1,115200n8 root=/dev/mtdblock3 rootfstype=cramfs ip=192.168.20.20:192.168.20.1:192.168.20.1:255.255.255.0 eth=00:0C:0C:A0:06:94
bootcmd=nboot 0x80700000 0 0x500000;bootm 0x80700000
Environment size: 640/131068 bytes
DM368 IPNC :>reset
DM36x initialization passed!
TI UBL Base Version: 1.50
Boot Loader BootMode = NAND
Starting NAND Copy...
Valid magicnum, 0xA1ACED66, found in block 0x00000008.
Boot Mode Task Completed
IPNC UBL Version: 1.1.0
Platform: DM368
Jumping to entry point at 0x81080000
U-Boot 1.3.4 (Dec 9 2010 - 17:44:14) DM368-IPNC-1.0.1
I2C: ready
DRAM: 128 MB
NAND: NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)
Bad block table found at page 65472, version 0x01
Bad block table found at page 65408, version 0x01
128 MiB
In: serial
Out: serial
Err: serial
ARM Clock :- 432MHz
DDR Clock :- 340MHz
Ethernet PHY: GENERIC @ 0x01
Hit any key to stop autoboot: 0
Loading from NAND 128MiB 3,3V 8-bit, offset 0x500000
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1809512 Bytes = 1.7 MB
Load Address: 80008000
Entry Point: 80008000
## Booting kernel from Legacy Image at 80700000 ...
Image Name: Linux-2.6.18_pro500-davinci_IPNC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1809512 Bytes = 1.7 MB
Load Address: 80008000
Entry Point: 80008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Linux version 2.6.18_pro500-davinci_IPNC_DM368_2.6.0 (troy@ubuntu) (gcc version 4.2.0 (MontaVista 4.2.0-16.0.32.0801914 2008-08-30)) #1 PREEMPT Tue Sep 6 15:16:10 CDT 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci DM368 IPNC
Memory policy: ECC disabled, Data cache writeback
DaVinci DM0365 variant 0x8
PLL0: fixedrate: 24000000, commonrate: 170000000, vpssrate: 340000000
PLL0: vencrate_sd: 75555555, ddrrate: 340000000 mmcsdrate: 48571428
PLL1: armrate: 432000000, voicerate: 20571428, vencrate_hd: 27000000
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists. Total pages: 12288
Kernel command line: mem=48M console=ttyS1,115200n8 root=/dev/mtdblock3 rootfstype=cramfs ip=192.168.20.20:192.168.20.1:192.168.20.1:255.255.255.0 eth=00:0C:0C:A0:06:94
PID hash table entries: 256 (order: 8, 1024 bytes)
Clock event device timer0_0 configured with caps set: 07
Console: colour dummy device 80x30
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 48MB = 48MB total
Memory: 44684KB available (3101K code, 644K data, 176K init)
Security Framework v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
DaVinci: 104 gpio irqs
MUX: initialized GPIO20
MUX: initialized I2C_SCL
Generic PHY: Registered new driver
ch0 default output "COMPOSITE", mode "NTSC"
VPBE Encoder Initialized
SCSI subsystem initialized
NET: Registered protocol family 2
IP route cache hash table entries: 512 (order: -1, 2048 bytes)
TCP established hash table entries: 2048 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 2048 bind 1024)
TCP reno registered
***davinci_spi_board_init()!<6>
***davinci_spi_board_init_End(0)!<5>VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 3.1 (2006/08/19) Phillip Lougher
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
yaffs Sep 6 2011 15:13:27 Installing.
SGI XFS with no debug enabled
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
LTT : ltt-facilities init
LTT : ltt-facility-core init in kernel
DAVINCI-WDT: DaVinci Watchdog Timer: heartbeat 60 sec
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO map 0x1c20000 mem 0xfbc20000 (irq = 40) is a 16550A
serial8250.0: ttyS1 at MMIO map 0x1d06000 mem 0xfbd06000 (irq = 41) is a 16550A
RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
Linux video capture interface: v2.00
Trying to register davinci display video device.
layer=c060ea00,layer->video_dev=c060eb60
Trying to register davinci display video device.
layer=c060e800,layer->video_dev=c060e960
davinci_init:DaVinci V4L2 Display Driver V1.0 loaded
i2c /dev entries driver
nand_davinci nand_davinci.0: Using 4-bit hardware ECC
NAND device: Manufacturer ID: 0xec, Chip ID: 0xf1 (Samsung NAND 128MiB 3,3V 8-bit)
Creating 7 MTD partitions on "nand_davinci.0":
0x00000000-0x00300000 : "bootloader"
0x00300000-0x00500000 : "params"
0x00500000-0x00700000 : "kernel"
0x00700000-0x02700000 : "filesystem"
0x02700000-0x02900000 : "data1"
0x02900000-0x02d00000 : "Calibration"
0x02d00000-0x08000000 : "data2"
nand_davinci nand_davinci.0: hardware revision: 2.3
rtc_davinci_dm365 rtc_davinci_dm365.0: rtc intf: proc
rtc_davinci_dm365 rtc_davinci_dm365.0: rtc intf: dev (254:0)
rtc_davinci_dm365 rtc_davinci_dm365.0: rtc core: registered rtc_davinci_dm365 as rtc0
Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50 2006 UTC).
ASoC version 0.13.1
CQ0093 Voice Codec 0.1
asoc: cq93vc <-> davinci-vcif mapping ok
ALSA device list:
#0: On-chip voice codec (cq93vc)
IPv4 over IPv4 tunneling driver
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc_davinci_dm365 rtc_davinci_dm365.0: setting the system clock to 2000-01-07 01:49:48 (947209788)
Time: timer0_1 clocksource has been installed.
Clock event device timer0_0 configured with caps set: 08
Switched to high resolution mode on CPU 0
IP-Config: No network devices available.
VFS: Mounted root (cramfs filesystem) readonly.
Freeing init memory: 176K
Warning: unable to open an initial console.
CSL: Module install successful, device major num = 253
CSL: Module version 0.10.00, built on Sep 6 2011 15:18:29
I2C: Module install successful, device major num = 252
DMA: Module install successful, device major num = 251
DRV: Module install successful
DRV: Module built on Sep 6 2011 15:18:33
DRV: EDMACC.QUEPRI = 00000777
DRV: SYSTEM.MSTPRI0 = 00440022
DRV: SYSTEM.MSTPRI1 = 00000244
DRV: ISP.BCR = 00000002
DRV: SYSTEM.MISC = 00000391
CMEMK module: built on Sep 6 2011 at 15:18:02
Reference Linux version 2.6.18
File /media/LinuxExt2/ipnc_2.6.1/dvsdk_2_10_01_18_v2.6/linuxutils_2_24_03/packages/ti/sdo/linuxutils/cmem/src/module/cmemk.c
allocated heap buffer 0xc4000000 of size 0x5000000
CMEM Range Overlaps Kernel Physical - allowing overlap
CMEM phys_start (0x1000) overlaps kernel (0x80000000 -> 0x83000000)
cmemk initialized
EDMAK module: built on Sep 6 2011 at 15:18:05
Reference Linux version 2.6.18
File /media/LinuxExt2/ipnc_2.6.1/dvsdk_2_10_01_18_v2.6/linuxutils_2_24_03/packages/ti/sdo/linuxutils/edma/src/module/edmak.c
IRQK module: built on Sep 6 2011 at 15:18:06
Reference Linux version 2.6.18
File /media/LinuxExt2/ipnc_2.6.1/dvsdk_2_10_01_18_v2.6/linuxutils_2_24_03/packages/ti/sdo/linuxutils/irq/src/module/irqk.c
irqk initialized
io scheduler deadline registered
io scheduler cfq registered
sbulla: unknown partition table
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
loop: loaded (max 8 devices)
tun: Universal TUN/TAP device driver, 1.6
tun: (C) 1999-2004 Max Krasnyansky <maxk@qualcomm.com>
CSLIP: code copyright 1989 Regents of the University of California
netconsole: not configured, aborting
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
Davinci EMAC MII Bus: probed
MAC address is deadbeaf
TI DaVinci EMAC Linux version updated 4.0
davinci-mmc davinci-mmc.0: Supporting 4-bit mode
davinci-mmc davinci-mmc.0: Using DMA mode
usbcore: registered new driver usbfs
usbcore: registered new driver hub
musb_hdrc: version 6.0, cppi-dma, peripheral, debug=0
musb_hdrc musb_hdrc: No DMA interrupt line
musb_hdrc: USB Peripheral mode controller at c38f8000 using DMA, IRQ 12
Loading iSCSI transport class v1.1-646.<5>iscsi: registered transport (tcp)