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
30 stars 5 forks source link

Pull FreeRTOS kernel into AMDC v2 Codebase #327

Closed codecubepi closed 8 months ago

codecubepi commented 9 months ago

Split from #320

codecubepi commented 9 months ago

Creating FreeRTOS Platform in Xilinx SDK

These were the steps I used:

  1. Follow AMDC Building Firmware Tutorial as Normal
  2. Open Vivado, Run TCL script, Generate Bitstream, Export Hardware, all as normal
  3. Open SDK
  4. CHANGE: When creating BSPs for CPU0 and CPU1, select freertos10_xilinx instead of standalone. Name the BSPs amdc_freertos_bsp_cpu0 and amdc_freertos_bsp_cpu1
  5. Then follow the FreeRTOS Xilinx SDK tutorial to make a Hello, World! program here at creating an application project
  6. File > New > Application Project, Name is freertos-hello-world
  7. MAKE SURE OS Platform is changed to freertos10_xilinx
  8. Verify correct hardware platform and processor are selected under Target Hardware
  9. Under Target Software, choose to use one the newly-created BSP (for the CPU selected above), instead of creating a new one.
  10. Click Next
  11. Choose the template for FreeRTOS Hello World and click Finish
  12. Import existing AMDC Projects into workspace
    • Will need to fix the common issues
    • Will also need to change all references to the BSPs in the app_cpu0, app_cpu1, and basic projects
codecubepi commented 9 months ago

Next

Project compiles in Xilinx SDK, but when I try to set the Hello, World program to run on CPU1, and flash to the AMDC, I cannot tell if it's working.

What will I need to do to the FreeRTOS base code and the existing AMDC code to integrate them?

codecubepi commented 2 days ago

Note that this method of integrating FreeRTOS via the BSP has been replaced by integrating in the application layer, by adding the FreeRTOS submodule.

See #347 and #351.