Manufacturing Firmware Building for Customizing

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Manufacturing Firmware Building for Customizing

1,723 Views
hemanthkumarcha
Contributor II

Hi Team,

we are customizing the i.MX233 with

RAM-LPDDR

Flash-SPI NOR

I Tried  to Use below Procedure

     2.5 Build Manufacturing Firmware

          Please refer 2.2 Installing and Building LTIB to setup ltib environment.

          Configure Firmware build profile

          ./ltib --selectype

          Choose correct item as below:

          --- Choose the platform type

          Selection (imx233/stmp3780) --->

-          -- Choose the packages profile

          Selection (Updater profile for mx233) --->

          After ltib complete build. Updater.sb will be created

From i.MX23_Linux_BSP_UserGuide Document My Updater.sb is failed Because the Mfg Tool Returns me a error.

Even I changed the UCL.xml File According to My Flash Requirements attached file.

 

How to Create a customized Upder.sb file as mentioned Hardware Details.

 

1 - Panel A Start processing SPI-NOR <LIST/>.

Panel A Start <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware".

1 - Panel A DoBoot() - Failed to load updater.sb to Recovery mode device. (err=121)

1 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware" FAIL code=0x79.

Panel A: Reason is unknown,failed to run command: type="boot" body="Recovery" file="updater.sb" timeout="60" onError="" text="Booting update firmware"  The semaphore timeout period has expired.

2 - Panel A Finished processing SPI-NOR <LIST/> : FAIL code=121.

 

Regards

Hemanth

Original Attachment has been moved to: ucl.xml.zip

Labels (1)
Tags (1)
8 Replies

970 Views
hemanthkumarcha
Contributor II

Dear all,

Can any one tell me Below Configurations.

1)What are the EMI (External Memory Interface) Changes for

RAM-LPDDR

Flash-SPI NOR

In Boot-lets point of i.MX23.

2) How to Select Mobile DDR parametrs  in i.MX23RM

     Weather it is a 5 ns or 6ns or 7.5 ns

Regards

Hemanth

0 Kudos

970 Views
Yuri
NXP Employee
NXP Employee

Hemanth, hello !

  Appears, we do not have relatively simple tool or Excel table to configure i.MX23 memory controller.

Basically Denali tools are used by Freescale to generate custom register settings for the  i.MX23 and other STMP

derivatives that use Denali IP in the EMI block.

https://www.denali.com/en/support/index.jsp

Often, if main technical parameters, including timings, for new DRAM parts are the same as Micron’s, it makes sense

to try different drive strength settings of DRAM signals.

Regards,

Yuri.

0 Kudos

970 Views
hemanthkumarcha
Contributor II

Ya Muhin,

I tested that's working.

I used the same flash to boot my customized board.

that Flash is Prepared as:
1) i will create the customized images  from LTIB

2) copy Images to Sd Card(i used SD card as memory device)

3)I will Boot my EVK with SD card. and i will transfer the customized image to my Flash-SPI NOR(we customized the hardware  interface for that)

4) and i will interface the my SPI NOR(Flashed Above Step) to my Customized board.i will Boot My Customized Board.


So i don't want to do all these so i want to Write My flash With MFG-Tool so i written ucl.xml (Mentioned Below)  and Created Updater.sb for Customized board.


Please verify my log and ucl.xml

<LIST name="SPI-NOR" desc="Choose SPI-NOR as media">

    <CMD type="boot" body="Recovery" file="updater.sb">Booting update firmware</CMD>

    <CMD type="find" body="updater" timeout="180"/>

  <CMD type="push" body="mknod class/mtd,mtd0,/dev/mtd0">mtd0 node</CMD>

  <CMD type="push" body="mknod class/mtd,mtd1,/dev/mtd1">mtd1 node </CMD>

  <CMD type="push" body="mknod block,mtdblock1,/dev/mtdblock1,block">BLk Dev</CMD>

  <CMD type="push" body="$ flash_eraseall /dev/mtd0">Erasing boot partition</CMD>

  <CMD type="push" body="send" file="files/imx23_linux.sb">Sending firmware</CMD>

  <CMD type="push" body="$flashcp -v if=$FILE of=/dev/mtd0">Flashing firmware</CMD>

  <CMD type="push" body="$ flash_eraseall /dev/mtd1">Erasing kernel partition</CMD>

  <CMD type="push" body="send" file="files/rootfs.jffs2">Sending firmware</CMD>

  <CMD type="push" body="$flashcp -v if=$FILE of=/dev/mtd1">Flashing firmware</CMD>

  <CMD type="push" body="$echo Update Complete">Done</CMD>

</LIST>


Here is the Latest Log


Wednesday, February 04, 2015 15:57:08

1 - Panel A Start processing SPI-NOR <LIST/>.

Panel A Start <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="10" onError="" text="Booting update firmware".

1 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="10" onError="" text="Booting update firmware" SUCCESS code=0x0.

Panel A Start <CMD/> type="find" body="updater" file="" timeout="180" onError="" text="".

1 - Panel A Finished <CMD/> type="find" body="updater" file="" timeout="180" onError="" text="" FAIL code=0xffff0002.

Panel A: Wrong device found.,failed to run command: type="find" body="updater" file="" timeout="180" onError="" text="" 

2 - Panel A Finished processing SPI-NOR <LIST/> : FAIL code=-65534.


Regards

Hemanth

0 Kudos

970 Views
Yuri
NXP Employee
NXP Employee

Hemanth,

  Please check value of parameter “body” (of command "find"), which is defined in STATE section.

Regards,

Yuri.

0 Kudos

970 Views
hemanthkumarcha
Contributor II

Thanks for reply Yuri,


Ya that is ok, i checked and verified. i was succeeded in First Step. i.e My Updater.sb is going to RAM

But after that

[    0.400000] usbcore: registered new device driver usb

[    0.410000] input: pswitch_button as /class/input/input0

[    0.430000] Trying to unpack rootfs image as initramfs...

[    2.220000] Freeing initrd memory: 4096K

[    2.220000] Bus freq driver module loaded

[    2.230000] usb: DR gadget (utmi) registered

[    2.250000] mxs-spi mxs-spi.0: Max possible speed 48000 kHz = 96000000/2

[    2.250000] mxs-spi mxs-spi.0: at 0x80010000 mapped to 0xF0010000, irq=14, bus 1, DMA ver_major 3

[    2.270000] mxs-spi mxs-spi.1: Max possible speed 48000 kHz = 96000000/2

[    2.270000] mxs-spi mxs-spi.1: at 0x80034000 mapped to 0xF0034000, irq=20, bus 2, DMA ver_major 3

[    2.290000] mxs_cpu_init: cpufreq init finished

it is failing  to

[    0.430000] Trying to unpack rootfs image as initramfs...


it is freezing here throwing error as

Thursday, February 05, 2015 12:04:46

1 - Panel A Start processing SPI-NOR <LIST/>.

Panel A Start <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="10" onError="" text="Booting update firmware".

1 - Panel A Finished <CMD/> type="boot" body="Recovery" file="updater.sb" timeout="10" onError="" text="Booting update firmware" SUCCESS code=0x0.

Panel A Start <CMD/> type="find" body="Updater" file="" timeout="180" onError="" text="Updater timeout".

1 - Panel A Finished <CMD/> type="find" body="Updater" file="" timeout="180" onError="" text="Updater timeout" FAIL code=0xffffffff.


Regards

Hemanth

0 Kudos

970 Views
hemanthkumarcha
Contributor II

Ya Muhin

it is working and in USB Boot Mode.

Here is my Updated Error

PowerPrep start initialize power...

Battery Voltage = 4.19V

5v source detected.Valid battery                                voltage detected.Booting from battery                             voltage source.

LLCFeb  4 201515:01:40

EVK board

EMI_CTRL 0x1C084040

FRAC 0x92926152

init_ddr_mt46v32m16_133Mhz

power 0x00820710

Frac 0x92926152

start change cpu freq

hbus 0x00000003

cpu 0x00010002

LLLLLLLFCLFLJUncompressing Linux...................................................................................... done, booting the kernel.

[    0.000000] Linux version 2.6.31-626-g602af1c-updater (hemanth@ubuntu) (gcc version 4.1.2) #8 PREEMPT Wed Feb 4 14:58:14 IST 2015

[    0.000000] CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177

[    0.000000] CPU: VIVT data cache, VIVT instruction cache

[    0.000000] Machine: Freescale MX23EVK board

[    0.000000] Memory policy: ECC disabled, Data cache writeback

[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 32512

[    0.000000] Kernel command line: -e console=ttyAM0,115200 console=tty0 rdinit=/linuxrc rw gpmi

[    0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)

[    0.000000] Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)

[    0.000000] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)

[    0.000000] Memory: 128MB = 128MB total

[    0.000000] Memory: 122868KB available (2392K code, 266K data, 88K init, 0K highmem)

[    0.000000] SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1

[    0.000000] NR_IRQS:224

[    0.000000] Console: colour dummy device 80x30

[    0.000000] console [tty0] enabled

[    0.000000] console [ttyAM0] enabled

[    0.010000] Calibrating delay loop... 115.91 BogoMIPS (lpj=579584)

[    0.230000] Mount-cache hash table entries: 512

[    0.230000] CPU: Testing write buffer coherency: ok

[    0.250000] regulator: core version 0.5

[    0.260000] regulator: vddd: 800 <--> 1575 mV fast normal

[    0.270000] regulator: vddd_bo: 800 <--> 1575 mV fast normal

[    0.270000] regulator: vdda: 1500 <--> 2275 mV fast normal

[    0.280000] regulator: vddio: 2800 <--> 3575 mV fast normal

[    0.280000] regulator: overall_current: 0 <--> 2147483 mA fast normal

[    0.290000] regulator: mxs-duart-1: 0 <--> 2147483 mA fast normal

[    0.290000] regulator: mxs-bl-1: 0 <--> 2147483 mA fast normal

[    0.300000] regulator: mxs-i2c-1: 0 <--> 2147483 mA fast normal

[    0.300000] regulator: mmc_ssp-1: 0 <--> 2147483 mA fast normal

[    0.310000] regulator: mmc_ssp-2: 0 <--> 2147483 mA fast normal

[    0.310000] regulator: charger-1: 0 <--> 2147483 mA fast normal

[    0.320000] regulator: power-test-1: 0 <--> 2147483 mA fast normal

[    0.320000] regulator: cpufreq-1: 0 <--> 2147483 mA fast normal

[    0.330000] i.MX IRAM pool: 28 KB@0xc8808000

[    0.360000] bio: create slab <bio-0> at 0

[    0.370000] usbcore: registered new interface driver usbfs

[    0.380000] usbcore: registered new interface driver hub

[    0.380000] usbcore: registered new device driver usb

[    0.390000] input: pswitch_button as /class/input/input0

[    0.400000] Trying to unpack rootfs image as initramfs...

[    2.030000] Freeing initrd memory: 4096K

[    2.040000] Bus freq driver module loaded

[    2.050000] usb: DR gadget (utmi) registered

[    2.060000] mxs_cpu_init: cpufreq init finished

[    2.070000] JFFS2 version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.

[    2.080000] msgmni has been set to 248

[    2.100000] io scheduler noop registered

[    2.100000] io scheduler anticipatory registered

[    2.110000] io scheduler deadline registered

[    2.110000] io scheduler cfq registered (default)

[    3.510000] Console: switching to colour frame buffer device 30x30

[    3.520000] char lcd registered

[    3.580000] mxs-duart.0: ttyAM0 at MMIO 0x80070000 (irq = 0) is a DebugUART

[    3.590000] mxs-auart.1: ttySP1 at MMIO 0x8006c000 (irq = 24) is a mxs-auart.1

[    3.610000] Found APPUART 3.0.0

[    3.640000] brd: module loaded

[    3.650000] ARC USBOTG Device Controller driver (1 August 2005)

[    3.670000] check_parameters:UTP settings are in place now, overriding defaults

[    3.690000] g_file_storage gadget: File-backed Storage Gadget, version: 20 November 2008

[    3.700000] g_file_storage gadget: Number of LUNs=1

[    3.810000] udc run

[    3.810000] fsl-usb2-udc: bind to driver g_file_storage

[    3.820000] MXS RTC driver v1.0 hardware v2.0.0

[    3.830000] mxs-rtc mxs-rtc.0: rtc core: registered mxs-rtc as rtc0

[    3.850000] mxs-rtc mxs-rtc.0: setting system clock to 1970-01-01 00:00:19 UTC (19)

[    3.860000] Freeing init memory: 88K

[    4.680000] g_file_storage gadget: high speed config #1

While doing this My MFG Tool Giving  error as Stopped Working

Regards

Hemanth

0 Kudos

970 Views
Yuri
NXP Employee
NXP Employee

Have You tested memory ?

Regards,

Yuri.

0 Kudos

970 Views
Yuri
NXP Employee
NXP Employee

  Is the  i.MX23 working and in USB boot mode ?

Is it possible to check it (say, using JTAG) ?


Have a great day,
Yuri

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 Kudos