How do I change the heap size for Thread applications in Simplicity Studio™?
.map file before modification:
.emheap 0x20000000 0x1f40 0x20000000 PROVIDE (__EMHEAP__begin, .) *(.emheap .emheap.*) .emheap 0x20000000 0x1f40 ./stack/thread-stack/ember-ip-configuration.o 0x20000000 heapMemory [!provide] PROVIDE (__EMHEAP__end, .) 0x00001f40 PROVIDE (__EMHEAP__size, SIZEOF (.emheap)) 0x20001f40 . = (RAM_BOTTOM + MAX (SIZEOF (.resetinfo), SIZEOF (.emheap))) 0x20001f40 PROVIDE (__EMHEAP_OVERLAY__end, .) [!provide] PROVIDE (__EMHEAP_OVERLAY__size, MAX (SIZEOF (.resetinfo), SIZEOF (.emheap)))
As you can see the size of the .emheap is 0x1f40 in hexadecimal which is exactly the default 8000 in decimal.
.map file after rebuilding with the modified value (I used 9000)
.emheap 0x20000000 0x2328 0x20000000 PROVIDE (__EMHEAP__begin, .) *(.emheap .emheap.*) .emheap 0x20000000 0x2328 ./stack/thread-stack/ember-ip-configuration.o 0x20000000 heapMemory [!provide] PROVIDE (__EMHEAP__end, .) 0x00002328 PROVIDE (__EMHEAP__size, SIZEOF (.emheap)) 0x20002328 . = (RAM_BOTTOM + MAX (SIZEOF (.resetinfo), SIZEOF (.emheap))) 0x20002328 PROVIDE (__EMHEAP_OVERLAY__end, .) [!provide] PROVIDE (__EMHEAP_OVERLAY__size, MAX (SIZEOF (.resetinfo), SIZEOF (.emheap)))
As you can see the size of the .emheap changed to 0x2328 in hexadecimal which is exactly the 9000 in decimal value I set.
This KBA deals with locating and downloading the wireless mesh stacks. If you are looking for information on getting access to the stacks, go here.
Once you have registered and gotten access to our wireless mesh stacks, you can download the stacks in one of two places. First is Simplicity Studio v4 the second is the support portal. The stack version you are looking will make a difference on your download method.
If you are looking for earlier stacks, prior to and including EmberZNet 5.7.1 use the support portal to download them.
If you are looking for the latest stacks, specifically stacks from EmberZNet 5.7.2 and later, use Simplicity Studio v4.
Simplicity Studio v4 allows for easy integration of the stacks within the development tools. Using the easy to use Package Manager, you can quickly download stacks and have them ready to use within just a few minutes.
To download the stacks, you first need to go to the Launcher perspective of Studio and click on the Update Software button which can be found in the tool bar.
The stacks appear in the SDK Tab of the package manager (you might need to click through the Installation Manager windows to get to this page).
Within this tab you can find all of the available stacks for you. They are sorted by categories. The view allows you to see all categories or just narrow down to a single category, like EmberZNet or Thread. You can also choose which versions you want, looking at just the latest, all available versions or the ones you have installed. You can also look at the versions which match a version of the Gecko Suite, so you will have the matched versions of different stacks.
If you have access to unreleased stack versions, certain beta stacks can be found within the Early Access tab.
Be mindful that not every stack is available through Simplicity Studio, only stacks from around mid-2016. Most components like ECC Libraries are also not found within Studio either. For these you will need to locate them within the support portal.
If you want to install the stacks separately from Studio or are looking to locate for packages that are not available within Studio, you can locate them within the support portal. This includes older software like the ISA3 Utilities and Ember Desktop.
To locate these, you will need to log into your portal account and click on the Software Releases tab within your account. From there you can use the pulldown menu to change display options, the All Software tab shows everything if you are looking for that.
Contact support with any questions or problems.
If the isd file is too big, Simplicity Studio can't open the whole file directly. but you can use the below way to open the selected interval of the isd file.
1. open the isd file with Simplicity Studio, it shows as below.
2. disable the "Auto-zoom' option.
3.drag the mouse from start timestamp to the end timestamp to select the interval.
4. click Open interval button, the selected interval of the isd file will be opened.
5.Click the "Save Segments" to save this segment of the packet trace.
This KBA works with:
Optional features and preference changes in Simplicity Studio.
Always sign-in to gain access to resources on the silabs.com website
Disable automatic updates so that a check for updates does not happen every time Simplicity Studio is opened. This speeds up startup. Go to Window -> Preferences and search for "updates".
Enable viewing "heap status" in bottom of Simplicity Studio bar.
Disable SDKs not being used to improve Simplicity Studio performance.
Enable "Show line numbers" in source code.
Enable folding of #if/#ifdef's and if/else, do/while, for, switch statements in source code.
Manually check for updates click the "Update Software" icon/button.
Disable "Targets" not used.
If updates do not work, local firewall could be blocking access to Silicon Labs update site.
Increase the heap size in Simplicity Studio to increase performance by changing XMx value in studio.ini
Automatically save capture with network key.
This KBA deals with getting access to the wireless mesh stacks. If you are looking for information on downloading the stacks, go here.
Silicon Labs is the vendor of choice for OEMs developing Zigbee and Thread networking into their products by providing reliable, low-power, secure, and scalable networking solution for connecting Things to the IoT. The Silicon Labs EmberZNet platform is the most integrated, complete and feature rich Zigbee solution available. While the Silicon Labs Thread platform is a proven IPv6-based mesh networking protocol. Both solutions help accelerate time to market with the most reliable, scalable and advanced Zigbee and Thread software, supported by best-in-class development tools.
Requirements for Stack Access
Access to our wireless mesh stacks requires the purchase of one of our full mesh networking development kits (such as the EFR32 Mighty Gecko Wireless Starter Kit or the EM35x Mesh Networking Development Kit) or being a contract manufacturer for an existing customer (contact your FAE for these requests).
This does not include non-mesh wireless development kits, like the Flex Gecko or Blue Gecko kits. And unfortunately at this time, the Thunderboards (React, Sense and Sense 2), ETRX Development Kits and the Connected Home Reference Designs do not grant access to our stacks.
It is important for customers to have one of Silicon Labs development kits as they provide a complete mesh networking platform environment to develop and deploy successful ZigBee and Thread applications. With multiple nodes you can develop a complete mesh network and the WSTK development boards provide a full JTAG debugging and programming solution.
Unlocking stack access
First locate your development kit software serial number. The location of the serial number depends on your development kit:
Once you have located the serial number, you can register you kit in one of two ways:
1. In the support portal
Log in to your portal account and register your software serial number at: https://siliconlabs.force.com/KitRegistration
2. In Simplicity Studio
Download and install Simplicity Studio v4.
From the launcher view, the Sign In menu includes a Kit Registration option. Fill in your portal registration information along with your kit serial number.
Downloading the Stacks
Once you have registered your kit, the stacks will be instantly available to you. See this KBA for information on downloading them.