This guide assumes that we are starting from ground zero (essentially a new Project), but it is applicable at any state of a Project.
This tutorial will walk through the typical process of creating a Software Type and Software Version and uploading a build's Symbol files (.elf) to Memfault to symbolicate Traces and Coredumps.
- The logged in user must already be part of an Organization
- A Project must already be created
- Have a Symbol file ready to upload
Create a Software Type
We'll first want to create a Software Type. The "Software Type" is used to identify the separate pieces of software running on a given device. More information on this concept can be read here.
Let's assume our product only has a single micro-controller with one main
firmware binary. Let's create a Software Type for this piece of software called
Select the desired Project from the left sidebar dropdown
Select Software in the left sidebar
Click New Software Type in the top right corner
Input the name of the Software Type, assuring that it only contains alphanumeric characters, spaces, hyphens, dots, plus signs and underscores
Click Create You've now created a new Software Type. Now we're ready to move on and create a Software Version "under" this Software Type:
Create a Software Version
Let's assume we'll want to create Software Version
1.0.0 for Software Type
mcu-main-fw which we created in the previous section above. We'll upload the
Symbols (.elf file) for the particular Software Version. Adding a
"symbol" file artifact will allow Memfault to symbolize crashes and events.
Select Software in the left sidebar and locate
mcu-main-fwin the list.
mcu-main-fw's row, click
... versionsin the Versions column table.
Click New Version
Select symbols from the Type dropdown.
1.0.0as the Version.
Click Select File and find the .elf symbol file on your computer.
In the table of versions for
mcu-main-fw, you will now see the newly created
Traces (coredumps or events) that refer to
mcu-main-fw/1.0.0can now be symbolized correctly by Memfault!
You can also use the HTTP API to create Software Types and Versions and upload symbols files, which is useful if you want to automatically upload them from a build server. Take a look at the HTTP API documentation to learn more.