icestudio icon indicating copy to clipboard operation
icestudio copied to clipboard

feature: add cmsisdap interface to upload script

Open cwallace10 opened this issue 5 months ago • 5 comments

Is your feature request related to a problem? Please describe.

I have a number of colorlight 9 fpga's with the carrier boards that has usb jtag connection. it is supported by openfpgaloader.exe with cmsisdap

Describe the solution you'd like.

icestudio just needs a -c cmsisdap parameter passed instead of a fddi interface. I was thinking a new colorlight i9 board be added with this parameter, but I am not sure how to do that.

Describe alternatives you've considered.

I have made it work but is a real pain. I see that icestudio creates a new temp folder when it is uploaded. so I just go to the temp folder and run openfpgaloader with the correct parameters. This is difficult as each time a new random temp folder is generated.

Additional context

No response

cwallace10 avatar Jun 10 '25 06:06 cwallace10

Hi @cwallace10 , first we need to add this feature to apio.

@zapta , could you add this flag to apio and tell me to try it?

cavearr avatar Jun 10 '25 06:06 cavearr

Hi @cavearr, the feature requests was formalized for icestudio so we need to understand how it is translated to a feature request to apio, if at all. Can you explain what is the request from apio?

Currently Apio supports two methods of customization:

  1. Adding custom boards.jsonand/or programmers.jsonc in the project dir with the desired definitions.

https://github.com/zapta/apio-wiki-dev/wiki/custom-boards

  1. Using the programmer-cmd option in apio.ini which allow to override the programmer command template.

https://github.com/zapta/apio-wiki-dev/wiki/project-file#the-programmer-cmd-option

zapta avatar Jun 10 '25 13:06 zapta

Sorry @zapta, I didn't explain myself very well. The Colorlight i9 cards are widely used, there's quite a community, but not with JTAG mode. I'll try it in IceStudio with the custom options. I think it's a good idea, but to make it general for all users, I think it would be interesting to provide native support as a new card in Apio. If I can test that myself in IceStudio directly with a custom board and then make the pull request directly to Apio with the integration. The ball is in my court, forget it.

cavearr avatar Jun 10 '25 13:06 cavearr

Hi @cavearr, if its common, adding a board makes sense. Please add also an example or two https://github.com/FPGAwars/apio-examples/tree/master/examples that pass apio build, apio lint, apio sim and apio test. You can copy from the existing boards.

zapta avatar Jun 10 '25 14:06 zapta

... also, before you commit to the examples repo, please run ./update_reports.sh. It will run apio on all examples and will update the examples reports.

zapta avatar Jun 10 '25 14:06 zapta