hex-five / multizone-sdk

MultiZone® Security TEE is the quick and safe way to add security and separation to any RISC-V processors. The RISC-V standard ISA doesn't define TrustZone-like primitives to provide hardware separation. To shield critical functionality from untrusted third-party components, MultiZone provides hardware-enforced, software-defined separation of multi
https://hex-five.com/multizone-security-tee-riscv/
Other
79 stars 24 forks source link

Resources for building the .mcs file with the SoC + multizone-firmware #55

Closed elenaf9 closed 1 year ago

elenaf9 commented 1 year ago

I am having some issues with OpenOCD that are causing the make load for my Arty 35T to fail. Most likely related to my local setup, but quite difficult to debug.

However, loading the pre-build .msc file to the board with Vivado works. I was wondering if there are any resources on how to build this file, so that I can use it as an alternative for building an loading the SoC + firmware without using OpenOCD.

cgarlati commented 1 year ago

Hi Elena:

You can use Vivado to merge bitstream and firmware into the .msc file. However, that would not help with development as you still need openOCD for debugging. Try with a different board, a different Olimex head, a different USB port/hub, or a different PC/stack, and triple check jumpers and orientation of the Olimex connection.

Also take a look at https://github.com/hex-five/multizone-fpga/issues/1 https://github.com/hex-five/multizone-sdk/issues/48 https://github.com/hex-five/multizone-sdk/issues/49

If all fails, post a complete detailed description of your configuration and I'll help you debug the issue.

elenaf9 commented 1 year ago

Thank you @cgarlati. Turns out we had the jumpers wrong because we are using an extra ribbon cable with the olimex head, and thus needed to mirror the pinout:

Details in case anybody else stumbles across this (Female-to-female ribbon cable) If one side is connected with the Olimex head, the pinout on the other side needs to be like the below table. _(Please ignore that due to formatting the first row is marked as table head - it doesn't have a meaning and is simply the first row._ ) Note that the Notch is on the **right side** here. 2 : VREF (brown) | 1 : VREF (red) | - -|-|- 4 | 3 : nTRST (orange) | 6 | 5 : TDI (yellow) | 8 | 7 : TMS (green) | 10 | 9 : TCK (blue) | NOTCH 12 | 11 | NOTCH 14 : GND (black) | 13 : TDO (purple) | 16 : GND (white) | 15 : nRST (grey) | 18 | 17 | 20 | 19 |

Sorry for the noise.