In this blog, we'll take a look at how CMSIS-Pack is being integrated with TrueSTUDIO and Atmel Studio 7, two IDEs (integrated development environments) that are commonly used among embedded folks here at DMC.
But first...
What Is CMSIS-Pack?
The Hardware's capabilities and specs dominated device selection in the past. As 32-bit microcontrollers became cheaper, the number of viable hardware choices increased and other considerations, such as the software ecosystem, have taken on a larger role.
Enter CMSIS-Pack, an effort to help standardize and streamline the software ecosystem for ARM’s Cortex-M chips. The idea is to provide an interface for various vendors of the popular Cortex-M design to provide their software libraries, documentation, and example projects in a standardized, platform-independent format.
ARM describes CMSIS-Pack
"CMSIS-Pack: Describes with an XML based package description (PDSC) file the user and device relevant parts of a file collection (called software pack) that includes source, header, and library files, documentation, Flash programming algorithms, source code templates, and example projects. Development tools and web infrastructures use the PDSC file to extract device parameters, software components, and evaluation board configurations."
Such an effort depends heavily on whether vendors maintain their CMSIS-Pack libraries and keep them up-to-date. And while the standard is still quite new, several ARM software and hardware vendors have already begun adopting the CMSIS-Pack to various degrees, including Keil, Atmel, Atollic, and ST.
In this blog, we’ll take a quick look at the package managers available in the latest TrueSTUDIO and Atmel Studio 7 IDEs and how they incorporate CMSIS-Pack.
Pack Manager in TrueSTUDIO
CMSIS-Pack features were added in TrueSTUDIO v6.0.0 at the end of August last year. You can find the Pack Manager in TrueSTUDIO by typing in “Pack Manager” in the quick-access box.
Below is a sample of what the Pack Manager view can look like. A tree of vendors and their device offerings are on the left, and the associated Pack libraries, their installation status, and their update status are in the center.
When creating a new C/C++ project, you can choose to pull in the relevant CMSIS-PACK libraries into the project based on your chosen device using the "CMSIS C/C++ Project" option.
Pack Manager in Atmel Studio
CMSIS Pack support in Atmel Studio started in Atmel Studio 7.0, the latest version as of this writing. The Pack Manager can be found by going to Tools -> Device Pack Manager.
As was the case in TrueSTUDIO, the pack manager will show if new updates are available, in addition to what packs are available for which device. However, in Atmel Studio, the devices and packs are Atmel-specific, and new projects will automatically pull in the libraries of installed packs.
Final Notes
Vendors are not going to replace all the documentation and libraries on their websites with “Download the relevant CMSIS-Pack” messages anytime soon, and it’s still too early to tell if the standard will be go-to for Cortex-M development in the long run. But if support continues to grow and if enough vendors pull their weight to support their CMSIS-Pack libraries, it will almost certainly beat digging through vendor websites for the latest software and documentation.
Links
ARM CMSIS Standard
Learn More About DMC's Custom Hardware and Software Services.