Hello,
We have started using the CMSIS standard for distribution of some Software Components. For this we use the CMSIS conditions to ensure the correct components and their files are extracted from our CMSIS Pack files.
However one issue we have noticed is that there is no CMSIS condition attribute for "board" (e,g. "Dboard"). Currently we are not using the "BSP" section of CMSIS for describing our boards, but simply our Packs contain only software components. Then those components use conditions to filter according to compiler, device, and so on. (our packs intend to support multiple boards, and the conditions are intended to filter against the selected board for the current project). What we really could do with is a 'board' condition attribute too.
Is this likely to be introduced? Perhaps this is not the intended behaviour?
ThanksJames
Hello James,
thanks for posting your question here. To understand the background of your problem better, could you tell me why you would like to filter for a specific board? Usually, you require a specific microcontroller core and then you can adapt the SW to the specific needs of a certain device (IO pin settings etc.). What kind of software component are you creating?
Kind regards,
Christopher
Software Development Tools
Hi Christopher,
Thanks for your response. The way in which our Packs have been created is that a given software component may support multiple boards for the same device/core. So a software component may support 3 different boards for example, and we'd only like to extract the files from that component that match the given board (we already know the board based on the project in use).
e.g.
BSP
\ Board1 -> CM4
\ Board2 -> CM4
\ Board3 -> CM4
\ Board4 -> CM0 \ Board5 -> CM0
The above may be a component that supports a number of different boards, and we want to extract the files relevant to the given board.
It would be really useful if we could use a board-type condition that allows us to filter by board-type too.
Best regards
James
thanks for the explanation. At the moment, the only way to do this is using a bundle. You can then use the Cbundle in a condition to filter for a specific board. In the tutorial section of the documentation, there is an example for creating a BSP bundle: Pack with Board Support. Apart from that, we will consider your request for the next version of CMSIS.
Thanks for your reply. Unfortunately I don't think we can use bundle at the moment. Currently we only parse the Components and Conditions sections (we kept things simple, and based on an earlier parser) and also I think our colleagues might not be keen to change the Pack files that have already been developed. I think this would be some reasonable work for us.
However if you would consider the addition of a board condition in the next release it would be much appreciated.
Thank you.
Best regardsJames
I have already forwarded your request internally and it will be reviewed for the next release.
Kind regards and have a nice weekend,