You can also use "-o output.img" instead of "-device /dev/sd "Ĥ0 to create an image file and "dd" that to the uSD card.Ĥ1 Omitting the "-p" option will skip the partition table.Ĥ3 Now put this uSD card in the board and power it on. boot0img -device /dev/sd -e -u u-boot.bin -B boot0.img \ģ1 -d trampoline64:0x44000 -s bl31.bin -a 0x44008 -p 100ģ2 (either copying the respective files to the working directory or specifyingģ5 This will create a new partition table (with a 100 MB FAT boot partition),ģ6 copies boot0.img, ATF and U-Boot to the proper locations on the SD card andģ7 will fill in the magic Allwinner header to be recognized by boot0.ģ8 Prefix the above call with "sudo" if you don't have write access to theģ9 uSD card. $ export CROSS_COMPILE=aarch64-linux-gnu-Ģ2 $ export CROSS_COMPILE=aarch64-linux-gnu-Ģ4 The resulting binary is build/sun50iw1p1/debug/bl31.bin.Ģ6 Now put an empty (or disposable) micro SD card in your card reader and learnĢ7 its device file name, replacing /dev/sd below with the result (that couldģ0 $. Checkout theĢ1 "allwinner" branch from the github repository and build it: $ export CROSS_COMPILE=aarch64-linux-gun-ġ7 $ export CROSS_COMPILE=aarch64-linux-gnu-Ģ0 - You also need a compiled ARM Trusted Firmware (ATF) binary.
#Allwinner a33 firmware load from micro sd card code#
Upon reset the SoC startsĨ in AArch32 mode and executes 32-bit code from the Boot ROM (BROM).ġ3 - Get hold of a boot0.img file (see below for more details).ġ4 - Get the boot0img tool source from the tools directory in and compile board / sunxi / README.pine64Ĥ The Pine64(+) is a single board computer equipped with an AArch64 capable ARMv8Ħ This chip has ARM Cortex A-53 cores and thus can run both in AArch32ħ (compatible to 32-bit ARMv7) and AArch64 modes.