I'm developing software on a iMX28 custom board (it's not my project) with some differences from the mx28evk:
- Debug UART is on AUART0-CTS/RTS
- UART2 and UART0 connected to SIM900 (a GSM module)
- SSP2 connected to a RFM12B (a rf module).
- Some PIN used as GPIO to control LEDs and pins of the modules i talked
- board powered by a LiPo battery or by USB (USB needed to charge the battery)
- only one USB port used to program.
- we have no JTAG port
the LCD is a 480x272x16, the memory, and NAND are bigger.
Who design the board give me some software to start with: a uboot bootlet, an updater and a ready profile used with MFG-tool.
I'm able to modify kernel 2.6.35 (i start to studying how use kernel 3.6.8 ) to develop the RFM12B driver (i need to manage the interrupt signal and send correct commands by SPI) and make the needed changes and using ptxdist to prepare the root file system. To make a board fully operative i must use a long procedure:
-use MFG Tool to flash bootlet and linux kernel image
-connect debug UART to set U-Boot environment vars to instruct kernel to check rootfs in a external USB memory
-by linux shell (by Debug UART) send the command to copy the rootfs from USB memory into NAND
-restart the board to re-set U-Boot environment vars for NAND boot.
A so long procedure it's a waste of time and i need to speed this up (i know some change to procedure can help, but it's not this my question).
I start rebuild the updater from the kernel code i use, and it work...not well:
The uboot bootlet (with command kobs-in) and the kernel (in partition mtd2) are copied correctly in NAND.
I can erase all partitions (mtd3 and 4 respectively used for root fs and data), but i don't understand how flash the rootfs (i tried use dd command, mounting the mtdblock3 and attach with ubi to simpli copy or decompress files). I receive a strange error (65280) when i try to touch this partition.
I try to connect debug UART, but, surprise, i have no output. So i try to connect my UART to other debug pins, but i have no messages. I try the updater the board designer give me and i got same result. I read somewhere the updater is a modified version of kernel, in fact the NAND partitions are the same than mine (the updater the board designer give me have only 3 partition).
An other thing i try to do it's the customization of u-boot bootlet to change default u-boot environment variables, but a simply rebuild of source code for imx28evk doesn't work, i try to change the pin use, but my bootlet seems not work at all.
I check the power prep source code to see its debug messages, but i don't find where pin use is setted so i insert 2 row of code to set debug uart just before the first printf.
I'm writing from my private home tormented by this problem (this is only the last one of a long list of nasty problems in this damned board), tomorrow from work station, i'm able to give details. For now any advice is welcome (sorry for my poor english).