Procedures of flashing the EDK2 firmware

Johann
Johann New Member Posts: 5

Greetings,

I have a I2C device with Windows 10 device driver. To use the device, it seems that I have to create an entry in the UEFI BIOS first.

The problem is : I can't find a way to add device with the firmware that I downloaded from the UP-Community website.

(1) On the Bios Update page of Up-Community website, it says that the board supports Open Source UEFI BIOS.
https://wiki.up-community.org/Bios_Update#Open_Source_UEFI_bios
https://firmware.intel.com/projects/IntelAtomProcessorE3900
(2) I've follow the guide on that page to build the firmware file "UPBOA_X64_R_0071_01_GCC.bin".
(3) I am stocked at flashing the new firmware to UP2 board. Here's what I have tried:

[A] Use the Intel Firmware Update Utilities "FirmwareUpdateX64.efi" : Failed
=> I run the command : "FirmwareUpdateX64.efi UPBOA_X64_R_0071_01_GCC.bin"
=> The utility returns : "SPI Protocol is not found."

[B] Use the AMI BIOS utility "afuefix64.efi" : Failed
=> I run the command : "afuefix64.efi UPBOA_X64_R_0071_01_GCC.bin"
=> The utility returns : "3 - Error: ROM file size does not match existing BIOS size."

(4) I've noticed that the firmware sizes are different

UPBOA_X64_R_0071_01_GCC.bin : 8MB
UPA1AM40.bin : 16MB

Does anyone have successfully flashed the UP2 board with EDK2 UEFI images? I wonder if there are options of "afuefix64.efi" that I can use to allow updating a 8MB size firmware?
I'd appreciate if you can share some thoughts.

Thank You ^^

Tagged:

Comments

  • avinok1978
    avinok1978 New Member Posts: 4

    I am afraid you need SF100 or SF600 to program the bios, at least I am using SF100 and can flash custom bios on it

  • deimos
    deimos New Member Posts: 12

    Did you find a solution? I am currently trying this exact sequence and running into the same issue. I have a hardware programmer (ch341a), but I am hesitant to use it since I too am perplexed by the fact that the EDK build outputs an 8MB image even though the capacity is 16MB.

  • deimos
    deimos New Member Posts: 12
    edited May 2020

    Update: I've gotten the intel prebuilt firmware image running on my UP2 board. I appended 8MB of 0xFF bytes to make it 16MB. I did this because like the AMI utility, the flashrom app complains about size mismatch. I used a ch341a HW programmer which I highly recommend; so much cheaper than those overly priced dediprogs. I thought it failed at first because it took a while to boot, but it did work after a minute or two (especially long if debug build). Anyway, once you get one of these images installed, it will allow you to run the FirmwareUpdateX64 efi application. And this app doesn't care about size mismatch, so you no longer will need to append it.

    Just make sure you are using the right voltage for your HW programmer. The ch341a programmer (maybe all?) uses a higher voltage (i forget how much), but I bought a 1.8V adapter for it; also cheap and readily available.

  • tylor_yang
    tylor_yang New Member Posts: 5
    edited January 19

    There maybe a way to flash without HW programmer by deimos and Johann reply.

    By Johann's report, the afuefix64.efi tool:
    Could use to program the flash without programmer,
    but it encounter the problem of size unmatch.
    This problem may use deimos solution to append 8MB 0xFF at the end of official Intel FW to reach 16MB.
    And use

    afuefix64.efi [FW.bin] /X 
    

    To bypass ID check.

    I'll try this when I got the board.

Tagged