Severson-Group / AMDC-Firmware

Embedded system code (C and Verilog) which runs the AMDC Hardware
http://docs.amdc.dev/firmware
BSD 3-Clause "New" or "Revised" License
33 stars 6 forks source link

Automate SDK workspace building #416

Open codecubepi opened 2 months ago

codecubepi commented 2 months ago

Retroactive issue creation... I have been seeking for some time a way to automate the somewhat arduous process of creating all the SDK projects. It tends to be a sticking point when onboarding new users.

I've found the Xilinx Software Command-line Tools (XSCT) Console to be pretty effective and have a rough pass at this idea on the sdk-config-script branch. It generates the BSPs with required libraries, and imports the app_cpu0 and app_cpu1 projects.

Unfortunately, I could not find a way to link the common/ code directory into app_cpu1, so users still have to do that themselves. Doing this sometimes breaks the include paths, but this is easy to fix by running:

git restore sdk/app_cpu1/.cproject

annikaolson commented 1 month ago

Helpful links: https://docs.amd.com/r/en-US/ug1400-vitis-embedded/XSCT-Commands https://users.ece.utexas.edu/~mcdermot/arch/articles/Zynq/ug1208-xsct-reference-guide.pdf https://adaptivesupport.amd.com/s/article/64200?language=en_US

TODO:

Restructure organization of SDK folder? - don't want to such that AMDC firmware repo can be used as a library

linking stuff into user app - look into committing code outside of AMDC firmware but still have it linked in

porting everything to newest version with vitus...still on 2019