Dear gods of the Gecko
I have really tried to find some documentation or tutorials on this issue, so can someone please point me in the right direction?
If I would like to port the Thunder Board example code onto another board, the BGM11s (BRD4303A). How do I do this? I realize it is not like the simple examples in which you just change board and part under C++ Build due to the difference in ports etc. But is there any guidance or recommended order to do it?
I have a large project based on Thunder Board example code and want to use it on my custom board based on BGM11s with somewhat similar board design as the Thunder Board. If there are any examples or tutorials on how to build a custom board file or similar I would be happy to hear about that too.
You can search the content of the Thunderboard project with keyword "gpioport" to find where the GPIO settings are defined. Majority of the peripheral pin mappings are under hardware\kit\EFR32MG12_BRD4166A\config\
Perhaps you should copy that folder (EFR32MG12_BRD4166A) and rename it to e.g. CUSTOM_BOARD. Then go through all pin mappings one by one and edit as needed / comment out those that are relevant for your custom board.
I think the least painful way to make port the code to your custom board would be:
1) create SoC-empty project for your custom board (set the part as BGM11s ). NOTE: BRD4303A is the radio board manufactured by Silabs, it is not the part number for BGM11S. BRD4303A is the small radio board that has BGM11S installed.
2) copy the Thunderboard Code on top of that project
3) rename the main() of the thunderboard code to e.g. main2() and call it from the main() of the soc-empty project
4) go though all the pin mappings as suggested in my previous reply
There's still some open questions, for example: how to copy the GATT database from the Thunderboard project to your new project. That could be doable by taking the gatt.xml file (it's autogenerated) from the TB project and then importing it to the graphical GATT editor in the new project. Or then copy each service by hand (I know it's a lot of work..)