View Single Post
Old 01-11-2012, 04:32 AM   #26
rastik
Connoisseur
rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.rastik is fluent in JavaScript as well as Klingon.
 
Posts: 65
Karma: 4662
Join Date: Feb 2011
Location: CZ
Device: Kindle Touch 3G, Kindle Keyboard
Quote:
Originally Posted by yifanlu View Post
You have only two viable options. Unfortunately both are untested. 1) USB download mode. You should find the imx50 USB programmer from freescale's website. I don't know if it will work. I never tried it. 2) use fastboot. I see you didn't get it working. It's most likely my fault. I coded it blindly, so you may want to take a look at the c source and see if it's interpreting the input correctly. Join the kindle dev irc chat and when I'm on, I can help you.
USB download mode doesn't seem viable know, I'll keep it for later.
With fastboot flash I see it correctly sends download and flash commands. I know that writing system partition has to be changed, because uboot has a buffer of size 0x5e00000 only. And it is not enough for 15e00000 size of system partition.
When looking into mx50_yoshi_board.h from uboot sources, everything is written to partition 0:
Code:
static const struct partition_info_t partition_info[] = {
    {
	.name = "bootloader",
	.address = 0,
	.size = (376*1024), /* 376 KiB */
	.partition = 1,
    },
    {
	.name = "prod",
	.address = 0x0, /* overlap with bootloader */
	.size = (120*1024), /* 120 KiB */
	.partition = 1,
    },
    {
	.name = "bist",
	.address = CONFIG_MMC_BIST_ADDR, /* overlap with bootloader */
	.size = CONFIG_MMC_BIST_SIZE, /* 256 KiB */
	.partition = 1,
    },
    {
	.name = "userdata",
	.address = CONFIG_MMC_USERDATA_ADDR,
	.size = CONFIG_MMC_USERDATA_SIZE,  /* 5 KiB */
	.partition = 1,
    },
    {
    .name = "userpartition",
    .address = 0,
    .size = PARTITION_FILL_SPACE,  /* based on MMC size */
    .partition = 0,
    },
    {
	.name = "mbr",
	.address = 0,
	.size = 1024,  /* 1 KiB */
	.partition = 0,
    },
    {
	.name = "kernel",
	.address = CONFIG_MMC_BOOTFLASH_ADDR,
	.size = CONFIG_MMC_BOOTFLASH_SIZE,  /* 14 MiB */
	.partition = 0,
    },
    {
	.name = "diags_kernel",
	.address = CONFIG_MMC_BOOTDIAGS_ADDR,
	.size = CONFIG_MMC_BOOTFLASH_SIZE,  /* 14 MiB */
	.partition = 0,
    },
    {
	.name = "system",
	.address = 0x2000000,
	.size = (350*1024*1024),  /* 350 MiB */
	.partition = 0,
    },
    {
	.name = "diags",
	.address = 0x17E00000,
	.size = (64*1024*1024),  /* 64 MiB */
	.partition = 0,
    },
    {
	.name = "data",
	.address = 0x1BE00000,
	.size = PARTITION_FILL_SPACE,  /* based on MMC size */
	.partition = 0,
    }
};
No luck with irc now, will try later.
rastik is offline   Reply With Quote