mirror of https://github.com/ARMmbed/mbed-os.git
Enable Compiling with ARMC6 across all targets
remove duplicate sys.cpppull/4949/head
parent
922bf1b619
commit
15a9a0382b
|
@ -34,7 +34,12 @@
|
||||||
#include "platform/mbed_retarget.h"
|
#include "platform/mbed_retarget.h"
|
||||||
|
|
||||||
#if defined(__ARMCC_VERSION)
|
#if defined(__ARMCC_VERSION)
|
||||||
|
# if __ARMCC_VERSION >= 6010050
|
||||||
|
# include <arm_compat.h>
|
||||||
|
# endif
|
||||||
# include <rt_sys.h>
|
# include <rt_sys.h>
|
||||||
|
# include <rt_misc.h>
|
||||||
|
# include <stdint.h>
|
||||||
# define PREFIX(x) _sys##x
|
# define PREFIX(x) _sys##x
|
||||||
# define OPEN_MAX _SYS_OPEN
|
# define OPEN_MAX _SYS_OPEN
|
||||||
# ifdef __MICROLIB
|
# ifdef __MICROLIB
|
||||||
|
@ -507,6 +512,26 @@ extern "C" long PREFIX(_flen)(FILEHANDLE fh) {
|
||||||
}
|
}
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extern "C" char Image$$RW_IRAM1$$ZI$$Limit[];
|
||||||
|
|
||||||
|
extern "C" MBED_WEAK __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
||||||
|
{
|
||||||
|
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
||||||
|
uint32_t sp_limit = __current_sp();
|
||||||
|
|
||||||
|
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
||||||
|
|
||||||
|
struct __initial_stackheap r;
|
||||||
|
r.heap_base = zi_limit;
|
||||||
|
r.heap_limit = sp_limit;
|
||||||
|
return r;
|
||||||
|
}
|
||||||
|
|
||||||
|
extern "C" __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
return _mbed_user_setup_stackheap(R0, R1, R2, R3);
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -1,43 +0,0 @@
|
||||||
/*
|
|
||||||
* PackageLicenseDeclared: Apache-2.0
|
|
||||||
* Copyright (c) 2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
/* Get RW_IRAM1 from scatter definition */
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t beetle_zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t beetle_sp_limit = __current_sp();
|
|
||||||
|
|
||||||
/* beetle_zi_limit has to be 8-byte aligned */
|
|
||||||
beetle_zi_limit = (beetle_zi_limit + 7) & ~0x7;
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = beetle_zi_limit;
|
|
||||||
r.heap_limit = beetle_sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,43 +0,0 @@
|
||||||
/*
|
|
||||||
* PackageLicenseDeclared: Apache-2.0
|
|
||||||
* Copyright (c) 2009-2017 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
/* Get RW_IRAM1 from scatter definition */
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
/* beetle_zi_limit has to be 8-byte aligned */
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7;
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,41 +0,0 @@
|
||||||
/* mbed Microcontroller Library
|
|
||||||
* Copyright (c) 2006-2015 ARM Limited
|
|
||||||
*
|
|
||||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
||||||
* you may not use this file except in compliance with the License.
|
|
||||||
* You may obtain a copy of the License at
|
|
||||||
*
|
|
||||||
* http://www.apache.org/licenses/LICENSE-2.0
|
|
||||||
*
|
|
||||||
* Unless required by applicable law or agreed to in writing, software
|
|
||||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
||||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
||||||
* See the License for the specific language governing permissions and
|
|
||||||
* limitations under the License.
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2015 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2015 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2017 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -31,7 +31,7 @@
|
||||||
#ifndef MBED_CMSIS_NVIC_H
|
#ifndef MBED_CMSIS_NVIC_H
|
||||||
#define MBED_CMSIS_NVIC_H
|
#define MBED_CMSIS_NVIC_H
|
||||||
|
|
||||||
#if defined(__CC_ARM)
|
#if defined(__CC_ARM) || (defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
|
||||||
extern uint32_t Image$$VECTOR_RAM$$Base[];
|
extern uint32_t Image$$VECTOR_RAM$$Base[];
|
||||||
#define __VECTOR_RAM Image$$VECTOR_RAM$$Base
|
#define __VECTOR_RAM Image$$VECTOR_RAM$$Base
|
||||||
#else
|
#else
|
||||||
|
|
|
@ -58,7 +58,7 @@ void __assert_func(const char *file, int line, const char *func, const char *fai
|
||||||
void InstallIRQHandler(IRQn_Type irq, uint32_t irqHandler)
|
void InstallIRQHandler(IRQn_Type irq, uint32_t irqHandler)
|
||||||
{
|
{
|
||||||
/* Addresses for VECTOR_TABLE and VECTOR_RAM come from the linker file */
|
/* Addresses for VECTOR_TABLE and VECTOR_RAM come from the linker file */
|
||||||
#if defined(__CC_ARM)
|
#if defined(__CC_ARM) || (defined (__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050))
|
||||||
extern uint32_t Image$$VECTOR_ROM$$Base[];
|
extern uint32_t Image$$VECTOR_ROM$$Base[];
|
||||||
extern uint32_t Image$$VECTOR_RAM$$Base[];
|
extern uint32_t Image$$VECTOR_RAM$$Base[];
|
||||||
extern uint32_t Image$$RW_m_data$$Base[];
|
extern uint32_t Image$$RW_m_data$$Base[];
|
||||||
|
|
|
@ -1,57 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (C) 2015 Maxim Integrated Products, Inc., All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
|
||||||
* to deal in the Software without restriction, including without limitation
|
|
||||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
* and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included
|
|
||||||
* in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
* IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
||||||
* OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
||||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*
|
|
||||||
* Except as contained in this notice, the name of Maxim Integrated
|
|
||||||
* Products, Inc. shall not be used except as stated in the Maxim Integrated
|
|
||||||
* Products, Inc. Branding Policy.
|
|
||||||
*
|
|
||||||
* The mere transfer of this software does not imply any licenses
|
|
||||||
* of trade secrets, proprietary technology, copyrights, patents,
|
|
||||||
* trademarks, maskwork rights, or any other form of intellectual
|
|
||||||
* property whatsoever. Maxim Integrated Products, Inc. retains all
|
|
||||||
* ownership rights.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,57 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (C) 2015 Maxim Integrated Products, Inc., All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
|
||||||
* to deal in the Software without restriction, including without limitation
|
|
||||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
* and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included
|
|
||||||
* in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
* IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
||||||
* OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
||||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*
|
|
||||||
* Except as contained in this notice, the name of Maxim Integrated
|
|
||||||
* Products, Inc. shall not be used except as stated in the Maxim Integrated
|
|
||||||
* Products, Inc. Branding Policy.
|
|
||||||
*
|
|
||||||
* The mere transfer of this software does not imply any licenses
|
|
||||||
* of trade secrets, proprietary technology, copyrights, patents,
|
|
||||||
* trademarks, maskwork rights, or any other form of intellectual
|
|
||||||
* property whatsoever. Maxim Integrated Products, Inc. retains all
|
|
||||||
* ownership rights.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,58 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
|
||||||
* to deal in the Software without restriction, including without limitation
|
|
||||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
* and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included
|
|
||||||
* in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
* IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
||||||
* OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
||||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*
|
|
||||||
* Except as contained in this notice, the name of Maxim Integrated
|
|
||||||
* Products, Inc. shall not be used except as stated in the Maxim Integrated
|
|
||||||
* Products, Inc. Branding Policy.
|
|
||||||
*
|
|
||||||
* The mere transfer of this software does not imply any licenses
|
|
||||||
* of trade secrets, proprietary technology, copyrights, patents,
|
|
||||||
* trademarks, maskwork rights, or any other form of intellectual
|
|
||||||
* property whatsoever. Maxim Integrated Products, Inc. retains all
|
|
||||||
* ownership rights.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3)
|
|
||||||
{
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,57 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
|
||||||
* to deal in the Software without restriction, including without limitation
|
|
||||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
* and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included
|
|
||||||
* in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
* IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
||||||
* OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
||||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*
|
|
||||||
* Except as contained in this notice, the name of Maxim Integrated
|
|
||||||
* Products, Inc. shall not be used except as stated in the Maxim Integrated
|
|
||||||
* Products, Inc. Branding Policy.
|
|
||||||
*
|
|
||||||
* The mere transfer of this software does not imply any licenses
|
|
||||||
* of trade secrets, proprietary technology, copyrights, patents,
|
|
||||||
* trademarks, maskwork rights, or any other form of intellectual
|
|
||||||
* property whatsoever. Maxim Integrated Products, Inc. retains all
|
|
||||||
* ownership rights.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,57 +0,0 @@
|
||||||
/*******************************************************************************
|
|
||||||
* Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
|
|
||||||
*
|
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a
|
|
||||||
* copy of this software and associated documentation files (the "Software"),
|
|
||||||
* to deal in the Software without restriction, including without limitation
|
|
||||||
* the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
|
||||||
* and/or sell copies of the Software, and to permit persons to whom the
|
|
||||||
* Software is furnished to do so, subject to the following conditions:
|
|
||||||
*
|
|
||||||
* The above copyright notice and this permission notice shall be included
|
|
||||||
* in all copies or substantial portions of the Software.
|
|
||||||
*
|
|
||||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
|
||||||
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
||||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
||||||
* IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
|
|
||||||
* OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
|
||||||
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
||||||
* OTHER DEALINGS IN THE SOFTWARE.
|
|
||||||
*
|
|
||||||
* Except as contained in this notice, the name of Maxim Integrated
|
|
||||||
* Products, Inc. shall not be used except as stated in the Maxim Integrated
|
|
||||||
* Products, Inc. Branding Policy.
|
|
||||||
*
|
|
||||||
* The mere transfer of this software does not imply any licenses
|
|
||||||
* of trade secrets, proprietary technology, copyrights, patents,
|
|
||||||
* trademarks, maskwork rights, or any other form of intellectual
|
|
||||||
* property whatsoever. Maxim Integrated Products, Inc. retains all
|
|
||||||
* ownership rights.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -9,13 +9,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||||
|
#include <arm_compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rt_misc.h>
|
#include <rt_misc.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$Base[];
|
extern char Image$$ARM_LIB_HEAP$$Base[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
extern __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
struct __initial_stackheap r;
|
||||||
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
||||||
|
|
|
@ -9,13 +9,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||||
|
#include <arm_compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rt_misc.h>
|
#include <rt_misc.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$Base[];
|
extern char Image$$ARM_LIB_HEAP$$Base[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
extern __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
struct __initial_stackheap r;
|
||||||
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
||||||
|
|
|
@ -9,13 +9,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||||
|
#include <arm_compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rt_misc.h>
|
#include <rt_misc.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$Base[];
|
extern char Image$$ARM_LIB_HEAP$$Base[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
extern __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
struct __initial_stackheap r;
|
||||||
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
||||||
|
|
|
@ -9,13 +9,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||||
|
#include <arm_compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rt_misc.h>
|
#include <rt_misc.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$Base[];
|
extern char Image$$ARM_LIB_HEAP$$Base[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
extern __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
struct __initial_stackheap r;
|
||||||
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
||||||
|
|
|
@ -9,13 +9,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||||
|
#include <arm_compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rt_misc.h>
|
#include <rt_misc.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$Base[];
|
extern char Image$$ARM_LIB_HEAP$$Base[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
extern __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
struct __initial_stackheap r;
|
||||||
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
||||||
|
|
|
@ -9,13 +9,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||||
|
#include <arm_compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rt_misc.h>
|
#include <rt_misc.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$Base[];
|
extern char Image$$ARM_LIB_HEAP$$Base[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
extern __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
struct __initial_stackheap r;
|
||||||
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
||||||
|
|
|
@ -9,13 +9,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||||
|
#include <arm_compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rt_misc.h>
|
#include <rt_misc.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$Base[];
|
extern char Image$$ARM_LIB_HEAP$$Base[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
extern __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
struct __initial_stackheap r;
|
||||||
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
||||||
|
|
|
@ -9,13 +9,17 @@
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#if defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)
|
||||||
|
#include <arm_compat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include <rt_misc.h>
|
#include <rt_misc.h>
|
||||||
#include <stdint.h>
|
#include <stdint.h>
|
||||||
|
|
||||||
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_STACK$$ZI$$Limit[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$Base[];
|
extern char Image$$ARM_LIB_HEAP$$Base[];
|
||||||
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
extern char Image$$ARM_LIB_HEAP$$ZI$$Limit[];
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
extern __value_in_regs struct __initial_stackheap _mbed_user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
struct __initial_stackheap r;
|
||||||
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
r.heap_base = (uint32_t)Image$$ARM_LIB_HEAP$$Base;
|
||||||
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,79 +0,0 @@
|
||||||
#include "cmsis.h"
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
|
|
||||||
struct SCS3Regions {
|
|
||||||
unsigned long Dummy;
|
|
||||||
unsigned long* InitRam;
|
|
||||||
unsigned long* StartRam;
|
|
||||||
unsigned long InitSizeRam;
|
|
||||||
unsigned long ZeroSizeRam;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern unsigned long __cs3_regions;
|
|
||||||
extern unsigned long __cs3_heap_start;
|
|
||||||
|
|
||||||
int main(void);
|
|
||||||
void __libc_init_array(void);
|
|
||||||
void exit(int ErrorCode);
|
|
||||||
|
|
||||||
static void *heap_pointer = NULL;
|
|
||||||
|
|
||||||
void __cs3_start_c(void) {
|
|
||||||
static SCS3Regions* pCS3Regions = (SCS3Regions*)&__cs3_regions;
|
|
||||||
unsigned long* pulDest;
|
|
||||||
unsigned long* pulSrc;
|
|
||||||
unsigned long ByteCount;
|
|
||||||
unsigned long i;
|
|
||||||
|
|
||||||
pulSrc = pCS3Regions->InitRam;
|
|
||||||
pulDest = pCS3Regions->StartRam;
|
|
||||||
ByteCount = pCS3Regions->InitSizeRam;
|
|
||||||
if (pulSrc != pulDest) {
|
|
||||||
for(i = 0 ; i < ByteCount ; i += sizeof(unsigned long)) {
|
|
||||||
*(pulDest++) = *(pulSrc++);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
pulDest = (unsigned long*)(void*)((char*)pulDest + ByteCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
ByteCount = pCS3Regions->ZeroSizeRam;
|
|
||||||
for(i = 0 ; i < ByteCount ; i += sizeof(unsigned long)) {
|
|
||||||
*(pulDest++) = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
heap_pointer = &__cs3_heap_start;
|
|
||||||
__libc_init_array();
|
|
||||||
exit(main());
|
|
||||||
}
|
|
||||||
|
|
||||||
int _kill(int pid, int sig) {
|
|
||||||
errno = EINVAL;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void _exit(int status) {
|
|
||||||
exit(status);
|
|
||||||
}
|
|
||||||
|
|
||||||
int _getpid(void) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void *_sbrk(unsigned int incr) {
|
|
||||||
void *mem;
|
|
||||||
|
|
||||||
unsigned int next = ((((unsigned int)heap_pointer + incr) + 7) & ~7);
|
|
||||||
if (next > __get_MSP()) {
|
|
||||||
mem = NULL;
|
|
||||||
} else {
|
|
||||||
mem = (void *)heap_pointer;
|
|
||||||
}
|
|
||||||
heap_pointer = (void *)next;
|
|
||||||
|
|
||||||
return mem;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,79 +0,0 @@
|
||||||
#include "cmsis.h"
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
|
|
||||||
struct SCS3Regions {
|
|
||||||
unsigned long Dummy;
|
|
||||||
unsigned long* InitRam;
|
|
||||||
unsigned long* StartRam;
|
|
||||||
unsigned long InitSizeRam;
|
|
||||||
unsigned long ZeroSizeRam;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern unsigned long __cs3_regions;
|
|
||||||
extern unsigned long __cs3_heap_start;
|
|
||||||
|
|
||||||
int main(void);
|
|
||||||
void __libc_init_array(void);
|
|
||||||
void exit(int ErrorCode);
|
|
||||||
|
|
||||||
static void *heap_pointer = NULL;
|
|
||||||
|
|
||||||
void __cs3_start_c(void) {
|
|
||||||
static SCS3Regions* pCS3Regions = (SCS3Regions*)&__cs3_regions;
|
|
||||||
unsigned long* pulDest;
|
|
||||||
unsigned long* pulSrc;
|
|
||||||
unsigned long ByteCount;
|
|
||||||
unsigned long i;
|
|
||||||
|
|
||||||
pulSrc = pCS3Regions->InitRam;
|
|
||||||
pulDest = pCS3Regions->StartRam;
|
|
||||||
ByteCount = pCS3Regions->InitSizeRam;
|
|
||||||
if (pulSrc != pulDest) {
|
|
||||||
for(i = 0 ; i < ByteCount ; i += sizeof(unsigned long)) {
|
|
||||||
*(pulDest++) = *(pulSrc++);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
pulDest = (unsigned long*)(void*)((char*)pulDest + ByteCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
ByteCount = pCS3Regions->ZeroSizeRam;
|
|
||||||
for(i = 0 ; i < ByteCount ; i += sizeof(unsigned long)) {
|
|
||||||
*(pulDest++) = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
heap_pointer = &__cs3_heap_start;
|
|
||||||
__libc_init_array();
|
|
||||||
exit(main());
|
|
||||||
}
|
|
||||||
|
|
||||||
int _kill(int pid, int sig) {
|
|
||||||
errno = EINVAL;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void _exit(int status) {
|
|
||||||
exit(status);
|
|
||||||
}
|
|
||||||
|
|
||||||
int _getpid(void) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void *_sbrk(unsigned int incr) {
|
|
||||||
void *mem;
|
|
||||||
|
|
||||||
unsigned int next = ((((unsigned int)heap_pointer + incr) + 7) & ~7);
|
|
||||||
if (next > __get_MSP()) {
|
|
||||||
mem = NULL;
|
|
||||||
} else {
|
|
||||||
mem = (void *)heap_pointer;
|
|
||||||
}
|
|
||||||
heap_pointer = (void *)next;
|
|
||||||
|
|
||||||
return mem;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,80 +0,0 @@
|
||||||
#include "cmsis.h"
|
|
||||||
#include <sys/types.h>
|
|
||||||
#include <errno.h>
|
|
||||||
|
|
||||||
extern "C" {
|
|
||||||
|
|
||||||
struct SCS3Regions {
|
|
||||||
unsigned long Dummy;
|
|
||||||
unsigned long* InitRam;
|
|
||||||
unsigned long* StartRam;
|
|
||||||
unsigned long InitSizeRam;
|
|
||||||
unsigned long ZeroSizeRam;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern unsigned long __cs3_regions;
|
|
||||||
extern unsigned long __cs3_heap_start;
|
|
||||||
|
|
||||||
int main(void);
|
|
||||||
void __libc_init_array(void);
|
|
||||||
void exit(int ErrorCode);
|
|
||||||
|
|
||||||
static void *heap_pointer = NULL;
|
|
||||||
|
|
||||||
void __cs3_start_c(void) {
|
|
||||||
static SCS3Regions* pCS3Regions = (SCS3Regions*)&__cs3_regions;
|
|
||||||
unsigned long* pulDest;
|
|
||||||
unsigned long* pulSrc;
|
|
||||||
unsigned long ByteCount;
|
|
||||||
unsigned long i;
|
|
||||||
|
|
||||||
pulSrc = pCS3Regions->InitRam;
|
|
||||||
pulDest = pCS3Regions->StartRam;
|
|
||||||
ByteCount = pCS3Regions->InitSizeRam;
|
|
||||||
if (pulSrc != pulDest) {
|
|
||||||
for(i = 0 ; i < ByteCount ; i += sizeof(unsigned long)) {
|
|
||||||
*(pulDest++) = *(pulSrc++);
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
pulDest = (unsigned long*)(void*)((char*)pulDest + ByteCount);
|
|
||||||
}
|
|
||||||
|
|
||||||
ByteCount = pCS3Regions->ZeroSizeRam;
|
|
||||||
for(i = 0 ; i < ByteCount ; i += sizeof(unsigned long)) {
|
|
||||||
*(pulDest++) = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
heap_pointer = &__cs3_heap_start;
|
|
||||||
__libc_init_array();
|
|
||||||
|
|
||||||
exit(main());
|
|
||||||
}
|
|
||||||
|
|
||||||
int _kill(int pid, int sig) {
|
|
||||||
errno = EINVAL;
|
|
||||||
return -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void _exit(int status) {
|
|
||||||
exit(status);
|
|
||||||
}
|
|
||||||
|
|
||||||
int _getpid(void) {
|
|
||||||
return 1;
|
|
||||||
}
|
|
||||||
|
|
||||||
void *_sbrk(unsigned int incr) {
|
|
||||||
void *mem;
|
|
||||||
|
|
||||||
unsigned int next = ((((unsigned int)heap_pointer + incr) + 7) & ~7);
|
|
||||||
if (next > __get_MSP()) {
|
|
||||||
mem = NULL;
|
|
||||||
} else {
|
|
||||||
mem = (void *)heap_pointer;
|
|
||||||
}
|
|
||||||
heap_pointer = (void *)next;
|
|
||||||
|
|
||||||
return mem;
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
|
|
@ -1,32 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
#include "sys_helper.h"
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit - __reserved_stack_size();
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,30 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM2$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM2$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2016, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2016, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2016, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,31 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Copyright (C) 2009-2011 ARM Limited. All rights reserved.
|
|
||||||
*
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2017, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2015, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2015, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2015, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2015, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
|
@ -1,56 +0,0 @@
|
||||||
/* mbed Microcontroller Library - stackheap
|
|
||||||
* Setup a fixed single stack/heap memory model,
|
|
||||||
* between the top of the RW/ZI region and the stackpointer
|
|
||||||
*******************************************************************************
|
|
||||||
* Copyright (c) 2014, STMicroelectronics
|
|
||||||
* All rights reserved.
|
|
||||||
*
|
|
||||||
* Redistribution and use in source and binary forms, with or without
|
|
||||||
* modification, are permitted provided that the following conditions are met:
|
|
||||||
*
|
|
||||||
* 1. Redistributions of source code must retain the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer.
|
|
||||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
|
||||||
* this list of conditions and the following disclaimer in the documentation
|
|
||||||
* and/or other materials provided with the distribution.
|
|
||||||
* 3. Neither the name of STMicroelectronics nor the names of its contributors
|
|
||||||
* may be used to endorse or promote products derived from this software
|
|
||||||
* without specific prior written permission.
|
|
||||||
*
|
|
||||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
||||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
||||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
||||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
||||||
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
||||||
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
||||||
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
||||||
* CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
||||||
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
||||||
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
||||||
*******************************************************************************
|
|
||||||
*/
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
extern "C" {
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#include <rt_misc.h>
|
|
||||||
#include <stdint.h>
|
|
||||||
|
|
||||||
extern char Image$$RW_IRAM1$$ZI$$Limit[];
|
|
||||||
|
|
||||||
extern __value_in_regs struct __initial_stackheap __user_setup_stackheap(uint32_t R0, uint32_t R1, uint32_t R2, uint32_t R3) {
|
|
||||||
uint32_t zi_limit = (uint32_t)Image$$RW_IRAM1$$ZI$$Limit;
|
|
||||||
uint32_t sp_limit = __current_sp();
|
|
||||||
|
|
||||||
zi_limit = (zi_limit + 7) & ~0x7; // ensure zi_limit is 8-byte aligned
|
|
||||||
|
|
||||||
struct __initial_stackheap r;
|
|
||||||
r.heap_base = zi_limit;
|
|
||||||
r.heap_limit = sp_limit;
|
|
||||||
return r;
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
|
||||||
}
|
|
||||||
#endif
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue