#+title: Installing Microchip Tools via podman or docker #+subtitle: This is a work in progress. It doesn't fully work yet. #+author: Penguin * Download the Libero and SoftConsole installers - Download Libero from [[https://ww1.microchip.com/downloads/secure/aemdocuments/documents/fpga/media-content/fpga/v2024-1/libero_soc_v2024.1_web_lin.zip][here]]. - Place it in ~./installers/~ - Download SoftConsole from [[https://ww1.microchip.com/downloads/secure/aemDocuments/documents/FPGA/media-content/FPGA/SoftConsole/v2022-2/Microchip-SoftConsole-v2022.2-RISC-V-747-linux-x64-installer.run][here]]. - Place it in ~./installers/~ Unzip libero: #+begin_src bash cd installers unzip Libero_soc_*.*_web_lin.zip cd .. #+end_src * [[https://docs.beagleboard.org/latest/boards/beaglev/fire/demos-and-tutorials/mchp-fpga-tools-installation-guide.html#request-a-libero-silver-license][Request a License from Microchip]] * Install the license #+begin_src bash :noeval mv /path/to/License.dat ./licenses/. #+end_src Open the license in a text editor and change these lines: #+begin_example SERVER 1702 DAEMON actlmgrd PATH/actlmgrd DAEMON mgcld PATH/mgcld VENDOR snpslmd PATH/snpslmd #+end_example to #+begin_example SERVER 1702 DAEMON actlmgrd /opt/microchip/Libero_SoC_v2024.1/Libero/bin64/actlmgrd DAEMON mgcld /opt/microchip/Libero_SoC_v2024.1/Libero/bin64/mgcld VENDOR snpslmd /opt/microchip/Libero_SoC_v2024.1/Libero/bin64/snpslmd #+end_example Your mac address should already be placed there so don't worry about that. * Edit the environment The environment script, located in =./scripts/env= contains the version of Libero and SoftConsole that you are installing. Change the versions to the correct versions if needed. The hostname of your *host* machine will be used by the container. We can use the following command to plop your hostname into the right places: #+begin_src bash :noeval sed -i "s//$(hostname)/g" ./scripts/env #+end_src * Usage ** Build the container + Launch the licensing daemon #+begin_src bash make daemon #+end_src ** Run Libero #+begin_src bash :noeval make run #+end_src ** Run libero from inside the container #+begin_src bash :noeval make debug libero #+end_src * Common Issues #+begin_example Authorization required, but no authorization protocol specified qt.qpa.xcb: could not connect to display :0 qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: xcb. #+end_example Fix: #+begin_src bash :noeval xhost +"local:podman@" #+end_src