This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Using ArmTF-Test SP/SPD with Juno

Hi experts  ,

I configured my Juno board as this instruction and my workspace is initialized by the script from that page too.

Now I met some unknown issues when setting secure timer for my board. I find the ARM-TF provides a test secure payload and they utilize the secure timer so I want to try this payload to confirm my board's timer works well.

In this case, I'm wondering can I still use the workspace I got to build the TSP for Juno board?

If I can, could you please give me some hints about how to modify the build scripts? If I can't, is there any other instructions about applying the TSP on Juno?

Thank you in advance.

Simon

Parents
  • Hi Simon,

    I had a quick bash at getting this to work with the existing workspace and this is what I came up with:

    1) Sync 64-bit Juno build from source Linux/Android workspace

    2) Build everything using `./build-scripts/build-all.sh all'

    3) Clean ARM Trusted Firmware:

            $ cd arm-tf/
            $ make realclean

    4) Create a build wrapper for ARM Trusted Firmware like this:

            #!/usr/bin/env bash
            CROSS_COMPILE=/path/to/gcc/bin/aarch64-elf- \
                    make PLAT=juno DEBUG=1 \
                    BL33=<workspace>/output/juno/components/juno/uboot.bin \
                    SCP_BL2=<workspace>/output/juno/components/juno_SILICON/scp-ram.bin \
                    SPD=tspd \
                    all fip

    And run it.

    5) Erase the Juno's Flash

    6) Mount the Juno's SD card, then delete everything off it

    7) Copy contents of `<workspace>/recovery/' onto Juno's SD card

    8) Copy contents of `<workspace>/output/juno/juno-busybox/uboot/' to the `/SOFTWARE/' folder on the Juno's SD card

    9) Copy these two files to the `/SOFTWARE/' folder on the Juno's SD card:

            <workspace>/arm-tf/build/juno/debug/bl1.bin
            <workspace>/arm-tf/build/juno/debug/fip.bin

    10) Issue a `sync' command on your host PC

    11) Reboot the Juno

    A few things to note:

    • This isn't using exactly the same settings as the proper Linaro workspace as I didn't bother generating certificates etc
    • This successfully booted on the Juno for me, but I'm not in the office right now so cannot verify whether the TSPD is functioning as I don't have physical access to the board (if I recall correct it echoes PSCI commands to the bottom UART)

    Also you may want to automate the copying of the components on to the SD card as it's a bit cumbersome.

    Hope that helps,
    Ash.

Reply
  • Hi Simon,

    I had a quick bash at getting this to work with the existing workspace and this is what I came up with:

    1) Sync 64-bit Juno build from source Linux/Android workspace

    2) Build everything using `./build-scripts/build-all.sh all'

    3) Clean ARM Trusted Firmware:

            $ cd arm-tf/
            $ make realclean

    4) Create a build wrapper for ARM Trusted Firmware like this:

            #!/usr/bin/env bash
            CROSS_COMPILE=/path/to/gcc/bin/aarch64-elf- \
                    make PLAT=juno DEBUG=1 \
                    BL33=<workspace>/output/juno/components/juno/uboot.bin \
                    SCP_BL2=<workspace>/output/juno/components/juno_SILICON/scp-ram.bin \
                    SPD=tspd \
                    all fip

    And run it.

    5) Erase the Juno's Flash

    6) Mount the Juno's SD card, then delete everything off it

    7) Copy contents of `<workspace>/recovery/' onto Juno's SD card

    8) Copy contents of `<workspace>/output/juno/juno-busybox/uboot/' to the `/SOFTWARE/' folder on the Juno's SD card

    9) Copy these two files to the `/SOFTWARE/' folder on the Juno's SD card:

            <workspace>/arm-tf/build/juno/debug/bl1.bin
            <workspace>/arm-tf/build/juno/debug/fip.bin

    10) Issue a `sync' command on your host PC

    11) Reboot the Juno

    A few things to note:

    • This isn't using exactly the same settings as the proper Linaro workspace as I didn't bother generating certificates etc
    • This successfully booted on the Juno for me, but I'm not in the office right now so cannot verify whether the TSPD is functioning as I don't have physical access to the board (if I recall correct it echoes PSCI commands to the bottom UART)

    Also you may want to automate the copying of the components on to the SD card as it's a bit cumbersome.

    Hope that helps,
    Ash.

Children