Skip to content

Commit d4854d2

Browse files
committed
Gecko SDK 4.2.0
1 parent 2473f68 commit d4854d2

File tree

46,819 files changed

+13829517
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

46,819 files changed

+13829517
-0
lines changed

.properties

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
id=com.silabs.sdk.stack.super
2+
3+
version=4.2.0
4+
5+
label=Gecko SDK Suite
6+
description=Gecko SDK Suite
7+
8+
#names for the studio package manager
9+
pkg_label=Gecko Platform
10+
pkg_description=Silicon Labs Gecko Platform
11+
12+
#Build Information
13+
codeQuality=GA
14+
buildNumber=0
15+
16+
# Look in these locations for extra properties
17+
# note that the single .properties input is a hack so that this will work while the stacks are updated
18+
extendedProperties=app/bluetooth/bluetooth_esl.properties app/bluetooth/find_my.properties app/amazon/app_amazon.properties app/mcu_example/app_mcu.properties .studio/efm32.properties app/bluetooth/esf.properties app/btmesh/btmesh.properties app/flex/esf.properties extension/homekit/app/esf.properties app/common/app_common.properties platform/bootloader/esf.properties platform/halconfig/halconfig.properties platform/base/base.properties platform/micrium_os/micrium-krnx.properties protocol/openthread/esf.properties protocol/zigbee/esf.properties protocol/z-wave/esf.properties protocol/usb/usb.properties hardware/kit/kit.properties hardware/reference_design/ref_design.properties util/plugin/plugin.properties app/wisun/esf.properties util/third_party/tensorflow_extra/apack.properties extension/wiseconnect/esf.properties extension/matter_demo/matter.properties
19+
20+
# ISD options
21+
baseDirectory=platform/base
22+
23+
# Ensure protocols dont break board compatibility
24+
prop.boardCompatibility=.*
25+
26+
# ESF
27+
prop.requiredFeatureLevel=esf:2;app_framework:143
28+
prop.file.moduleDefinition=meta/modules.yaml
29+
prop.supportModules=true
30+
prop.useAdditionalLibraries=true
31+
32+
# (V)SE files
33+
prop.file.seFirmwareFolders=util/se_release/public

.studio/efm32.properties

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# General properties are prepended with "prop."
2+
prop.file.modulesFile=modules.xml
3+
4+
# Linker file for legacy genproject projects
5+
prop.file.gccLinkerScript=linkerScripts/linkerfile.ld
Lines changed: 220 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,220 @@
1+
/***************************************************************************//**
2+
* Linker script for Silicon Labs EFM/EFR/EZR devices
3+
*******************************************************************************
4+
* # License
5+
* <b>Copyright 2019 Silicon Laboratories Inc. www.silabs.com</b>
6+
*******************************************************************************
7+
*
8+
* SPDX-License-Identifier: Zlib
9+
*
10+
* The licensor of this software is Silicon Laboratories Inc.
11+
*
12+
* This software is provided 'as-is', without any express or implied
13+
* warranty. In no event will the authors be held liable for any damages
14+
* arising from the use of this software.
15+
*
16+
* Permission is granted to anyone to use this software for any purpose,
17+
* including commercial applications, and to alter it and redistribute it
18+
* freely, subject to the following restrictions:
19+
*
20+
* 1. The origin of this software must not be misrepresented; you must not
21+
* claim that you wrote the original software. If you use this software
22+
* in a product, an acknowledgment in the product documentation would be
23+
* appreciated but is not required.
24+
* 2. Altered source versions must be plainly marked as such, and must not be
25+
* misrepresented as being the original software.
26+
* 3. This notice may not be removed or altered from any source distribution.
27+
*
28+
******************************************************************************/
29+
30+
$MEMORY_SECTION
31+
32+
/* Linker script to place sections and symbol values. Should be used together
33+
* with other linker script that defines memory regions FLASH and RAM.
34+
* It references following symbols, which must be defined in code:
35+
* Reset_Handler : Entry of reset handler
36+
*
37+
* It defines following symbols, which code can use without definition:
38+
* __exidx_start
39+
* __exidx_end
40+
* __copy_table_start__
41+
* __copy_table_end__
42+
* __zero_table_start__
43+
* __zero_table_end__
44+
* __etext
45+
* __data_start__
46+
* __preinit_array_start
47+
* __preinit_array_end
48+
* __init_array_start
49+
* __init_array_end
50+
* __fini_array_start
51+
* __fini_array_end
52+
* __data_end__
53+
* __bss_start__
54+
* __bss_end__
55+
* __end__
56+
* end
57+
* __HeapBase
58+
* __HeapLimit
59+
* __StackLimit
60+
* __StackTop
61+
* __stack
62+
* __Vectors_End
63+
* __Vectors_Size
64+
*/
65+
ENTRY(Reset_Handler)
66+
67+
SECTIONS
68+
{
69+
.text :
70+
{
71+
KEEP(*(.vectors))
72+
__Vectors_End = .;
73+
__Vectors_Size = __Vectors_End - __Vectors;
74+
__end__ = .;
75+
76+
*(.text*)
77+
78+
KEEP(*(.init))
79+
KEEP(*(.fini))
80+
81+
/* .ctors */
82+
*crtbegin.o(.ctors)
83+
*crtbegin?.o(.ctors)
84+
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .ctors)
85+
*(SORT(.ctors.*))
86+
*(.ctors)
87+
88+
/* .dtors */
89+
*crtbegin.o(.dtors)
90+
*crtbegin?.o(.dtors)
91+
*(EXCLUDE_FILE(*crtend?.o *crtend.o) .dtors)
92+
*(SORT(.dtors.*))
93+
*(.dtors)
94+
95+
*(.rodata*)
96+
97+
KEEP(*(.eh_frame*))
98+
} > FLASH
99+
100+
.ARM.extab :
101+
{
102+
*(.ARM.extab* .gnu.linkonce.armextab.*)
103+
} > FLASH
104+
105+
__exidx_start = .;
106+
.ARM.exidx :
107+
{
108+
*(.ARM.exidx* .gnu.linkonce.armexidx.*)
109+
} > FLASH
110+
__exidx_end = .;
111+
112+
.copy.table :
113+
{
114+
. = ALIGN(4);
115+
__copy_table_start__ = .;
116+
117+
LONG (__etext)
118+
LONG (__data_start__)
119+
LONG ((__data_end__ - __data_start__) / 4)
120+
121+
/* Add each additional data section here */
122+
/*
123+
LONG (__etext2)
124+
LONG (__data2_start__)
125+
LONG ((__data2_end__ - __data2_start__) / 4)
126+
*/
127+
__copy_table_end__ = .;
128+
} > FLASH
129+
130+
.zero.table :
131+
{
132+
. = ALIGN(4);
133+
__zero_table_start__ = .;
134+
/* Add each additional bss section here */
135+
/*
136+
LONG (__bss2_start__)
137+
LONG ((__bss2_end__ - __bss2_start__) / 4)
138+
*/
139+
__zero_table_end__ = .;
140+
} > FLASH
141+
142+
__etext = .;
143+
144+
.data : AT (__etext)
145+
{
146+
__data_start__ = .;
147+
*(vtable)
148+
*(.data*)
149+
. = ALIGN (4);
150+
PROVIDE (__ram_func_section_start = .);
151+
*(.ram)
152+
PROVIDE (__ram_func_section_end = .);
153+
154+
. = ALIGN(4);
155+
/* preinit data */
156+
PROVIDE_HIDDEN (__preinit_array_start = .);
157+
KEEP(*(.preinit_array))
158+
PROVIDE_HIDDEN (__preinit_array_end = .);
159+
160+
. = ALIGN(4);
161+
/* init data */
162+
PROVIDE_HIDDEN (__init_array_start = .);
163+
KEEP(*(SORT(.init_array.*)))
164+
KEEP(*(.init_array))
165+
PROVIDE_HIDDEN (__init_array_end = .);
166+
167+
. = ALIGN(4);
168+
/* finit data */
169+
PROVIDE_HIDDEN (__fini_array_start = .);
170+
KEEP(*(SORT(.fini_array.*)))
171+
KEEP(*(.fini_array))
172+
PROVIDE_HIDDEN (__fini_array_end = .);
173+
174+
KEEP(*(.jcr*))
175+
. = ALIGN(4);
176+
/* All data end */
177+
__data_end__ = .;
178+
179+
} > RAM
180+
181+
.bss :
182+
{
183+
. = ALIGN(4);
184+
__bss_start__ = .;
185+
*(.bss*)
186+
*(COMMON)
187+
. = ALIGN(4);
188+
__bss_end__ = .;
189+
} > RAM
190+
191+
.heap (COPY):
192+
{
193+
__HeapBase = .;
194+
__end__ = .;
195+
end = __end__;
196+
_end = __end__;
197+
KEEP(*(.heap*))
198+
__HeapLimit = .;
199+
} > RAM
200+
201+
/* .stack_dummy section doesn't contains any symbols. It is only
202+
* used for linker to calculate size of stack sections, and assign
203+
* values to stack symbols later */
204+
.stack_dummy (COPY):
205+
{
206+
KEEP(*(.stack*))
207+
} > RAM
208+
209+
/* Set stack top to end of RAM, and stack limit move down by
210+
* size of stack_dummy section */
211+
__StackTop = ORIGIN(RAM) + LENGTH(RAM);
212+
__StackLimit = __StackTop - SIZEOF(.stack_dummy);
213+
PROVIDE(__stack = __StackTop);
214+
215+
/* Check if data + heap + stack exceeds RAM limit */
216+
ASSERT(__StackLimit >= __HeapLimit, "region RAM overflowed with stack")
217+
218+
/* Check if FLASH usage exceeds FLASH size */
219+
ASSERT( LENGTH(FLASH) >= (__etext + SIZEOF(.data)), "FLASH memory overflowed !")
220+
}

0 commit comments

Comments
 (0)