Other Parts Discussed in Thread: AM625
Hi All,
I'm a bit confused by an issue placing the RFS on the TI SK-AM62B-P1 board.
It appears that the RFS is too large for the targeted space.
The instructions in the link below say to create a file that will contain the RFS Thus:
dd if=/dev/null of=tisdk-base.ext4 bs=1M seek=300 (creating a block of zero filled contiguous space on my HDD)
mkfs.ext4 -RF tisdk-base.ext4 (creates a ext4 FS in this space (this space is like a mini disk dev))
mkdir mnt_fs (create a mount point for this ext4 space)
-t ext4 tisdk-base.ext4 mnt_fs (mounts it to the mount point)
Then we expand a tarball of the file system inside this folder
cd mnt_fs
1st Issue :
sudo tar xvf ../am62xx-evm/tisdk-base-image-am62xx-evm.tar.xz (This was too BIG for the 300 MB above and failed)
change introduced:
recreated the tisdk-base.ext5 as 500 MB so the tar xvf would not fail. (This worked and df -H indicated 482 MB)
At this point I have both the usb-dfu configured r5/a53 image and the emmc r5/a53 images
First load the usb-dfu that contains tiboot3.bin that will look for usb-dfu tools to images from:
- sudo dfu-util -R -a bootloader -D tiboot3.bin
- sudo dfu-util -R -a tispl.bin -D tispl.bin
- sudo dfu-util -R -a u-boot.img -D u-boot.img
The next steps are in u-boot (=>) interface:
=> setenv dfu_alt_info ${dfu_alt_info_emmc}
=> dfu 0 mmc 0
The USB driver then mounts and shows a target list of images you can now program in the eMMc space:
TABLE1
Found DFU: [0451:6165] ver=0223, devnum=46, cfg=1, intf=0, alt=6, name="sysfw.itb.raw", serial="0000000000000449" Found DFU: [0451:6165] ver=0223, devnum=46, cfg=1, intf=0, alt=5, name="u-env.raw", serial="0000000000000449" Found DFU: [0451:6165] ver=0223, devnum=46, cfg=1, intf=0, alt=4, name="u-boot.img.raw", serial="0000000000000449" Found DFU: [0451:6165] ver=0223, devnum=46, cfg=1, intf=0, alt=3, name="tispl.bin.raw", serial="0000000000000449" Found DFU: [0451:6165] ver=0223, devnum=46, cfg=1, intf=0, alt=2, name="tiboot3.bin.raw", serial="0000000000000449" Found DFU: [0451:6165] ver=0223, devnum=46, cfg=1, intf=0, alt=1, name="rootfs", serial="0000000000000449" Found DFU: [0451:6165] ver=0223, devnum=46, cfg=1, intf=0, alt=0, name="rawemmc", serial="0000000000000449"
Then I performed the USB-DFU steps
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -a tiboot3.bin.raw -D r5\tiboot3.bin
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -a tisbl.bin.raw -D a53\tispl.bin
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -a u-boot.img.raw -D a53\u-boot.img
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -a rootfs -D tisdk-base.ext4
This failed as the tisdk-base.ext4 image is TOO BIG
Looking back at dfu_alt_info_emmc that is assigned to dfu_alt_info that creates TABLE1 above.
=> printenv dfu_alt_info_emmc
dfu_alt_info_emmc=rawemmc raw 0 0x800000 mmcpart 1; rootfs part 0 1; tiboot3.bin.raw raw 0x0 0x400 mmcpart 1; tispl.bin.raw raw 0x400 0x1000 mmcpart 1; u-boot.img.raw raw 0x1400 0x2000 mmcpart 1; u-env.raw raw 0x3400 0x100 mmcpart 1; sysfw.itb.raw raw 0x3600 0x800 mmcpart 1
OR for readability (not actual)
dfu_alt_info_emmc=
rawemmc raw 0 0x800000 mmcpart 1;
rootfs part 0 1;
tiboot3.bin.raw raw 0x0 0x400 mmcpart 1;
tispl.bin.raw raw 0x400 0x1000 mmcpart 1;
u-boot.img.raw raw 0x1400 0x2000 mmcpart 1;
u-env.raw raw 0x3400 0x100 mmcpart 1;
sysfw.itb.raw raw 0x3600 0x800 mmcpart 1 starts at 3600 and is 0x800 long.
This seemed way too short for a 500MB image, so I changed it to 200000
setenv dfu_alt_info_emmc 'rawemmc raw 0 0x800000 mmcpart 1; rootfs part 0 1; tiboot3.bin.raw raw 0x0 0x400 mmcpart 1; tispl.bin.raw raw 0x400 0x1000 mmcpart 1; u-boot.img.raw raw 0x1400 0x2000 mmcpart 1; u-env.raw raw 0x3400 0x100 mmcpart 1; sysfw.itb.raw raw 0x3600 0x200000 mmcpart 1'
HOWEVER,
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -l
dfu-util 0.8
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Found DFU: [0451:6165] ver=0223, devnum=13, cfg=1, intf=0, alt=6, name="sysfw.itb.raw", serial="0000000000000449"
Found DFU: [0451:6165] ver=0223, devnum=13, cfg=1, intf=0, alt=5, name="u-env.raw", serial="0000000000000449"
Found DFU: [0451:6165] ver=0223, devnum=13, cfg=1, intf=0, alt=4, name="u-boot.img.raw", serial="0000000000000449"
Found DFU: [0451:6165] ver=0223, devnum=13, cfg=1, intf=0, alt=3, name="tispl.bin.raw", serial="0000000000000449"
Found DFU: [0451:6165] ver=0223, devnum=13, cfg=1, intf=0, alt=2, name="tiboot3.bin.raw", serial="0000000000000449"
Found DFU: [0451:6165] ver=0223, devnum=13, cfg=1, intf=0, alt=1, name="rootfs", serial="0000000000000449"
Found DFU: [0451:6165] ver=0223, devnum=13, cfg=1, intf=0, alt=0, name="rawemmc", serial="0000000000000449"
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -a tiboot3.bin.raw -D r5\tiboot3.bin
dfu-util 0.8
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0451:6165
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #2 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from PC to DFU device
Download [=========================] 100% 293818 bytes
Download done.
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -a tispl.bin.raw -D a53\tispl.bin
dfu-util 0.8
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0451:6165
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #3 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from PC to DFU device
Download [=========================] 100% 1137779 bytes
Download done.
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -a u-boot.img.raw -D a53\u-boot.img
dfu-util 0.8
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0451:6165
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #4 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from PC to DFU device
Download [=========================] 100% 947251 bytes
Download done.
state(7) = dfuMANIFEST, status(0) = No error condition is present
state(2) = dfuIDLE, status(0) = No error condition is present
Done!
D:\Tools\usb-dfu\mmcimage>dfu-util-static.exe -a rootfs -D tisdk-base.ext4
dfu-util 0.8
Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2014 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to dfu-util@lists.gnumonks.org
Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release!!!
Opening DFU capable USB device...
ID 0451:6165
Run-time device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Setting #1 ...
Determining device status: state = dfuIDLE, status = 0
dfuIDLE, continuing
DFU mode device DFU version 0110
Device returned transfer size 4096
Copying data from PC to DFU device
Download [ ] 2% 15216640 bytes failed!
state(10) = dfuERROR, status(14) = Something went wrong, but the device does not know what it was
The serial dump during load is:
setenv dfu_alt_info_emmc 'rawemmc raw 0 0x800000 mmcpart 1; rootfs part 0 1; tiboot3.bin.raw raw 0x0 0x400 mmcpart 1; tispl.bin.raw raw 0x400 0x1000 mmcpart 1; u-boot.img.raw raw 0x1400 0x2000 mmcpart 1; u-env.raw raw 0x3400 0x100 mmcpart 1; sysfw.itb.raw raw 0x3600 0x200000 mmcpart 1'
=>
=> setenv dfu_alt_info ${dfu_alt_info_emmc}
=> dfu 0 mmc 0
generic_phy_get_bulk : no phys property
###############DOWNLOAD ... OK
Ctrl+C to exit ...
########################################################DOWNLOAD ... OK
Ctrl+C to exit ...
###############################################DOWNLOAD ... OK
Ctrl+C to exit ...
###################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################################Request would exceed designated area!
#
I believe the problem is in how the eMMC is partitioned but this looks OK to me:
mmc@fa10000: 0
mmc@fa00000: 1
=> mmc part
Partition Map for MMC device 0 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type
1 2048 32768 7f9a6a4a-01 0e Boot
2 34816 31045632 7f9a6a4a-02 83
=> mmc info
What I'm looking into next is how u-boot environment variables are read on boot
and if this changed does what I think it should do. If I'm of in the weeds, please do tell.
setenv dfu_alt_info_emmc 'rawemmc raw 0 0x800000 mmcpart 1; rootfs part 0 1; tiboot3.bin.raw raw 0x0 0x400 mmcpart 1; tispl.bin.raw raw 0x400 0x1000 mmcpart 1; u-boot.img.raw raw 0x1400 0x2000 mmcpart 1; u-env.raw raw 0x3400 0x100 mmcpart 1; sysfw.itb.raw raw 0x3600 0x200000 mmcpart 1'
=>
=> setenv dfu_alt_info ${dfu_alt_info_emmc}
=> dfu 0 mmc 0
Thanks All.