Steps to share a BSP in MTB2.3

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ChCh_3584941
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

I have been trying to figure out how to add a custom BSP as shared resource visible in the Library Manager and Project Creator. 

I am able to successfully create the BSP inside a specific application, (Ref: KBA 231373) but have not found clear instructions to add the BSP as  a TARGET in the shared location (..\mtb_shared\wiced_btsdk\dev-kit\bsp) and make it visible to the tools as mentioned above.  Both KBA 231373 and the MTB User Manual refer to the 'Manifest' chapter of the User Manual, but I do not see clear instructions there.

Setup:  ModusToolBox 2.3 using BTSDK with CYW20719B2 Chip.  

0 Likes
1 Solution
ChCh_3584941
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

In the end, we have decided to use a different approach from making the custom BSP visible through the ModusToolbox Tool. 

 Our actual goals in this case were:

1) to be able to easily select between three possible IO Pin configurations / BSPs for the build TARGET within a project

2) Easily share the BSPs between different projects.

In ModusToolbox 2.1, this was easily accomplished by simply creating a properly formatted BSP in the mtb_shared directory ( ..\wiced_btsdk\dev-kit\bsp) and adding that as a TARGET in the project's makefile.  In this case the BSPs could be individually version controlled through git and were available to any project within the workspace.

To accomplish similar functionality in MTB2.3, we have opted to include the BSPs as git submodules within the desired projects.  This allows TARGET selection simply by editing the project makefile (similar to MTB 2.1), the BSPs can be version controlled in git and shared among different projects.  The only draw-back is that each project generates a copy of the BSPs in the local file system.  

View solution in original post

0 Likes
5 Replies
lock attach
Attachments are accessible only for community members.
AlenAn14
Moderator
Moderator
Moderator
500 replies posted 100 solutions authored 250 replies posted

Hi @ChCh_3584941 ,

I have attached a document describing the steps I followed to bring my custom BSP to library manager and project creator here.

Note: It is not possible to add your custom BSP to Infineon GitHub but the same can be done by modifying the manifest files to make MTB get the custom BSP that you have commited to your Github Repo. The steps for this is given in the document. This will display your custom BSP along with existing Infineon BSPs in the project creator and library manager

Do get back to me if you have any doubts regarding this.

Hope the document helps.

0 Likes
ChCh_3584941
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

Thanks @AlenAn14 , I will see if I can make this work.  

Is it possible to have the manifest reference in files directly in my local file system?  It seems a bit counterintuitive that I create the BSP on my local machine, but need to put it on a remote server so that the MTB tools can load it back to my machine

0 Likes
AlenAn14
Moderator
Moderator
Moderator
500 replies posted 100 solutions authored 250 replies posted

Hi @ChCh_3584941 ,

You can have the super manifest file in your local PC and in this case, you have to set the environment variable, CyRemoteManifestOverride, with the path to this super manifest file and MTB will detect it without any issues.
As for the BSP manifest links inside the super manifest file, I have not tried replacing it with  a local PC path to a BSP manifest file present in a local folder. You can try this out and see if its detecting. The same goes  for your custom BSP path that you choose to keep in the BSP manifest file.

Let me know how this turns out.

0 Likes
ChCh_3584941
Level 4
Level 4
50 sign-ins 25 replies posted 25 sign-ins

In the end, we have decided to use a different approach from making the custom BSP visible through the ModusToolbox Tool. 

 Our actual goals in this case were:

1) to be able to easily select between three possible IO Pin configurations / BSPs for the build TARGET within a project

2) Easily share the BSPs between different projects.

In ModusToolbox 2.1, this was easily accomplished by simply creating a properly formatted BSP in the mtb_shared directory ( ..\wiced_btsdk\dev-kit\bsp) and adding that as a TARGET in the project's makefile.  In this case the BSPs could be individually version controlled through git and were available to any project within the workspace.

To accomplish similar functionality in MTB2.3, we have opted to include the BSPs as git submodules within the desired projects.  This allows TARGET selection simply by editing the project makefile (similar to MTB 2.1), the BSPs can be version controlled in git and shared among different projects.  The only draw-back is that each project generates a copy of the BSPs in the local file system.  

0 Likes

Hi @ChCh_3584941 ,

Thank you for sharing this work around using git submodules to contain the custom BSP's.

Thank you for using our products and feel free to approach the Infineon Community again in case you face any issues or have queries regarding our products.

Regards,
Alen

0 Likes