Quote:
Originally Posted by yifanlu
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.