Creating a Custom Board Support Package (BSP)

The Renesas Synergy™ Platform development kits are a great way to get a jump start on developing an embedded application. The development boards are readily available at an affordable cost but a development kit will only get a developer so far. At some point, production hardware needs to be used to finalize the application and test the end product. Adapting the software to work on custom hardware requires customizing the board support package (BSP). The BSP controls not only the hardware configuration such as the clocks and pins but also manages everything that happens in software from the moment power is applied until main is reached. In order to ease the transition from using the development kit to the end product hardware, there is a special tool called the “Custom BSP Creator” that can be used to create a custom BSP using an existing BSP as a starting point.





The Custom Board Creator is a simple command line tool that takes an existing BSP and uses it as a template for creating the custom BSP. The Custom Board Creator comes with two separate executables that are required in order to generate the BSP. The first, custom_bsp_creator.exe, is used to identify available BSP’s and create a base BSP. The Custom BSP Creator’s output is a file directory structure that contains all the files associated with the BSP. Since a developer will want to modify the BSP using e2 studio to ensure that clocks and pins are appropriately configured, a second tool needs to be used to convert the base BSP files into a pack that can be imported into the ISDE.


The Custom Pack Creator takes the base BSP and converts it into a template pack format that is readily accessible to the ISDE. The template pack has read/write permissions and once a new project is created using it, a developer can modify the pin configuration, clock tree and even add new source modules that will be added to the final BSP. Once all BSP changes have been completed, the Custom Pack Creator can once again be used to create a pack except this time a template is not created but a final pack is generated in order to make the BSP read-only. Once the final pack has been created, it can be distributed to the development team for use with the custom hardware.


Using the command line tools to customize a BSP is relatively straight forward but there are a few considerations that developers should keep in mind when using the tool. First, since this is a command line tool, I have found that it is easiest to use when the executables are placed directly into the e2_studio\internal\projectgen\arm\Packs directory. Placing the files there will prevent the need to continuously add long paths into the command line. Second, if the e2 Studio path is in the C directory, it might make sense to run the command line as an administrator to ensure the program has the privileges to create temporary files and folders. Finally, when using the executables, make sure e2 Studio is not open. Doing so can result in read/write permission errors that cause the tools to exit unsuccessfully.


There is so much more that can be done with customizing BSP’s such as adding custom code, modules and even framework components! In the next post, we will dive deeper and see how we can add these features to our custom BSP. In the mean-time,


Live long and profit!





Hot Tip of the Week


Download the Custom Board Support Package Creator from The tool comes with an application note that walks developers through the customization process.