(Yes, it may sound a bit existential, but it is in fact a real question.)
I recently obtained a Freedom Development board. After booting it up with the pre-installed firmware:
- U-Boot 2016.01LS1012A-SDK+g7944a94 (Aug 30 2016 - 13:13:19 +0800)
- Linux ls1012afrdm 4.1.8-rt8+g2511ec0 #1 SMP Tue Aug 30 13:15:03 CST 2016 aarch64 GNU/Linux
I thought I was ready to build and install updated firmware.
I followed the info in https://github.com/qoriq-open-source/yocto-sdk to create working repository on build machine, setup for ls1012afrdm and build fsl-image-networking. This all went well.
When attempting to download and boot from U-Boot, the tftp download of itbImage-fsl-image-networking-ls1012afrdm.bin continually error-ed with "Synchronous Abort" handler
The Getting Started guide (FRDM-LS1012AGSG.pdf) provides the steps for updating board images from prebuilt binaries on the ISO images. I mistakenly assumed that since the build had created the necessary files, I could use them instead of downloading an ISO image.
(There does not seem to be a kernel file (kernel-ls1212afrdm.itb) in the build output, but getting at least the RCW and U-Boot updated was a good first step- I would work on the kernel and rootfs later.)
The tftp download of the PBL_0x33_0x05_800_250_1000_default.bin file I built completed no problem and the sf commands completed OK.
However, now on reset my board does not come up.
After the fact, I came across a thread https://community.nxp.com/thread/459916 that indicate byte-swapping is required:
If you built RCW and u-Boot with bitbake, make sure you byte-swapped them before programming. Alternatively, use the most recent SDK pre-built u-Boot and RCW.
I subsequently came across a thread which stated that the need to byte-swap had been incorporated into the build process at some point, however, now I am unable to find that thread and cannot recall what that point was so I do not know if that change is in my build environment/repo.
I will be receiving my CodeWarrior tap and probe early next week and will attempt to recover the board using the information found in this comment (obtained from this thread; seems to be same/similar to info in this thread.)
I will start with a pre-built RCW and other binaries from the ISO to be safe.
But I would like to know what I need to do different to get my build (RCW and other binaries) to work.
- Do I need to do the byte-swap with the rocko branch of the qoriq yocto-sdk?
- Did I choose the wrong board (setup-env -m option)?
- Something else entirely?