-
Notifications
You must be signed in to change notification settings - Fork 136
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[for discussion] Allow to define custom boards and FPGAs. #384
Comments
I will answer all your pending questions when I finish releasing Icestudio 0.12. Once it is done, we will start a new cycle and we can rethink apio/icestudio |
Sounds good. Ping me when you will be ready. For Apio, I believe that Platformio provides a simple and proven model. Down the road, it would be great to have also a Visual Studio Code plugin that takes care of the installation and software update, similar to Platformio. |
Hi Juan, Any thoughts on have APIO searching for boards.json first in the project page? This will allow users to use custom boards, like the one below (a custom upduion31 with FT2232 USB interface) without having to add command line args. I can implement it. (That custom board is too nichey IMO to be added to the standard boards.json)
|
@Obijuan, any thoughts? |
Sent for review a pull request that implements this feature. |
The feature is submitted and will be included in next APIO release. Currently it is enabled for boards.json and fpga.json. If you add boards.json and/or fpga.json files in your project directory, APIO will use them instead of the built in ones. Typically the custom files contain only the definitions that are actually used in the project but this is not requirement. The stock boards.json and fpga.json can be found here https://github.com/zapta/apio_dev/tree/develop/apio/resources and can be used as a starting point for the custom files. In the example, this boards.json file defines an upduino3.1 with an FT2232 programmer instead of the standard FT232. The regex
|
TL'DR, allow the user to have custom boards.json and fpgas.json in the project, replacing the current flags such as
--size
and--pack
.This is somewhat related to issue 357 which deals with eliminating the command line flags such as
--board
,--size
, and--pack
and making apio.ini the required and the source of truth.The idea here follow's PIO's way of customizing board definitions, linking scripts and so on. Instead of having a large number of overriding flags in pio.ini, the user can simply add their custom boards or ld file in the project and pio picks it instead of the stock ones.
https://github.com/FPGAwars/apio/blob/develop/apio/resources/boards.json
https://github.com/FPGAwars/apio/blob/develop/apio/resources/fpgas.json
More specific to apio:
board
will stay in apio.ini as it's now but will got away from the command line.--pack
and--size
will go away and will not move to apio.ini.Rationale,
Cons,
Juan, any thoughts? I can work on it as part of the transition.
The text was updated successfully, but these errors were encountered: