I developed a board with an iMX28 processor and for mass production I need mfgtool to program the memory. Because it's for a custom board, I generate a new updater_ivt.sb
When I plug the board to the computer, mfgtool see the device.
When I press start, the firmware is download to the board and on the console, I see the boot log :
Linux version 2.6.35.3-g6475bb9-dirty (victorien@BENNEVIS) (gcc version 4.3.3 (4
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
CPU: VIVT data cache, VIVT instruction cache
Machine: Ophrys Systemes Misu board rev002
Memory policy: ECC disabled, Data cache writeback
On node 0 totalpages: 16384
free_area_init_node: node 0, pgdat c0324af0, node_mem_map c036b000
DMA zone: 32 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 4064 pages, LIFO batch:0
Normal zone: 96 pages used for memmap
Normal zone: 12192 pages, LIFO batch:1
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 16256
Kernel command line: console=ttyAM0,115200
PID hash table entries: 256 (order: -2, 1024 bytes)
Dentry cache hash table entries: 8192 (order: 3, 32768 bytes)
Inode-cache hash table entries: 4096 (order: 2, 16384 bytes)
Memory: 64MB = 64MB total
Memory: 57376k/57376k available, 8160k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xfde00000 - 0xffe00000 ( 32 MB)
vmalloc : 0xc4800000 - 0xf0000000 ( 696 MB)
lowmem : 0xc0000000 - 0xc4000000 ( 64 MB)
modules : 0xbf000000 - 0xc0000000 ( 16 MB)
.init : 0xc0008000 - 0xc0027000 ( 124 kB)
.text : 0xc0027000 - 0xc0305000 (2936 kB)
.data : 0xc0306000 - 0xc03254e0 ( 126 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:288
Console: colour dummy device 80x30
console [ttyAM0] enabled
Calibrating delay loop... 226.09 BogoMIPS (lpj=1130496)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
regulator: core version 0.5
NET: Registered protocol family 16
regulator: vddd: 800 <--> 1575 mV at 1500 mV fast normal
regulator: vdddbo: 800 <--> 1575 mV fast normal
regulator: vdda: 1500 <--> 2275 mV at 1800 mV fast normal
vddio = 3380000, val=10
regulator: vddio: 2880 <--> 3680 mV at 3380 mV fast normal
regulator: overall_current: fast normal
regulator: vbus5v:
regulator: mxs-duart-1: fast normal
regulator: mxs-bl-1: fast normal
regulator: mxs-i2c-1: fast normal
regulator: mmc_ssp-1: fast normal
regulator: mmc_ssp-2: fast normal
regulator: charger-1: fast normal
regulator: power-test-1: fast normal
regulator: cpufreq-1: fast normal
i.MX IRAM pool: 124 KB@0xc4820000
usb DR wakeup device is registered
IMX usb wakeup probe
the wakeup pdata is 0xc030e514
audit: cannot initialize inotify handle
bio: create slab <bio-0> at 0
SCSI subsystem initialized
Switching to clocksource mxs clock source
Trying to unpack rootfs image as initramfs...
Freeing initrd memory: 4096K
Bus freq driver module loaded
mxs_cpu_init: cpufreq init finished
audit: initializing netlink socket (disabled)
type=2000 audit(1.340:1): initialized
JFFS2 version 2.2. (NAND) © 2001-2006 Red Hat, Inc.
msgmni has been set to 120
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253)
io scheduler noop registered (default)
Console: switching to colour frame buffer device 100x30
mxs-duart.0: ttyAM0 at MMIO 0x80074000 (irq = 47) is a DebugUART
mxs-auart.0: ttySP0 at MMIO 0x8006a000 (irq = 112) is a mxs-auart.0
Found APPUART 3.1.0
mxs-auart.1: ttySP1 at MMIO 0x8006c000 (irq = 113) is a mxs-auart.1
Found APPUART 3.1.0
mxs-auart.2: ttySP2 at MMIO 0x8006e000 (irq = 114) is a mxs-auart.2
Found APPUART 3.1.0
mxs-auart.3: ttySP3 at MMIO 0x80070000 (irq = 115) is a mxs-auart.3
Found APPUART 3.1.0
mxs-auart.4: ttySP4 at MMIO 0x80072000 (irq = 116) is a mxs-auart.4
Found APPUART 3.1.0
brd: module loaded
loop: module loaded
Loading iSCSI transport class v2.0-870.
i.MX GPMI NFC
NFC: Version 1, 8-chip GPMI and BCH
gpmi-nfc: probe of gpmi-nfc.0 failed with error 1
ARC USBOTG Device Controller driver (1 August 2005)
check_parameters:UTP settings are in place now, overriding defaults
g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008
g_file_storage gadget: Number of LUNs=1
dr_controller_run: udc out low power mode
fsl-usb2-udc: bind to driver g_file_storage
mice: PS/2 mouse device common for all mice
input: mxs-kbd as /devices/platform/mxs-kbd.0/input/input0
input: MXS touchscreen as /devices/virtual/input/input1
MXS RTC driver v1.0 hardware v2.3.0
mxs-rtc mxs-rtc.0: rtc core: registered mxs-rtc as rtc0
mxs-mmc: MXS SSP Controller MMC Interface driver
mxs-mmc mxs-mmc.0: mmc0: MXS SSP MMC DMAIRQ 82 ERRIRQ 96
Registered led device: led1:red
Registered led device: led2:green
mxs-rtc mxs-rtc.0: setting system clock to 1970-01-01 00:00:33 UTC (33)
Freeing init memory: 124K
mmc0: new high speed SDHC card at address 0002
mmcblk0: mmc0:0002 00000 7.41 GiB
mmcblk0: p1
charger------ ddi_bc_gBrokenReason=4
At this moment, it seem correct. but when mfgtool execute the first push command, I have this message on mfgtool
Unable to handle kernel NULL pointer dereference at virtual address 00000009
pgd = c0004000
[00000009] *pgd=00000000
Internal error: Oops: 17 [#1]
last sysfs file:
CPU: 0 Not tainted (2.6.35.3-g6475bb9-dirty #1051)
PC is at do_scsi_command+0x5bc/0x1aa8
LR is at do_scsi_command+0x5bc/0x1aa8
pc : [<c0222850>] lr : [<c0222850>] psr: 60000013
sp : c2c05e88 ip : c2c05e88 fp : c2c05f04
r10: c03692ac r9 : c3c32e00 r8 : 0000c036
r7 : 00c03692 r6 : 00000000 r5 : c2c088a0 r4 : c03692d0
r3 : c03692d0 r2 : 00000001 r1 : 00000000 r0 : c03692bc
Flags: nZCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment kernel
Control: 0005317f Table: 42c7c000 DAC: 00000017
Process file-storage-ga (pid: 885, stack limit = 0xc2c04270)
Stack: (0xc2c05e88 to 0xc2c06000)
5e80: c2c05eac c2c05e98 c2c2e000 c0309d70 c2c05ec4 c2c05ea8
5ea0: 000000c0 c3c32e78 00000000 c2c184c0 c03692bc c2c2e000 c2c05eec 00000000
5ec0: c2c088a0 c0055b0c c2c05ec8 c2c05ec8 00000200 c3c32e78 c3c32e40 c339c000
5ee0: c3c32e00 00000200 c3c32e78 c3c32e40 c3c32e58 c2c04000 c2c05fc4 c2c05f08
5f00: c02243c8 c02222a4 c3c32e7c c2c05f18 c003d344 c3c32eb0 0000000a 00000000
5f20: 00000000 00000000 00000000 c0310028 c3c20038 c0310058 c3c20030 c0310058
5f40: c2c05f64 c2c05f50 c3c2201c c2c088a0 00000017 c0318474 c2c04000 00000000
5f60: c2c05f84 c2c05f70 c0318474 c3c20000 c2c05f9c c2c05f80 c003df70 c0070270
5f80: 00000000 c2c088a0 c3c20000 c0318474 c2c05fc4 c2c05fa0 c027a904 c2c05fcc
5fa0: c3c23ed0 c3c32e00 c0223d3c 00000000 00000000 00000000 c2c05ff4 c2c05fc8
5fc0: c00556d8 c0223d4c 00000000 00000000 c2c05fd0 c2c05fd0 c3c23ed0 c0055650
5fe0: c0044420 00000013 00000000 c2c05ff8 c0044420 c0055660 00000000 00000000
Backtrace:
[<c0222294>] (do_scsi_command+0x0/0x1aa8) from [<c02243c8>] (fsg_main_thread+0x)
[<c0223d3c>] (fsg_main_thread+0x0/0xa24) from [<c00556d8>] (kthread+0x88/0x90)
[<c0055650>] (kthread+0x0/0x90) from [<c0044420>] (do_exit+0x0/0x5e8)
r7:00000013 r6:c0044420 r5:c0055650 r4:c3c23ed0
Code: 11a06003 03a06000 e51b0054 eb0161cd (e5d62009)
---[ end trace c4cc3e0f4feb6a88 ]---
I suppose ot miss something in ramrootfs or in kernel but I can't find what. Is there someone who have an idea ?