From 631503a1876ea0d28a60af53963522e945e9aa69 Mon Sep 17 00:00:00 2001 From: Alex Kaplan Date: Sat, 9 Jan 2016 22:31:57 -0800 Subject: [PATCH 1/2] changed to 4 MB padding also in chip-flash to prevent bit flips --- chip-flash | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/chip-flash b/chip-flash index 7d6bc5c..a384bb8 100755 --- a/chip-flash +++ b/chip-flash @@ -103,7 +103,7 @@ SPL="$BUILDROOT_OUTPUT_DIR/images/sunxi-spl.bin" SPL_MEM_ADDR=0x43000000 UBOOT="$BUILDROOT_OUTPUT_DIR/images/u-boot-dtb.bin" PADDED_UBOOT="$TMPDIR/padded-uboot" -PADDED_UBOOT_SIZE=0xc0000 +PADDED_UBOOT_SIZE=0x400000 UBOOT_MEM_ADDR=0x4a000000 UBI="$BUILDROOT_OUTPUT_DIR/images/rootfs.ubi" SPARSE_UBI="${TMPDIR}/rootfs.ubi.sparse" @@ -126,17 +126,17 @@ prepare_images() { exit 1 fi - PADDED_SPL_SIZE=$(filesize "${PADDED_SPL}") + PADDED_SPL_SIZE=$(filesize "${PADDED_SPL}") PADDED_SPL_SIZE=$(($PADDED_SPL_SIZE / ($PAGE_SIZE + $OOB_SIZE))) PADDED_SPL_SIZE=$(echo $PADDED_SPL_SIZE | xargs printf "0x%08x") log "PADDED_SPL_SIZE=$PADDED_SPL_SIZE" - # Align the u-boot image on a page boundary - dd if="$UBOOT" of="$PADDED_UBOOT" bs=16k conv=sync - UBOOT_SIZE=`filesize "$PADDED_UBOOT" | xargs printf "0x%08x"` + # Align the u-boot image on block boundary + dd if="$UBOOT" of="$PADDED_UBOOT" bs=4MB conv=sync + UBOOT_SIZE=`filesize "$PADDED_UBOOT" | xargs printf "0x%08x"` log "UBOOT_SIZE=${UBOOT_SIZE}" log "PADDED_UBOOT_SIZE=${PADDED_UBOOT_SIZE}" - dd if=/dev/urandom of="$PADDED_UBOOT" seek=$((UBOOT_SIZE / 0x4000)) bs=16k count=$(((PADDED_UBOOT_SIZE - UBOOT_SIZE) / 0x4000)) + dd if=/dev/urandom of="$PADDED_UBOOT" seek=$((UBOOT_SIZE / 0x4000)) bs=16k count=$(((PADDED_UBOOT_SIZE - UBOOT_SIZE) / 0x4000)) } prepare_uboot_script() { From 29ef066b3ed3e7f04e165258dfa70c158d6380db Mon Sep 17 00:00:00 2001 From: computermouth Date: Fri, 15 Jan 2016 17:31:03 -0800 Subject: [PATCH 2/2] Added reset to uboot.scr for fel flashes, triggers wait_for_linux properly now if METHOD=fel --- chip-fel-flash.sh | 15 ++++++++++++++- chip-update-firmware.sh | 12 ++++++------ 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/chip-fel-flash.sh b/chip-fel-flash.sh index ffb6780..c9f0292 100755 --- a/chip-fel-flash.sh +++ b/chip-fel-flash.sh @@ -131,7 +131,11 @@ prepare_uboot_script() { echo "echo " >>"${UBOOT_SCRIPT_SRC}" echo "echo *****************[ FLASHING DONE ]*****************" >>"${UBOOT_SCRIPT_SRC}" echo "echo " >>"${UBOOT_SCRIPT_SRC}" - echo "while true; do; sleep 10; done;" >>"${UBOOT_SCRIPT_SRC}" + if [[ "${METHOD}" == "fel" ]]; then + echo "reset" + else + echo "while true; do; sleep 10; done;" >>"${UBOOT_SCRIPT_SRC}" + fi fi mkimage -A arm -T script -C none -n "flash CHIP" -d "${UBOOT_SCRIPT_SRC}" "${UBOOT_SCRIPT}" @@ -204,4 +208,13 @@ else fi fi +if [[ "${METHOD}" == "fel" ]]; then + if ! wait_for_linuxboot; then + echo "ERROR: could not flash": + rm -rf $(TMPDIR) + exit 1 + else + ${SCRIPTDIR}/verify.sh + fi +fi rm -rf "${TMPDIR}" diff --git a/chip-update-firmware.sh b/chip-update-firmware.sh index 28795f0..0c26349 100755 --- a/chip-update-firmware.sh +++ b/chip-update-firmware.sh @@ -149,11 +149,11 @@ cache_download "${FW_IMAGE_DIR}" ${BR_URL} u-boot-dtb.bin BUILDROOT_OUTPUT_DIR="${FW_DIR}" ${FLASH_SCRIPT} ${FLASH_SCRIPT_OPTION} || echo "ERROR: could not flash" && exit 1 -if ! wait_for_linuxboot; then - echo "ERROR: could not flash" - exit 1 -else - ${SCRIPTDIR}/verify.sh -fi +#if ! wait_for_linuxboot; then +# echo "ERROR: could not flash" +# exit 1 +#else +# ${SCRIPTDIR}/verify.sh +#fi exit $?