mirror of
https://github.com/FreeRTOS/FreeRTOS-Kernel.git
synced 2025-04-19 21:11:57 -04:00
Compare commits
21 commits
Author | SHA1 | Date | |
---|---|---|---|
|
18ed8886fe | ||
|
650025f227 | ||
|
ef7b253b56 | ||
|
a86ae9b06e | ||
|
dfa52a70c5 | ||
|
2f66e475fa | ||
|
6b7d4cf41b | ||
|
9bfd85a253 | ||
|
52c1c6e578 | ||
|
d9fc48bced | ||
|
7003ba73ed | ||
|
0264280230 | ||
|
ab6744c08c | ||
|
c5edc980c5 | ||
|
76a4a16800 | ||
|
5678e7a27c | ||
|
ace6b39fa0 | ||
|
0d871946ab | ||
|
fe005419f0 | ||
|
aec827831a | ||
|
81a2a656d1 |
1
.github/lexicon.txt
vendored
1
.github/lexicon.txt
vendored
|
@ -2469,6 +2469,7 @@ uxpriority
|
||||||
uxprioritytouse
|
uxprioritytouse
|
||||||
uxqueue
|
uxqueue
|
||||||
uxqueuegetqueueitemsize
|
uxqueuegetqueueitemsize
|
||||||
|
uxqueuegetqueuelength
|
||||||
uxqueuelength
|
uxqueuelength
|
||||||
uxqueuemessageswaiting
|
uxqueuemessageswaiting
|
||||||
uxqueuespacesavailable
|
uxqueuespacesavailable
|
||||||
|
|
4
.github/scripts/kernel_checker.py
vendored
4
.github/scripts/kernel_checker.py
vendored
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
#/*
|
#/*
|
||||||
# * FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
# * FreeRTOS Kernel V10.6.2
|
||||||
# * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
# * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
# *
|
# *
|
||||||
# * SPDX-License-Identifier: MIT
|
# * SPDX-License-Identifier: MIT
|
||||||
|
@ -99,7 +99,7 @@ KERNEL_THIRD_PARTY_PATTERNS = [
|
||||||
|
|
||||||
KERNEL_HEADER = [
|
KERNEL_HEADER = [
|
||||||
'/*\n',
|
'/*\n',
|
||||||
' * FreeRTOS Kernel <DEVELOPMENT BRANCH>\n',
|
' * FreeRTOS Kernel V10.6.2\n',
|
||||||
' * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n',
|
' * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n',
|
||||||
' *\n',
|
' *\n',
|
||||||
' * SPDX-License-Identifier: MIT\n',
|
' * SPDX-License-Identifier: MIT\n',
|
||||||
|
|
32
.github/scripts/manifest_updater.py
vendored
Executable file
32
.github/scripts/manifest_updater.py
vendored
Executable file
|
@ -0,0 +1,32 @@
|
||||||
|
#!/usr/bin/env python3
|
||||||
|
import os
|
||||||
|
import argparse
|
||||||
|
|
||||||
|
THIS_FILE_PATH = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
MANIFEST_FILE = os.path.join(THIS_FILE_PATH, '..', '..', 'manifest.yml')
|
||||||
|
|
||||||
|
def update_manifest_file(new_version_number):
|
||||||
|
updated_lines = []
|
||||||
|
with open(MANIFEST_FILE, 'r') as f:
|
||||||
|
for line in f:
|
||||||
|
line = line.strip()
|
||||||
|
if line.startswith('version'):
|
||||||
|
updated_lines.append(f'version: "v{new_version_number}"\n')
|
||||||
|
else:
|
||||||
|
updated_lines.append(f'{line}\n')
|
||||||
|
|
||||||
|
with open(MANIFEST_FILE, 'w') as f:
|
||||||
|
f.writelines(updated_lines)
|
||||||
|
|
||||||
|
def parse_args():
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument('-v', '--version', required=True, help='New version number.')
|
||||||
|
args = parser.parse_args()
|
||||||
|
return args
|
||||||
|
|
||||||
|
def main():
|
||||||
|
args = parse_args()
|
||||||
|
update_manifest_file(args.version)
|
||||||
|
|
||||||
|
if __name__ == '__main__':
|
||||||
|
main()
|
17
.github/workflows/auto-release.yml
vendored
17
.github/workflows/auto-release.yml
vendored
|
@ -63,6 +63,19 @@ jobs:
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
|
- name : Update version number in manifest.yml
|
||||||
|
working-directory: ./local_kernel
|
||||||
|
run: |
|
||||||
|
./.github/scripts/manifest_updater.py -v ${{ github.event.inputs.version_number }}
|
||||||
|
exit $?
|
||||||
|
|
||||||
|
- name : Commit version number change in manifest.yml
|
||||||
|
working-directory: ./local_kernel
|
||||||
|
run: |
|
||||||
|
git add .
|
||||||
|
git commit -m '[AUTO][RELEASE]: Update version number in manifest.yml'
|
||||||
|
git push -u origin ${{ github.event.inputs.version_number }}
|
||||||
|
|
||||||
- name: Generate SBOM
|
- name: Generate SBOM
|
||||||
uses: FreeRTOS/CI-CD-Github-Actions/sbom-generator@main
|
uses: FreeRTOS/CI-CD-Github-Actions/sbom-generator@main
|
||||||
with:
|
with:
|
||||||
|
@ -73,7 +86,7 @@ jobs:
|
||||||
working-directory: ./local_kernel
|
working-directory: ./local_kernel
|
||||||
run: |
|
run: |
|
||||||
git add .
|
git add .
|
||||||
git commit -m 'Update SBOM'
|
git commit -m '[AUTO][RELEASE]: Update SBOM'
|
||||||
git push -u origin ${{ github.event.inputs.version_number }}
|
git push -u origin ${{ github.event.inputs.version_number }}
|
||||||
echo "COMMIT_SHA_2=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
echo "COMMIT_SHA_2=$(git rev-parse HEAD)" >> $GITHUB_ENV
|
||||||
|
|
||||||
|
@ -81,7 +94,7 @@ jobs:
|
||||||
run: |
|
run: |
|
||||||
# Install deps and run
|
# Install deps and run
|
||||||
pip install -r ./tools/.github/scripts/release-requirements.txt
|
pip install -r ./tools/.github/scripts/release-requirements.txt
|
||||||
./tools/.github/scripts/release.py FreeRTOS --kernel-repo-path=local_kernel --kernel-commit=${{ env.COMMIT_SHA_2 }} --new-kernel-version=${{ github.event.inputs.version_number }} --new-kernel-main-br-version=${{ github.event.inputs.main_br_version }}
|
./tools/.github/scripts/release.py ${{ github.repository_owner }} --kernel-repo-path=local_kernel --kernel-commit=${{ env.COMMIT_SHA_2 }} --new-kernel-version=${{ github.event.inputs.version_number }} --new-kernel-main-br-version=${{ github.event.inputs.main_br_version }}
|
||||||
exit $?
|
exit $?
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
31
.github/workflows/kernel-demos.yml
vendored
31
.github/workflows/kernel-demos.yml
vendored
|
@ -123,9 +123,22 @@ jobs:
|
||||||
with:
|
with:
|
||||||
ref: main
|
ref: main
|
||||||
repository: FreeRTOS/FreeRTOS
|
repository: FreeRTOS/FreeRTOS
|
||||||
submodules: 'recursive'
|
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|
||||||
|
- name: Fetch Community-Supported-Demos Submodule
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
# Fetch Community-Supported-Demos Submodule
|
||||||
|
echo "::group::Fetch Community-Supported-Demos Submodule"
|
||||||
|
git submodule update --checkout --init --depth 1 FreeRTOS/Demo/ThirdParty/Community-Supported-Demos
|
||||||
|
echo "::engdroup::"
|
||||||
|
if [ "$?" = "0" ]; then
|
||||||
|
echo -e "\033[32;3mCloned the Community-Supported-Demos\033[0m"
|
||||||
|
else
|
||||||
|
echo -e "\033[32;31mCommunity-Supported-Demos Clone Failed...\033[0m"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
# Checkout user pull request changes
|
# Checkout user pull request changes
|
||||||
- name: Checkout Pull Request
|
- name: Checkout Pull Request
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
|
@ -148,20 +161,6 @@ jobs:
|
||||||
working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC
|
working-directory: FreeRTOS/Demo/CORTEX_LM3S102_GCC
|
||||||
run: make -j
|
run: make -j
|
||||||
|
|
||||||
- name: Build CORTEX_M3_MPS2_QEMU_GCC Demo
|
|
||||||
shell: bash
|
|
||||||
working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC
|
|
||||||
run: |
|
|
||||||
make clean
|
|
||||||
make -j
|
|
||||||
|
|
||||||
- name: Build CORTEX_M3_MPS2_QEMU_GCC Demo
|
|
||||||
shell: bash
|
|
||||||
working-directory: FreeRTOS/Demo/CORTEX_M3_MPS2_QEMU_GCC
|
|
||||||
run: |
|
|
||||||
make clean
|
|
||||||
make FULL_DEMO=1 -j
|
|
||||||
|
|
||||||
- name: Build CORTEX_LM3S811_GCC Demo
|
- name: Build CORTEX_LM3S811_GCC Demo
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: FreeRTOS/Demo/CORTEX_LM3S811_GCC
|
working-directory: FreeRTOS/Demo/CORTEX_LM3S811_GCC
|
||||||
|
@ -169,7 +168,7 @@ jobs:
|
||||||
|
|
||||||
- name: Build CORTEX_M0+_RP2040 Demos
|
- name: Build CORTEX_M0+_RP2040 Demos
|
||||||
shell: bash
|
shell: bash
|
||||||
working-directory: FreeRTOS/Demo/ThirdParty/Community-Supported/CORTEX_M0+_RP2040
|
working-directory: FreeRTOS/Demo/ThirdParty/Community-Supported-Demos/CORTEX_M0+_RP2040
|
||||||
run: |
|
run: |
|
||||||
git clone https://github.com/raspberrypi/pico-sdk.git
|
git clone https://github.com/raspberrypi/pico-sdk.git
|
||||||
cmake -B build -DPICO_SDK_PATH=pico-sdk -GNinja
|
cmake -B build -DPICO_SDK_PATH=pico-sdk -GNinja
|
||||||
|
|
2
.github/workflows/unit-tests.yml
vendored
2
.github/workflows/unit-tests.yml
vendored
|
@ -8,7 +8,7 @@ jobs:
|
||||||
- name: Checkout Parent Repository
|
- name: Checkout Parent Repository
|
||||||
uses: actions/checkout@v2
|
uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
ref: main
|
ref: 80db00d98bfac8b22289a2668d9e6b0265946d24
|
||||||
repository: FreeRTOS/FreeRTOS
|
repository: FreeRTOS/FreeRTOS
|
||||||
submodules: 'recursive'
|
submodules: 'recursive'
|
||||||
fetch-depth: 1
|
fetch-depth: 1
|
||||||
|
|
28
History.txt
28
History.txt
|
@ -1,6 +1,32 @@
|
||||||
Documentation and download available at https://www.FreeRTOS.org/
|
Documentation and download available at https://www.FreeRTOS.org/
|
||||||
|
|
||||||
Changes between FreeRTOS V10.5.1 and FreeRTOS 10.6.0 released July 13, 2023
|
Changes between FreeRTOS V10.6.1 and FreeRTOS V10.6.2 released November 29, 2023
|
||||||
|
|
||||||
|
+ Add the following improvements to the new MPU wrapper (mpu_wrappers_v2.c)
|
||||||
|
introduced in version 10.6.0:
|
||||||
|
- Introduce Access Control List (ACL) feature to allow the application
|
||||||
|
writer to control an unprivileged task’s access to kernel objects.
|
||||||
|
- Update the system call entry mechanism to only require one Supervisor
|
||||||
|
Call (SVC) instruction.
|
||||||
|
- Wrap parameters for system calls with more than four parameters in a
|
||||||
|
struct to avoid special handling during system call entry.
|
||||||
|
- Fix 2 possible integer overflows.
|
||||||
|
- Convert some asserts to run time parameter checks.
|
||||||
|
|
||||||
|
Changes between FreeRTOS V10.6.0 and FreeRTOS V10.6.1 released August 17, 2023
|
||||||
|
|
||||||
|
+ Add runtime parameter checks to functions in mpu_wrappers_v2.c file.
|
||||||
|
The same checks are already performed in API implementations using
|
||||||
|
asserts.
|
||||||
|
We thank the following people for their inputs in these changes:
|
||||||
|
- Lan Luo, Zixia Liu of School of Computer Science and Technology,
|
||||||
|
Anhui University of Technology, China.
|
||||||
|
- Xinwen Fu of Department of Computer Science, University of
|
||||||
|
Massachusetts Lowell, USA.
|
||||||
|
- Xinhui Shao, Yumeng Wei, Huaiyu Yan, Zhen Ling of School of
|
||||||
|
Computer Science and Engineering, Southeast University, China.
|
||||||
|
|
||||||
|
Changes between FreeRTOS V10.5.1 and FreeRTOS V10.6.0 released July 13, 2023
|
||||||
|
|
||||||
+ Add a new MPU wrapper that places additional restrictions on unprivileged
|
+ Add a new MPU wrapper that places additional restrictions on unprivileged
|
||||||
tasks. The following is the list of changes introduced with the new MPU
|
tasks. The following is the list of changes introduced with the new MPU
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -46,26 +46,6 @@
|
||||||
* correct privileged Vs unprivileged linkage and placement. */
|
* correct privileged Vs unprivileged linkage and placement. */
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE /*lint !e961 !e750 !e9021 See comment above. */
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE /*lint !e961 !e750 !e9021 See comment above. */
|
||||||
|
|
||||||
/* The following bit fields convey control information in a task's event list
|
|
||||||
* item value. It is important they don't clash with the
|
|
||||||
* taskEVENT_LIST_ITEM_VALUE_IN_USE definition. */
|
|
||||||
#if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS )
|
|
||||||
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100U
|
|
||||||
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200U
|
|
||||||
#define eventWAIT_FOR_ALL_BITS 0x0400U
|
|
||||||
#define eventEVENT_BITS_CONTROL_BYTES 0xff00U
|
|
||||||
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )
|
|
||||||
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x01000000UL
|
|
||||||
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x02000000UL
|
|
||||||
#define eventWAIT_FOR_ALL_BITS 0x04000000UL
|
|
||||||
#define eventEVENT_BITS_CONTROL_BYTES 0xff000000UL
|
|
||||||
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_64_BITS )
|
|
||||||
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100000000000000ULL
|
|
||||||
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200000000000000ULL
|
|
||||||
#define eventWAIT_FOR_ALL_BITS 0x0400000000000000ULL
|
|
||||||
#define eventEVENT_BITS_CONTROL_BYTES 0xff00000000000000ULL
|
|
||||||
#endif /* if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) */
|
|
||||||
|
|
||||||
typedef struct EventGroupDef_t
|
typedef struct EventGroupDef_t
|
||||||
{
|
{
|
||||||
EventBits_t uxEventBits;
|
EventBits_t uxEventBits;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -86,6 +86,11 @@
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/* Set configENABLE_ACCESS_CONTROL_LIST to 1 to enable access control list support. */
|
||||||
|
#ifndef configENABLE_ACCESS_CONTROL_LIST
|
||||||
|
#define configENABLE_ACCESS_CONTROL_LIST 0
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Basic FreeRTOS definitions. */
|
/* Basic FreeRTOS definitions. */
|
||||||
#include "projdefs.h"
|
#include "projdefs.h"
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -36,6 +36,26 @@
|
||||||
/* FreeRTOS includes. */
|
/* FreeRTOS includes. */
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
|
|
||||||
|
/* The following bit fields convey control information in a task's event list
|
||||||
|
* item value. It is important they don't clash with the
|
||||||
|
* taskEVENT_LIST_ITEM_VALUE_IN_USE definition. */
|
||||||
|
#if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS )
|
||||||
|
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100U
|
||||||
|
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200U
|
||||||
|
#define eventWAIT_FOR_ALL_BITS 0x0400U
|
||||||
|
#define eventEVENT_BITS_CONTROL_BYTES 0xff00U
|
||||||
|
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_32_BITS )
|
||||||
|
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x01000000UL
|
||||||
|
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x02000000UL
|
||||||
|
#define eventWAIT_FOR_ALL_BITS 0x04000000UL
|
||||||
|
#define eventEVENT_BITS_CONTROL_BYTES 0xff000000UL
|
||||||
|
#elif ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_64_BITS )
|
||||||
|
#define eventCLEAR_EVENTS_ON_EXIT_BIT 0x0100000000000000ULL
|
||||||
|
#define eventUNBLOCKED_DUE_TO_BIT_SET 0x0200000000000000ULL
|
||||||
|
#define eventWAIT_FOR_ALL_BITS 0x0400000000000000ULL
|
||||||
|
#define eventEVENT_BITS_CONTROL_BYTES 0xff00000000000000ULL
|
||||||
|
#endif /* if ( configTICK_TYPE_WIDTH_IN_BITS == TICK_TYPE_WIDTH_16_BITS ) */
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -38,6 +38,42 @@
|
||||||
#ifndef MPU_PROTOTYPES_H
|
#ifndef MPU_PROTOTYPES_H
|
||||||
#define MPU_PROTOTYPES_H
|
#define MPU_PROTOTYPES_H
|
||||||
|
|
||||||
|
typedef struct xTaskGenericNotifyParams
|
||||||
|
{
|
||||||
|
TaskHandle_t xTaskToNotify;
|
||||||
|
UBaseType_t uxIndexToNotify;
|
||||||
|
uint32_t ulValue;
|
||||||
|
eNotifyAction eAction;
|
||||||
|
uint32_t * pulPreviousNotificationValue;
|
||||||
|
} xTaskGenericNotifyParams_t;
|
||||||
|
|
||||||
|
typedef struct xTaskGenericNotifyWaitParams
|
||||||
|
{
|
||||||
|
UBaseType_t uxIndexToWaitOn;
|
||||||
|
uint32_t ulBitsToClearOnEntry;
|
||||||
|
uint32_t ulBitsToClearOnExit;
|
||||||
|
uint32_t * pulNotificationValue;
|
||||||
|
TickType_t xTicksToWait;
|
||||||
|
} xTaskGenericNotifyWaitParams_t;
|
||||||
|
|
||||||
|
typedef struct xTimerGenericCommandParams
|
||||||
|
{
|
||||||
|
TimerHandle_t xTimer;
|
||||||
|
BaseType_t xCommandID;
|
||||||
|
TickType_t xOptionalValue;
|
||||||
|
BaseType_t * pxHigherPriorityTaskWoken;
|
||||||
|
TickType_t xTicksToWait;
|
||||||
|
} xTimerGenericCommandParams_t;
|
||||||
|
|
||||||
|
typedef struct xEventGroupWaitBitsParams
|
||||||
|
{
|
||||||
|
EventGroupHandle_t xEventGroup;
|
||||||
|
EventBits_t uxBitsToWaitFor;
|
||||||
|
BaseType_t xClearOnExit;
|
||||||
|
BaseType_t xWaitForAllBits;
|
||||||
|
TickType_t xTicksToWait;
|
||||||
|
} xEventGroupWaitBitsParams_t;
|
||||||
|
|
||||||
/* MPU versions of task.h API functions. */
|
/* MPU versions of task.h API functions. */
|
||||||
void MPU_vTaskDelay( const TickType_t xTicksToDelay ) FREERTOS_SYSTEM_CALL;
|
void MPU_vTaskDelay( const TickType_t xTicksToDelay ) FREERTOS_SYSTEM_CALL;
|
||||||
BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
||||||
|
@ -77,11 +113,13 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
uint32_t ulValue,
|
uint32_t ulValue,
|
||||||
eNotifyAction eAction,
|
eNotifyAction eAction,
|
||||||
uint32_t * pulPreviousNotificationValue ) FREERTOS_SYSTEM_CALL;
|
uint32_t * pulPreviousNotificationValue ) FREERTOS_SYSTEM_CALL;
|
||||||
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) FREERTOS_SYSTEM_CALL;
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||||
uint32_t ulBitsToClearOnEntry,
|
uint32_t ulBitsToClearOnEntry,
|
||||||
uint32_t ulBitsToClearOnExit,
|
uint32_t ulBitsToClearOnExit,
|
||||||
uint32_t * pulNotificationValue,
|
uint32_t * pulNotificationValue,
|
||||||
TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL;
|
TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL;
|
||||||
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) FREERTOS_SYSTEM_CALL;
|
||||||
uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
||||||
BaseType_t xClearCountOnExit,
|
BaseType_t xClearCountOnExit,
|
||||||
TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL;
|
TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL;
|
||||||
|
@ -228,9 +266,10 @@ BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
||||||
const TickType_t xOptionalValue,
|
const TickType_t xOptionalValue,
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
BaseType_t * const pxHigherPriorityTaskWoken,
|
||||||
const TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL;
|
const TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL;
|
||||||
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) FREERTOS_SYSTEM_CALL;
|
||||||
const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL;
|
const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL;
|
||||||
void MPU_vTimerSetReloadMode( TimerHandle_t xTimer,
|
void MPU_vTimerSetReloadMode( TimerHandle_t xTimer,
|
||||||
const UBaseType_t uxAutoReload ) FREERTOS_SYSTEM_CALL;
|
const BaseType_t uxAutoReload ) FREERTOS_SYSTEM_CALL;
|
||||||
BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL;
|
BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL;
|
||||||
UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL;
|
UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL;
|
||||||
TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL;
|
TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) FREERTOS_SYSTEM_CALL;
|
||||||
|
@ -259,6 +298,7 @@ EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||||
const BaseType_t xClearOnExit,
|
const BaseType_t xClearOnExit,
|
||||||
const BaseType_t xWaitForAllBits,
|
const BaseType_t xWaitForAllBits,
|
||||||
TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL;
|
TickType_t xTicksToWait ) FREERTOS_SYSTEM_CALL;
|
||||||
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) FREERTOS_SYSTEM_CALL;
|
||||||
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
|
||||||
const EventBits_t uxBitsToClear ) FREERTOS_SYSTEM_CALL;
|
const EventBits_t uxBitsToClear ) FREERTOS_SYSTEM_CALL;
|
||||||
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
|
||||||
|
|
106
include/mpu_syscall_numbers.h
Normal file
106
include/mpu_syscall_numbers.h
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
/*
|
||||||
|
* FreeRTOS Kernel V10.6.2
|
||||||
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*
|
||||||
|
* 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 THE AUTHORS OR
|
||||||
|
* COPYRIGHT HOLDERS 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.
|
||||||
|
*
|
||||||
|
* https://www.FreeRTOS.org
|
||||||
|
* https://github.com/FreeRTOS
|
||||||
|
*
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MPU_SYSCALL_NUMBERS_H
|
||||||
|
#define MPU_SYSCALL_NUMBERS_H
|
||||||
|
|
||||||
|
/* Numbers assigned to various system calls. */
|
||||||
|
#define SYSTEM_CALL_xTaskGenericNotify 0
|
||||||
|
#define SYSTEM_CALL_xTaskGenericNotifyWait 1
|
||||||
|
#define SYSTEM_CALL_xTimerGenericCommand 2
|
||||||
|
#define SYSTEM_CALL_xEventGroupWaitBits 3
|
||||||
|
#define SYSTEM_CALL_xTaskDelayUntil 4
|
||||||
|
#define SYSTEM_CALL_xTaskAbortDelay 5
|
||||||
|
#define SYSTEM_CALL_vTaskDelay 6
|
||||||
|
#define SYSTEM_CALL_uxTaskPriorityGet 7
|
||||||
|
#define SYSTEM_CALL_eTaskGetState 8
|
||||||
|
#define SYSTEM_CALL_vTaskGetInfo 9
|
||||||
|
#define SYSTEM_CALL_xTaskGetIdleTaskHandle 10
|
||||||
|
#define SYSTEM_CALL_vTaskSuspend 11
|
||||||
|
#define SYSTEM_CALL_vTaskResume 12
|
||||||
|
#define SYSTEM_CALL_xTaskGetTickCount 13
|
||||||
|
#define SYSTEM_CALL_uxTaskGetNumberOfTasks 14
|
||||||
|
#define SYSTEM_CALL_pcTaskGetName 15
|
||||||
|
#define SYSTEM_CALL_ulTaskGetRunTimeCounter 16
|
||||||
|
#define SYSTEM_CALL_ulTaskGetRunTimePercent 17
|
||||||
|
#define SYSTEM_CALL_ulTaskGetIdleRunTimePercent 18
|
||||||
|
#define SYSTEM_CALL_ulTaskGetIdleRunTimeCounter 19
|
||||||
|
#define SYSTEM_CALL_vTaskSetApplicationTaskTag 20
|
||||||
|
#define SYSTEM_CALL_xTaskGetApplicationTaskTag 21
|
||||||
|
#define SYSTEM_CALL_vTaskSetThreadLocalStoragePointer 22
|
||||||
|
#define SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer 23
|
||||||
|
#define SYSTEM_CALL_uxTaskGetSystemState 24
|
||||||
|
#define SYSTEM_CALL_uxTaskGetStackHighWaterMark 25
|
||||||
|
#define SYSTEM_CALL_uxTaskGetStackHighWaterMark2 26
|
||||||
|
#define SYSTEM_CALL_xTaskGetCurrentTaskHandle 27
|
||||||
|
#define SYSTEM_CALL_xTaskGetSchedulerState 28
|
||||||
|
#define SYSTEM_CALL_vTaskSetTimeOutState 29
|
||||||
|
#define SYSTEM_CALL_xTaskCheckForTimeOut 30
|
||||||
|
#define SYSTEM_CALL_ulTaskGenericNotifyTake 31
|
||||||
|
#define SYSTEM_CALL_xTaskGenericNotifyStateClear 32
|
||||||
|
#define SYSTEM_CALL_ulTaskGenericNotifyValueClear 33
|
||||||
|
#define SYSTEM_CALL_xQueueGenericSend 34
|
||||||
|
#define SYSTEM_CALL_uxQueueMessagesWaiting 35
|
||||||
|
#define SYSTEM_CALL_uxQueueSpacesAvailable 36
|
||||||
|
#define SYSTEM_CALL_xQueueReceive 37
|
||||||
|
#define SYSTEM_CALL_xQueuePeek 38
|
||||||
|
#define SYSTEM_CALL_xQueueSemaphoreTake 39
|
||||||
|
#define SYSTEM_CALL_xQueueGetMutexHolder 40
|
||||||
|
#define SYSTEM_CALL_xQueueTakeMutexRecursive 41
|
||||||
|
#define SYSTEM_CALL_xQueueGiveMutexRecursive 42
|
||||||
|
#define SYSTEM_CALL_xQueueSelectFromSet 43
|
||||||
|
#define SYSTEM_CALL_xQueueAddToSet 44
|
||||||
|
#define SYSTEM_CALL_vQueueAddToRegistry 45
|
||||||
|
#define SYSTEM_CALL_vQueueUnregisterQueue 46
|
||||||
|
#define SYSTEM_CALL_pcQueueGetName 47
|
||||||
|
#define SYSTEM_CALL_pvTimerGetTimerID 48
|
||||||
|
#define SYSTEM_CALL_vTimerSetTimerID 49
|
||||||
|
#define SYSTEM_CALL_xTimerIsTimerActive 50
|
||||||
|
#define SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle 51
|
||||||
|
#define SYSTEM_CALL_pcTimerGetName 52
|
||||||
|
#define SYSTEM_CALL_vTimerSetReloadMode 53
|
||||||
|
#define SYSTEM_CALL_xTimerGetReloadMode 54
|
||||||
|
#define SYSTEM_CALL_uxTimerGetReloadMode 55
|
||||||
|
#define SYSTEM_CALL_xTimerGetPeriod 56
|
||||||
|
#define SYSTEM_CALL_xTimerGetExpiryTime 57
|
||||||
|
#define SYSTEM_CALL_xEventGroupClearBits 58
|
||||||
|
#define SYSTEM_CALL_xEventGroupSetBits 59
|
||||||
|
#define SYSTEM_CALL_xEventGroupSync 60
|
||||||
|
#define SYSTEM_CALL_uxEventGroupGetNumber 61
|
||||||
|
#define SYSTEM_CALL_vEventGroupSetNumber 62
|
||||||
|
#define SYSTEM_CALL_xStreamBufferSend 63
|
||||||
|
#define SYSTEM_CALL_xStreamBufferReceive 64
|
||||||
|
#define SYSTEM_CALL_xStreamBufferIsFull 65
|
||||||
|
#define SYSTEM_CALL_xStreamBufferIsEmpty 66
|
||||||
|
#define SYSTEM_CALL_xStreamBufferSpacesAvailable 67
|
||||||
|
#define SYSTEM_CALL_xStreamBufferBytesAvailable 68
|
||||||
|
#define SYSTEM_CALL_xStreamBufferSetTriggerLevel 69
|
||||||
|
#define SYSTEM_CALL_xStreamBufferNextMessageLengthBytes 70
|
||||||
|
#define NUM_SYSTEM_CALLS 71 /* Total number of system calls. */
|
||||||
|
|
||||||
|
#endif /* MPU_SYSCALL_NUMBERS_H */
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -233,6 +233,35 @@
|
||||||
#define PRIVILEGED_DATA __attribute__( ( section( "privileged_data" ) ) )
|
#define PRIVILEGED_DATA __attribute__( ( section( "privileged_data" ) ) )
|
||||||
#define FREERTOS_SYSTEM_CALL
|
#define FREERTOS_SYSTEM_CALL
|
||||||
|
|
||||||
|
|
||||||
|
#if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||||
|
|
||||||
|
#define vGrantAccessToTask( xTask, xTaskToGrantAccess ) vGrantAccessToKernelObject( ( xTask ), ( int32_t ) ( xTaskToGrantAccess ) )
|
||||||
|
#define vRevokeAccessToTask( xTask, xTaskToRevokeAccess ) vRevokeAccessToKernelObject( ( xTask ), ( int32_t ) ( xTaskToRevokeAccess ) )
|
||||||
|
|
||||||
|
#define vGrantAccessToSemaphore( xTask, xSemaphoreToGrantAccess ) vGrantAccessToKernelObject( ( xTask ), ( int32_t ) ( xSemaphoreToGrantAccess ) )
|
||||||
|
#define vRevokeAccessToSemaphore( xTask, xSemaphoreToRevokeAccess ) vRevokeAccessToKernelObject( ( xTask ), ( int32_t ) ( xSemaphoreToRevokeAccess ) )
|
||||||
|
|
||||||
|
#define vGrantAccessToQueue( xTask, xQueueToGrantAccess ) vGrantAccessToKernelObject( ( xTask ), ( int32_t ) ( xQueueToGrantAccess ) )
|
||||||
|
#define vRevokeAccessToQueue( xTask, xQueueToRevokeAccess ) vRevokeAccessToKernelObject( ( xTask ), ( int32_t ) ( xQueueToRevokeAccess ) )
|
||||||
|
|
||||||
|
#define vGrantAccessToQueueSet( xTask, xQueueSetToGrantAccess ) vGrantAccessToKernelObject( ( xTask ), ( int32_t ) ( xQueueSetToGrantAccess ) )
|
||||||
|
#define vRevokeAccessToQueueSet( xTask, xQueueSetToRevokeAccess ) vRevokeAccessToKernelObject( ( xTask ), ( int32_t ) ( xQueueSetToRevokeAccess ) )
|
||||||
|
|
||||||
|
#define vGrantAccessToEventGroup( xTask, xEventGroupToGrantAccess ) vGrantAccessToKernelObject( ( xTask ), ( int32_t ) ( xEventGroupToGrantAccess ) )
|
||||||
|
#define vRevokeAccessToEventGroup( xTask, xEventGroupToRevokeAccess ) vRevokeAccessToKernelObject( ( xTask ), ( int32_t ) ( xEventGroupToRevokeAccess ) )
|
||||||
|
|
||||||
|
#define vGrantAccessToStreamBuffer( xTask, xStreamBufferToGrantAccess ) vGrantAccessToKernelObject( ( xTask ), ( int32_t ) ( xStreamBufferToGrantAccess ) )
|
||||||
|
#define vRevokeAccessToStreamBuffer( xTask, xStreamBufferToRevokeAccess ) vRevokeAccessToKernelObject( ( xTask ), ( int32_t ) ( xStreamBufferToRevokeAccess ) )
|
||||||
|
|
||||||
|
#define vGrantAccessToMessageBuffer( xTask, xMessageBufferToGrantAccess ) vGrantAccessToKernelObject( ( xTask ), ( int32_t ) ( xMessageBufferToGrantAccess ) )
|
||||||
|
#define vRevokeAccessToMessageBuffer( xTask, xMessageBufferToRevokeAccess ) vRevokeAccessToKernelObject( ( xTask ), ( int32_t ) ( xMessageBufferToRevokeAccess ) )
|
||||||
|
|
||||||
|
#define vGrantAccessToTimer( xTask, xTimerToGrantAccess ) vGrantAccessToKernelObject( ( xTask ), ( int32_t ) ( xTimerToGrantAccess ) )
|
||||||
|
#define vRevokeAccessToTimer( xTask, xTimerToRevokeAccess ) vRevokeAccessToKernelObject( ( xTask ), ( int32_t ) ( xTimerToRevokeAccess ) )
|
||||||
|
|
||||||
|
#endif /* #if ( ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) */
|
||||||
|
|
||||||
#else /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
|
#else /* MPU_WRAPPERS_INCLUDED_FROM_API_FILE */
|
||||||
|
|
||||||
/* Ensure API functions go in the privileged execution section. */
|
/* Ensure API functions go in the privileged execution section. */
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -247,6 +247,21 @@ void vPortEndScheduler( void ) PRIVILEGED_FUNCTION;
|
||||||
uint32_t ulAccessRequested ) PRIVILEGED_FUNCTION;
|
uint32_t ulAccessRequested ) PRIVILEGED_FUNCTION;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Checks if the calling task is authorized to access the given kernel object.
|
||||||
|
*
|
||||||
|
* @param lInternalIndexOfKernelObject The index of the kernel object in the kernel
|
||||||
|
* object handle pool.
|
||||||
|
*
|
||||||
|
* @return pdTRUE if the calling task is authorized to access the kernel object,
|
||||||
|
* pdFALSE otherwise.
|
||||||
|
*/
|
||||||
|
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
|
||||||
|
BaseType_t xPortIsAuthorizedToAccessKernelObject( int32_t lInternalIndexOfKernelObject ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -1753,6 +1753,7 @@ void vQueueSetQueueNumber( QueueHandle_t xQueue,
|
||||||
UBaseType_t uxQueueGetQueueNumber( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxQueueGetQueueNumber( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
|
||||||
uint8_t ucQueueGetQueueType( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
|
uint8_t ucQueueGetQueueType( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
|
||||||
UBaseType_t uxQueueGetQueueItemSize( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
|
UBaseType_t uxQueueGetQueueItemSize( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
|
||||||
|
UBaseType_t uxQueueGetQueueLength( QueueHandle_t xQueue ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -53,10 +53,10 @@
|
||||||
* The tskKERNEL_VERSION_MAJOR, tskKERNEL_VERSION_MINOR, tskKERNEL_VERSION_BUILD
|
* The tskKERNEL_VERSION_MAJOR, tskKERNEL_VERSION_MINOR, tskKERNEL_VERSION_BUILD
|
||||||
* values will reflect the last released version number.
|
* values will reflect the last released version number.
|
||||||
*/
|
*/
|
||||||
#define tskKERNEL_VERSION_NUMBER "V10.4.4+"
|
#define tskKERNEL_VERSION_NUMBER "V10.6.2"
|
||||||
#define tskKERNEL_VERSION_MAJOR 10
|
#define tskKERNEL_VERSION_MAJOR 10
|
||||||
#define tskKERNEL_VERSION_MINOR 4
|
#define tskKERNEL_VERSION_MINOR 6
|
||||||
#define tskKERNEL_VERSION_BUILD 4
|
#define tskKERNEL_VERSION_BUILD 2
|
||||||
|
|
||||||
/* MPU region parameters passed in ulParameters
|
/* MPU region parameters passed in ulParameters
|
||||||
* of MemoryRegion_t struct. */
|
* of MemoryRegion_t struct. */
|
||||||
|
@ -3206,6 +3206,27 @@ void vTaskInternalSetTimeOutState( TimeOut_t * const pxTimeOut ) PRIVILEGED_FUNC
|
||||||
|
|
||||||
#endif /* portUSING_MPU_WRAPPERS */
|
#endif /* portUSING_MPU_WRAPPERS */
|
||||||
|
|
||||||
|
|
||||||
|
#if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For internal use only. Grant/Revoke a task's access to a kernel object.
|
||||||
|
*/
|
||||||
|
void vGrantAccessToKernelObject( TaskHandle_t xExternalTaskHandle,
|
||||||
|
int32_t lExternalKernelObjectHandle ) PRIVILEGED_FUNCTION;
|
||||||
|
void vRevokeAccessToKernelObject( TaskHandle_t xExternalTaskHandle,
|
||||||
|
int32_t lExternalKernelObjectHandle ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* For internal use only. Grant/Revoke a task's access to a kernel object.
|
||||||
|
*/
|
||||||
|
void vPortGrantAccessToKernelObject( TaskHandle_t xInternalTaskHandle,
|
||||||
|
int32_t lInternalIndexOfKernelObject ) PRIVILEGED_FUNCTION;
|
||||||
|
void vPortRevokeAccessToKernelObject( TaskHandle_t xInternalTaskHandle,
|
||||||
|
int32_t lInternalIndexOfKernelObject ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
|
#endif /* #if ( ( portUSING_MPU_WRAPPERS == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) */
|
||||||
|
|
||||||
/* *INDENT-OFF* */
|
/* *INDENT-OFF* */
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
2
list.c
2
list.c
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
name : "FreeRTOS-Kernel"
|
name : "FreeRTOS-Kernel"
|
||||||
version: "v10.5.1"
|
version: "v10.6.2"
|
||||||
description: "FreeRTOS Kernel."
|
description: "FreeRTOS Kernel."
|
||||||
license: "MIT"
|
license: "MIT"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
#/*
|
#/*
|
||||||
# * FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
# * FreeRTOS Kernel V10.6.2
|
||||||
# * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
# * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
# *
|
# *
|
||||||
# * SPDX-License-Identifier: MIT
|
# * SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -35,8 +35,9 @@
|
||||||
#include "FreeRTOS.h"
|
#include "FreeRTOS.h"
|
||||||
#include "task.h"
|
#include "task.h"
|
||||||
|
|
||||||
/* MPU wrappers includes. */
|
/* MPU includes. */
|
||||||
#include "mpu_wrappers.h"
|
#include "mpu_wrappers.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
/* Portasm includes. */
|
/* Portasm includes. */
|
||||||
#include "portasm.h"
|
#include "portasm.h"
|
||||||
|
@ -426,27 +427,22 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV
|
||||||
* @brief Sets up the system call stack so that upon returning from
|
* @brief Sets up the system call stack so that upon returning from
|
||||||
* SVC, the system call stack is used.
|
* SVC, the system call stack is used.
|
||||||
*
|
*
|
||||||
* It is used for the system calls with up to 4 parameters.
|
|
||||||
*
|
|
||||||
* @param pulTaskStack The current SP when the SVC was raised.
|
* @param pulTaskStack The current SP when the SVC was raised.
|
||||||
* @param ulLR The value of Link Register (EXC_RETURN) in the SVC handler.
|
* @param ulLR The value of Link Register (EXC_RETURN) in the SVC handler.
|
||||||
|
* @param ucSystemCallNumber The system call number of the system call.
|
||||||
*/
|
*/
|
||||||
void vSystemCallEnter( uint32_t * pulTaskStack, uint32_t ulLR ) PRIVILEGED_FUNCTION;
|
void vSystemCallEnter( uint32_t * pulTaskStack,
|
||||||
|
uint32_t ulLR,
|
||||||
|
uint8_t ucSystemCallNumber ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
|
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
|
||||||
|
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Sets up the system call stack so that upon returning from
|
* @brief Raise SVC for exiting from a system call.
|
||||||
* SVC, the system call stack is used.
|
|
||||||
*
|
|
||||||
* It is used for the system calls with 5 parameters.
|
|
||||||
*
|
|
||||||
* @param pulTaskStack The current SP when the SVC was raised.
|
|
||||||
* @param ulLR The value of Link Register (EXC_RETURN) in the SVC handler.
|
|
||||||
*/
|
*/
|
||||||
void vSystemCallEnter_1( uint32_t * pulTaskStack, uint32_t ulLR ) PRIVILEGED_FUNCTION;
|
void vRequestSystemCallExit( void ) __attribute__( ( naked ) ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
|
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
|
||||||
|
|
||||||
|
@ -459,7 +455,8 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV
|
||||||
* @param pulSystemCallStack The current SP when the SVC was raised.
|
* @param pulSystemCallStack The current SP when the SVC was raised.
|
||||||
* @param ulLR The value of Link Register (EXC_RETURN) in the SVC handler.
|
* @param ulLR The value of Link Register (EXC_RETURN) in the SVC handler.
|
||||||
*/
|
*/
|
||||||
void vSystemCallExit( uint32_t * pulSystemCallStack, uint32_t ulLR ) PRIVILEGED_FUNCTION;
|
void vSystemCallExit( uint32_t * pulSystemCallStack,
|
||||||
|
uint32_t ulLR ) PRIVILEGED_FUNCTION;
|
||||||
|
|
||||||
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
|
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
|
||||||
|
|
||||||
|
@ -475,6 +472,15 @@ portDONT_DISCARD void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) PRIV
|
||||||
#endif /* configENABLE_MPU == 1 */
|
#endif /* configENABLE_MPU == 1 */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief This variable is set to pdTRUE when the scheduler is started.
|
||||||
|
*/
|
||||||
|
PRIVILEGED_DATA static BaseType_t xSchedulerRunning = pdFALSE;
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Each task maintains its own interrupt status in the critical nesting
|
* @brief Each task maintains its own interrupt status in the critical nesting
|
||||||
* variable.
|
* variable.
|
||||||
|
@ -813,7 +819,6 @@ static void prvTaskExitError( void )
|
||||||
static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */
|
static void prvSetupMPU( void ) /* PRIVILEGED_FUNCTION */
|
||||||
{
|
{
|
||||||
#if defined( __ARMCC_VERSION )
|
#if defined( __ARMCC_VERSION )
|
||||||
|
|
||||||
/* Declaration when these variable are defined in code instead of being
|
/* Declaration when these variable are defined in code instead of being
|
||||||
* exported from linker scripts. */
|
* exported from linker scripts. */
|
||||||
extern uint32_t * __privileged_functions_start__;
|
extern uint32_t * __privileged_functions_start__;
|
||||||
|
@ -983,7 +988,6 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
||||||
{
|
{
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 1 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 1 ) )
|
||||||
#if defined( __ARMCC_VERSION )
|
#if defined( __ARMCC_VERSION )
|
||||||
|
|
||||||
/* Declaration when these variable are defined in code instead of being
|
/* Declaration when these variable are defined in code instead of being
|
||||||
* exported from linker scripts. */
|
* exported from linker scripts. */
|
||||||
extern uint32_t * __syscalls_flash_start__;
|
extern uint32_t * __syscalls_flash_start__;
|
||||||
|
@ -1101,12 +1105,16 @@ void vPortSVCHandler_C( uint32_t * pulCallerStackAddress ) /* PRIVILEGED_FUNCTIO
|
||||||
|
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
|
||||||
void vSystemCallEnter( uint32_t * pulTaskStack, uint32_t ulLR ) /* PRIVILEGED_FUNCTION */
|
void vSystemCallEnter( uint32_t * pulTaskStack,
|
||||||
|
uint32_t ulLR,
|
||||||
|
uint8_t ucSystemCallNumber ) /* PRIVILEGED_FUNCTION */
|
||||||
{
|
{
|
||||||
extern TaskHandle_t pxCurrentTCB;
|
extern TaskHandle_t pxCurrentTCB;
|
||||||
|
extern UBaseType_t uxSystemCallImplementations[ NUM_SYSTEM_CALLS ];
|
||||||
xMPU_SETTINGS * pxMpuSettings;
|
xMPU_SETTINGS * pxMpuSettings;
|
||||||
uint32_t * pulSystemCallStack;
|
uint32_t * pulSystemCallStack;
|
||||||
uint32_t ulStackFrameSize, ulSystemCallLocation, i;
|
uint32_t ulStackFrameSize, ulSystemCallLocation, i;
|
||||||
|
|
||||||
#if defined( __ARMCC_VERSION )
|
#if defined( __ARMCC_VERSION )
|
||||||
/* Declaration when these variable are defined in code instead of being
|
/* Declaration when these variable are defined in code instead of being
|
||||||
* exported from linker scripts. */
|
* exported from linker scripts. */
|
||||||
|
@ -1119,16 +1127,26 @@ void vSystemCallEnter( uint32_t * pulTaskStack, uint32_t ulLR ) /* PRIVILEGED_FU
|
||||||
#endif /* #if defined( __ARMCC_VERSION ) */
|
#endif /* #if defined( __ARMCC_VERSION ) */
|
||||||
|
|
||||||
ulSystemCallLocation = pulTaskStack[ portOFFSET_TO_PC ];
|
ulSystemCallLocation = pulTaskStack[ portOFFSET_TO_PC ];
|
||||||
|
|
||||||
/* If the request did not come from the system call section, do nothing. */
|
|
||||||
if( ( ulSystemCallLocation >= ( uint32_t ) __syscalls_flash_start__ ) &&
|
|
||||||
( ulSystemCallLocation <= ( uint32_t ) __syscalls_flash_end__ ) )
|
|
||||||
{
|
|
||||||
pxMpuSettings = xTaskGetMPUSettings( pxCurrentTCB );
|
pxMpuSettings = xTaskGetMPUSettings( pxCurrentTCB );
|
||||||
pulSystemCallStack = pxMpuSettings->xSystemCallStackInfo.pulSystemCallStack;
|
|
||||||
|
|
||||||
/* This is not NULL only for the duration of the system call. */
|
/* Checks:
|
||||||
configASSERT( pxMpuSettings->xSystemCallStackInfo.pulTaskStack == NULL );
|
* 1. SVC is raised from the system call section (i.e. application is
|
||||||
|
* not raising SVC directly).
|
||||||
|
* 2. pxMpuSettings->xSystemCallStackInfo.pulTaskStack must be NULL as
|
||||||
|
* it is non-NULL only during the execution of a system call (i.e.
|
||||||
|
* between system call enter and exit).
|
||||||
|
* 3. System call is not for a kernel API disabled by the configuration
|
||||||
|
* in FreeRTOSConfig.h.
|
||||||
|
* 4. We do not need to check that ucSystemCallNumber is within range
|
||||||
|
* because the assembly SVC handler checks that before calling
|
||||||
|
* this function.
|
||||||
|
*/
|
||||||
|
if( ( ulSystemCallLocation >= ( uint32_t ) __syscalls_flash_start__ ) &&
|
||||||
|
( ulSystemCallLocation <= ( uint32_t ) __syscalls_flash_end__ ) &&
|
||||||
|
( pxMpuSettings->xSystemCallStackInfo.pulTaskStack == NULL ) &&
|
||||||
|
( uxSystemCallImplementations[ ucSystemCallNumber ] != ( UBaseType_t ) 0 ) )
|
||||||
|
{
|
||||||
|
pulSystemCallStack = pxMpuSettings->xSystemCallStackInfo.pulSystemCallStack;
|
||||||
|
|
||||||
#if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) )
|
#if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) )
|
||||||
{
|
{
|
||||||
|
@ -1136,7 +1154,8 @@ void vSystemCallEnter( uint32_t * pulTaskStack, uint32_t ulLR ) /* PRIVILEGED_FU
|
||||||
{
|
{
|
||||||
/* Extended frame i.e. FPU in use. */
|
/* Extended frame i.e. FPU in use. */
|
||||||
ulStackFrameSize = 26;
|
ulStackFrameSize = 26;
|
||||||
__asm volatile (
|
__asm volatile
|
||||||
|
(
|
||||||
" vpush {s0} \n" /* Trigger lazy stacking. */
|
" vpush {s0} \n" /* Trigger lazy stacking. */
|
||||||
" vpop {s0} \n" /* Nullify the affect of the above instruction. */
|
" vpop {s0} \n" /* Nullify the affect of the above instruction. */
|
||||||
::: "memory"
|
::: "memory"
|
||||||
|
@ -1148,11 +1167,11 @@ void vSystemCallEnter( uint32_t * pulTaskStack, uint32_t ulLR ) /* PRIVILEGED_FU
|
||||||
ulStackFrameSize = 8;
|
ulStackFrameSize = 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else /* if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) ) */
|
||||||
{
|
{
|
||||||
ulStackFrameSize = 8;
|
ulStackFrameSize = 8;
|
||||||
}
|
}
|
||||||
#endif /* configENABLE_FPU || configENABLE_MVE */
|
#endif /* if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) ) */
|
||||||
|
|
||||||
/* Make space on the system call stack for the stack frame. */
|
/* Make space on the system call stack for the stack frame. */
|
||||||
pulSystemCallStack = pulSystemCallStack - ulStackFrameSize;
|
pulSystemCallStack = pulSystemCallStack - ulStackFrameSize;
|
||||||
|
@ -1163,152 +1182,50 @@ void vSystemCallEnter( uint32_t * pulTaskStack, uint32_t ulLR ) /* PRIVILEGED_FU
|
||||||
pulSystemCallStack[ i ] = pulTaskStack[ i ];
|
pulSystemCallStack[ i ] = pulTaskStack[ i ];
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Store the value of the LR and PSPLIM registers before the SVC was raised. We need to
|
/* Store the value of the Link Register before the SVC was raised.
|
||||||
* restore it when we exit from the system call. */
|
* It contains the address of the caller of the System Call entry
|
||||||
|
* point (i.e. the caller of the MPU_<API>). We need to restore it
|
||||||
|
* when we exit from the system call. */
|
||||||
pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry = pulTaskStack[ portOFFSET_TO_LR ];
|
pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry = pulTaskStack[ portOFFSET_TO_LR ];
|
||||||
__asm volatile ( "mrs %0, psplim" : "=r" ( pxMpuSettings->xSystemCallStackInfo.ulStackLimitRegisterAtSystemCallEntry ) );
|
|
||||||
|
|
||||||
/* Use the pulSystemCallStack in thread mode. */
|
/* Store the value of the PSPLIM register before the SVC was raised.
|
||||||
__asm volatile ( "msr psp, %0" : : "r" ( pulSystemCallStack ) );
|
|
||||||
__asm volatile ( "msr psplim, %0" : : "r" ( pxMpuSettings->xSystemCallStackInfo.pulSystemCallStackLimit ) );
|
|
||||||
|
|
||||||
/* Remember the location where we should copy the stack frame when we exit from
|
|
||||||
* the system call. */
|
|
||||||
pxMpuSettings->xSystemCallStackInfo.pulTaskStack = pulTaskStack + ulStackFrameSize;
|
|
||||||
|
|
||||||
/* Record if the hardware used padding to force the stack pointer
|
|
||||||
* to be double word aligned. */
|
|
||||||
if( ( pulTaskStack[ portOFFSET_TO_PSR ] & portPSR_STACK_PADDING_MASK ) == portPSR_STACK_PADDING_MASK )
|
|
||||||
{
|
|
||||||
pxMpuSettings->ulTaskFlags |= portSTACK_FRAME_HAS_PADDING_FLAG;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pxMpuSettings->ulTaskFlags &= ( ~portSTACK_FRAME_HAS_PADDING_FLAG );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We ensure in pxPortInitialiseStack that the system call stack is
|
|
||||||
* double word aligned and therefore, there is no need of padding.
|
|
||||||
* Clear the bit[9] of stacked xPSR. */
|
|
||||||
pulSystemCallStack[ portOFFSET_TO_PSR ] &= ( ~portPSR_STACK_PADDING_MASK );
|
|
||||||
|
|
||||||
/* Raise the privilege for the duration of the system call. */
|
|
||||||
__asm volatile (
|
|
||||||
" mrs r0, control \n" /* Obtain current control value. */
|
|
||||||
" movs r1, #1 \n" /* r1 = 1. */
|
|
||||||
" bics r0, r1 \n" /* Clear nPRIV bit. */
|
|
||||||
" msr control, r0 \n" /* Write back new control value. */
|
|
||||||
::: "r0", "r1", "memory"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
|
|
||||||
/*-----------------------------------------------------------*/
|
|
||||||
|
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
|
||||||
|
|
||||||
void vSystemCallEnter_1( uint32_t * pulTaskStack, uint32_t ulLR ) /* PRIVILEGED_FUNCTION */
|
|
||||||
{
|
|
||||||
extern TaskHandle_t pxCurrentTCB;
|
|
||||||
xMPU_SETTINGS * pxMpuSettings;
|
|
||||||
uint32_t * pulSystemCallStack;
|
|
||||||
uint32_t ulStackFrameSize, ulSystemCallLocation, i;
|
|
||||||
#if defined( __ARMCC_VERSION )
|
|
||||||
/* Declaration when these variable are defined in code instead of being
|
|
||||||
* exported from linker scripts. */
|
|
||||||
extern uint32_t * __syscalls_flash_start__;
|
|
||||||
extern uint32_t * __syscalls_flash_end__;
|
|
||||||
#else
|
|
||||||
/* Declaration when these variable are exported from linker scripts. */
|
|
||||||
extern uint32_t __syscalls_flash_start__[];
|
|
||||||
extern uint32_t __syscalls_flash_end__[];
|
|
||||||
#endif /* #if defined( __ARMCC_VERSION ) */
|
|
||||||
|
|
||||||
ulSystemCallLocation = pulTaskStack[ portOFFSET_TO_PC ];
|
|
||||||
|
|
||||||
/* If the request did not come from the system call section, do nothing. */
|
|
||||||
if( ( ulSystemCallLocation >= ( uint32_t ) __syscalls_flash_start__ ) &&
|
|
||||||
( ulSystemCallLocation <= ( uint32_t ) __syscalls_flash_end__ ) )
|
|
||||||
{
|
|
||||||
pxMpuSettings = xTaskGetMPUSettings( pxCurrentTCB );
|
|
||||||
pulSystemCallStack = pxMpuSettings->xSystemCallStackInfo.pulSystemCallStack;
|
|
||||||
|
|
||||||
/* This is not NULL only for the duration of the system call. */
|
|
||||||
configASSERT( pxMpuSettings->xSystemCallStackInfo.pulTaskStack == NULL );
|
|
||||||
|
|
||||||
#if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) )
|
|
||||||
{
|
|
||||||
if( ( ulLR & portEXC_RETURN_STACK_FRAME_TYPE_MASK ) == 0UL )
|
|
||||||
{
|
|
||||||
/* Extended frame i.e. FPU in use. */
|
|
||||||
ulStackFrameSize = 26;
|
|
||||||
__asm volatile (
|
|
||||||
" vpush {s0} \n" /* Trigger lazy stacking. */
|
|
||||||
" vpop {s0} \n" /* Nullify the affect of the above instruction. */
|
|
||||||
::: "memory"
|
|
||||||
);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
/* Standard frame i.e. FPU not in use. */
|
|
||||||
ulStackFrameSize = 8;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
{
|
|
||||||
ulStackFrameSize = 8;
|
|
||||||
}
|
|
||||||
#endif /* configENABLE_FPU || configENABLE_MVE */
|
|
||||||
|
|
||||||
/* Make space on the system call stack for the stack frame and
|
|
||||||
* the parameter passed on the stack. We only need to copy one
|
|
||||||
* parameter but we still reserve 2 spaces to keep the stack
|
|
||||||
* double word aligned. */
|
|
||||||
pulSystemCallStack = pulSystemCallStack - ulStackFrameSize - 2UL;
|
|
||||||
|
|
||||||
/* Copy the stack frame. */
|
|
||||||
for( i = 0; i < ulStackFrameSize; i++ )
|
|
||||||
{
|
|
||||||
pulSystemCallStack[ i ] = pulTaskStack[ i ];
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Copy the parameter which is passed the stack. */
|
|
||||||
if( ( pulTaskStack[ portOFFSET_TO_PSR ] & portPSR_STACK_PADDING_MASK ) == portPSR_STACK_PADDING_MASK )
|
|
||||||
{
|
|
||||||
pulSystemCallStack[ ulStackFrameSize ] = pulTaskStack[ ulStackFrameSize + 1 ];
|
|
||||||
/* Record if the hardware used padding to force the stack pointer
|
|
||||||
* to be double word aligned. */
|
|
||||||
pxMpuSettings->ulTaskFlags |= portSTACK_FRAME_HAS_PADDING_FLAG;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
pulSystemCallStack[ ulStackFrameSize ] = pulTaskStack[ ulStackFrameSize ];
|
|
||||||
/* Record if the hardware used padding to force the stack pointer
|
|
||||||
* to be double word aligned. */
|
|
||||||
pxMpuSettings->ulTaskFlags &= ( ~portSTACK_FRAME_HAS_PADDING_FLAG );
|
|
||||||
}
|
|
||||||
|
|
||||||
/* Store the value of the LR and PSPLIM registers before the SVC was raised.
|
|
||||||
* We need to restore it when we exit from the system call. */
|
* We need to restore it when we exit from the system call. */
|
||||||
pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry = pulTaskStack[ portOFFSET_TO_LR ];
|
|
||||||
__asm volatile ( "mrs %0, psplim" : "=r" ( pxMpuSettings->xSystemCallStackInfo.ulStackLimitRegisterAtSystemCallEntry ) );
|
__asm volatile ( "mrs %0, psplim" : "=r" ( pxMpuSettings->xSystemCallStackInfo.ulStackLimitRegisterAtSystemCallEntry ) );
|
||||||
|
|
||||||
/* Use the pulSystemCallStack in thread mode. */
|
/* Use the pulSystemCallStack in thread mode. */
|
||||||
__asm volatile ( "msr psp, %0" : : "r" ( pulSystemCallStack ) );
|
__asm volatile ( "msr psp, %0" : : "r" ( pulSystemCallStack ) );
|
||||||
__asm volatile ( "msr psplim, %0" : : "r" ( pxMpuSettings->xSystemCallStackInfo.pulSystemCallStackLimit ) );
|
__asm volatile ( "msr psplim, %0" : : "r" ( pxMpuSettings->xSystemCallStackInfo.pulSystemCallStackLimit ) );
|
||||||
|
|
||||||
|
/* Start executing the system call upon returning from this handler. */
|
||||||
|
pulSystemCallStack[ portOFFSET_TO_PC ] = uxSystemCallImplementations[ ucSystemCallNumber ];
|
||||||
|
|
||||||
|
/* Raise a request to exit from the system call upon finishing the
|
||||||
|
* system call. */
|
||||||
|
pulSystemCallStack[ portOFFSET_TO_LR ] = ( uint32_t ) vRequestSystemCallExit;
|
||||||
|
|
||||||
/* Remember the location where we should copy the stack frame when we exit from
|
/* Remember the location where we should copy the stack frame when we exit from
|
||||||
* the system call. */
|
* the system call. */
|
||||||
pxMpuSettings->xSystemCallStackInfo.pulTaskStack = pulTaskStack + ulStackFrameSize;
|
pxMpuSettings->xSystemCallStackInfo.pulTaskStack = pulTaskStack + ulStackFrameSize;
|
||||||
|
|
||||||
|
/* Record if the hardware used padding to force the stack pointer
|
||||||
|
* to be double word aligned. */
|
||||||
|
if( ( pulTaskStack[ portOFFSET_TO_PSR ] & portPSR_STACK_PADDING_MASK ) == portPSR_STACK_PADDING_MASK )
|
||||||
|
{
|
||||||
|
pxMpuSettings->ulTaskFlags |= portSTACK_FRAME_HAS_PADDING_FLAG;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
pxMpuSettings->ulTaskFlags &= ( ~portSTACK_FRAME_HAS_PADDING_FLAG );
|
||||||
|
}
|
||||||
|
|
||||||
/* We ensure in pxPortInitialiseStack that the system call stack is
|
/* We ensure in pxPortInitialiseStack that the system call stack is
|
||||||
* double word aligned and therefore, there is no need of padding.
|
* double word aligned and therefore, there is no need of padding.
|
||||||
* Clear the bit[9] of stacked xPSR. */
|
* Clear the bit[9] of stacked xPSR. */
|
||||||
pulSystemCallStack[ portOFFSET_TO_PSR ] &= ( ~portPSR_STACK_PADDING_MASK );
|
pulSystemCallStack[ portOFFSET_TO_PSR ] &= ( ~portPSR_STACK_PADDING_MASK );
|
||||||
|
|
||||||
/* Raise the privilege for the duration of the system call. */
|
/* Raise the privilege for the duration of the system call. */
|
||||||
__asm volatile (
|
__asm volatile
|
||||||
|
(
|
||||||
" mrs r0, control \n" /* Obtain current control value. */
|
" mrs r0, control \n" /* Obtain current control value. */
|
||||||
" movs r1, #1 \n" /* r1 = 1. */
|
" movs r1, #1 \n" /* r1 = 1. */
|
||||||
" bics r0, r1 \n" /* Clear nPRIV bit. */
|
" bics r0, r1 \n" /* Clear nPRIV bit. */
|
||||||
|
@ -1323,30 +1240,51 @@ void vSystemCallEnter_1( uint32_t * pulTaskStack, uint32_t ulLR ) /* PRIVILEGED_
|
||||||
|
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
|
||||||
void vSystemCallExit( uint32_t * pulSystemCallStack, uint32_t ulLR ) /* PRIVILEGED_FUNCTION */
|
void vRequestSystemCallExit( void ) /* __attribute__( ( naked ) ) PRIVILEGED_FUNCTION */
|
||||||
|
{
|
||||||
|
__asm volatile ( "svc %0 \n" ::"i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory" );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) */
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
|
||||||
|
void vSystemCallExit( uint32_t * pulSystemCallStack,
|
||||||
|
uint32_t ulLR ) /* PRIVILEGED_FUNCTION */
|
||||||
{
|
{
|
||||||
extern TaskHandle_t pxCurrentTCB;
|
extern TaskHandle_t pxCurrentTCB;
|
||||||
xMPU_SETTINGS * pxMpuSettings;
|
xMPU_SETTINGS * pxMpuSettings;
|
||||||
uint32_t * pulTaskStack;
|
uint32_t * pulTaskStack;
|
||||||
uint32_t ulStackFrameSize, ulSystemCallLocation, i;
|
uint32_t ulStackFrameSize, ulSystemCallLocation, i;
|
||||||
|
|
||||||
#if defined( __ARMCC_VERSION )
|
#if defined( __ARMCC_VERSION )
|
||||||
/* Declaration when these variable are defined in code instead of being
|
/* Declaration when these variable are defined in code instead of being
|
||||||
* exported from linker scripts. */
|
* exported from linker scripts. */
|
||||||
extern uint32_t * __syscalls_flash_start__;
|
extern uint32_t * __privileged_functions_start__;
|
||||||
extern uint32_t * __syscalls_flash_end__;
|
extern uint32_t * __privileged_functions_end__;
|
||||||
#else
|
#else
|
||||||
/* Declaration when these variable are exported from linker scripts. */
|
/* Declaration when these variable are exported from linker scripts. */
|
||||||
extern uint32_t __syscalls_flash_start__[];
|
extern uint32_t __privileged_functions_start__[];
|
||||||
extern uint32_t __syscalls_flash_end__[];
|
extern uint32_t __privileged_functions_end__[];
|
||||||
#endif /* #if defined( __ARMCC_VERSION ) */
|
#endif /* #if defined( __ARMCC_VERSION ) */
|
||||||
|
|
||||||
ulSystemCallLocation = pulSystemCallStack[ portOFFSET_TO_PC ];
|
ulSystemCallLocation = pulSystemCallStack[ portOFFSET_TO_PC ];
|
||||||
|
|
||||||
/* If the request did not come from the system call section, do nothing. */
|
|
||||||
if( ( ulSystemCallLocation >= ( uint32_t ) __syscalls_flash_start__ ) &&
|
|
||||||
( ulSystemCallLocation <= ( uint32_t ) __syscalls_flash_end__ ) )
|
|
||||||
{
|
|
||||||
pxMpuSettings = xTaskGetMPUSettings( pxCurrentTCB );
|
pxMpuSettings = xTaskGetMPUSettings( pxCurrentTCB );
|
||||||
|
|
||||||
|
/* Checks:
|
||||||
|
* 1. SVC is raised from the privileged code (i.e. application is not
|
||||||
|
* raising SVC directly). This SVC is only raised from
|
||||||
|
* vRequestSystemCallExit which is in the privileged code section.
|
||||||
|
* 2. pxMpuSettings->xSystemCallStackInfo.pulTaskStack must not be NULL -
|
||||||
|
* this means that we previously entered a system call and the
|
||||||
|
* application is not attempting to exit without entering a system
|
||||||
|
* call.
|
||||||
|
*/
|
||||||
|
if( ( ulSystemCallLocation >= ( uint32_t ) __privileged_functions_start__ ) &&
|
||||||
|
( ulSystemCallLocation <= ( uint32_t ) __privileged_functions_end__ ) &&
|
||||||
|
( pxMpuSettings->xSystemCallStackInfo.pulTaskStack != NULL ) )
|
||||||
|
{
|
||||||
pulTaskStack = pxMpuSettings->xSystemCallStackInfo.pulTaskStack;
|
pulTaskStack = pxMpuSettings->xSystemCallStackInfo.pulTaskStack;
|
||||||
|
|
||||||
#if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) )
|
#if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) )
|
||||||
|
@ -1355,7 +1293,8 @@ void vSystemCallExit( uint32_t * pulSystemCallStack, uint32_t ulLR ) /* PRIVILEG
|
||||||
{
|
{
|
||||||
/* Extended frame i.e. FPU in use. */
|
/* Extended frame i.e. FPU in use. */
|
||||||
ulStackFrameSize = 26;
|
ulStackFrameSize = 26;
|
||||||
__asm volatile (
|
__asm volatile
|
||||||
|
(
|
||||||
" vpush {s0} \n" /* Trigger lazy stacking. */
|
" vpush {s0} \n" /* Trigger lazy stacking. */
|
||||||
" vpop {s0} \n" /* Nullify the affect of the above instruction. */
|
" vpop {s0} \n" /* Nullify the affect of the above instruction. */
|
||||||
::: "memory"
|
::: "memory"
|
||||||
|
@ -1367,11 +1306,11 @@ void vSystemCallExit( uint32_t * pulSystemCallStack, uint32_t ulLR ) /* PRIVILEG
|
||||||
ulStackFrameSize = 8;
|
ulStackFrameSize = 8;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#else
|
#else /* if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) ) */
|
||||||
{
|
{
|
||||||
ulStackFrameSize = 8;
|
ulStackFrameSize = 8;
|
||||||
}
|
}
|
||||||
#endif /* configENABLE_FPU || configENABLE_MVE */
|
#endif /* if ( ( configENABLE_FPU == 1 ) || ( configENABLE_MVE == 1 ) ) */
|
||||||
|
|
||||||
/* Make space on the task stack for the stack frame. */
|
/* Make space on the task stack for the stack frame. */
|
||||||
pulTaskStack = pulTaskStack - ulStackFrameSize;
|
pulTaskStack = pulTaskStack - ulStackFrameSize;
|
||||||
|
@ -1385,9 +1324,14 @@ void vSystemCallExit( uint32_t * pulSystemCallStack, uint32_t ulLR ) /* PRIVILEG
|
||||||
/* Use the pulTaskStack in thread mode. */
|
/* Use the pulTaskStack in thread mode. */
|
||||||
__asm volatile ( "msr psp, %0" : : "r" ( pulTaskStack ) );
|
__asm volatile ( "msr psp, %0" : : "r" ( pulTaskStack ) );
|
||||||
|
|
||||||
/* Restore the LR and PSPLIM to what they were at the time of
|
/* Return to the caller of the System Call entry point (i.e. the
|
||||||
* system call entry. */
|
* caller of the MPU_<API>). */
|
||||||
|
pulTaskStack[ portOFFSET_TO_PC ] = pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry;
|
||||||
|
/* Ensure that LR has a valid value.*/
|
||||||
pulTaskStack[ portOFFSET_TO_LR ] = pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry;
|
pulTaskStack[ portOFFSET_TO_LR ] = pxMpuSettings->xSystemCallStackInfo.ulLinkRegisterAtSystemCallEntry;
|
||||||
|
|
||||||
|
/* Restore the PSPLIM register to what it was at the time of
|
||||||
|
* system call entry. */
|
||||||
__asm volatile ( "msr psplim, %0" : : "r" ( pxMpuSettings->xSystemCallStackInfo.ulStackLimitRegisterAtSystemCallEntry ) );
|
__asm volatile ( "msr psplim, %0" : : "r" ( pxMpuSettings->xSystemCallStackInfo.ulStackLimitRegisterAtSystemCallEntry ) );
|
||||||
|
|
||||||
/* If the hardware used padding to force the stack pointer
|
/* If the hardware used padding to force the stack pointer
|
||||||
|
@ -1406,7 +1350,8 @@ void vSystemCallExit( uint32_t * pulSystemCallStack, uint32_t ulLR ) /* PRIVILEG
|
||||||
pxMpuSettings->xSystemCallStackInfo.pulTaskStack = NULL;
|
pxMpuSettings->xSystemCallStackInfo.pulTaskStack = NULL;
|
||||||
|
|
||||||
/* Drop the privilege before returning to the thread mode. */
|
/* Drop the privilege before returning to the thread mode. */
|
||||||
__asm volatile (
|
__asm volatile
|
||||||
|
(
|
||||||
" mrs r0, control \n" /* Obtain current control value. */
|
" mrs r0, control \n" /* Obtain current control value. */
|
||||||
" movs r1, #1 \n" /* r1 = 1. */
|
" movs r1, #1 \n" /* r1 = 1. */
|
||||||
" orrs r0, r1 \n" /* Set nPRIV bit. */
|
" orrs r0, r1 \n" /* Set nPRIV bit. */
|
||||||
|
@ -1715,6 +1660,12 @@ BaseType_t xPortStartScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||||
/* Initialize the critical nesting count ready for the first task. */
|
/* Initialize the critical nesting count ready for the first task. */
|
||||||
ulCriticalNesting = 0;
|
ulCriticalNesting = 0;
|
||||||
|
|
||||||
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||||
|
{
|
||||||
|
xSchedulerRunning = pdTRUE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Start the first task. */
|
/* Start the first task. */
|
||||||
vStartFirstTask();
|
vStartFirstTask();
|
||||||
|
|
||||||
|
@ -1750,7 +1701,6 @@ void vPortEndScheduler( void ) /* PRIVILEGED_FUNCTION */
|
||||||
int32_t lIndex = 0;
|
int32_t lIndex = 0;
|
||||||
|
|
||||||
#if defined( __ARMCC_VERSION )
|
#if defined( __ARMCC_VERSION )
|
||||||
|
|
||||||
/* Declaration when these variable are defined in code instead of being
|
/* Declaration when these variable are defined in code instead of being
|
||||||
* exported from linker scripts. */
|
* exported from linker scripts. */
|
||||||
extern uint32_t * __privileged_sram_start__;
|
extern uint32_t * __privileged_sram_start__;
|
||||||
|
@ -1996,3 +1946,98 @@ BaseType_t xPortIsInsideInterrupt( void )
|
||||||
|
|
||||||
#endif /* #if ( ( configASSERT_DEFINED == 1 ) && ( portHAS_BASEPRI == 1 ) ) */
|
#endif /* #if ( ( configASSERT_DEFINED == 1 ) && ( portHAS_BASEPRI == 1 ) ) */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||||
|
|
||||||
|
void vPortGrantAccessToKernelObject( TaskHandle_t xInternalTaskHandle,
|
||||||
|
int32_t lInternalIndexOfKernelObject ) /* PRIVILEGED_FUNCTION */
|
||||||
|
{
|
||||||
|
uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit;
|
||||||
|
xMPU_SETTINGS * xTaskMpuSettings;
|
||||||
|
|
||||||
|
ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject / portACL_ENTRY_SIZE_BITS );
|
||||||
|
ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject % portACL_ENTRY_SIZE_BITS );
|
||||||
|
|
||||||
|
xTaskMpuSettings = xTaskGetMPUSettings( xInternalTaskHandle );
|
||||||
|
|
||||||
|
xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] |= ( 1U << ulAccessControlListEntryBit );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) */
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) )
|
||||||
|
|
||||||
|
void vPortRevokeAccessToKernelObject( TaskHandle_t xInternalTaskHandle,
|
||||||
|
int32_t lInternalIndexOfKernelObject ) /* PRIVILEGED_FUNCTION */
|
||||||
|
{
|
||||||
|
uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit;
|
||||||
|
xMPU_SETTINGS * xTaskMpuSettings;
|
||||||
|
|
||||||
|
ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject / portACL_ENTRY_SIZE_BITS );
|
||||||
|
ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject % portACL_ENTRY_SIZE_BITS );
|
||||||
|
|
||||||
|
xTaskMpuSettings = xTaskGetMPUSettings( xInternalTaskHandle );
|
||||||
|
|
||||||
|
xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] &= ~( 1U << ulAccessControlListEntryBit );
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) && ( configENABLE_ACCESS_CONTROL_LIST == 1 ) ) */
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
|
||||||
|
#if ( configENABLE_ACCESS_CONTROL_LIST == 1 )
|
||||||
|
|
||||||
|
BaseType_t xPortIsAuthorizedToAccessKernelObject( int32_t lInternalIndexOfKernelObject ) /* PRIVILEGED_FUNCTION */
|
||||||
|
{
|
||||||
|
uint32_t ulAccessControlListEntryIndex, ulAccessControlListEntryBit;
|
||||||
|
BaseType_t xAccessGranted = pdFALSE;
|
||||||
|
const xMPU_SETTINGS * xTaskMpuSettings;
|
||||||
|
|
||||||
|
if( xSchedulerRunning == pdFALSE )
|
||||||
|
{
|
||||||
|
/* Grant access to all the kernel objects before the scheduler
|
||||||
|
* is started. It is necessary because there is no task running
|
||||||
|
* yet and therefore, we cannot use the permissions of any
|
||||||
|
* task. */
|
||||||
|
xAccessGranted = pdTRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
xTaskMpuSettings = xTaskGetMPUSettings( NULL ); /* Calling task's MPU settings. */
|
||||||
|
|
||||||
|
ulAccessControlListEntryIndex = ( ( uint32_t ) lInternalIndexOfKernelObject / portACL_ENTRY_SIZE_BITS );
|
||||||
|
ulAccessControlListEntryBit = ( ( uint32_t ) lInternalIndexOfKernelObject % portACL_ENTRY_SIZE_BITS );
|
||||||
|
|
||||||
|
if( ( xTaskMpuSettings->ulTaskFlags & portTASK_IS_PRIVILEGED_FLAG ) == portTASK_IS_PRIVILEGED_FLAG )
|
||||||
|
{
|
||||||
|
xAccessGranted = pdTRUE;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
if( ( xTaskMpuSettings->ulAccessControlList[ ulAccessControlListEntryIndex ] & ( 1U << ulAccessControlListEntryBit ) ) != 0 )
|
||||||
|
{
|
||||||
|
xAccessGranted = pdTRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return xAccessGranted;
|
||||||
|
}
|
||||||
|
|
||||||
|
#else /* #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) */
|
||||||
|
|
||||||
|
BaseType_t xPortIsAuthorizedToAccessKernelObject( int32_t lInternalIndexOfKernelObject ) /* PRIVILEGED_FUNCTION */
|
||||||
|
{
|
||||||
|
( void ) lInternalIndexOfKernelObject;
|
||||||
|
|
||||||
|
/* If Access Control List feature is not used, all the tasks have
|
||||||
|
* access to all the kernel objects. */
|
||||||
|
return pdTRUE;
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* #if ( configENABLE_ACCESS_CONTROL_LIST == 1 ) */
|
||||||
|
|
||||||
|
#endif /* #if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) ) */
|
||||||
|
/*-----------------------------------------------------------*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -38,6 +38,8 @@
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
#include "event_groups.h"
|
#include "event_groups.h"
|
||||||
#include "stream_buffer.h"
|
#include "stream_buffer.h"
|
||||||
|
#include "mpu_prototypes.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -68,11 +70,8 @@ BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
||||||
" MPU_xTaskDelayUntil_Unpriv: \n"
|
" MPU_xTaskDelayUntil_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskDelayUntilImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,11 +100,8 @@ BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) /* __attribute__ (( naked )
|
||||||
" MPU_xTaskAbortDelay_Unpriv: \n"
|
" MPU_xTaskAbortDelay_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskAbortDelayImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,11 +130,8 @@ void MPU_vTaskDelay( const TickType_t xTicksToDelay ) /* __attribute__ (( naked
|
||||||
" MPU_vTaskDelay_Unpriv: \n"
|
" MPU_vTaskDelay_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskDelayImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,11 +160,8 @@ UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t xTask ) /* __attribute__ (
|
||||||
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskPriorityGetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,11 +190,8 @@ eTaskState MPU_eTaskGetState( TaskHandle_t xTask ) /* __attribute__ (( naked ))
|
||||||
" MPU_eTaskGetState_Unpriv: \n"
|
" MPU_eTaskGetState_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_eTaskGetStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,11 +226,8 @@ void MPU_vTaskGetInfo( TaskHandle_t xTask,
|
||||||
" MPU_vTaskGetInfo_Unpriv: \n"
|
" MPU_vTaskGetInfo_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskGetInfoImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -272,11 +256,8 @@ TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) /* __attribute__ (( naked )) FRE
|
||||||
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetIdleTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -305,11 +286,8 @@ void MPU_vTaskSuspend( TaskHandle_t xTaskToSuspend ) /* __attribute__ (( naked )
|
||||||
" MPU_vTaskSuspend_Unpriv: \n"
|
" MPU_vTaskSuspend_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSuspendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -338,11 +316,8 @@ void MPU_vTaskResume( TaskHandle_t xTaskToResume ) /* __attribute__ (( naked ))
|
||||||
" MPU_vTaskResume_Unpriv: \n"
|
" MPU_vTaskResume_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskResumeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskResume ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,11 +344,8 @@ TickType_t MPU_xTaskGetTickCount( void ) /* __attribute__ (( naked )) FREERTOS_S
|
||||||
" MPU_xTaskGetTickCount_Unpriv: \n"
|
" MPU_xTaskGetTickCount_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetTickCountImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -398,11 +370,8 @@ UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) /* __attribute__ (( naked )) FREE
|
||||||
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetNumberOfTasksImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -427,11 +396,8 @@ char * MPU_pcTaskGetName( TaskHandle_t xTaskToQuery ) /* __attribute__ (( naked
|
||||||
" MPU_pcTaskGetName_Unpriv: \n"
|
" MPU_pcTaskGetName_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcTaskGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcTaskGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -458,11 +424,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimeCounter( const TaskHandle_t xTas
|
||||||
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetRunTimeCounterImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -491,11 +454,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimePercent( const TaskHandle_t xTas
|
||||||
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetRunTimePercentImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -524,11 +484,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimePercent( void ) /* __attribu
|
||||||
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetIdleRunTimePercentImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -557,11 +514,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimeCounter( void ) /* __attribu
|
||||||
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetIdleRunTimeCounterImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -592,11 +546,8 @@ void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask,
|
||||||
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetApplicationTaskTagImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -625,11 +576,8 @@ TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) /* __att
|
||||||
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetApplicationTaskTagImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -662,11 +610,8 @@ void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet,
|
||||||
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetThreadLocalStoragePointerImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -697,11 +642,8 @@ void * MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery,
|
||||||
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pvTaskGetThreadLocalStoragePointerImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -734,11 +676,8 @@ UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
|
||||||
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetSystemStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -767,11 +706,8 @@ UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) /* __attribute
|
||||||
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetStackHighWaterMarkImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -800,11 +736,8 @@ configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) /*
|
||||||
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetStackHighWaterMark2Impl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -833,11 +766,8 @@ TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) /* __attribute__ (( naked ))
|
||||||
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetCurrentTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -866,11 +796,8 @@ BaseType_t MPU_xTaskGetSchedulerState( void ) /* __attribute__ (( naked )) FREER
|
||||||
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetSchedulerStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -897,11 +824,8 @@ void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) /* __attribute__ ((
|
||||||
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetTimeOutStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -928,28 +852,17 @@ BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
||||||
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskCheckForTimeOutImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
UBaseType_t uxIndexToNotify,
|
|
||||||
uint32_t ulValue,
|
|
||||||
eNotifyAction eAction,
|
|
||||||
uint32_t * pulPreviousNotificationValue ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
UBaseType_t uxIndexToNotify,
|
|
||||||
uint32_t ulValue,
|
|
||||||
eNotifyAction eAction,
|
|
||||||
uint32_t * pulPreviousNotificationValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -967,11 +880,8 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
" MPU_xTaskGenericNotify_Unpriv: \n"
|
" MPU_xTaskGenericNotify_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -980,17 +890,9 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
|
|
||||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
uint32_t ulBitsToClearOnEntry,
|
|
||||||
uint32_t ulBitsToClearOnExit,
|
|
||||||
uint32_t * pulNotificationValue,
|
|
||||||
TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
uint32_t ulBitsToClearOnEntry,
|
|
||||||
uint32_t ulBitsToClearOnExit,
|
|
||||||
uint32_t * pulNotificationValue,
|
|
||||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -1008,11 +910,8 @@ BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||||
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyWaitImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1045,11 +944,8 @@ uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
||||||
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGenericNotifyTakeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1080,11 +976,8 @@ BaseType_t MPU_xTaskGenericNotifyStateClear( TaskHandle_t xTask,
|
||||||
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyStateClearImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1117,11 +1010,8 @@ uint32_t MPU_ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
|
||||||
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGenericNotifyValueClearImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1154,11 +1044,8 @@ BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueGenericSend_Unpriv: \n"
|
" MPU_xQueueGenericSend_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGenericSendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1183,11 +1070,8 @@ UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t xQueue ) /* __attrib
|
||||||
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxQueueMessagesWaitingImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1212,11 +1096,8 @@ UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) /* __attrib
|
||||||
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxQueueSpacesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1245,11 +1126,8 @@ BaseType_t MPU_xQueueReceive( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueReceive_Unpriv: \n"
|
" MPU_xQueueReceive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueReceiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1278,11 +1156,8 @@ BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue,
|
||||||
" MPU_xQueuePeek_Unpriv: \n"
|
" MPU_xQueuePeek_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueuePeekImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1309,11 +1184,8 @@ BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueSemaphoreTakeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1340,11 +1212,8 @@ TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) /* __attribute
|
||||||
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGetMutexHolderImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1375,11 +1244,8 @@ BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex,
|
||||||
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueTakeMutexRecursiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1408,11 +1274,8 @@ BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t pxMutex ) /* __attribute_
|
||||||
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGiveMutexRecursiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1443,11 +1306,8 @@ QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet,
|
||||||
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueSelectFromSetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1478,11 +1338,8 @@ BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore,
|
||||||
" MPU_xQueueAddToSet_Unpriv: \n"
|
" MPU_xQueueAddToSet_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueAddToSetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1513,11 +1370,8 @@ void MPU_vQueueAddToRegistry( QueueHandle_t xQueue,
|
||||||
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vQueueAddToRegistryImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1546,11 +1400,8 @@ void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) /* __attribute__ (( naked
|
||||||
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vQueueUnregisterQueueImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1579,11 +1430,8 @@ const char * MPU_pcQueueGetName( QueueHandle_t xQueue ) /* __attribute__ (( nake
|
||||||
" MPU_pcQueueGetName_Unpriv: \n"
|
" MPU_pcQueueGetName_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcQueueGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1612,11 +1460,8 @@ void * MPU_pvTimerGetTimerID( const TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pvTimerGetTimerIDImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1647,11 +1492,8 @@ void MPU_vTimerSetTimerID( TimerHandle_t xTimer,
|
||||||
" MPU_vTimerSetTimerID_Unpriv: \n"
|
" MPU_vTimerSetTimerID_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTimerSetTimerIDImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1680,11 +1522,8 @@ BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerIsTimerActiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1713,11 +1552,8 @@ TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( nake
|
||||||
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetTimerDaemonTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1726,22 +1562,14 @@ TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( nake
|
||||||
|
|
||||||
#if ( configUSE_TIMERS == 1 )
|
#if ( configUSE_TIMERS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
const BaseType_t xCommandID,
|
|
||||||
const TickType_t xOptionalValue,
|
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
|
||||||
const TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
const BaseType_t xCommandID,
|
|
||||||
const TickType_t xOptionalValue,
|
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
|
||||||
const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
" .syntax unified \n"
|
" .syntax unified \n"
|
||||||
" .extern MPU_xTimerGenericCommandImpl \n"
|
" .extern MPU_xTimerGenericCommandPrivImpl \n"
|
||||||
" \n"
|
" \n"
|
||||||
" push {r0, r1} \n"
|
" push {r0, r1} \n"
|
||||||
" mrs r0, ipsr \n"
|
" mrs r0, ipsr \n"
|
||||||
|
@ -1754,14 +1582,11 @@ BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
||||||
" MPU_xTimerGenericCommand_Unpriv: \n"
|
" MPU_xTimerGenericCommand_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGenericCommandImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" MPU_xTimerGenericCommand_Priv: \n"
|
" MPU_xTimerGenericCommand_Priv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" b MPU_xTimerGenericCommandImpl \n"
|
" b MPU_xTimerGenericCommandPrivImpl \n"
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGenericCommand ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1790,11 +1615,8 @@ const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) /* __attribute__ (( nake
|
||||||
" MPU_pcTimerGetName_Unpriv: \n"
|
" MPU_pcTimerGetName_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcTimerGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1825,11 +1647,8 @@ void MPU_vTimerSetReloadMode( TimerHandle_t xTimer,
|
||||||
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTimerSetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1858,11 +1677,8 @@ BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1891,11 +1707,8 @@ UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ ((
|
||||||
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTimerGetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1924,11 +1737,8 @@ TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) /* __attribute__ (( naked
|
||||||
" MPU_xTimerGetPeriod_Unpriv: \n"
|
" MPU_xTimerGetPeriod_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetPeriodImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1957,28 +1767,17 @@ TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetExpiryTimeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
const EventBits_t uxBitsToWaitFor,
|
|
||||||
const BaseType_t xClearOnExit,
|
|
||||||
const BaseType_t xWaitForAllBits,
|
|
||||||
TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
const EventBits_t uxBitsToWaitFor,
|
|
||||||
const BaseType_t xClearOnExit,
|
|
||||||
const BaseType_t xWaitForAllBits,
|
|
||||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -1996,11 +1795,8 @@ EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupWaitBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2027,11 +1823,8 @@ EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupClearBits_Unpriv: \n"
|
" MPU_xEventGroupClearBits_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupClearBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2058,11 +1851,8 @@ EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupSetBits_Unpriv: \n"
|
" MPU_xEventGroupSetBits_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupSetBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2093,11 +1883,8 @@ EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupSync_Unpriv: \n"
|
" MPU_xEventGroupSync_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupSyncImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2124,11 +1911,8 @@ UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) /* __attribute__ ((
|
||||||
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxEventGroupGetNumberImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2159,11 +1943,8 @@ void MPU_vEventGroupSetNumber( void * xEventGroup,
|
||||||
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vEventGroupSetNumberImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2196,11 +1977,8 @@ size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferSend_Unpriv: \n"
|
" MPU_xStreamBufferSend_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2231,11 +2009,8 @@ size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferReceive_Unpriv: \n"
|
" MPU_xStreamBufferReceive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferReceiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2260,11 +2035,8 @@ BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __at
|
||||||
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferIsFullImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2289,11 +2061,8 @@ BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __a
|
||||||
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferIsEmptyImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2318,11 +2087,8 @@ size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /*
|
||||||
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSpacesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2347,11 +2113,8 @@ size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /*
|
||||||
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferBytesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2378,11 +2141,8 @@ BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSetTriggerLevelImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2407,11 +2167,8 @@ size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuff
|
||||||
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferNextMessageLengthBytesImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -36,6 +36,9 @@
|
||||||
/* Portasm includes. */
|
/* Portasm includes. */
|
||||||
#include "portasm.h"
|
#include "portasm.h"
|
||||||
|
|
||||||
|
/* System call numbers includes. */
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
||||||
* header files. */
|
* header files. */
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||||
|
@ -542,7 +545,6 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
".syntax unified \n"
|
".syntax unified \n"
|
||||||
".extern vPortSVCHandler_C \n"
|
".extern vPortSVCHandler_C \n"
|
||||||
".extern vSystemCallEnter \n"
|
".extern vSystemCallEnter \n"
|
||||||
".extern vSystemCallEnter_1 \n"
|
|
||||||
".extern vSystemCallExit \n"
|
".extern vSystemCallExit \n"
|
||||||
" \n"
|
" \n"
|
||||||
"movs r0, #4 \n"
|
"movs r0, #4 \n"
|
||||||
|
@ -557,26 +559,22 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
" b route_svc \n"
|
" b route_svc \n"
|
||||||
" \n"
|
" \n"
|
||||||
"route_svc: \n"
|
"route_svc: \n"
|
||||||
" ldr r2, [r0, #24] \n"
|
" ldr r3, [r0, #24] \n"
|
||||||
" subs r2, #2 \n"
|
" subs r3, #2 \n"
|
||||||
" ldrb r3, [r2, #0] \n"
|
" ldrb r2, [r3, #0] \n"
|
||||||
" cmp r3, %0 \n"
|
" cmp r2, %0 \n"
|
||||||
" beq system_call_enter \n"
|
" blt system_call_enter \n"
|
||||||
" cmp r3, %1 \n"
|
" cmp r2, %1 \n"
|
||||||
" beq system_call_enter_1 \n"
|
|
||||||
" cmp r3, %2 \n"
|
|
||||||
" beq system_call_exit \n"
|
" beq system_call_exit \n"
|
||||||
" b vPortSVCHandler_C \n"
|
" b vPortSVCHandler_C \n"
|
||||||
" \n"
|
" \n"
|
||||||
"system_call_enter: \n"
|
"system_call_enter: \n"
|
||||||
" b vSystemCallEnter \n"
|
" b vSystemCallEnter \n"
|
||||||
"system_call_enter_1: \n"
|
|
||||||
" b vSystemCallEnter_1 \n"
|
|
||||||
"system_call_exit: \n"
|
"system_call_exit: \n"
|
||||||
" b vSystemCallExit \n"
|
" b vSystemCallExit \n"
|
||||||
" \n"
|
" \n"
|
||||||
: /* No outputs. */
|
: /* No outputs. */
|
||||||
:"i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
: "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||||
: "r0", "r1", "r2", "r3", "memory"
|
: "r0", "r1", "r2", "r3", "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -38,6 +38,8 @@
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
#include "event_groups.h"
|
#include "event_groups.h"
|
||||||
#include "stream_buffer.h"
|
#include "stream_buffer.h"
|
||||||
|
#include "mpu_prototypes.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -68,11 +70,8 @@ BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
||||||
" MPU_xTaskDelayUntil_Unpriv: \n"
|
" MPU_xTaskDelayUntil_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskDelayUntilImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -101,11 +100,8 @@ BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) /* __attribute__ (( naked )
|
||||||
" MPU_xTaskAbortDelay_Unpriv: \n"
|
" MPU_xTaskAbortDelay_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskAbortDelayImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -134,11 +130,8 @@ void MPU_vTaskDelay( const TickType_t xTicksToDelay ) /* __attribute__ (( naked
|
||||||
" MPU_vTaskDelay_Unpriv: \n"
|
" MPU_vTaskDelay_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskDelayImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -167,11 +160,8 @@ UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t xTask ) /* __attribute__ (
|
||||||
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskPriorityGetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -200,11 +190,8 @@ eTaskState MPU_eTaskGetState( TaskHandle_t xTask ) /* __attribute__ (( naked ))
|
||||||
" MPU_eTaskGetState_Unpriv: \n"
|
" MPU_eTaskGetState_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_eTaskGetStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -239,11 +226,8 @@ void MPU_vTaskGetInfo( TaskHandle_t xTask,
|
||||||
" MPU_vTaskGetInfo_Unpriv: \n"
|
" MPU_vTaskGetInfo_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskGetInfoImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -272,11 +256,8 @@ TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) /* __attribute__ (( naked )) FRE
|
||||||
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetIdleTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -305,11 +286,8 @@ void MPU_vTaskSuspend( TaskHandle_t xTaskToSuspend ) /* __attribute__ (( naked )
|
||||||
" MPU_vTaskSuspend_Unpriv: \n"
|
" MPU_vTaskSuspend_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSuspendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -338,11 +316,8 @@ void MPU_vTaskResume( TaskHandle_t xTaskToResume ) /* __attribute__ (( naked ))
|
||||||
" MPU_vTaskResume_Unpriv: \n"
|
" MPU_vTaskResume_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskResumeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskResume ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -369,11 +344,8 @@ TickType_t MPU_xTaskGetTickCount( void ) /* __attribute__ (( naked )) FREERTOS_S
|
||||||
" MPU_xTaskGetTickCount_Unpriv: \n"
|
" MPU_xTaskGetTickCount_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetTickCountImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -398,11 +370,8 @@ UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) /* __attribute__ (( naked )) FREE
|
||||||
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetNumberOfTasksImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -427,11 +396,8 @@ char * MPU_pcTaskGetName( TaskHandle_t xTaskToQuery ) /* __attribute__ (( naked
|
||||||
" MPU_pcTaskGetName_Unpriv: \n"
|
" MPU_pcTaskGetName_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcTaskGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcTaskGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -458,11 +424,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimeCounter( const TaskHandle_t xTas
|
||||||
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetRunTimeCounterImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -491,11 +454,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimePercent( const TaskHandle_t xTas
|
||||||
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetRunTimePercentImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -524,11 +484,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimePercent( void ) /* __attribu
|
||||||
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetIdleRunTimePercentImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -557,11 +514,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimeCounter( void ) /* __attribu
|
||||||
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetIdleRunTimeCounterImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -592,11 +546,8 @@ void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask,
|
||||||
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetApplicationTaskTagImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -625,11 +576,8 @@ TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) /* __att
|
||||||
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetApplicationTaskTagImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -662,11 +610,8 @@ void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet,
|
||||||
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetThreadLocalStoragePointerImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -697,11 +642,8 @@ void * MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery,
|
||||||
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pvTaskGetThreadLocalStoragePointerImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -734,11 +676,8 @@ UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
|
||||||
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetSystemStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -767,11 +706,8 @@ UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) /* __attribute
|
||||||
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetStackHighWaterMarkImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -800,11 +736,8 @@ configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) /*
|
||||||
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetStackHighWaterMark2Impl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -833,11 +766,8 @@ TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) /* __attribute__ (( naked ))
|
||||||
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetCurrentTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -866,11 +796,8 @@ BaseType_t MPU_xTaskGetSchedulerState( void ) /* __attribute__ (( naked )) FREER
|
||||||
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetSchedulerStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -897,11 +824,8 @@ void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) /* __attribute__ ((
|
||||||
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetTimeOutStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -928,28 +852,17 @@ BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
||||||
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskCheckForTimeOutImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
UBaseType_t uxIndexToNotify,
|
|
||||||
uint32_t ulValue,
|
|
||||||
eNotifyAction eAction,
|
|
||||||
uint32_t * pulPreviousNotificationValue ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
UBaseType_t uxIndexToNotify,
|
|
||||||
uint32_t ulValue,
|
|
||||||
eNotifyAction eAction,
|
|
||||||
uint32_t * pulPreviousNotificationValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -967,11 +880,8 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
" MPU_xTaskGenericNotify_Unpriv: \n"
|
" MPU_xTaskGenericNotify_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -980,17 +890,9 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
|
|
||||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
uint32_t ulBitsToClearOnEntry,
|
|
||||||
uint32_t ulBitsToClearOnExit,
|
|
||||||
uint32_t * pulNotificationValue,
|
|
||||||
TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
uint32_t ulBitsToClearOnEntry,
|
|
||||||
uint32_t ulBitsToClearOnExit,
|
|
||||||
uint32_t * pulNotificationValue,
|
|
||||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -1008,11 +910,8 @@ BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||||
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyWaitImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1045,11 +944,8 @@ uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
||||||
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGenericNotifyTakeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1080,11 +976,8 @@ BaseType_t MPU_xTaskGenericNotifyStateClear( TaskHandle_t xTask,
|
||||||
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyStateClearImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1117,11 +1010,8 @@ uint32_t MPU_ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
|
||||||
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGenericNotifyValueClearImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1154,11 +1044,8 @@ BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueGenericSend_Unpriv: \n"
|
" MPU_xQueueGenericSend_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGenericSendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1183,11 +1070,8 @@ UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t xQueue ) /* __attrib
|
||||||
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxQueueMessagesWaitingImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1212,11 +1096,8 @@ UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) /* __attrib
|
||||||
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxQueueSpacesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1245,11 +1126,8 @@ BaseType_t MPU_xQueueReceive( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueReceive_Unpriv: \n"
|
" MPU_xQueueReceive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueReceiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1278,11 +1156,8 @@ BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue,
|
||||||
" MPU_xQueuePeek_Unpriv: \n"
|
" MPU_xQueuePeek_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueuePeekImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1309,11 +1184,8 @@ BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueSemaphoreTakeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1340,11 +1212,8 @@ TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) /* __attribute
|
||||||
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGetMutexHolderImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1375,11 +1244,8 @@ BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex,
|
||||||
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueTakeMutexRecursiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1408,11 +1274,8 @@ BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t pxMutex ) /* __attribute_
|
||||||
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGiveMutexRecursiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1443,11 +1306,8 @@ QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet,
|
||||||
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueSelectFromSetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1478,11 +1338,8 @@ BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore,
|
||||||
" MPU_xQueueAddToSet_Unpriv: \n"
|
" MPU_xQueueAddToSet_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueAddToSetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1513,11 +1370,8 @@ void MPU_vQueueAddToRegistry( QueueHandle_t xQueue,
|
||||||
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vQueueAddToRegistryImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1546,11 +1400,8 @@ void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) /* __attribute__ (( naked
|
||||||
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vQueueUnregisterQueueImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1579,11 +1430,8 @@ const char * MPU_pcQueueGetName( QueueHandle_t xQueue ) /* __attribute__ (( nake
|
||||||
" MPU_pcQueueGetName_Unpriv: \n"
|
" MPU_pcQueueGetName_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcQueueGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1612,11 +1460,8 @@ void * MPU_pvTimerGetTimerID( const TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pvTimerGetTimerIDImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1647,11 +1492,8 @@ void MPU_vTimerSetTimerID( TimerHandle_t xTimer,
|
||||||
" MPU_vTimerSetTimerID_Unpriv: \n"
|
" MPU_vTimerSetTimerID_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTimerSetTimerIDImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1680,11 +1522,8 @@ BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerIsTimerActiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1713,11 +1552,8 @@ TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( nake
|
||||||
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetTimerDaemonTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1726,22 +1562,14 @@ TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( nake
|
||||||
|
|
||||||
#if ( configUSE_TIMERS == 1 )
|
#if ( configUSE_TIMERS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
const BaseType_t xCommandID,
|
|
||||||
const TickType_t xOptionalValue,
|
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
|
||||||
const TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
const BaseType_t xCommandID,
|
|
||||||
const TickType_t xOptionalValue,
|
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
|
||||||
const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
" .syntax unified \n"
|
" .syntax unified \n"
|
||||||
" .extern MPU_xTimerGenericCommandImpl \n"
|
" .extern MPU_xTimerGenericCommandPrivImpl \n"
|
||||||
" \n"
|
" \n"
|
||||||
" push {r0, r1} \n"
|
" push {r0, r1} \n"
|
||||||
" mrs r0, ipsr \n"
|
" mrs r0, ipsr \n"
|
||||||
|
@ -1754,14 +1582,11 @@ BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
||||||
" MPU_xTimerGenericCommand_Unpriv: \n"
|
" MPU_xTimerGenericCommand_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGenericCommandImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" MPU_xTimerGenericCommand_Priv: \n"
|
" MPU_xTimerGenericCommand_Priv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" b MPU_xTimerGenericCommandImpl \n"
|
" b MPU_xTimerGenericCommandPrivImpl \n"
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGenericCommand ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1790,11 +1615,8 @@ const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) /* __attribute__ (( nake
|
||||||
" MPU_pcTimerGetName_Unpriv: \n"
|
" MPU_pcTimerGetName_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcTimerGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1825,11 +1647,8 @@ void MPU_vTimerSetReloadMode( TimerHandle_t xTimer,
|
||||||
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTimerSetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1858,11 +1677,8 @@ BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1891,11 +1707,8 @@ UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ ((
|
||||||
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTimerGetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1924,11 +1737,8 @@ TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) /* __attribute__ (( naked
|
||||||
" MPU_xTimerGetPeriod_Unpriv: \n"
|
" MPU_xTimerGetPeriod_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetPeriodImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1957,28 +1767,17 @@ TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetExpiryTimeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
const EventBits_t uxBitsToWaitFor,
|
|
||||||
const BaseType_t xClearOnExit,
|
|
||||||
const BaseType_t xWaitForAllBits,
|
|
||||||
TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
const EventBits_t uxBitsToWaitFor,
|
|
||||||
const BaseType_t xClearOnExit,
|
|
||||||
const BaseType_t xWaitForAllBits,
|
|
||||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -1996,11 +1795,8 @@ EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupWaitBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2027,11 +1823,8 @@ EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupClearBits_Unpriv: \n"
|
" MPU_xEventGroupClearBits_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupClearBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2058,11 +1851,8 @@ EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupSetBits_Unpriv: \n"
|
" MPU_xEventGroupSetBits_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupSetBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2093,11 +1883,8 @@ EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupSync_Unpriv: \n"
|
" MPU_xEventGroupSync_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupSyncImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2124,11 +1911,8 @@ UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) /* __attribute__ ((
|
||||||
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxEventGroupGetNumberImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2159,11 +1943,8 @@ void MPU_vEventGroupSetNumber( void * xEventGroup,
|
||||||
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vEventGroupSetNumberImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2196,11 +1977,8 @@ size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferSend_Unpriv: \n"
|
" MPU_xStreamBufferSend_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2231,11 +2009,8 @@ size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferReceive_Unpriv: \n"
|
" MPU_xStreamBufferReceive_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferReceiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2260,11 +2035,8 @@ BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __at
|
||||||
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferIsFullImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2289,11 +2061,8 @@ BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __a
|
||||||
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferIsEmptyImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2318,11 +2087,8 @@ size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /*
|
||||||
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSpacesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2347,11 +2113,8 @@ size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /*
|
||||||
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferBytesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2378,11 +2141,8 @@ BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSetTriggerLevelImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2407,11 +2167,8 @@ size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuff
|
||||||
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
||||||
" pop {r0, r1} \n"
|
" pop {r0, r1} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferNextMessageLengthBytesImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -36,6 +36,9 @@
|
||||||
/* Portasm includes. */
|
/* Portasm includes. */
|
||||||
#include "portasm.h"
|
#include "portasm.h"
|
||||||
|
|
||||||
|
/* System call numbers includes. */
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
||||||
* header files. */
|
* header files. */
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||||
|
@ -462,7 +465,6 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
".syntax unified \n"
|
".syntax unified \n"
|
||||||
".extern vPortSVCHandler_C \n"
|
".extern vPortSVCHandler_C \n"
|
||||||
".extern vSystemCallEnter \n"
|
".extern vSystemCallEnter \n"
|
||||||
".extern vSystemCallEnter_1 \n"
|
|
||||||
".extern vSystemCallExit \n"
|
".extern vSystemCallExit \n"
|
||||||
" \n"
|
" \n"
|
||||||
"movs r0, #4 \n"
|
"movs r0, #4 \n"
|
||||||
|
@ -477,26 +479,22 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
" b route_svc \n"
|
" b route_svc \n"
|
||||||
" \n"
|
" \n"
|
||||||
"route_svc: \n"
|
"route_svc: \n"
|
||||||
" ldr r2, [r0, #24] \n"
|
" ldr r3, [r0, #24] \n"
|
||||||
" subs r2, #2 \n"
|
" subs r3, #2 \n"
|
||||||
" ldrb r3, [r2, #0] \n"
|
" ldrb r2, [r3, #0] \n"
|
||||||
" cmp r3, %0 \n"
|
" cmp r2, %0 \n"
|
||||||
" beq system_call_enter \n"
|
" blt system_call_enter \n"
|
||||||
" cmp r3, %1 \n"
|
" cmp r2, %1 \n"
|
||||||
" beq system_call_enter_1 \n"
|
|
||||||
" cmp r3, %2 \n"
|
|
||||||
" beq system_call_exit \n"
|
" beq system_call_exit \n"
|
||||||
" b vPortSVCHandler_C \n"
|
" b vPortSVCHandler_C \n"
|
||||||
" \n"
|
" \n"
|
||||||
"system_call_enter: \n"
|
"system_call_enter: \n"
|
||||||
" b vSystemCallEnter \n"
|
" b vSystemCallEnter \n"
|
||||||
"system_call_enter_1: \n"
|
|
||||||
" b vSystemCallEnter_1 \n"
|
|
||||||
"system_call_exit: \n"
|
"system_call_exit: \n"
|
||||||
" b vSystemCallExit \n"
|
" b vSystemCallExit \n"
|
||||||
" \n"
|
" \n"
|
||||||
: /* No outputs. */
|
: /* No outputs. */
|
||||||
:"i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
: "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||||
: "r0", "r1", "r2", "r3", "memory"
|
: "r0", "r1", "r2", "r3", "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -38,6 +38,8 @@
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
#include "event_groups.h"
|
#include "event_groups.h"
|
||||||
#include "stream_buffer.h"
|
#include "stream_buffer.h"
|
||||||
|
#include "mpu_prototypes.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -67,11 +69,8 @@ BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
||||||
" MPU_xTaskDelayUntil_Unpriv: \n"
|
" MPU_xTaskDelayUntil_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskDelayUntilImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,11 +98,8 @@ BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) /* __attribute__ (( naked )
|
||||||
" MPU_xTaskAbortDelay_Unpriv: \n"
|
" MPU_xTaskAbortDelay_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskAbortDelayImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,11 +127,8 @@ void MPU_vTaskDelay( const TickType_t xTicksToDelay ) /* __attribute__ (( naked
|
||||||
" MPU_vTaskDelay_Unpriv: \n"
|
" MPU_vTaskDelay_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskDelayImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,11 +156,8 @@ UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t xTask ) /* __attribute__ (
|
||||||
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskPriorityGetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,11 +185,8 @@ eTaskState MPU_eTaskGetState( TaskHandle_t xTask ) /* __attribute__ (( naked ))
|
||||||
" MPU_eTaskGetState_Unpriv: \n"
|
" MPU_eTaskGetState_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_eTaskGetStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -233,11 +220,8 @@ void MPU_vTaskGetInfo( TaskHandle_t xTask,
|
||||||
" MPU_vTaskGetInfo_Unpriv: \n"
|
" MPU_vTaskGetInfo_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskGetInfoImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,11 +249,8 @@ TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) /* __attribute__ (( naked )) FRE
|
||||||
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetIdleTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -297,11 +278,8 @@ void MPU_vTaskSuspend( TaskHandle_t xTaskToSuspend ) /* __attribute__ (( naked )
|
||||||
" MPU_vTaskSuspend_Unpriv: \n"
|
" MPU_vTaskSuspend_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSuspendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -329,11 +307,8 @@ void MPU_vTaskResume( TaskHandle_t xTaskToResume ) /* __attribute__ (( naked ))
|
||||||
" MPU_vTaskResume_Unpriv: \n"
|
" MPU_vTaskResume_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskResumeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskResume ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -359,11 +334,8 @@ TickType_t MPU_xTaskGetTickCount( void ) /* __attribute__ (( naked )) FREERTOS_S
|
||||||
" MPU_xTaskGetTickCount_Unpriv: \n"
|
" MPU_xTaskGetTickCount_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetTickCountImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -387,11 +359,8 @@ UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) /* __attribute__ (( naked )) FREE
|
||||||
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetNumberOfTasksImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -415,11 +384,8 @@ char * MPU_pcTaskGetName( TaskHandle_t xTaskToQuery ) /* __attribute__ (( naked
|
||||||
" MPU_pcTaskGetName_Unpriv: \n"
|
" MPU_pcTaskGetName_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcTaskGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcTaskGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -445,11 +411,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimeCounter( const TaskHandle_t xTas
|
||||||
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetRunTimeCounterImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -477,11 +440,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimePercent( const TaskHandle_t xTas
|
||||||
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetRunTimePercentImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -509,11 +469,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimePercent( void ) /* __attribu
|
||||||
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetIdleRunTimePercentImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -541,11 +498,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimeCounter( void ) /* __attribu
|
||||||
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetIdleRunTimeCounterImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -575,11 +529,8 @@ void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask,
|
||||||
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetApplicationTaskTagImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -607,11 +558,8 @@ TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) /* __att
|
||||||
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetApplicationTaskTagImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -643,11 +591,8 @@ void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet,
|
||||||
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetThreadLocalStoragePointerImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -677,11 +622,8 @@ void * MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery,
|
||||||
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pvTaskGetThreadLocalStoragePointerImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -713,11 +655,8 @@ UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
|
||||||
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetSystemStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -745,11 +684,8 @@ UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) /* __attribute
|
||||||
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetStackHighWaterMarkImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -777,11 +713,8 @@ configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) /*
|
||||||
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetStackHighWaterMark2Impl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -809,11 +742,8 @@ TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) /* __attribute__ (( naked ))
|
||||||
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetCurrentTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -841,11 +771,8 @@ BaseType_t MPU_xTaskGetSchedulerState( void ) /* __attribute__ (( naked )) FREER
|
||||||
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetSchedulerStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -871,11 +798,8 @@ void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) /* __attribute__ ((
|
||||||
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetTimeOutStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -901,28 +825,17 @@ BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
||||||
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskCheckForTimeOutImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
UBaseType_t uxIndexToNotify,
|
|
||||||
uint32_t ulValue,
|
|
||||||
eNotifyAction eAction,
|
|
||||||
uint32_t * pulPreviousNotificationValue ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
UBaseType_t uxIndexToNotify,
|
|
||||||
uint32_t ulValue,
|
|
||||||
eNotifyAction eAction,
|
|
||||||
uint32_t * pulPreviousNotificationValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -939,11 +852,8 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
" MPU_xTaskGenericNotify_Unpriv: \n"
|
" MPU_xTaskGenericNotify_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -952,17 +862,9 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
|
|
||||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
uint32_t ulBitsToClearOnEntry,
|
|
||||||
uint32_t ulBitsToClearOnExit,
|
|
||||||
uint32_t * pulNotificationValue,
|
|
||||||
TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
uint32_t ulBitsToClearOnEntry,
|
|
||||||
uint32_t ulBitsToClearOnExit,
|
|
||||||
uint32_t * pulNotificationValue,
|
|
||||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -979,11 +881,8 @@ BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||||
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyWaitImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1015,11 +914,8 @@ uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
||||||
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGenericNotifyTakeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1049,11 +945,8 @@ BaseType_t MPU_xTaskGenericNotifyStateClear( TaskHandle_t xTask,
|
||||||
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyStateClearImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1085,11 +978,8 @@ uint32_t MPU_ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
|
||||||
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGenericNotifyValueClearImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1121,11 +1011,8 @@ BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueGenericSend_Unpriv: \n"
|
" MPU_xQueueGenericSend_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGenericSendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1149,11 +1036,8 @@ UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t xQueue ) /* __attrib
|
||||||
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxQueueMessagesWaitingImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1177,11 +1061,8 @@ UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) /* __attrib
|
||||||
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxQueueSpacesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1209,11 +1090,8 @@ BaseType_t MPU_xQueueReceive( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueReceive_Unpriv: \n"
|
" MPU_xQueueReceive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueReceiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1241,11 +1119,8 @@ BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue,
|
||||||
" MPU_xQueuePeek_Unpriv: \n"
|
" MPU_xQueuePeek_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueuePeekImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1271,11 +1146,8 @@ BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueSemaphoreTakeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1301,11 +1173,8 @@ TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) /* __attribute
|
||||||
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGetMutexHolderImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1335,11 +1204,8 @@ BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex,
|
||||||
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueTakeMutexRecursiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1367,11 +1233,8 @@ BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t pxMutex ) /* __attribute_
|
||||||
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGiveMutexRecursiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1401,11 +1264,8 @@ QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet,
|
||||||
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueSelectFromSetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1435,11 +1295,8 @@ BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore,
|
||||||
" MPU_xQueueAddToSet_Unpriv: \n"
|
" MPU_xQueueAddToSet_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueAddToSetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1469,11 +1326,8 @@ void MPU_vQueueAddToRegistry( QueueHandle_t xQueue,
|
||||||
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vQueueAddToRegistryImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1501,11 +1355,8 @@ void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) /* __attribute__ (( naked
|
||||||
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vQueueUnregisterQueueImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1533,11 +1384,8 @@ const char * MPU_pcQueueGetName( QueueHandle_t xQueue ) /* __attribute__ (( nake
|
||||||
" MPU_pcQueueGetName_Unpriv: \n"
|
" MPU_pcQueueGetName_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcQueueGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1565,11 +1413,8 @@ void * MPU_pvTimerGetTimerID( const TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pvTimerGetTimerIDImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1599,11 +1444,8 @@ void MPU_vTimerSetTimerID( TimerHandle_t xTimer,
|
||||||
" MPU_vTimerSetTimerID_Unpriv: \n"
|
" MPU_vTimerSetTimerID_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTimerSetTimerIDImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1631,11 +1473,8 @@ BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerIsTimerActiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1663,11 +1502,8 @@ TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( nake
|
||||||
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetTimerDaemonTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1676,22 +1512,14 @@ TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( nake
|
||||||
|
|
||||||
#if ( configUSE_TIMERS == 1 )
|
#if ( configUSE_TIMERS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
const BaseType_t xCommandID,
|
|
||||||
const TickType_t xOptionalValue,
|
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
|
||||||
const TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
const BaseType_t xCommandID,
|
|
||||||
const TickType_t xOptionalValue,
|
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
|
||||||
const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
" .syntax unified \n"
|
" .syntax unified \n"
|
||||||
" .extern MPU_xTimerGenericCommandImpl \n"
|
" .extern MPU_xTimerGenericCommandPrivImpl \n"
|
||||||
" \n"
|
" \n"
|
||||||
" push {r0} \n"
|
" push {r0} \n"
|
||||||
" mrs r0, ipsr \n"
|
" mrs r0, ipsr \n"
|
||||||
|
@ -1703,15 +1531,12 @@ BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
||||||
" MPU_xTimerGenericCommand_Unpriv: \n"
|
" MPU_xTimerGenericCommand_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGenericCommandImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" MPU_xTimerGenericCommand_Priv: \n"
|
" MPU_xTimerGenericCommand_Priv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" b MPU_xTimerGenericCommandImpl \n"
|
" b MPU_xTimerGenericCommandPrivImpl \n"
|
||||||
" \n"
|
" \n"
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGenericCommand ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1739,11 +1564,8 @@ const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) /* __attribute__ (( nake
|
||||||
" MPU_pcTimerGetName_Unpriv: \n"
|
" MPU_pcTimerGetName_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcTimerGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1773,11 +1595,8 @@ void MPU_vTimerSetReloadMode( TimerHandle_t xTimer,
|
||||||
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTimerSetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1805,11 +1624,8 @@ BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1837,11 +1653,8 @@ UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ ((
|
||||||
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTimerGetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1869,11 +1682,8 @@ TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) /* __attribute__ (( naked
|
||||||
" MPU_xTimerGetPeriod_Unpriv: \n"
|
" MPU_xTimerGetPeriod_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetPeriodImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1901,28 +1711,17 @@ TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetExpiryTimeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
const EventBits_t uxBitsToWaitFor,
|
|
||||||
const BaseType_t xClearOnExit,
|
|
||||||
const BaseType_t xWaitForAllBits,
|
|
||||||
TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
const EventBits_t uxBitsToWaitFor,
|
|
||||||
const BaseType_t xClearOnExit,
|
|
||||||
const BaseType_t xWaitForAllBits,
|
|
||||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -1939,11 +1738,8 @@ EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupWaitBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1969,11 +1765,8 @@ EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupClearBits_Unpriv: \n"
|
" MPU_xEventGroupClearBits_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupClearBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1999,11 +1792,8 @@ EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupSetBits_Unpriv: \n"
|
" MPU_xEventGroupSetBits_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupSetBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2033,11 +1823,8 @@ EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupSync_Unpriv: \n"
|
" MPU_xEventGroupSync_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupSyncImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2063,11 +1850,8 @@ UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) /* __attribute__ ((
|
||||||
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxEventGroupGetNumberImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2097,11 +1881,8 @@ void MPU_vEventGroupSetNumber( void * xEventGroup,
|
||||||
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vEventGroupSetNumberImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2133,11 +1914,8 @@ size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferSend_Unpriv: \n"
|
" MPU_xStreamBufferSend_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2167,11 +1945,8 @@ size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferReceive_Unpriv: \n"
|
" MPU_xStreamBufferReceive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferReceiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2195,11 +1970,8 @@ BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __at
|
||||||
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferIsFullImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2223,11 +1995,8 @@ BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __a
|
||||||
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferIsEmptyImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2251,11 +2020,8 @@ size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /*
|
||||||
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSpacesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2279,11 +2045,8 @@ size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /*
|
||||||
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferBytesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2309,11 +2072,8 @@ BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSetTriggerLevelImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2337,11 +2097,8 @@ size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuff
|
||||||
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferNextMessageLengthBytesImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -36,6 +36,9 @@
|
||||||
/* Portasm includes. */
|
/* Portasm includes. */
|
||||||
#include "portasm.h"
|
#include "portasm.h"
|
||||||
|
|
||||||
|
/* System call numbers includes. */
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
||||||
* header files. */
|
* header files. */
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||||
|
@ -522,7 +525,6 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
".syntax unified \n"
|
".syntax unified \n"
|
||||||
".extern vPortSVCHandler_C \n"
|
".extern vPortSVCHandler_C \n"
|
||||||
".extern vSystemCallEnter \n"
|
".extern vSystemCallEnter \n"
|
||||||
".extern vSystemCallEnter_1 \n"
|
|
||||||
".extern vSystemCallExit \n"
|
".extern vSystemCallExit \n"
|
||||||
" \n"
|
" \n"
|
||||||
"tst lr, #4 \n"
|
"tst lr, #4 \n"
|
||||||
|
@ -533,10 +535,8 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
"ldr r1, [r0, #24] \n"
|
"ldr r1, [r0, #24] \n"
|
||||||
"ldrb r2, [r1, #-2] \n"
|
"ldrb r2, [r1, #-2] \n"
|
||||||
"cmp r2, %0 \n"
|
"cmp r2, %0 \n"
|
||||||
"beq syscall_enter \n"
|
"blt syscall_enter \n"
|
||||||
"cmp r2, %1 \n"
|
"cmp r2, %1 \n"
|
||||||
"beq syscall_enter_1 \n"
|
|
||||||
"cmp r2, %2 \n"
|
|
||||||
"beq syscall_exit \n"
|
"beq syscall_exit \n"
|
||||||
"b vPortSVCHandler_C \n"
|
"b vPortSVCHandler_C \n"
|
||||||
" \n"
|
" \n"
|
||||||
|
@ -544,16 +544,12 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
" mov r1, lr \n"
|
" mov r1, lr \n"
|
||||||
" b vSystemCallEnter \n"
|
" b vSystemCallEnter \n"
|
||||||
" \n"
|
" \n"
|
||||||
"syscall_enter_1: \n"
|
|
||||||
" mov r1, lr \n"
|
|
||||||
" b vSystemCallEnter_1 \n"
|
|
||||||
" \n"
|
|
||||||
"syscall_exit: \n"
|
"syscall_exit: \n"
|
||||||
" mov r1, lr \n"
|
" mov r1, lr \n"
|
||||||
" b vSystemCallExit \n"
|
" b vSystemCallExit \n"
|
||||||
" \n"
|
" \n"
|
||||||
: /* No outputs. */
|
: /* No outputs. */
|
||||||
:"i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
: "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||||
: "r0", "r1", "r2", "memory"
|
: "r0", "r1", "r2", "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -38,6 +38,8 @@
|
||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
#include "event_groups.h"
|
#include "event_groups.h"
|
||||||
#include "stream_buffer.h"
|
#include "stream_buffer.h"
|
||||||
|
#include "mpu_prototypes.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -67,11 +69,8 @@ BaseType_t MPU_xTaskDelayUntil( TickType_t * const pxPreviousWakeTime,
|
||||||
" MPU_xTaskDelayUntil_Unpriv: \n"
|
" MPU_xTaskDelayUntil_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskDelayUntilImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskDelayUntil ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -99,11 +98,8 @@ BaseType_t MPU_xTaskAbortDelay( TaskHandle_t xTask ) /* __attribute__ (( naked )
|
||||||
" MPU_xTaskAbortDelay_Unpriv: \n"
|
" MPU_xTaskAbortDelay_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskAbortDelayImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskAbortDelay ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -131,11 +127,8 @@ void MPU_vTaskDelay( const TickType_t xTicksToDelay ) /* __attribute__ (( naked
|
||||||
" MPU_vTaskDelay_Unpriv: \n"
|
" MPU_vTaskDelay_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskDelayImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskDelay ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,11 +156,8 @@ UBaseType_t MPU_uxTaskPriorityGet( const TaskHandle_t xTask ) /* __attribute__ (
|
||||||
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
" MPU_uxTaskPriorityGet_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskPriorityGetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskPriorityGet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -195,11 +185,8 @@ eTaskState MPU_eTaskGetState( TaskHandle_t xTask ) /* __attribute__ (( naked ))
|
||||||
" MPU_eTaskGetState_Unpriv: \n"
|
" MPU_eTaskGetState_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_eTaskGetStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_eTaskGetState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -233,11 +220,8 @@ void MPU_vTaskGetInfo( TaskHandle_t xTask,
|
||||||
" MPU_vTaskGetInfo_Unpriv: \n"
|
" MPU_vTaskGetInfo_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskGetInfoImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskGetInfo ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -265,11 +249,8 @@ TaskHandle_t MPU_xTaskGetIdleTaskHandle( void ) /* __attribute__ (( naked )) FRE
|
||||||
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
" MPU_xTaskGetIdleTaskHandle_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetIdleTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetIdleTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -297,11 +278,8 @@ void MPU_vTaskSuspend( TaskHandle_t xTaskToSuspend ) /* __attribute__ (( naked )
|
||||||
" MPU_vTaskSuspend_Unpriv: \n"
|
" MPU_vTaskSuspend_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSuspendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSuspend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -329,11 +307,8 @@ void MPU_vTaskResume( TaskHandle_t xTaskToResume ) /* __attribute__ (( naked ))
|
||||||
" MPU_vTaskResume_Unpriv: \n"
|
" MPU_vTaskResume_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskResumeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskResume ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -359,11 +334,8 @@ TickType_t MPU_xTaskGetTickCount( void ) /* __attribute__ (( naked )) FREERTOS_S
|
||||||
" MPU_xTaskGetTickCount_Unpriv: \n"
|
" MPU_xTaskGetTickCount_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetTickCountImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetTickCount ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -387,11 +359,8 @@ UBaseType_t MPU_uxTaskGetNumberOfTasks( void ) /* __attribute__ (( naked )) FREE
|
||||||
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
" MPU_uxTaskGetNumberOfTasks_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetNumberOfTasksImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetNumberOfTasks ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -415,11 +384,8 @@ char * MPU_pcTaskGetName( TaskHandle_t xTaskToQuery ) /* __attribute__ (( naked
|
||||||
" MPU_pcTaskGetName_Unpriv: \n"
|
" MPU_pcTaskGetName_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcTaskGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcTaskGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -445,11 +411,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimeCounter( const TaskHandle_t xTas
|
||||||
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
" MPU_ulTaskGetRunTimeCounter_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetRunTimeCounterImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimeCounter ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -477,11 +440,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetRunTimePercent( const TaskHandle_t xTas
|
||||||
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
" MPU_ulTaskGetRunTimePercent_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetRunTimePercentImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetRunTimePercent ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -509,11 +469,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimePercent( void ) /* __attribu
|
||||||
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
" MPU_ulTaskGetIdleRunTimePercent_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetIdleRunTimePercentImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimePercent ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -541,11 +498,8 @@ configRUN_TIME_COUNTER_TYPE MPU_ulTaskGetIdleRunTimeCounter( void ) /* __attribu
|
||||||
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
" MPU_ulTaskGetIdleRunTimeCounter_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGetIdleRunTimeCounterImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGetIdleRunTimeCounter ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -575,11 +529,8 @@ void MPU_vTaskSetApplicationTaskTag( TaskHandle_t xTask,
|
||||||
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
" MPU_vTaskSetApplicationTaskTag_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetApplicationTaskTagImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetApplicationTaskTag ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -607,11 +558,8 @@ TaskHookFunction_t MPU_xTaskGetApplicationTaskTag( TaskHandle_t xTask ) /* __att
|
||||||
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
" MPU_xTaskGetApplicationTaskTag_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetApplicationTaskTagImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetApplicationTaskTag ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -643,11 +591,8 @@ void MPU_vTaskSetThreadLocalStoragePointer( TaskHandle_t xTaskToSet,
|
||||||
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
" MPU_vTaskSetThreadLocalStoragePointer_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetThreadLocalStoragePointerImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetThreadLocalStoragePointer ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -677,11 +622,8 @@ void * MPU_pvTaskGetThreadLocalStoragePointer( TaskHandle_t xTaskToQuery,
|
||||||
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
" MPU_pvTaskGetThreadLocalStoragePointer_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pvTaskGetThreadLocalStoragePointerImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -713,11 +655,8 @@ UBaseType_t MPU_uxTaskGetSystemState( TaskStatus_t * const pxTaskStatusArray,
|
||||||
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
" MPU_uxTaskGetSystemState_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetSystemStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetSystemState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -745,11 +684,8 @@ UBaseType_t MPU_uxTaskGetStackHighWaterMark( TaskHandle_t xTask ) /* __attribute
|
||||||
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
" MPU_uxTaskGetStackHighWaterMark_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetStackHighWaterMarkImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -777,11 +713,8 @@ configSTACK_DEPTH_TYPE MPU_uxTaskGetStackHighWaterMark2( TaskHandle_t xTask ) /*
|
||||||
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
" MPU_uxTaskGetStackHighWaterMark2_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTaskGetStackHighWaterMark2Impl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTaskGetStackHighWaterMark2 ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -809,11 +742,8 @@ TaskHandle_t MPU_xTaskGetCurrentTaskHandle( void ) /* __attribute__ (( naked ))
|
||||||
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
" MPU_xTaskGetCurrentTaskHandle_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetCurrentTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetCurrentTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -841,11 +771,8 @@ BaseType_t MPU_xTaskGetSchedulerState( void ) /* __attribute__ (( naked )) FREER
|
||||||
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
" MPU_xTaskGetSchedulerState_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGetSchedulerStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGetSchedulerState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -871,11 +798,8 @@ void MPU_vTaskSetTimeOutState( TimeOut_t * const pxTimeOut ) /* __attribute__ ((
|
||||||
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
" MPU_vTaskSetTimeOutState_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTaskSetTimeOutStateImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTaskSetTimeOutState ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -901,28 +825,17 @@ BaseType_t MPU_xTaskCheckForTimeOut( TimeOut_t * const pxTimeOut,
|
||||||
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
" MPU_xTaskCheckForTimeOut_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskCheckForTimeOutImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskCheckForTimeOut ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
UBaseType_t uxIndexToNotify,
|
|
||||||
uint32_t ulValue,
|
|
||||||
eNotifyAction eAction,
|
|
||||||
uint32_t * pulPreviousNotificationValue ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
BaseType_t MPU_xTaskGenericNotifyEntry( const xTaskGenericNotifyParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
UBaseType_t uxIndexToNotify,
|
|
||||||
uint32_t ulValue,
|
|
||||||
eNotifyAction eAction,
|
|
||||||
uint32_t * pulPreviousNotificationValue ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -939,11 +852,8 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
" MPU_xTaskGenericNotify_Unpriv: \n"
|
" MPU_xTaskGenericNotify_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotify ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -952,17 +862,9 @@ BaseType_t MPU_xTaskGenericNotify( TaskHandle_t xTaskToNotify,
|
||||||
|
|
||||||
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
#if ( configUSE_TASK_NOTIFICATIONS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
uint32_t ulBitsToClearOnEntry,
|
|
||||||
uint32_t ulBitsToClearOnExit,
|
|
||||||
uint32_t * pulNotificationValue,
|
|
||||||
TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
BaseType_t MPU_xTaskGenericNotifyWaitEntry( const xTaskGenericNotifyWaitParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
uint32_t ulBitsToClearOnEntry,
|
|
||||||
uint32_t ulBitsToClearOnExit,
|
|
||||||
uint32_t * pulNotificationValue,
|
|
||||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -979,11 +881,8 @@ BaseType_t MPU_xTaskGenericNotifyWait( UBaseType_t uxIndexToWaitOn,
|
||||||
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
" MPU_xTaskGenericNotifyWait_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyWaitImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyWait ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1015,11 +914,8 @@ uint32_t MPU_ulTaskGenericNotifyTake( UBaseType_t uxIndexToWaitOn,
|
||||||
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
" MPU_ulTaskGenericNotifyTake_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGenericNotifyTakeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyTake ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1049,11 +945,8 @@ BaseType_t MPU_xTaskGenericNotifyStateClear( TaskHandle_t xTask,
|
||||||
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
" MPU_xTaskGenericNotifyStateClear_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTaskGenericNotifyStateClearImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTaskGenericNotifyStateClear ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1085,11 +978,8 @@ uint32_t MPU_ulTaskGenericNotifyValueClear( TaskHandle_t xTask,
|
||||||
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
" MPU_ulTaskGenericNotifyValueClear_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_ulTaskGenericNotifyValueClearImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_ulTaskGenericNotifyValueClear ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1121,11 +1011,8 @@ BaseType_t MPU_xQueueGenericSend( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueGenericSend_Unpriv: \n"
|
" MPU_xQueueGenericSend_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGenericSendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGenericSend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1149,11 +1036,8 @@ UBaseType_t MPU_uxQueueMessagesWaiting( const QueueHandle_t xQueue ) /* __attrib
|
||||||
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
" MPU_uxQueueMessagesWaiting_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxQueueMessagesWaitingImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxQueueMessagesWaiting ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1177,11 +1061,8 @@ UBaseType_t MPU_uxQueueSpacesAvailable( const QueueHandle_t xQueue ) /* __attrib
|
||||||
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
" MPU_uxQueueSpacesAvailable_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxQueueSpacesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxQueueSpacesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1209,11 +1090,8 @@ BaseType_t MPU_xQueueReceive( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueReceive_Unpriv: \n"
|
" MPU_xQueueReceive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueReceiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueReceive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1241,11 +1119,8 @@ BaseType_t MPU_xQueuePeek( QueueHandle_t xQueue,
|
||||||
" MPU_xQueuePeek_Unpriv: \n"
|
" MPU_xQueuePeek_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueuePeekImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueuePeek ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1271,11 +1146,8 @@ BaseType_t MPU_xQueueSemaphoreTake( QueueHandle_t xQueue,
|
||||||
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
" MPU_xQueueSemaphoreTake_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueSemaphoreTakeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueSemaphoreTake ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1301,11 +1173,8 @@ TaskHandle_t MPU_xQueueGetMutexHolder( QueueHandle_t xSemaphore ) /* __attribute
|
||||||
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
" MPU_xQueueGetMutexHolder_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGetMutexHolderImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGetMutexHolder ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1335,11 +1204,8 @@ BaseType_t MPU_xQueueTakeMutexRecursive( QueueHandle_t xMutex,
|
||||||
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
" MPU_xQueueTakeMutexRecursive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueTakeMutexRecursiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueTakeMutexRecursive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1367,11 +1233,8 @@ BaseType_t MPU_xQueueGiveMutexRecursive( QueueHandle_t pxMutex ) /* __attribute_
|
||||||
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
" MPU_xQueueGiveMutexRecursive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueGiveMutexRecursiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueGiveMutexRecursive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1401,11 +1264,8 @@ QueueSetMemberHandle_t MPU_xQueueSelectFromSet( QueueSetHandle_t xQueueSet,
|
||||||
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
" MPU_xQueueSelectFromSet_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueSelectFromSetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueSelectFromSet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1435,11 +1295,8 @@ BaseType_t MPU_xQueueAddToSet( QueueSetMemberHandle_t xQueueOrSemaphore,
|
||||||
" MPU_xQueueAddToSet_Unpriv: \n"
|
" MPU_xQueueAddToSet_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xQueueAddToSetImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xQueueAddToSet ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1469,11 +1326,8 @@ void MPU_vQueueAddToRegistry( QueueHandle_t xQueue,
|
||||||
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
" MPU_vQueueAddToRegistry_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vQueueAddToRegistryImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vQueueAddToRegistry ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1501,11 +1355,8 @@ void MPU_vQueueUnregisterQueue( QueueHandle_t xQueue ) /* __attribute__ (( naked
|
||||||
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
" MPU_vQueueUnregisterQueue_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vQueueUnregisterQueueImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vQueueUnregisterQueue ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1533,11 +1384,8 @@ const char * MPU_pcQueueGetName( QueueHandle_t xQueue ) /* __attribute__ (( nake
|
||||||
" MPU_pcQueueGetName_Unpriv: \n"
|
" MPU_pcQueueGetName_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcQueueGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcQueueGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1565,11 +1413,8 @@ void * MPU_pvTimerGetTimerID( const TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
" MPU_pvTimerGetTimerID_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pvTimerGetTimerIDImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pvTimerGetTimerID ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1599,11 +1444,8 @@ void MPU_vTimerSetTimerID( TimerHandle_t xTimer,
|
||||||
" MPU_vTimerSetTimerID_Unpriv: \n"
|
" MPU_vTimerSetTimerID_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTimerSetTimerIDImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTimerSetTimerID ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1631,11 +1473,8 @@ BaseType_t MPU_xTimerIsTimerActive( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
" MPU_xTimerIsTimerActive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerIsTimerActiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerIsTimerActive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1663,11 +1502,8 @@ TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( nake
|
||||||
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
" MPU_xTimerGetTimerDaemonTaskHandle_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetTimerDaemonTaskHandleImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1676,22 +1512,14 @@ TaskHandle_t MPU_xTimerGetTimerDaemonTaskHandle( void ) /* __attribute__ (( nake
|
||||||
|
|
||||||
#if ( configUSE_TIMERS == 1 )
|
#if ( configUSE_TIMERS == 1 )
|
||||||
|
|
||||||
BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
const BaseType_t xCommandID,
|
|
||||||
const TickType_t xOptionalValue,
|
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
|
||||||
const TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
BaseType_t MPU_xTimerGenericCommandEntry( const xTimerGenericCommandParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
const BaseType_t xCommandID,
|
|
||||||
const TickType_t xOptionalValue,
|
|
||||||
BaseType_t * const pxHigherPriorityTaskWoken,
|
|
||||||
const TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
" .syntax unified \n"
|
" .syntax unified \n"
|
||||||
" .extern MPU_xTimerGenericCommandImpl \n"
|
" .extern MPU_xTimerGenericCommandPrivImpl \n"
|
||||||
" \n"
|
" \n"
|
||||||
" push {r0} \n"
|
" push {r0} \n"
|
||||||
" mrs r0, ipsr \n"
|
" mrs r0, ipsr \n"
|
||||||
|
@ -1703,15 +1531,12 @@ BaseType_t MPU_xTimerGenericCommand( TimerHandle_t xTimer,
|
||||||
" MPU_xTimerGenericCommand_Unpriv: \n"
|
" MPU_xTimerGenericCommand_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGenericCommandImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" MPU_xTimerGenericCommand_Priv: \n"
|
" MPU_xTimerGenericCommand_Priv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" b MPU_xTimerGenericCommandImpl \n"
|
" b MPU_xTimerGenericCommandPrivImpl \n"
|
||||||
" \n"
|
" \n"
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGenericCommand ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1739,11 +1564,8 @@ const char * MPU_pcTimerGetName( TimerHandle_t xTimer ) /* __attribute__ (( nake
|
||||||
" MPU_pcTimerGetName_Unpriv: \n"
|
" MPU_pcTimerGetName_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_pcTimerGetNameImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_pcTimerGetName ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1773,11 +1595,8 @@ void MPU_vTimerSetReloadMode( TimerHandle_t xTimer,
|
||||||
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
" MPU_vTimerSetReloadMode_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vTimerSetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vTimerSetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1805,11 +1624,8 @@ BaseType_t MPU_xTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
" MPU_xTimerGetReloadMode_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1837,11 +1653,8 @@ UBaseType_t MPU_uxTimerGetReloadMode( TimerHandle_t xTimer ) /* __attribute__ ((
|
||||||
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
" MPU_uxTimerGetReloadMode_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxTimerGetReloadModeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxTimerGetReloadMode ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1869,11 +1682,8 @@ TickType_t MPU_xTimerGetPeriod( TimerHandle_t xTimer ) /* __attribute__ (( naked
|
||||||
" MPU_xTimerGetPeriod_Unpriv: \n"
|
" MPU_xTimerGetPeriod_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetPeriodImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetPeriod ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1901,28 +1711,17 @@ TickType_t MPU_xTimerGetExpiryTime( TimerHandle_t xTimer ) /* __attribute__ (( n
|
||||||
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
" MPU_xTimerGetExpiryTime_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xTimerGetExpiryTimeImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xTimerGetExpiryTime ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* if ( configUSE_TIMERS == 1 ) */
|
#endif /* if ( configUSE_TIMERS == 1 ) */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) __attribute__( ( naked ) ) FREERTOS_SYSTEM_CALL;
|
||||||
const EventBits_t uxBitsToWaitFor,
|
|
||||||
const BaseType_t xClearOnExit,
|
|
||||||
const BaseType_t xWaitForAllBits,
|
|
||||||
TickType_t xTicksToWait ) __attribute__ (( naked )) FREERTOS_SYSTEM_CALL;
|
|
||||||
|
|
||||||
EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
EventBits_t MPU_xEventGroupWaitBitsEntry( const xEventGroupWaitBitsParams_t * pxParams ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
||||||
const EventBits_t uxBitsToWaitFor,
|
|
||||||
const BaseType_t xClearOnExit,
|
|
||||||
const BaseType_t xWaitForAllBits,
|
|
||||||
TickType_t xTicksToWait ) /* __attribute__ (( naked )) FREERTOS_SYSTEM_CALL */
|
|
||||||
{
|
{
|
||||||
__asm volatile
|
__asm volatile
|
||||||
(
|
(
|
||||||
|
@ -1939,11 +1738,8 @@ EventBits_t MPU_xEventGroupWaitBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
" MPU_xEventGroupWaitBits_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupWaitBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupWaitBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1969,11 +1765,8 @@ EventBits_t MPU_xEventGroupClearBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupClearBits_Unpriv: \n"
|
" MPU_xEventGroupClearBits_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupClearBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupClearBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -1999,11 +1792,8 @@ EventBits_t MPU_xEventGroupSetBits( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupSetBits_Unpriv: \n"
|
" MPU_xEventGroupSetBits_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupSetBitsImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupSetBits ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2033,11 +1823,8 @@ EventBits_t MPU_xEventGroupSync( EventGroupHandle_t xEventGroup,
|
||||||
" MPU_xEventGroupSync_Unpriv: \n"
|
" MPU_xEventGroupSync_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xEventGroupSyncImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xEventGroupSync ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2063,11 +1850,8 @@ UBaseType_t MPU_uxEventGroupGetNumber( void * xEventGroup ) /* __attribute__ ((
|
||||||
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
" MPU_uxEventGroupGetNumber_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_uxEventGroupGetNumberImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_uxEventGroupGetNumber ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2097,11 +1881,8 @@ void MPU_vEventGroupSetNumber( void * xEventGroup,
|
||||||
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
" MPU_vEventGroupSetNumber_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_vEventGroupSetNumberImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_vEventGroupSetNumber ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2133,11 +1914,8 @@ size_t MPU_xStreamBufferSend( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferSend_Unpriv: \n"
|
" MPU_xStreamBufferSend_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSendImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSend ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2167,11 +1945,8 @@ size_t MPU_xStreamBufferReceive( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferReceive_Unpriv: \n"
|
" MPU_xStreamBufferReceive_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferReceiveImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferReceive ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2195,11 +1970,8 @@ BaseType_t MPU_xStreamBufferIsFull( StreamBufferHandle_t xStreamBuffer ) /* __at
|
||||||
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
" MPU_xStreamBufferIsFull_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferIsFullImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferIsFull ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2223,11 +1995,8 @@ BaseType_t MPU_xStreamBufferIsEmpty( StreamBufferHandle_t xStreamBuffer ) /* __a
|
||||||
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
" MPU_xStreamBufferIsEmpty_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferIsEmptyImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferIsEmpty ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2251,11 +2020,8 @@ size_t MPU_xStreamBufferSpacesAvailable( StreamBufferHandle_t xStreamBuffer ) /*
|
||||||
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
" MPU_xStreamBufferSpacesAvailable_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSpacesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSpacesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2279,11 +2045,8 @@ size_t MPU_xStreamBufferBytesAvailable( StreamBufferHandle_t xStreamBuffer ) /*
|
||||||
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
" MPU_xStreamBufferBytesAvailable_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferBytesAvailableImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferBytesAvailable ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2309,11 +2072,8 @@ BaseType_t MPU_xStreamBufferSetTriggerLevel( StreamBufferHandle_t xStreamBuffer,
|
||||||
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
" MPU_xStreamBufferSetTriggerLevel_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferSetTriggerLevelImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferSetTriggerLevel ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -2337,11 +2097,8 @@ size_t MPU_xStreamBufferNextMessageLengthBytes( StreamBufferHandle_t xStreamBuff
|
||||||
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
" MPU_xStreamBufferNextMessageLengthBytes_Unpriv: \n"
|
||||||
" pop {r0} \n"
|
" pop {r0} \n"
|
||||||
" svc %0 \n"
|
" svc %0 \n"
|
||||||
" bl MPU_xStreamBufferNextMessageLengthBytesImpl \n"
|
|
||||||
" svc %1 \n"
|
|
||||||
" bx lr \n"
|
|
||||||
" \n"
|
" \n"
|
||||||
: : "i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_EXIT ) : "memory"
|
: : "i" ( SYSTEM_CALL_xStreamBufferNextMessageLengthBytes ) : "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -36,6 +36,9 @@
|
||||||
/* Portasm includes. */
|
/* Portasm includes. */
|
||||||
#include "portasm.h"
|
#include "portasm.h"
|
||||||
|
|
||||||
|
/* System call numbers includes. */
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
/* MPU_WRAPPERS_INCLUDED_FROM_API_FILE is needed to be defined only for the
|
||||||
* header files. */
|
* header files. */
|
||||||
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
#undef MPU_WRAPPERS_INCLUDED_FROM_API_FILE
|
||||||
|
@ -443,7 +446,6 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
".syntax unified \n"
|
".syntax unified \n"
|
||||||
".extern vPortSVCHandler_C \n"
|
".extern vPortSVCHandler_C \n"
|
||||||
".extern vSystemCallEnter \n"
|
".extern vSystemCallEnter \n"
|
||||||
".extern vSystemCallEnter_1 \n"
|
|
||||||
".extern vSystemCallExit \n"
|
".extern vSystemCallExit \n"
|
||||||
" \n"
|
" \n"
|
||||||
"tst lr, #4 \n"
|
"tst lr, #4 \n"
|
||||||
|
@ -454,10 +456,8 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
"ldr r1, [r0, #24] \n"
|
"ldr r1, [r0, #24] \n"
|
||||||
"ldrb r2, [r1, #-2] \n"
|
"ldrb r2, [r1, #-2] \n"
|
||||||
"cmp r2, %0 \n"
|
"cmp r2, %0 \n"
|
||||||
"beq syscall_enter \n"
|
"blt syscall_enter \n"
|
||||||
"cmp r2, %1 \n"
|
"cmp r2, %1 \n"
|
||||||
"beq syscall_enter_1 \n"
|
|
||||||
"cmp r2, %2 \n"
|
|
||||||
"beq syscall_exit \n"
|
"beq syscall_exit \n"
|
||||||
"b vPortSVCHandler_C \n"
|
"b vPortSVCHandler_C \n"
|
||||||
" \n"
|
" \n"
|
||||||
|
@ -465,16 +465,12 @@ void SVC_Handler( void ) /* __attribute__ (( naked )) PRIVILEGED_FUNCTION */
|
||||||
" mov r1, lr \n"
|
" mov r1, lr \n"
|
||||||
" b vSystemCallEnter \n"
|
" b vSystemCallEnter \n"
|
||||||
" \n"
|
" \n"
|
||||||
"syscall_enter_1: \n"
|
|
||||||
" mov r1, lr \n"
|
|
||||||
" b vSystemCallEnter_1 \n"
|
|
||||||
" \n"
|
|
||||||
"syscall_exit: \n"
|
"syscall_exit: \n"
|
||||||
" mov r1, lr \n"
|
" mov r1, lr \n"
|
||||||
" b vSystemCallExit \n"
|
" b vSystemCallExit \n"
|
||||||
" \n"
|
" \n"
|
||||||
: /* No outputs. */
|
: /* No outputs. */
|
||||||
:"i" ( portSVC_SYSTEM_CALL_ENTER ), "i" ( portSVC_SYSTEM_CALL_ENTER_1 ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
: "i" ( NUM_SYSTEM_CALLS ), "i" ( portSVC_SYSTEM_CALL_EXIT )
|
||||||
: "r0", "r1", "r2", "memory"
|
: "r0", "r1", "r2", "memory"
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -32,15 +32,12 @@
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#include "FreeRTOSConfig.h"
|
#include "FreeRTOSConfig.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* These must be in sync with portmacro.h. */
|
|
||||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
|
||||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
|
||||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
@ -57,10 +54,7 @@ MPU_xTaskDelayUntil:
|
||||||
b MPU_xTaskDelayUntilImpl
|
b MPU_xTaskDelayUntilImpl
|
||||||
MPU_xTaskDelayUntil_Unpriv:
|
MPU_xTaskDelayUntil_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskDelayUntil
|
||||||
bl MPU_xTaskDelayUntilImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskAbortDelay
|
PUBLIC MPU_xTaskAbortDelay
|
||||||
|
@ -75,10 +69,7 @@ MPU_xTaskAbortDelay:
|
||||||
b MPU_xTaskAbortDelayImpl
|
b MPU_xTaskAbortDelayImpl
|
||||||
MPU_xTaskAbortDelay_Unpriv:
|
MPU_xTaskAbortDelay_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskAbortDelay
|
||||||
bl MPU_xTaskAbortDelayImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskDelay
|
PUBLIC MPU_vTaskDelay
|
||||||
|
@ -93,10 +84,7 @@ MPU_vTaskDelay:
|
||||||
b MPU_vTaskDelayImpl
|
b MPU_vTaskDelayImpl
|
||||||
MPU_vTaskDelay_Unpriv:
|
MPU_vTaskDelay_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskDelay
|
||||||
bl MPU_vTaskDelayImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskPriorityGet
|
PUBLIC MPU_uxTaskPriorityGet
|
||||||
|
@ -111,10 +99,7 @@ MPU_uxTaskPriorityGet:
|
||||||
b MPU_uxTaskPriorityGetImpl
|
b MPU_uxTaskPriorityGetImpl
|
||||||
MPU_uxTaskPriorityGet_Unpriv:
|
MPU_uxTaskPriorityGet_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskPriorityGet
|
||||||
bl MPU_uxTaskPriorityGetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_eTaskGetState
|
PUBLIC MPU_eTaskGetState
|
||||||
|
@ -129,10 +114,7 @@ MPU_eTaskGetState:
|
||||||
b MPU_eTaskGetStateImpl
|
b MPU_eTaskGetStateImpl
|
||||||
MPU_eTaskGetState_Unpriv:
|
MPU_eTaskGetState_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_eTaskGetState
|
||||||
bl MPU_eTaskGetStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskGetInfo
|
PUBLIC MPU_vTaskGetInfo
|
||||||
|
@ -147,10 +129,7 @@ MPU_vTaskGetInfo:
|
||||||
b MPU_vTaskGetInfoImpl
|
b MPU_vTaskGetInfoImpl
|
||||||
MPU_vTaskGetInfo_Unpriv:
|
MPU_vTaskGetInfo_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskGetInfo
|
||||||
bl MPU_vTaskGetInfoImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetIdleTaskHandle
|
PUBLIC MPU_xTaskGetIdleTaskHandle
|
||||||
|
@ -165,10 +144,7 @@ MPU_xTaskGetIdleTaskHandle:
|
||||||
b MPU_xTaskGetIdleTaskHandleImpl
|
b MPU_xTaskGetIdleTaskHandleImpl
|
||||||
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
|
||||||
bl MPU_xTaskGetIdleTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSuspend
|
PUBLIC MPU_vTaskSuspend
|
||||||
|
@ -183,10 +159,7 @@ MPU_vTaskSuspend:
|
||||||
b MPU_vTaskSuspendImpl
|
b MPU_vTaskSuspendImpl
|
||||||
MPU_vTaskSuspend_Unpriv:
|
MPU_vTaskSuspend_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSuspend
|
||||||
bl MPU_vTaskSuspendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskResume
|
PUBLIC MPU_vTaskResume
|
||||||
|
@ -201,10 +174,7 @@ MPU_vTaskResume:
|
||||||
b MPU_vTaskResumeImpl
|
b MPU_vTaskResumeImpl
|
||||||
MPU_vTaskResume_Unpriv:
|
MPU_vTaskResume_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskResume
|
||||||
bl MPU_vTaskResumeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetTickCount
|
PUBLIC MPU_xTaskGetTickCount
|
||||||
|
@ -219,10 +189,7 @@ MPU_xTaskGetTickCount:
|
||||||
b MPU_xTaskGetTickCountImpl
|
b MPU_xTaskGetTickCountImpl
|
||||||
MPU_xTaskGetTickCount_Unpriv:
|
MPU_xTaskGetTickCount_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetTickCount
|
||||||
bl MPU_xTaskGetTickCountImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetNumberOfTasks
|
PUBLIC MPU_uxTaskGetNumberOfTasks
|
||||||
|
@ -237,10 +204,7 @@ MPU_uxTaskGetNumberOfTasks:
|
||||||
b MPU_uxTaskGetNumberOfTasksImpl
|
b MPU_uxTaskGetNumberOfTasksImpl
|
||||||
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
|
||||||
bl MPU_uxTaskGetNumberOfTasksImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pcTaskGetName
|
PUBLIC MPU_pcTaskGetName
|
||||||
|
@ -255,10 +219,7 @@ MPU_pcTaskGetName:
|
||||||
b MPU_pcTaskGetNameImpl
|
b MPU_pcTaskGetNameImpl
|
||||||
MPU_pcTaskGetName_Unpriv:
|
MPU_pcTaskGetName_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcTaskGetName
|
||||||
bl MPU_pcTaskGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetRunTimeCounter
|
PUBLIC MPU_ulTaskGetRunTimeCounter
|
||||||
|
@ -273,10 +234,7 @@ MPU_ulTaskGetRunTimeCounter:
|
||||||
b MPU_ulTaskGetRunTimeCounterImpl
|
b MPU_ulTaskGetRunTimeCounterImpl
|
||||||
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
|
||||||
bl MPU_ulTaskGetRunTimeCounterImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetRunTimePercent
|
PUBLIC MPU_ulTaskGetRunTimePercent
|
||||||
|
@ -291,10 +249,7 @@ MPU_ulTaskGetRunTimePercent:
|
||||||
b MPU_ulTaskGetRunTimePercentImpl
|
b MPU_ulTaskGetRunTimePercentImpl
|
||||||
MPU_ulTaskGetRunTimePercent_Unpriv:
|
MPU_ulTaskGetRunTimePercent_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetRunTimePercent
|
||||||
bl MPU_ulTaskGetRunTimePercentImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
||||||
|
@ -309,10 +264,7 @@ MPU_ulTaskGetIdleRunTimePercent:
|
||||||
b MPU_ulTaskGetIdleRunTimePercentImpl
|
b MPU_ulTaskGetIdleRunTimePercentImpl
|
||||||
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
|
||||||
bl MPU_ulTaskGetIdleRunTimePercentImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
||||||
|
@ -327,10 +279,7 @@ MPU_ulTaskGetIdleRunTimeCounter:
|
||||||
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||||
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
|
||||||
bl MPU_ulTaskGetIdleRunTimeCounterImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetApplicationTaskTag
|
PUBLIC MPU_vTaskSetApplicationTaskTag
|
||||||
|
@ -345,10 +294,7 @@ MPU_vTaskSetApplicationTaskTag:
|
||||||
b MPU_vTaskSetApplicationTaskTagImpl
|
b MPU_vTaskSetApplicationTaskTagImpl
|
||||||
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
|
||||||
bl MPU_vTaskSetApplicationTaskTagImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetApplicationTaskTag
|
PUBLIC MPU_xTaskGetApplicationTaskTag
|
||||||
|
@ -363,10 +309,7 @@ MPU_xTaskGetApplicationTaskTag:
|
||||||
b MPU_xTaskGetApplicationTaskTagImpl
|
b MPU_xTaskGetApplicationTaskTagImpl
|
||||||
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
|
||||||
bl MPU_xTaskGetApplicationTaskTagImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
||||||
|
@ -381,10 +324,7 @@ MPU_vTaskSetThreadLocalStoragePointer:
|
||||||
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||||
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
|
||||||
bl MPU_vTaskSetThreadLocalStoragePointerImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
||||||
|
@ -399,10 +339,7 @@ MPU_pvTaskGetThreadLocalStoragePointer:
|
||||||
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||||
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
|
||||||
bl MPU_pvTaskGetThreadLocalStoragePointerImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetSystemState
|
PUBLIC MPU_uxTaskGetSystemState
|
||||||
|
@ -417,10 +354,7 @@ MPU_uxTaskGetSystemState:
|
||||||
b MPU_uxTaskGetSystemStateImpl
|
b MPU_uxTaskGetSystemStateImpl
|
||||||
MPU_uxTaskGetSystemState_Unpriv:
|
MPU_uxTaskGetSystemState_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetSystemState
|
||||||
bl MPU_uxTaskGetSystemStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
||||||
|
@ -435,10 +369,7 @@ MPU_uxTaskGetStackHighWaterMark:
|
||||||
b MPU_uxTaskGetStackHighWaterMarkImpl
|
b MPU_uxTaskGetStackHighWaterMarkImpl
|
||||||
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
|
||||||
bl MPU_uxTaskGetStackHighWaterMarkImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
||||||
|
@ -453,10 +384,7 @@ MPU_uxTaskGetStackHighWaterMark2:
|
||||||
b MPU_uxTaskGetStackHighWaterMark2Impl
|
b MPU_uxTaskGetStackHighWaterMark2Impl
|
||||||
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
|
||||||
bl MPU_uxTaskGetStackHighWaterMark2Impl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
||||||
|
@ -471,10 +399,7 @@ MPU_xTaskGetCurrentTaskHandle:
|
||||||
b MPU_xTaskGetCurrentTaskHandleImpl
|
b MPU_xTaskGetCurrentTaskHandleImpl
|
||||||
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
|
||||||
bl MPU_xTaskGetCurrentTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetSchedulerState
|
PUBLIC MPU_xTaskGetSchedulerState
|
||||||
|
@ -489,10 +414,7 @@ MPU_xTaskGetSchedulerState:
|
||||||
b MPU_xTaskGetSchedulerStateImpl
|
b MPU_xTaskGetSchedulerStateImpl
|
||||||
MPU_xTaskGetSchedulerState_Unpriv:
|
MPU_xTaskGetSchedulerState_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetSchedulerState
|
||||||
bl MPU_xTaskGetSchedulerStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetTimeOutState
|
PUBLIC MPU_vTaskSetTimeOutState
|
||||||
|
@ -507,10 +429,7 @@ MPU_vTaskSetTimeOutState:
|
||||||
b MPU_vTaskSetTimeOutStateImpl
|
b MPU_vTaskSetTimeOutStateImpl
|
||||||
MPU_vTaskSetTimeOutState_Unpriv:
|
MPU_vTaskSetTimeOutState_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetTimeOutState
|
||||||
bl MPU_vTaskSetTimeOutStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskCheckForTimeOut
|
PUBLIC MPU_xTaskCheckForTimeOut
|
||||||
|
@ -525,14 +444,11 @@ MPU_xTaskCheckForTimeOut:
|
||||||
b MPU_xTaskCheckForTimeOutImpl
|
b MPU_xTaskCheckForTimeOutImpl
|
||||||
MPU_xTaskCheckForTimeOut_Unpriv:
|
MPU_xTaskCheckForTimeOut_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskCheckForTimeOut
|
||||||
bl MPU_xTaskCheckForTimeOutImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotify
|
PUBLIC MPU_xTaskGenericNotifyEntry
|
||||||
MPU_xTaskGenericNotify:
|
MPU_xTaskGenericNotifyEntry:
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
|
@ -543,14 +459,11 @@ MPU_xTaskGenericNotify:
|
||||||
b MPU_xTaskGenericNotifyImpl
|
b MPU_xTaskGenericNotifyImpl
|
||||||
MPU_xTaskGenericNotify_Unpriv:
|
MPU_xTaskGenericNotify_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTaskGenericNotify
|
||||||
bl MPU_xTaskGenericNotifyImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotifyWait
|
PUBLIC MPU_xTaskGenericNotifyWaitEntry
|
||||||
MPU_xTaskGenericNotifyWait:
|
MPU_xTaskGenericNotifyWaitEntry:
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
|
@ -561,10 +474,7 @@ MPU_xTaskGenericNotifyWait:
|
||||||
b MPU_xTaskGenericNotifyWaitImpl
|
b MPU_xTaskGenericNotifyWaitImpl
|
||||||
MPU_xTaskGenericNotifyWait_Unpriv:
|
MPU_xTaskGenericNotifyWait_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTaskGenericNotifyWait
|
||||||
bl MPU_xTaskGenericNotifyWaitImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGenericNotifyTake
|
PUBLIC MPU_ulTaskGenericNotifyTake
|
||||||
|
@ -579,10 +489,7 @@ MPU_ulTaskGenericNotifyTake:
|
||||||
b MPU_ulTaskGenericNotifyTakeImpl
|
b MPU_ulTaskGenericNotifyTakeImpl
|
||||||
MPU_ulTaskGenericNotifyTake_Unpriv:
|
MPU_ulTaskGenericNotifyTake_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGenericNotifyTake
|
||||||
bl MPU_ulTaskGenericNotifyTakeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotifyStateClear
|
PUBLIC MPU_xTaskGenericNotifyStateClear
|
||||||
|
@ -597,10 +504,7 @@ MPU_xTaskGenericNotifyStateClear:
|
||||||
b MPU_xTaskGenericNotifyStateClearImpl
|
b MPU_xTaskGenericNotifyStateClearImpl
|
||||||
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
|
||||||
bl MPU_xTaskGenericNotifyStateClearImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
||||||
|
@ -615,10 +519,7 @@ MPU_ulTaskGenericNotifyValueClear:
|
||||||
b MPU_ulTaskGenericNotifyValueClearImpl
|
b MPU_ulTaskGenericNotifyValueClearImpl
|
||||||
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
|
||||||
bl MPU_ulTaskGenericNotifyValueClearImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGenericSend
|
PUBLIC MPU_xQueueGenericSend
|
||||||
|
@ -633,10 +534,7 @@ MPU_xQueueGenericSend:
|
||||||
b MPU_xQueueGenericSendImpl
|
b MPU_xQueueGenericSendImpl
|
||||||
MPU_xQueueGenericSend_Unpriv:
|
MPU_xQueueGenericSend_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGenericSend
|
||||||
bl MPU_xQueueGenericSendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxQueueMessagesWaiting
|
PUBLIC MPU_uxQueueMessagesWaiting
|
||||||
|
@ -651,10 +549,7 @@ MPU_uxQueueMessagesWaiting:
|
||||||
b MPU_uxQueueMessagesWaitingImpl
|
b MPU_uxQueueMessagesWaitingImpl
|
||||||
MPU_uxQueueMessagesWaiting_Unpriv:
|
MPU_uxQueueMessagesWaiting_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxQueueMessagesWaiting
|
||||||
bl MPU_uxQueueMessagesWaitingImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxQueueSpacesAvailable
|
PUBLIC MPU_uxQueueSpacesAvailable
|
||||||
|
@ -669,10 +564,7 @@ MPU_uxQueueSpacesAvailable:
|
||||||
b MPU_uxQueueSpacesAvailableImpl
|
b MPU_uxQueueSpacesAvailableImpl
|
||||||
MPU_uxQueueSpacesAvailable_Unpriv:
|
MPU_uxQueueSpacesAvailable_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxQueueSpacesAvailable
|
||||||
bl MPU_uxQueueSpacesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueReceive
|
PUBLIC MPU_xQueueReceive
|
||||||
|
@ -687,10 +579,7 @@ MPU_xQueueReceive:
|
||||||
b MPU_xQueueReceiveImpl
|
b MPU_xQueueReceiveImpl
|
||||||
MPU_xQueueReceive_Unpriv:
|
MPU_xQueueReceive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueReceive
|
||||||
bl MPU_xQueueReceiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueuePeek
|
PUBLIC MPU_xQueuePeek
|
||||||
|
@ -705,10 +594,7 @@ MPU_xQueuePeek:
|
||||||
b MPU_xQueuePeekImpl
|
b MPU_xQueuePeekImpl
|
||||||
MPU_xQueuePeek_Unpriv:
|
MPU_xQueuePeek_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueuePeek
|
||||||
bl MPU_xQueuePeekImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueSemaphoreTake
|
PUBLIC MPU_xQueueSemaphoreTake
|
||||||
|
@ -723,10 +609,7 @@ MPU_xQueueSemaphoreTake:
|
||||||
b MPU_xQueueSemaphoreTakeImpl
|
b MPU_xQueueSemaphoreTakeImpl
|
||||||
MPU_xQueueSemaphoreTake_Unpriv:
|
MPU_xQueueSemaphoreTake_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueSemaphoreTake
|
||||||
bl MPU_xQueueSemaphoreTakeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGetMutexHolder
|
PUBLIC MPU_xQueueGetMutexHolder
|
||||||
|
@ -741,10 +624,7 @@ MPU_xQueueGetMutexHolder:
|
||||||
b MPU_xQueueGetMutexHolderImpl
|
b MPU_xQueueGetMutexHolderImpl
|
||||||
MPU_xQueueGetMutexHolder_Unpriv:
|
MPU_xQueueGetMutexHolder_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGetMutexHolder
|
||||||
bl MPU_xQueueGetMutexHolderImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueTakeMutexRecursive
|
PUBLIC MPU_xQueueTakeMutexRecursive
|
||||||
|
@ -759,10 +639,7 @@ MPU_xQueueTakeMutexRecursive:
|
||||||
b MPU_xQueueTakeMutexRecursiveImpl
|
b MPU_xQueueTakeMutexRecursiveImpl
|
||||||
MPU_xQueueTakeMutexRecursive_Unpriv:
|
MPU_xQueueTakeMutexRecursive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueTakeMutexRecursive
|
||||||
bl MPU_xQueueTakeMutexRecursiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGiveMutexRecursive
|
PUBLIC MPU_xQueueGiveMutexRecursive
|
||||||
|
@ -777,10 +654,7 @@ MPU_xQueueGiveMutexRecursive:
|
||||||
b MPU_xQueueGiveMutexRecursiveImpl
|
b MPU_xQueueGiveMutexRecursiveImpl
|
||||||
MPU_xQueueGiveMutexRecursive_Unpriv:
|
MPU_xQueueGiveMutexRecursive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGiveMutexRecursive
|
||||||
bl MPU_xQueueGiveMutexRecursiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueSelectFromSet
|
PUBLIC MPU_xQueueSelectFromSet
|
||||||
|
@ -795,10 +669,7 @@ MPU_xQueueSelectFromSet:
|
||||||
b MPU_xQueueSelectFromSetImpl
|
b MPU_xQueueSelectFromSetImpl
|
||||||
MPU_xQueueSelectFromSet_Unpriv:
|
MPU_xQueueSelectFromSet_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueSelectFromSet
|
||||||
bl MPU_xQueueSelectFromSetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueAddToSet
|
PUBLIC MPU_xQueueAddToSet
|
||||||
|
@ -813,10 +684,7 @@ MPU_xQueueAddToSet:
|
||||||
b MPU_xQueueAddToSetImpl
|
b MPU_xQueueAddToSetImpl
|
||||||
MPU_xQueueAddToSet_Unpriv:
|
MPU_xQueueAddToSet_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueAddToSet
|
||||||
bl MPU_xQueueAddToSetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vQueueAddToRegistry
|
PUBLIC MPU_vQueueAddToRegistry
|
||||||
|
@ -831,10 +699,7 @@ MPU_vQueueAddToRegistry:
|
||||||
b MPU_vQueueAddToRegistryImpl
|
b MPU_vQueueAddToRegistryImpl
|
||||||
MPU_vQueueAddToRegistry_Unpriv:
|
MPU_vQueueAddToRegistry_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vQueueAddToRegistry
|
||||||
bl MPU_vQueueAddToRegistryImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vQueueUnregisterQueue
|
PUBLIC MPU_vQueueUnregisterQueue
|
||||||
|
@ -849,10 +714,7 @@ MPU_vQueueUnregisterQueue:
|
||||||
b MPU_vQueueUnregisterQueueImpl
|
b MPU_vQueueUnregisterQueueImpl
|
||||||
MPU_vQueueUnregisterQueue_Unpriv:
|
MPU_vQueueUnregisterQueue_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vQueueUnregisterQueue
|
||||||
bl MPU_vQueueUnregisterQueueImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pcQueueGetName
|
PUBLIC MPU_pcQueueGetName
|
||||||
|
@ -867,10 +729,7 @@ MPU_pcQueueGetName:
|
||||||
b MPU_pcQueueGetNameImpl
|
b MPU_pcQueueGetNameImpl
|
||||||
MPU_pcQueueGetName_Unpriv:
|
MPU_pcQueueGetName_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcQueueGetName
|
||||||
bl MPU_pcQueueGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pvTimerGetTimerID
|
PUBLIC MPU_pvTimerGetTimerID
|
||||||
|
@ -885,10 +744,7 @@ MPU_pvTimerGetTimerID:
|
||||||
b MPU_pvTimerGetTimerIDImpl
|
b MPU_pvTimerGetTimerIDImpl
|
||||||
MPU_pvTimerGetTimerID_Unpriv:
|
MPU_pvTimerGetTimerID_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pvTimerGetTimerID
|
||||||
bl MPU_pvTimerGetTimerIDImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTimerSetTimerID
|
PUBLIC MPU_vTimerSetTimerID
|
||||||
|
@ -903,10 +759,7 @@ MPU_vTimerSetTimerID:
|
||||||
b MPU_vTimerSetTimerIDImpl
|
b MPU_vTimerSetTimerIDImpl
|
||||||
MPU_vTimerSetTimerID_Unpriv:
|
MPU_vTimerSetTimerID_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTimerSetTimerID
|
||||||
bl MPU_vTimerSetTimerIDImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerIsTimerActive
|
PUBLIC MPU_xTimerIsTimerActive
|
||||||
|
@ -921,10 +774,7 @@ MPU_xTimerIsTimerActive:
|
||||||
b MPU_xTimerIsTimerActiveImpl
|
b MPU_xTimerIsTimerActiveImpl
|
||||||
MPU_xTimerIsTimerActive_Unpriv:
|
MPU_xTimerIsTimerActive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerIsTimerActive
|
||||||
bl MPU_xTimerIsTimerActiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
||||||
|
@ -939,14 +789,11 @@ MPU_xTimerGetTimerDaemonTaskHandle:
|
||||||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||||
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
|
||||||
bl MPU_xTimerGetTimerDaemonTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGenericCommand
|
PUBLIC MPU_xTimerGenericCommandEntry
|
||||||
MPU_xTimerGenericCommand:
|
MPU_xTimerGenericCommandEntry:
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
/* This function can be called from ISR also and therefore, we need a check
|
/* This function can be called from ISR also and therefore, we need a check
|
||||||
* to take privileged path, if called from ISR. */
|
* to take privileged path, if called from ISR. */
|
||||||
|
@ -959,13 +806,10 @@ MPU_xTimerGenericCommand:
|
||||||
beq MPU_xTimerGenericCommand_Priv
|
beq MPU_xTimerGenericCommand_Priv
|
||||||
MPU_xTimerGenericCommand_Unpriv:
|
MPU_xTimerGenericCommand_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTimerGenericCommand
|
||||||
bl MPU_xTimerGenericCommandImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
MPU_xTimerGenericCommand_Priv:
|
MPU_xTimerGenericCommand_Priv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
b MPU_xTimerGenericCommandImpl
|
b MPU_xTimerGenericCommandPrivImpl
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -981,10 +825,7 @@ MPU_pcTimerGetName:
|
||||||
b MPU_pcTimerGetNameImpl
|
b MPU_pcTimerGetNameImpl
|
||||||
MPU_pcTimerGetName_Unpriv:
|
MPU_pcTimerGetName_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcTimerGetName
|
||||||
bl MPU_pcTimerGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTimerSetReloadMode
|
PUBLIC MPU_vTimerSetReloadMode
|
||||||
|
@ -999,10 +840,7 @@ MPU_vTimerSetReloadMode:
|
||||||
b MPU_vTimerSetReloadModeImpl
|
b MPU_vTimerSetReloadModeImpl
|
||||||
MPU_vTimerSetReloadMode_Unpriv:
|
MPU_vTimerSetReloadMode_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTimerSetReloadMode
|
||||||
bl MPU_vTimerSetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetReloadMode
|
PUBLIC MPU_xTimerGetReloadMode
|
||||||
|
@ -1017,10 +855,7 @@ MPU_xTimerGetReloadMode:
|
||||||
b MPU_xTimerGetReloadModeImpl
|
b MPU_xTimerGetReloadModeImpl
|
||||||
MPU_xTimerGetReloadMode_Unpriv:
|
MPU_xTimerGetReloadMode_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetReloadMode
|
||||||
bl MPU_xTimerGetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTimerGetReloadMode
|
PUBLIC MPU_uxTimerGetReloadMode
|
||||||
|
@ -1035,10 +870,7 @@ MPU_uxTimerGetReloadMode:
|
||||||
b MPU_uxTimerGetReloadModeImpl
|
b MPU_uxTimerGetReloadModeImpl
|
||||||
MPU_uxTimerGetReloadMode_Unpriv:
|
MPU_uxTimerGetReloadMode_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTimerGetReloadMode
|
||||||
bl MPU_uxTimerGetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetPeriod
|
PUBLIC MPU_xTimerGetPeriod
|
||||||
|
@ -1053,10 +885,7 @@ MPU_xTimerGetPeriod:
|
||||||
b MPU_xTimerGetPeriodImpl
|
b MPU_xTimerGetPeriodImpl
|
||||||
MPU_xTimerGetPeriod_Unpriv:
|
MPU_xTimerGetPeriod_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetPeriod
|
||||||
bl MPU_xTimerGetPeriodImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetExpiryTime
|
PUBLIC MPU_xTimerGetExpiryTime
|
||||||
|
@ -1071,14 +900,11 @@ MPU_xTimerGetExpiryTime:
|
||||||
b MPU_xTimerGetExpiryTimeImpl
|
b MPU_xTimerGetExpiryTimeImpl
|
||||||
MPU_xTimerGetExpiryTime_Unpriv:
|
MPU_xTimerGetExpiryTime_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetExpiryTime
|
||||||
bl MPU_xTimerGetExpiryTimeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupWaitBits
|
PUBLIC MPU_xEventGroupWaitBitsEntry
|
||||||
MPU_xEventGroupWaitBits:
|
MPU_xEventGroupWaitBitsEntry:
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
|
@ -1089,10 +915,7 @@ MPU_xEventGroupWaitBits:
|
||||||
b MPU_xEventGroupWaitBitsImpl
|
b MPU_xEventGroupWaitBitsImpl
|
||||||
MPU_xEventGroupWaitBits_Unpriv:
|
MPU_xEventGroupWaitBits_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xEventGroupWaitBits
|
||||||
bl MPU_xEventGroupWaitBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupClearBits
|
PUBLIC MPU_xEventGroupClearBits
|
||||||
|
@ -1107,10 +930,7 @@ MPU_xEventGroupClearBits:
|
||||||
b MPU_xEventGroupClearBitsImpl
|
b MPU_xEventGroupClearBitsImpl
|
||||||
MPU_xEventGroupClearBits_Unpriv:
|
MPU_xEventGroupClearBits_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupClearBits
|
||||||
bl MPU_xEventGroupClearBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupSetBits
|
PUBLIC MPU_xEventGroupSetBits
|
||||||
|
@ -1125,10 +945,7 @@ MPU_xEventGroupSetBits:
|
||||||
b MPU_xEventGroupSetBitsImpl
|
b MPU_xEventGroupSetBitsImpl
|
||||||
MPU_xEventGroupSetBits_Unpriv:
|
MPU_xEventGroupSetBits_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupSetBits
|
||||||
bl MPU_xEventGroupSetBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupSync
|
PUBLIC MPU_xEventGroupSync
|
||||||
|
@ -1143,10 +960,7 @@ MPU_xEventGroupSync:
|
||||||
b MPU_xEventGroupSyncImpl
|
b MPU_xEventGroupSyncImpl
|
||||||
MPU_xEventGroupSync_Unpriv:
|
MPU_xEventGroupSync_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupSync
|
||||||
bl MPU_xEventGroupSyncImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxEventGroupGetNumber
|
PUBLIC MPU_uxEventGroupGetNumber
|
||||||
|
@ -1161,10 +975,7 @@ MPU_uxEventGroupGetNumber:
|
||||||
b MPU_uxEventGroupGetNumberImpl
|
b MPU_uxEventGroupGetNumberImpl
|
||||||
MPU_uxEventGroupGetNumber_Unpriv:
|
MPU_uxEventGroupGetNumber_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxEventGroupGetNumber
|
||||||
bl MPU_uxEventGroupGetNumberImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vEventGroupSetNumber
|
PUBLIC MPU_vEventGroupSetNumber
|
||||||
|
@ -1179,10 +990,7 @@ MPU_vEventGroupSetNumber:
|
||||||
b MPU_vEventGroupSetNumberImpl
|
b MPU_vEventGroupSetNumberImpl
|
||||||
MPU_vEventGroupSetNumber_Unpriv:
|
MPU_vEventGroupSetNumber_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vEventGroupSetNumber
|
||||||
bl MPU_vEventGroupSetNumberImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSend
|
PUBLIC MPU_xStreamBufferSend
|
||||||
|
@ -1197,10 +1005,7 @@ MPU_xStreamBufferSend:
|
||||||
b MPU_xStreamBufferSendImpl
|
b MPU_xStreamBufferSendImpl
|
||||||
MPU_xStreamBufferSend_Unpriv:
|
MPU_xStreamBufferSend_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSend
|
||||||
bl MPU_xStreamBufferSendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferReceive
|
PUBLIC MPU_xStreamBufferReceive
|
||||||
|
@ -1215,10 +1020,7 @@ MPU_xStreamBufferReceive:
|
||||||
b MPU_xStreamBufferReceiveImpl
|
b MPU_xStreamBufferReceiveImpl
|
||||||
MPU_xStreamBufferReceive_Unpriv:
|
MPU_xStreamBufferReceive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferReceive
|
||||||
bl MPU_xStreamBufferReceiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferIsFull
|
PUBLIC MPU_xStreamBufferIsFull
|
||||||
|
@ -1233,10 +1035,7 @@ MPU_xStreamBufferIsFull:
|
||||||
b MPU_xStreamBufferIsFullImpl
|
b MPU_xStreamBufferIsFullImpl
|
||||||
MPU_xStreamBufferIsFull_Unpriv:
|
MPU_xStreamBufferIsFull_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferIsFull
|
||||||
bl MPU_xStreamBufferIsFullImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferIsEmpty
|
PUBLIC MPU_xStreamBufferIsEmpty
|
||||||
|
@ -1251,10 +1050,7 @@ MPU_xStreamBufferIsEmpty:
|
||||||
b MPU_xStreamBufferIsEmptyImpl
|
b MPU_xStreamBufferIsEmptyImpl
|
||||||
MPU_xStreamBufferIsEmpty_Unpriv:
|
MPU_xStreamBufferIsEmpty_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferIsEmpty
|
||||||
bl MPU_xStreamBufferIsEmptyImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSpacesAvailable
|
PUBLIC MPU_xStreamBufferSpacesAvailable
|
||||||
|
@ -1269,10 +1065,7 @@ MPU_xStreamBufferSpacesAvailable:
|
||||||
b MPU_xStreamBufferSpacesAvailableImpl
|
b MPU_xStreamBufferSpacesAvailableImpl
|
||||||
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
|
||||||
bl MPU_xStreamBufferSpacesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferBytesAvailable
|
PUBLIC MPU_xStreamBufferBytesAvailable
|
||||||
|
@ -1287,10 +1080,7 @@ MPU_xStreamBufferBytesAvailable:
|
||||||
b MPU_xStreamBufferBytesAvailableImpl
|
b MPU_xStreamBufferBytesAvailableImpl
|
||||||
MPU_xStreamBufferBytesAvailable_Unpriv:
|
MPU_xStreamBufferBytesAvailable_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferBytesAvailable
|
||||||
bl MPU_xStreamBufferBytesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
||||||
|
@ -1305,10 +1095,7 @@ MPU_xStreamBufferSetTriggerLevel:
|
||||||
b MPU_xStreamBufferSetTriggerLevelImpl
|
b MPU_xStreamBufferSetTriggerLevelImpl
|
||||||
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
|
||||||
bl MPU_xStreamBufferSetTriggerLevelImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
||||||
|
@ -1323,10 +1110,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
|
||||||
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||||
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
|
||||||
bl MPU_xStreamBufferNextMessageLengthBytesImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Default weak implementations in case one is not available from
|
/* Default weak implementations in case one is not available from
|
||||||
|
@ -1532,9 +1316,9 @@ MPU_xTimerIsTimerActiveImpl:
|
||||||
MPU_xTimerGetTimerDaemonTaskHandleImpl:
|
MPU_xTimerGetTimerDaemonTaskHandleImpl:
|
||||||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||||
|
|
||||||
PUBWEAK MPU_xTimerGenericCommandImpl
|
PUBWEAK MPU_xTimerGenericCommandPrivImpl
|
||||||
MPU_xTimerGenericCommandImpl:
|
MPU_xTimerGenericCommandPrivImpl:
|
||||||
b MPU_xTimerGenericCommandImpl
|
b MPU_xTimerGenericCommandPrivImpl
|
||||||
|
|
||||||
PUBWEAK MPU_pcTimerGetNameImpl
|
PUBWEAK MPU_pcTimerGetNameImpl
|
||||||
MPU_pcTimerGetNameImpl:
|
MPU_pcTimerGetNameImpl:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -33,6 +33,9 @@ the code is included in C files but excluded by the preprocessor in assembly
|
||||||
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
||||||
#include "FreeRTOSConfig.h"
|
#include "FreeRTOSConfig.h"
|
||||||
|
|
||||||
|
/* System call numbers includes. */
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
@ -45,7 +48,6 @@ files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler.
|
||||||
EXTERN SecureContext_LoadContext
|
EXTERN SecureContext_LoadContext
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
EXTERN vSystemCallEnter
|
EXTERN vSystemCallEnter
|
||||||
EXTERN vSystemCallEnter_1
|
|
||||||
EXTERN vSystemCallExit
|
EXTERN vSystemCallExit
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -95,7 +97,7 @@ vResetPrivilege:
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
vPortAllocateSecureContext:
|
vPortAllocateSecureContext:
|
||||||
svc 0 /* Secure context is allocated in the supervisor call. portSVC_ALLOCATE_SECURE_CONTEXT = 0. */
|
svc 100 /* Secure context is allocated in the supervisor call. portSVC_ALLOCATE_SECURE_CONTEXT = 100. */
|
||||||
bx lr /* Return. */
|
bx lr /* Return. */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -230,7 +232,7 @@ vStartFirstTask:
|
||||||
cpsie i /* Globally enable interrupts. */
|
cpsie i /* Globally enable interrupts. */
|
||||||
dsb
|
dsb
|
||||||
isb
|
isb
|
||||||
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
|
svc 102 /* System call to start the first task. portSVC_START_SCHEDULER = 102. */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
ulSetInterruptMask:
|
ulSetInterruptMask:
|
||||||
|
@ -482,21 +484,17 @@ SVC_Handler:
|
||||||
b route_svc
|
b route_svc
|
||||||
|
|
||||||
route_svc:
|
route_svc:
|
||||||
ldr r2, [r0, #24]
|
ldr r3, [r0, #24]
|
||||||
subs r2, #2
|
subs r3, #2
|
||||||
ldrb r3, [r2, #0]
|
ldrb r2, [r3, #0]
|
||||||
cmp r3, #4 /* portSVC_SYSTEM_CALL_ENTER. */
|
cmp r2, #NUM_SYSTEM_CALLS
|
||||||
beq system_call_enter
|
blt system_call_enter
|
||||||
cmp r3, #5 /* portSVC_SYSTEM_CALL_ENTER_1. */
|
cmp r2, #104 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||||
beq system_call_enter_1
|
|
||||||
cmp r3, #6 /* portSVC_SYSTEM_CALL_EXIT. */
|
|
||||||
beq system_call_exit
|
beq system_call_exit
|
||||||
b vPortSVCHandler_C
|
b vPortSVCHandler_C
|
||||||
|
|
||||||
system_call_enter:
|
system_call_enter:
|
||||||
b vSystemCallEnter
|
b vSystemCallEnter
|
||||||
system_call_enter_1:
|
|
||||||
b vSystemCallEnter_1
|
|
||||||
system_call_exit:
|
system_call_exit:
|
||||||
b vSystemCallExit
|
b vSystemCallExit
|
||||||
|
|
||||||
|
@ -523,7 +521,7 @@ vPortFreeSecureContext:
|
||||||
bne free_secure_context /* Branch if r1 != 0. */
|
bne free_secure_context /* Branch if r1 != 0. */
|
||||||
bx lr /* There is no secure context (xSecureContext is NULL). */
|
bx lr /* There is no secure context (xSecureContext is NULL). */
|
||||||
free_secure_context:
|
free_secure_context:
|
||||||
svc 1 /* Secure context is freed in the supervisor call. portSVC_FREE_SECURE_CONTEXT = 1. */
|
svc 101 /* Secure context is freed in the supervisor call. portSVC_FREE_SECURE_CONTEXT = 101. */
|
||||||
bx lr /* Return. */
|
bx lr /* Return. */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -32,15 +32,12 @@
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#include "FreeRTOSConfig.h"
|
#include "FreeRTOSConfig.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* These must be in sync with portmacro.h. */
|
|
||||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
|
||||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
|
||||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
@ -57,10 +54,7 @@ MPU_xTaskDelayUntil:
|
||||||
b MPU_xTaskDelayUntilImpl
|
b MPU_xTaskDelayUntilImpl
|
||||||
MPU_xTaskDelayUntil_Unpriv:
|
MPU_xTaskDelayUntil_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskDelayUntil
|
||||||
bl MPU_xTaskDelayUntilImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskAbortDelay
|
PUBLIC MPU_xTaskAbortDelay
|
||||||
|
@ -75,10 +69,7 @@ MPU_xTaskAbortDelay:
|
||||||
b MPU_xTaskAbortDelayImpl
|
b MPU_xTaskAbortDelayImpl
|
||||||
MPU_xTaskAbortDelay_Unpriv:
|
MPU_xTaskAbortDelay_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskAbortDelay
|
||||||
bl MPU_xTaskAbortDelayImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskDelay
|
PUBLIC MPU_vTaskDelay
|
||||||
|
@ -93,10 +84,7 @@ MPU_vTaskDelay:
|
||||||
b MPU_vTaskDelayImpl
|
b MPU_vTaskDelayImpl
|
||||||
MPU_vTaskDelay_Unpriv:
|
MPU_vTaskDelay_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskDelay
|
||||||
bl MPU_vTaskDelayImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskPriorityGet
|
PUBLIC MPU_uxTaskPriorityGet
|
||||||
|
@ -111,10 +99,7 @@ MPU_uxTaskPriorityGet:
|
||||||
b MPU_uxTaskPriorityGetImpl
|
b MPU_uxTaskPriorityGetImpl
|
||||||
MPU_uxTaskPriorityGet_Unpriv:
|
MPU_uxTaskPriorityGet_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskPriorityGet
|
||||||
bl MPU_uxTaskPriorityGetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_eTaskGetState
|
PUBLIC MPU_eTaskGetState
|
||||||
|
@ -129,10 +114,7 @@ MPU_eTaskGetState:
|
||||||
b MPU_eTaskGetStateImpl
|
b MPU_eTaskGetStateImpl
|
||||||
MPU_eTaskGetState_Unpriv:
|
MPU_eTaskGetState_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_eTaskGetState
|
||||||
bl MPU_eTaskGetStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskGetInfo
|
PUBLIC MPU_vTaskGetInfo
|
||||||
|
@ -147,10 +129,7 @@ MPU_vTaskGetInfo:
|
||||||
b MPU_vTaskGetInfoImpl
|
b MPU_vTaskGetInfoImpl
|
||||||
MPU_vTaskGetInfo_Unpriv:
|
MPU_vTaskGetInfo_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskGetInfo
|
||||||
bl MPU_vTaskGetInfoImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetIdleTaskHandle
|
PUBLIC MPU_xTaskGetIdleTaskHandle
|
||||||
|
@ -165,10 +144,7 @@ MPU_xTaskGetIdleTaskHandle:
|
||||||
b MPU_xTaskGetIdleTaskHandleImpl
|
b MPU_xTaskGetIdleTaskHandleImpl
|
||||||
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
|
||||||
bl MPU_xTaskGetIdleTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSuspend
|
PUBLIC MPU_vTaskSuspend
|
||||||
|
@ -183,10 +159,7 @@ MPU_vTaskSuspend:
|
||||||
b MPU_vTaskSuspendImpl
|
b MPU_vTaskSuspendImpl
|
||||||
MPU_vTaskSuspend_Unpriv:
|
MPU_vTaskSuspend_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSuspend
|
||||||
bl MPU_vTaskSuspendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskResume
|
PUBLIC MPU_vTaskResume
|
||||||
|
@ -201,10 +174,7 @@ MPU_vTaskResume:
|
||||||
b MPU_vTaskResumeImpl
|
b MPU_vTaskResumeImpl
|
||||||
MPU_vTaskResume_Unpriv:
|
MPU_vTaskResume_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskResume
|
||||||
bl MPU_vTaskResumeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetTickCount
|
PUBLIC MPU_xTaskGetTickCount
|
||||||
|
@ -219,10 +189,7 @@ MPU_xTaskGetTickCount:
|
||||||
b MPU_xTaskGetTickCountImpl
|
b MPU_xTaskGetTickCountImpl
|
||||||
MPU_xTaskGetTickCount_Unpriv:
|
MPU_xTaskGetTickCount_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetTickCount
|
||||||
bl MPU_xTaskGetTickCountImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetNumberOfTasks
|
PUBLIC MPU_uxTaskGetNumberOfTasks
|
||||||
|
@ -237,10 +204,7 @@ MPU_uxTaskGetNumberOfTasks:
|
||||||
b MPU_uxTaskGetNumberOfTasksImpl
|
b MPU_uxTaskGetNumberOfTasksImpl
|
||||||
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
|
||||||
bl MPU_uxTaskGetNumberOfTasksImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pcTaskGetName
|
PUBLIC MPU_pcTaskGetName
|
||||||
|
@ -255,10 +219,7 @@ MPU_pcTaskGetName:
|
||||||
b MPU_pcTaskGetNameImpl
|
b MPU_pcTaskGetNameImpl
|
||||||
MPU_pcTaskGetName_Unpriv:
|
MPU_pcTaskGetName_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcTaskGetName
|
||||||
bl MPU_pcTaskGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetRunTimeCounter
|
PUBLIC MPU_ulTaskGetRunTimeCounter
|
||||||
|
@ -273,10 +234,7 @@ MPU_ulTaskGetRunTimeCounter:
|
||||||
b MPU_ulTaskGetRunTimeCounterImpl
|
b MPU_ulTaskGetRunTimeCounterImpl
|
||||||
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
|
||||||
bl MPU_ulTaskGetRunTimeCounterImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetRunTimePercent
|
PUBLIC MPU_ulTaskGetRunTimePercent
|
||||||
|
@ -291,10 +249,7 @@ MPU_ulTaskGetRunTimePercent:
|
||||||
b MPU_ulTaskGetRunTimePercentImpl
|
b MPU_ulTaskGetRunTimePercentImpl
|
||||||
MPU_ulTaskGetRunTimePercent_Unpriv:
|
MPU_ulTaskGetRunTimePercent_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetRunTimePercent
|
||||||
bl MPU_ulTaskGetRunTimePercentImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
||||||
|
@ -309,10 +264,7 @@ MPU_ulTaskGetIdleRunTimePercent:
|
||||||
b MPU_ulTaskGetIdleRunTimePercentImpl
|
b MPU_ulTaskGetIdleRunTimePercentImpl
|
||||||
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
|
||||||
bl MPU_ulTaskGetIdleRunTimePercentImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
||||||
|
@ -327,10 +279,7 @@ MPU_ulTaskGetIdleRunTimeCounter:
|
||||||
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||||
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
|
||||||
bl MPU_ulTaskGetIdleRunTimeCounterImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetApplicationTaskTag
|
PUBLIC MPU_vTaskSetApplicationTaskTag
|
||||||
|
@ -345,10 +294,7 @@ MPU_vTaskSetApplicationTaskTag:
|
||||||
b MPU_vTaskSetApplicationTaskTagImpl
|
b MPU_vTaskSetApplicationTaskTagImpl
|
||||||
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
|
||||||
bl MPU_vTaskSetApplicationTaskTagImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetApplicationTaskTag
|
PUBLIC MPU_xTaskGetApplicationTaskTag
|
||||||
|
@ -363,10 +309,7 @@ MPU_xTaskGetApplicationTaskTag:
|
||||||
b MPU_xTaskGetApplicationTaskTagImpl
|
b MPU_xTaskGetApplicationTaskTagImpl
|
||||||
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
|
||||||
bl MPU_xTaskGetApplicationTaskTagImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
||||||
|
@ -381,10 +324,7 @@ MPU_vTaskSetThreadLocalStoragePointer:
|
||||||
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||||
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
|
||||||
bl MPU_vTaskSetThreadLocalStoragePointerImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
||||||
|
@ -399,10 +339,7 @@ MPU_pvTaskGetThreadLocalStoragePointer:
|
||||||
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||||
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
|
||||||
bl MPU_pvTaskGetThreadLocalStoragePointerImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetSystemState
|
PUBLIC MPU_uxTaskGetSystemState
|
||||||
|
@ -417,10 +354,7 @@ MPU_uxTaskGetSystemState:
|
||||||
b MPU_uxTaskGetSystemStateImpl
|
b MPU_uxTaskGetSystemStateImpl
|
||||||
MPU_uxTaskGetSystemState_Unpriv:
|
MPU_uxTaskGetSystemState_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetSystemState
|
||||||
bl MPU_uxTaskGetSystemStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
||||||
|
@ -435,10 +369,7 @@ MPU_uxTaskGetStackHighWaterMark:
|
||||||
b MPU_uxTaskGetStackHighWaterMarkImpl
|
b MPU_uxTaskGetStackHighWaterMarkImpl
|
||||||
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
|
||||||
bl MPU_uxTaskGetStackHighWaterMarkImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
||||||
|
@ -453,10 +384,7 @@ MPU_uxTaskGetStackHighWaterMark2:
|
||||||
b MPU_uxTaskGetStackHighWaterMark2Impl
|
b MPU_uxTaskGetStackHighWaterMark2Impl
|
||||||
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
|
||||||
bl MPU_uxTaskGetStackHighWaterMark2Impl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
||||||
|
@ -471,10 +399,7 @@ MPU_xTaskGetCurrentTaskHandle:
|
||||||
b MPU_xTaskGetCurrentTaskHandleImpl
|
b MPU_xTaskGetCurrentTaskHandleImpl
|
||||||
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
|
||||||
bl MPU_xTaskGetCurrentTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetSchedulerState
|
PUBLIC MPU_xTaskGetSchedulerState
|
||||||
|
@ -489,10 +414,7 @@ MPU_xTaskGetSchedulerState:
|
||||||
b MPU_xTaskGetSchedulerStateImpl
|
b MPU_xTaskGetSchedulerStateImpl
|
||||||
MPU_xTaskGetSchedulerState_Unpriv:
|
MPU_xTaskGetSchedulerState_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetSchedulerState
|
||||||
bl MPU_xTaskGetSchedulerStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetTimeOutState
|
PUBLIC MPU_vTaskSetTimeOutState
|
||||||
|
@ -507,10 +429,7 @@ MPU_vTaskSetTimeOutState:
|
||||||
b MPU_vTaskSetTimeOutStateImpl
|
b MPU_vTaskSetTimeOutStateImpl
|
||||||
MPU_vTaskSetTimeOutState_Unpriv:
|
MPU_vTaskSetTimeOutState_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetTimeOutState
|
||||||
bl MPU_vTaskSetTimeOutStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskCheckForTimeOut
|
PUBLIC MPU_xTaskCheckForTimeOut
|
||||||
|
@ -525,14 +444,11 @@ MPU_xTaskCheckForTimeOut:
|
||||||
b MPU_xTaskCheckForTimeOutImpl
|
b MPU_xTaskCheckForTimeOutImpl
|
||||||
MPU_xTaskCheckForTimeOut_Unpriv:
|
MPU_xTaskCheckForTimeOut_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskCheckForTimeOut
|
||||||
bl MPU_xTaskCheckForTimeOutImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotify
|
PUBLIC MPU_xTaskGenericNotifyEntry
|
||||||
MPU_xTaskGenericNotify:
|
MPU_xTaskGenericNotifyEntry:
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
|
@ -543,14 +459,11 @@ MPU_xTaskGenericNotify:
|
||||||
b MPU_xTaskGenericNotifyImpl
|
b MPU_xTaskGenericNotifyImpl
|
||||||
MPU_xTaskGenericNotify_Unpriv:
|
MPU_xTaskGenericNotify_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTaskGenericNotify
|
||||||
bl MPU_xTaskGenericNotifyImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotifyWait
|
PUBLIC MPU_xTaskGenericNotifyWaitEntry
|
||||||
MPU_xTaskGenericNotifyWait:
|
MPU_xTaskGenericNotifyWaitEntry:
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
|
@ -561,10 +474,7 @@ MPU_xTaskGenericNotifyWait:
|
||||||
b MPU_xTaskGenericNotifyWaitImpl
|
b MPU_xTaskGenericNotifyWaitImpl
|
||||||
MPU_xTaskGenericNotifyWait_Unpriv:
|
MPU_xTaskGenericNotifyWait_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTaskGenericNotifyWait
|
||||||
bl MPU_xTaskGenericNotifyWaitImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGenericNotifyTake
|
PUBLIC MPU_ulTaskGenericNotifyTake
|
||||||
|
@ -579,10 +489,7 @@ MPU_ulTaskGenericNotifyTake:
|
||||||
b MPU_ulTaskGenericNotifyTakeImpl
|
b MPU_ulTaskGenericNotifyTakeImpl
|
||||||
MPU_ulTaskGenericNotifyTake_Unpriv:
|
MPU_ulTaskGenericNotifyTake_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGenericNotifyTake
|
||||||
bl MPU_ulTaskGenericNotifyTakeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotifyStateClear
|
PUBLIC MPU_xTaskGenericNotifyStateClear
|
||||||
|
@ -597,10 +504,7 @@ MPU_xTaskGenericNotifyStateClear:
|
||||||
b MPU_xTaskGenericNotifyStateClearImpl
|
b MPU_xTaskGenericNotifyStateClearImpl
|
||||||
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
|
||||||
bl MPU_xTaskGenericNotifyStateClearImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
||||||
|
@ -615,10 +519,7 @@ MPU_ulTaskGenericNotifyValueClear:
|
||||||
b MPU_ulTaskGenericNotifyValueClearImpl
|
b MPU_ulTaskGenericNotifyValueClearImpl
|
||||||
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
|
||||||
bl MPU_ulTaskGenericNotifyValueClearImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGenericSend
|
PUBLIC MPU_xQueueGenericSend
|
||||||
|
@ -633,10 +534,7 @@ MPU_xQueueGenericSend:
|
||||||
b MPU_xQueueGenericSendImpl
|
b MPU_xQueueGenericSendImpl
|
||||||
MPU_xQueueGenericSend_Unpriv:
|
MPU_xQueueGenericSend_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGenericSend
|
||||||
bl MPU_xQueueGenericSendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxQueueMessagesWaiting
|
PUBLIC MPU_uxQueueMessagesWaiting
|
||||||
|
@ -651,10 +549,7 @@ MPU_uxQueueMessagesWaiting:
|
||||||
b MPU_uxQueueMessagesWaitingImpl
|
b MPU_uxQueueMessagesWaitingImpl
|
||||||
MPU_uxQueueMessagesWaiting_Unpriv:
|
MPU_uxQueueMessagesWaiting_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxQueueMessagesWaiting
|
||||||
bl MPU_uxQueueMessagesWaitingImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxQueueSpacesAvailable
|
PUBLIC MPU_uxQueueSpacesAvailable
|
||||||
|
@ -669,10 +564,7 @@ MPU_uxQueueSpacesAvailable:
|
||||||
b MPU_uxQueueSpacesAvailableImpl
|
b MPU_uxQueueSpacesAvailableImpl
|
||||||
MPU_uxQueueSpacesAvailable_Unpriv:
|
MPU_uxQueueSpacesAvailable_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxQueueSpacesAvailable
|
||||||
bl MPU_uxQueueSpacesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueReceive
|
PUBLIC MPU_xQueueReceive
|
||||||
|
@ -687,10 +579,7 @@ MPU_xQueueReceive:
|
||||||
b MPU_xQueueReceiveImpl
|
b MPU_xQueueReceiveImpl
|
||||||
MPU_xQueueReceive_Unpriv:
|
MPU_xQueueReceive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueReceive
|
||||||
bl MPU_xQueueReceiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueuePeek
|
PUBLIC MPU_xQueuePeek
|
||||||
|
@ -705,10 +594,7 @@ MPU_xQueuePeek:
|
||||||
b MPU_xQueuePeekImpl
|
b MPU_xQueuePeekImpl
|
||||||
MPU_xQueuePeek_Unpriv:
|
MPU_xQueuePeek_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueuePeek
|
||||||
bl MPU_xQueuePeekImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueSemaphoreTake
|
PUBLIC MPU_xQueueSemaphoreTake
|
||||||
|
@ -723,10 +609,7 @@ MPU_xQueueSemaphoreTake:
|
||||||
b MPU_xQueueSemaphoreTakeImpl
|
b MPU_xQueueSemaphoreTakeImpl
|
||||||
MPU_xQueueSemaphoreTake_Unpriv:
|
MPU_xQueueSemaphoreTake_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueSemaphoreTake
|
||||||
bl MPU_xQueueSemaphoreTakeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGetMutexHolder
|
PUBLIC MPU_xQueueGetMutexHolder
|
||||||
|
@ -741,10 +624,7 @@ MPU_xQueueGetMutexHolder:
|
||||||
b MPU_xQueueGetMutexHolderImpl
|
b MPU_xQueueGetMutexHolderImpl
|
||||||
MPU_xQueueGetMutexHolder_Unpriv:
|
MPU_xQueueGetMutexHolder_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGetMutexHolder
|
||||||
bl MPU_xQueueGetMutexHolderImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueTakeMutexRecursive
|
PUBLIC MPU_xQueueTakeMutexRecursive
|
||||||
|
@ -759,10 +639,7 @@ MPU_xQueueTakeMutexRecursive:
|
||||||
b MPU_xQueueTakeMutexRecursiveImpl
|
b MPU_xQueueTakeMutexRecursiveImpl
|
||||||
MPU_xQueueTakeMutexRecursive_Unpriv:
|
MPU_xQueueTakeMutexRecursive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueTakeMutexRecursive
|
||||||
bl MPU_xQueueTakeMutexRecursiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGiveMutexRecursive
|
PUBLIC MPU_xQueueGiveMutexRecursive
|
||||||
|
@ -777,10 +654,7 @@ MPU_xQueueGiveMutexRecursive:
|
||||||
b MPU_xQueueGiveMutexRecursiveImpl
|
b MPU_xQueueGiveMutexRecursiveImpl
|
||||||
MPU_xQueueGiveMutexRecursive_Unpriv:
|
MPU_xQueueGiveMutexRecursive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGiveMutexRecursive
|
||||||
bl MPU_xQueueGiveMutexRecursiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueSelectFromSet
|
PUBLIC MPU_xQueueSelectFromSet
|
||||||
|
@ -795,10 +669,7 @@ MPU_xQueueSelectFromSet:
|
||||||
b MPU_xQueueSelectFromSetImpl
|
b MPU_xQueueSelectFromSetImpl
|
||||||
MPU_xQueueSelectFromSet_Unpriv:
|
MPU_xQueueSelectFromSet_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueSelectFromSet
|
||||||
bl MPU_xQueueSelectFromSetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueAddToSet
|
PUBLIC MPU_xQueueAddToSet
|
||||||
|
@ -813,10 +684,7 @@ MPU_xQueueAddToSet:
|
||||||
b MPU_xQueueAddToSetImpl
|
b MPU_xQueueAddToSetImpl
|
||||||
MPU_xQueueAddToSet_Unpriv:
|
MPU_xQueueAddToSet_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueAddToSet
|
||||||
bl MPU_xQueueAddToSetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vQueueAddToRegistry
|
PUBLIC MPU_vQueueAddToRegistry
|
||||||
|
@ -831,10 +699,7 @@ MPU_vQueueAddToRegistry:
|
||||||
b MPU_vQueueAddToRegistryImpl
|
b MPU_vQueueAddToRegistryImpl
|
||||||
MPU_vQueueAddToRegistry_Unpriv:
|
MPU_vQueueAddToRegistry_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vQueueAddToRegistry
|
||||||
bl MPU_vQueueAddToRegistryImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vQueueUnregisterQueue
|
PUBLIC MPU_vQueueUnregisterQueue
|
||||||
|
@ -849,10 +714,7 @@ MPU_vQueueUnregisterQueue:
|
||||||
b MPU_vQueueUnregisterQueueImpl
|
b MPU_vQueueUnregisterQueueImpl
|
||||||
MPU_vQueueUnregisterQueue_Unpriv:
|
MPU_vQueueUnregisterQueue_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vQueueUnregisterQueue
|
||||||
bl MPU_vQueueUnregisterQueueImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pcQueueGetName
|
PUBLIC MPU_pcQueueGetName
|
||||||
|
@ -867,10 +729,7 @@ MPU_pcQueueGetName:
|
||||||
b MPU_pcQueueGetNameImpl
|
b MPU_pcQueueGetNameImpl
|
||||||
MPU_pcQueueGetName_Unpriv:
|
MPU_pcQueueGetName_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcQueueGetName
|
||||||
bl MPU_pcQueueGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pvTimerGetTimerID
|
PUBLIC MPU_pvTimerGetTimerID
|
||||||
|
@ -885,10 +744,7 @@ MPU_pvTimerGetTimerID:
|
||||||
b MPU_pvTimerGetTimerIDImpl
|
b MPU_pvTimerGetTimerIDImpl
|
||||||
MPU_pvTimerGetTimerID_Unpriv:
|
MPU_pvTimerGetTimerID_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pvTimerGetTimerID
|
||||||
bl MPU_pvTimerGetTimerIDImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTimerSetTimerID
|
PUBLIC MPU_vTimerSetTimerID
|
||||||
|
@ -903,10 +759,7 @@ MPU_vTimerSetTimerID:
|
||||||
b MPU_vTimerSetTimerIDImpl
|
b MPU_vTimerSetTimerIDImpl
|
||||||
MPU_vTimerSetTimerID_Unpriv:
|
MPU_vTimerSetTimerID_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTimerSetTimerID
|
||||||
bl MPU_vTimerSetTimerIDImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerIsTimerActive
|
PUBLIC MPU_xTimerIsTimerActive
|
||||||
|
@ -921,10 +774,7 @@ MPU_xTimerIsTimerActive:
|
||||||
b MPU_xTimerIsTimerActiveImpl
|
b MPU_xTimerIsTimerActiveImpl
|
||||||
MPU_xTimerIsTimerActive_Unpriv:
|
MPU_xTimerIsTimerActive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerIsTimerActive
|
||||||
bl MPU_xTimerIsTimerActiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
||||||
|
@ -939,14 +789,11 @@ MPU_xTimerGetTimerDaemonTaskHandle:
|
||||||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||||
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
|
||||||
bl MPU_xTimerGetTimerDaemonTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGenericCommand
|
PUBLIC MPU_xTimerGenericCommandEntry
|
||||||
MPU_xTimerGenericCommand:
|
MPU_xTimerGenericCommandEntry:
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
/* This function can be called from ISR also and therefore, we need a check
|
/* This function can be called from ISR also and therefore, we need a check
|
||||||
* to take privileged path, if called from ISR. */
|
* to take privileged path, if called from ISR. */
|
||||||
|
@ -959,13 +806,10 @@ MPU_xTimerGenericCommand:
|
||||||
beq MPU_xTimerGenericCommand_Priv
|
beq MPU_xTimerGenericCommand_Priv
|
||||||
MPU_xTimerGenericCommand_Unpriv:
|
MPU_xTimerGenericCommand_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTimerGenericCommand
|
||||||
bl MPU_xTimerGenericCommandImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
MPU_xTimerGenericCommand_Priv:
|
MPU_xTimerGenericCommand_Priv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
b MPU_xTimerGenericCommandImpl
|
b MPU_xTimerGenericCommandPrivImpl
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -981,10 +825,7 @@ MPU_pcTimerGetName:
|
||||||
b MPU_pcTimerGetNameImpl
|
b MPU_pcTimerGetNameImpl
|
||||||
MPU_pcTimerGetName_Unpriv:
|
MPU_pcTimerGetName_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcTimerGetName
|
||||||
bl MPU_pcTimerGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTimerSetReloadMode
|
PUBLIC MPU_vTimerSetReloadMode
|
||||||
|
@ -999,10 +840,7 @@ MPU_vTimerSetReloadMode:
|
||||||
b MPU_vTimerSetReloadModeImpl
|
b MPU_vTimerSetReloadModeImpl
|
||||||
MPU_vTimerSetReloadMode_Unpriv:
|
MPU_vTimerSetReloadMode_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTimerSetReloadMode
|
||||||
bl MPU_vTimerSetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetReloadMode
|
PUBLIC MPU_xTimerGetReloadMode
|
||||||
|
@ -1017,10 +855,7 @@ MPU_xTimerGetReloadMode:
|
||||||
b MPU_xTimerGetReloadModeImpl
|
b MPU_xTimerGetReloadModeImpl
|
||||||
MPU_xTimerGetReloadMode_Unpriv:
|
MPU_xTimerGetReloadMode_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetReloadMode
|
||||||
bl MPU_xTimerGetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTimerGetReloadMode
|
PUBLIC MPU_uxTimerGetReloadMode
|
||||||
|
@ -1035,10 +870,7 @@ MPU_uxTimerGetReloadMode:
|
||||||
b MPU_uxTimerGetReloadModeImpl
|
b MPU_uxTimerGetReloadModeImpl
|
||||||
MPU_uxTimerGetReloadMode_Unpriv:
|
MPU_uxTimerGetReloadMode_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTimerGetReloadMode
|
||||||
bl MPU_uxTimerGetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetPeriod
|
PUBLIC MPU_xTimerGetPeriod
|
||||||
|
@ -1053,10 +885,7 @@ MPU_xTimerGetPeriod:
|
||||||
b MPU_xTimerGetPeriodImpl
|
b MPU_xTimerGetPeriodImpl
|
||||||
MPU_xTimerGetPeriod_Unpriv:
|
MPU_xTimerGetPeriod_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetPeriod
|
||||||
bl MPU_xTimerGetPeriodImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetExpiryTime
|
PUBLIC MPU_xTimerGetExpiryTime
|
||||||
|
@ -1071,14 +900,11 @@ MPU_xTimerGetExpiryTime:
|
||||||
b MPU_xTimerGetExpiryTimeImpl
|
b MPU_xTimerGetExpiryTimeImpl
|
||||||
MPU_xTimerGetExpiryTime_Unpriv:
|
MPU_xTimerGetExpiryTime_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetExpiryTime
|
||||||
bl MPU_xTimerGetExpiryTimeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupWaitBits
|
PUBLIC MPU_xEventGroupWaitBitsEntry
|
||||||
MPU_xEventGroupWaitBits:
|
MPU_xEventGroupWaitBitsEntry:
|
||||||
push {r0, r1}
|
push {r0, r1}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
movs r1, #1
|
movs r1, #1
|
||||||
|
@ -1089,10 +915,7 @@ MPU_xEventGroupWaitBits:
|
||||||
b MPU_xEventGroupWaitBitsImpl
|
b MPU_xEventGroupWaitBitsImpl
|
||||||
MPU_xEventGroupWaitBits_Unpriv:
|
MPU_xEventGroupWaitBits_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xEventGroupWaitBits
|
||||||
bl MPU_xEventGroupWaitBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupClearBits
|
PUBLIC MPU_xEventGroupClearBits
|
||||||
|
@ -1107,10 +930,7 @@ MPU_xEventGroupClearBits:
|
||||||
b MPU_xEventGroupClearBitsImpl
|
b MPU_xEventGroupClearBitsImpl
|
||||||
MPU_xEventGroupClearBits_Unpriv:
|
MPU_xEventGroupClearBits_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupClearBits
|
||||||
bl MPU_xEventGroupClearBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupSetBits
|
PUBLIC MPU_xEventGroupSetBits
|
||||||
|
@ -1125,10 +945,7 @@ MPU_xEventGroupSetBits:
|
||||||
b MPU_xEventGroupSetBitsImpl
|
b MPU_xEventGroupSetBitsImpl
|
||||||
MPU_xEventGroupSetBits_Unpriv:
|
MPU_xEventGroupSetBits_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupSetBits
|
||||||
bl MPU_xEventGroupSetBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupSync
|
PUBLIC MPU_xEventGroupSync
|
||||||
|
@ -1143,10 +960,7 @@ MPU_xEventGroupSync:
|
||||||
b MPU_xEventGroupSyncImpl
|
b MPU_xEventGroupSyncImpl
|
||||||
MPU_xEventGroupSync_Unpriv:
|
MPU_xEventGroupSync_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupSync
|
||||||
bl MPU_xEventGroupSyncImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxEventGroupGetNumber
|
PUBLIC MPU_uxEventGroupGetNumber
|
||||||
|
@ -1161,10 +975,7 @@ MPU_uxEventGroupGetNumber:
|
||||||
b MPU_uxEventGroupGetNumberImpl
|
b MPU_uxEventGroupGetNumberImpl
|
||||||
MPU_uxEventGroupGetNumber_Unpriv:
|
MPU_uxEventGroupGetNumber_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxEventGroupGetNumber
|
||||||
bl MPU_uxEventGroupGetNumberImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vEventGroupSetNumber
|
PUBLIC MPU_vEventGroupSetNumber
|
||||||
|
@ -1179,10 +990,7 @@ MPU_vEventGroupSetNumber:
|
||||||
b MPU_vEventGroupSetNumberImpl
|
b MPU_vEventGroupSetNumberImpl
|
||||||
MPU_vEventGroupSetNumber_Unpriv:
|
MPU_vEventGroupSetNumber_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vEventGroupSetNumber
|
||||||
bl MPU_vEventGroupSetNumberImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSend
|
PUBLIC MPU_xStreamBufferSend
|
||||||
|
@ -1197,10 +1005,7 @@ MPU_xStreamBufferSend:
|
||||||
b MPU_xStreamBufferSendImpl
|
b MPU_xStreamBufferSendImpl
|
||||||
MPU_xStreamBufferSend_Unpriv:
|
MPU_xStreamBufferSend_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSend
|
||||||
bl MPU_xStreamBufferSendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferReceive
|
PUBLIC MPU_xStreamBufferReceive
|
||||||
|
@ -1215,10 +1020,7 @@ MPU_xStreamBufferReceive:
|
||||||
b MPU_xStreamBufferReceiveImpl
|
b MPU_xStreamBufferReceiveImpl
|
||||||
MPU_xStreamBufferReceive_Unpriv:
|
MPU_xStreamBufferReceive_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferReceive
|
||||||
bl MPU_xStreamBufferReceiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferIsFull
|
PUBLIC MPU_xStreamBufferIsFull
|
||||||
|
@ -1233,10 +1035,7 @@ MPU_xStreamBufferIsFull:
|
||||||
b MPU_xStreamBufferIsFullImpl
|
b MPU_xStreamBufferIsFullImpl
|
||||||
MPU_xStreamBufferIsFull_Unpriv:
|
MPU_xStreamBufferIsFull_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferIsFull
|
||||||
bl MPU_xStreamBufferIsFullImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferIsEmpty
|
PUBLIC MPU_xStreamBufferIsEmpty
|
||||||
|
@ -1251,10 +1050,7 @@ MPU_xStreamBufferIsEmpty:
|
||||||
b MPU_xStreamBufferIsEmptyImpl
|
b MPU_xStreamBufferIsEmptyImpl
|
||||||
MPU_xStreamBufferIsEmpty_Unpriv:
|
MPU_xStreamBufferIsEmpty_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferIsEmpty
|
||||||
bl MPU_xStreamBufferIsEmptyImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSpacesAvailable
|
PUBLIC MPU_xStreamBufferSpacesAvailable
|
||||||
|
@ -1269,10 +1065,7 @@ MPU_xStreamBufferSpacesAvailable:
|
||||||
b MPU_xStreamBufferSpacesAvailableImpl
|
b MPU_xStreamBufferSpacesAvailableImpl
|
||||||
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
|
||||||
bl MPU_xStreamBufferSpacesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferBytesAvailable
|
PUBLIC MPU_xStreamBufferBytesAvailable
|
||||||
|
@ -1287,10 +1080,7 @@ MPU_xStreamBufferBytesAvailable:
|
||||||
b MPU_xStreamBufferBytesAvailableImpl
|
b MPU_xStreamBufferBytesAvailableImpl
|
||||||
MPU_xStreamBufferBytesAvailable_Unpriv:
|
MPU_xStreamBufferBytesAvailable_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferBytesAvailable
|
||||||
bl MPU_xStreamBufferBytesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
||||||
|
@ -1305,10 +1095,7 @@ MPU_xStreamBufferSetTriggerLevel:
|
||||||
b MPU_xStreamBufferSetTriggerLevelImpl
|
b MPU_xStreamBufferSetTriggerLevelImpl
|
||||||
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
|
||||||
bl MPU_xStreamBufferSetTriggerLevelImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
||||||
|
@ -1323,10 +1110,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
|
||||||
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||||
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
||||||
pop {r0, r1}
|
pop {r0, r1}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
|
||||||
bl MPU_xStreamBufferNextMessageLengthBytesImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Default weak implementations in case one is not available from
|
/* Default weak implementations in case one is not available from
|
||||||
|
@ -1532,9 +1316,9 @@ MPU_xTimerIsTimerActiveImpl:
|
||||||
MPU_xTimerGetTimerDaemonTaskHandleImpl:
|
MPU_xTimerGetTimerDaemonTaskHandleImpl:
|
||||||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||||
|
|
||||||
PUBWEAK MPU_xTimerGenericCommandImpl
|
PUBWEAK MPU_xTimerGenericCommandPrivImpl
|
||||||
MPU_xTimerGenericCommandImpl:
|
MPU_xTimerGenericCommandPrivImpl:
|
||||||
b MPU_xTimerGenericCommandImpl
|
b MPU_xTimerGenericCommandPrivImpl
|
||||||
|
|
||||||
PUBWEAK MPU_pcTimerGetNameImpl
|
PUBWEAK MPU_pcTimerGetNameImpl
|
||||||
MPU_pcTimerGetNameImpl:
|
MPU_pcTimerGetNameImpl:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -32,6 +32,9 @@ the code is included in C files but excluded by the preprocessor in assembly
|
||||||
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
||||||
#include "FreeRTOSConfig.h"
|
#include "FreeRTOSConfig.h"
|
||||||
|
|
||||||
|
/* System call numbers includes. */
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
@ -41,7 +44,6 @@ files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler.
|
||||||
EXTERN vPortSVCHandler_C
|
EXTERN vPortSVCHandler_C
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
EXTERN vSystemCallEnter
|
EXTERN vSystemCallEnter
|
||||||
EXTERN vSystemCallEnter_1
|
|
||||||
EXTERN vSystemCallExit
|
EXTERN vSystemCallExit
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -216,7 +218,7 @@ vStartFirstTask:
|
||||||
cpsie i /* Globally enable interrupts. */
|
cpsie i /* Globally enable interrupts. */
|
||||||
dsb
|
dsb
|
||||||
isb
|
isb
|
||||||
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
|
svc 102 /* System call to start the first task. portSVC_START_SCHEDULER = 102. */
|
||||||
nop
|
nop
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -401,21 +403,17 @@ SVC_Handler:
|
||||||
b route_svc
|
b route_svc
|
||||||
|
|
||||||
route_svc:
|
route_svc:
|
||||||
ldr r2, [r0, #24]
|
ldr r3, [r0, #24]
|
||||||
subs r2, #2
|
subs r3, #2
|
||||||
ldrb r3, [r2, #0]
|
ldrb r2, [r3, #0]
|
||||||
cmp r3, #4 /* portSVC_SYSTEM_CALL_ENTER. */
|
cmp r2, #NUM_SYSTEM_CALLS
|
||||||
beq system_call_enter
|
blt system_call_enter
|
||||||
cmp r3, #5 /* portSVC_SYSTEM_CALL_ENTER_1. */
|
cmp r2, #104 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||||
beq system_call_enter_1
|
|
||||||
cmp r3, #6 /* portSVC_SYSTEM_CALL_EXIT. */
|
|
||||||
beq system_call_exit
|
beq system_call_exit
|
||||||
b vPortSVCHandler_C
|
b vPortSVCHandler_C
|
||||||
|
|
||||||
system_call_enter:
|
system_call_enter:
|
||||||
b vSystemCallEnter
|
b vSystemCallEnter
|
||||||
system_call_enter_1:
|
|
||||||
b vSystemCallEnter_1
|
|
||||||
system_call_exit:
|
system_call_exit:
|
||||||
b vSystemCallExit
|
b vSystemCallExit
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -32,15 +32,12 @@
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#include "FreeRTOSConfig.h"
|
#include "FreeRTOSConfig.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* These must be in sync with portmacro.h. */
|
|
||||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
|
||||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
|
||||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
@ -56,10 +53,7 @@ MPU_xTaskDelayUntil:
|
||||||
b MPU_xTaskDelayUntilImpl
|
b MPU_xTaskDelayUntilImpl
|
||||||
MPU_xTaskDelayUntil_Unpriv:
|
MPU_xTaskDelayUntil_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskDelayUntil
|
||||||
bl MPU_xTaskDelayUntilImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskAbortDelay
|
PUBLIC MPU_xTaskAbortDelay
|
||||||
|
@ -73,10 +67,7 @@ MPU_xTaskAbortDelay:
|
||||||
b MPU_xTaskAbortDelayImpl
|
b MPU_xTaskAbortDelayImpl
|
||||||
MPU_xTaskAbortDelay_Unpriv:
|
MPU_xTaskAbortDelay_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskAbortDelay
|
||||||
bl MPU_xTaskAbortDelayImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskDelay
|
PUBLIC MPU_vTaskDelay
|
||||||
|
@ -90,10 +81,7 @@ MPU_vTaskDelay:
|
||||||
b MPU_vTaskDelayImpl
|
b MPU_vTaskDelayImpl
|
||||||
MPU_vTaskDelay_Unpriv:
|
MPU_vTaskDelay_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskDelay
|
||||||
bl MPU_vTaskDelayImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskPriorityGet
|
PUBLIC MPU_uxTaskPriorityGet
|
||||||
|
@ -107,10 +95,7 @@ MPU_uxTaskPriorityGet:
|
||||||
b MPU_uxTaskPriorityGetImpl
|
b MPU_uxTaskPriorityGetImpl
|
||||||
MPU_uxTaskPriorityGet_Unpriv:
|
MPU_uxTaskPriorityGet_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskPriorityGet
|
||||||
bl MPU_uxTaskPriorityGetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_eTaskGetState
|
PUBLIC MPU_eTaskGetState
|
||||||
|
@ -124,10 +109,7 @@ MPU_eTaskGetState:
|
||||||
b MPU_eTaskGetStateImpl
|
b MPU_eTaskGetStateImpl
|
||||||
MPU_eTaskGetState_Unpriv:
|
MPU_eTaskGetState_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_eTaskGetState
|
||||||
bl MPU_eTaskGetStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskGetInfo
|
PUBLIC MPU_vTaskGetInfo
|
||||||
|
@ -141,10 +123,7 @@ MPU_vTaskGetInfo:
|
||||||
b MPU_vTaskGetInfoImpl
|
b MPU_vTaskGetInfoImpl
|
||||||
MPU_vTaskGetInfo_Unpriv:
|
MPU_vTaskGetInfo_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskGetInfo
|
||||||
bl MPU_vTaskGetInfoImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetIdleTaskHandle
|
PUBLIC MPU_xTaskGetIdleTaskHandle
|
||||||
|
@ -158,10 +137,7 @@ MPU_xTaskGetIdleTaskHandle:
|
||||||
b MPU_xTaskGetIdleTaskHandleImpl
|
b MPU_xTaskGetIdleTaskHandleImpl
|
||||||
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
|
||||||
bl MPU_xTaskGetIdleTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSuspend
|
PUBLIC MPU_vTaskSuspend
|
||||||
|
@ -175,10 +151,7 @@ MPU_vTaskSuspend:
|
||||||
b MPU_vTaskSuspendImpl
|
b MPU_vTaskSuspendImpl
|
||||||
MPU_vTaskSuspend_Unpriv:
|
MPU_vTaskSuspend_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSuspend
|
||||||
bl MPU_vTaskSuspendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskResume
|
PUBLIC MPU_vTaskResume
|
||||||
|
@ -192,10 +165,7 @@ MPU_vTaskResume:
|
||||||
b MPU_vTaskResumeImpl
|
b MPU_vTaskResumeImpl
|
||||||
MPU_vTaskResume_Unpriv:
|
MPU_vTaskResume_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskResume
|
||||||
bl MPU_vTaskResumeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetTickCount
|
PUBLIC MPU_xTaskGetTickCount
|
||||||
|
@ -209,10 +179,7 @@ MPU_xTaskGetTickCount:
|
||||||
b MPU_xTaskGetTickCountImpl
|
b MPU_xTaskGetTickCountImpl
|
||||||
MPU_xTaskGetTickCount_Unpriv:
|
MPU_xTaskGetTickCount_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetTickCount
|
||||||
bl MPU_xTaskGetTickCountImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetNumberOfTasks
|
PUBLIC MPU_uxTaskGetNumberOfTasks
|
||||||
|
@ -226,10 +193,7 @@ MPU_uxTaskGetNumberOfTasks:
|
||||||
b MPU_uxTaskGetNumberOfTasksImpl
|
b MPU_uxTaskGetNumberOfTasksImpl
|
||||||
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
|
||||||
bl MPU_uxTaskGetNumberOfTasksImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pcTaskGetName
|
PUBLIC MPU_pcTaskGetName
|
||||||
|
@ -243,10 +207,7 @@ MPU_pcTaskGetName:
|
||||||
b MPU_pcTaskGetNameImpl
|
b MPU_pcTaskGetNameImpl
|
||||||
MPU_pcTaskGetName_Unpriv:
|
MPU_pcTaskGetName_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcTaskGetName
|
||||||
bl MPU_pcTaskGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetRunTimeCounter
|
PUBLIC MPU_ulTaskGetRunTimeCounter
|
||||||
|
@ -260,10 +221,7 @@ MPU_ulTaskGetRunTimeCounter:
|
||||||
b MPU_ulTaskGetRunTimeCounterImpl
|
b MPU_ulTaskGetRunTimeCounterImpl
|
||||||
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
|
||||||
bl MPU_ulTaskGetRunTimeCounterImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetRunTimePercent
|
PUBLIC MPU_ulTaskGetRunTimePercent
|
||||||
|
@ -277,10 +235,7 @@ MPU_ulTaskGetRunTimePercent:
|
||||||
b MPU_ulTaskGetRunTimePercentImpl
|
b MPU_ulTaskGetRunTimePercentImpl
|
||||||
MPU_ulTaskGetRunTimePercent_Unpriv:
|
MPU_ulTaskGetRunTimePercent_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetRunTimePercent
|
||||||
bl MPU_ulTaskGetRunTimePercentImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
||||||
|
@ -294,10 +249,7 @@ MPU_ulTaskGetIdleRunTimePercent:
|
||||||
b MPU_ulTaskGetIdleRunTimePercentImpl
|
b MPU_ulTaskGetIdleRunTimePercentImpl
|
||||||
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
|
||||||
bl MPU_ulTaskGetIdleRunTimePercentImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
||||||
|
@ -311,10 +263,7 @@ MPU_ulTaskGetIdleRunTimeCounter:
|
||||||
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||||
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
|
||||||
bl MPU_ulTaskGetIdleRunTimeCounterImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetApplicationTaskTag
|
PUBLIC MPU_vTaskSetApplicationTaskTag
|
||||||
|
@ -328,10 +277,7 @@ MPU_vTaskSetApplicationTaskTag:
|
||||||
b MPU_vTaskSetApplicationTaskTagImpl
|
b MPU_vTaskSetApplicationTaskTagImpl
|
||||||
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
|
||||||
bl MPU_vTaskSetApplicationTaskTagImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetApplicationTaskTag
|
PUBLIC MPU_xTaskGetApplicationTaskTag
|
||||||
|
@ -345,10 +291,7 @@ MPU_xTaskGetApplicationTaskTag:
|
||||||
b MPU_xTaskGetApplicationTaskTagImpl
|
b MPU_xTaskGetApplicationTaskTagImpl
|
||||||
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
|
||||||
bl MPU_xTaskGetApplicationTaskTagImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
||||||
|
@ -362,10 +305,7 @@ MPU_vTaskSetThreadLocalStoragePointer:
|
||||||
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||||
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
|
||||||
bl MPU_vTaskSetThreadLocalStoragePointerImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
||||||
|
@ -379,10 +319,7 @@ MPU_pvTaskGetThreadLocalStoragePointer:
|
||||||
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||||
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
|
||||||
bl MPU_pvTaskGetThreadLocalStoragePointerImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetSystemState
|
PUBLIC MPU_uxTaskGetSystemState
|
||||||
|
@ -396,10 +333,7 @@ MPU_uxTaskGetSystemState:
|
||||||
b MPU_uxTaskGetSystemStateImpl
|
b MPU_uxTaskGetSystemStateImpl
|
||||||
MPU_uxTaskGetSystemState_Unpriv:
|
MPU_uxTaskGetSystemState_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetSystemState
|
||||||
bl MPU_uxTaskGetSystemStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
||||||
|
@ -413,10 +347,7 @@ MPU_uxTaskGetStackHighWaterMark:
|
||||||
b MPU_uxTaskGetStackHighWaterMarkImpl
|
b MPU_uxTaskGetStackHighWaterMarkImpl
|
||||||
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
|
||||||
bl MPU_uxTaskGetStackHighWaterMarkImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
||||||
|
@ -430,10 +361,7 @@ MPU_uxTaskGetStackHighWaterMark2:
|
||||||
b MPU_uxTaskGetStackHighWaterMark2Impl
|
b MPU_uxTaskGetStackHighWaterMark2Impl
|
||||||
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
|
||||||
bl MPU_uxTaskGetStackHighWaterMark2Impl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
||||||
|
@ -447,10 +375,7 @@ MPU_xTaskGetCurrentTaskHandle:
|
||||||
b MPU_xTaskGetCurrentTaskHandleImpl
|
b MPU_xTaskGetCurrentTaskHandleImpl
|
||||||
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
|
||||||
bl MPU_xTaskGetCurrentTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetSchedulerState
|
PUBLIC MPU_xTaskGetSchedulerState
|
||||||
|
@ -464,10 +389,7 @@ MPU_xTaskGetSchedulerState:
|
||||||
b MPU_xTaskGetSchedulerStateImpl
|
b MPU_xTaskGetSchedulerStateImpl
|
||||||
MPU_xTaskGetSchedulerState_Unpriv:
|
MPU_xTaskGetSchedulerState_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetSchedulerState
|
||||||
bl MPU_xTaskGetSchedulerStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetTimeOutState
|
PUBLIC MPU_vTaskSetTimeOutState
|
||||||
|
@ -481,10 +403,7 @@ MPU_vTaskSetTimeOutState:
|
||||||
b MPU_vTaskSetTimeOutStateImpl
|
b MPU_vTaskSetTimeOutStateImpl
|
||||||
MPU_vTaskSetTimeOutState_Unpriv:
|
MPU_vTaskSetTimeOutState_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetTimeOutState
|
||||||
bl MPU_vTaskSetTimeOutStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskCheckForTimeOut
|
PUBLIC MPU_xTaskCheckForTimeOut
|
||||||
|
@ -498,14 +417,11 @@ MPU_xTaskCheckForTimeOut:
|
||||||
b MPU_xTaskCheckForTimeOutImpl
|
b MPU_xTaskCheckForTimeOutImpl
|
||||||
MPU_xTaskCheckForTimeOut_Unpriv:
|
MPU_xTaskCheckForTimeOut_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskCheckForTimeOut
|
||||||
bl MPU_xTaskCheckForTimeOutImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotify
|
PUBLIC MPU_xTaskGenericNotifyEntry
|
||||||
MPU_xTaskGenericNotify:
|
MPU_xTaskGenericNotifyEntry:
|
||||||
push {r0}
|
push {r0}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
tst r0, #1
|
tst r0, #1
|
||||||
|
@ -515,14 +431,11 @@ MPU_xTaskGenericNotify:
|
||||||
b MPU_xTaskGenericNotifyImpl
|
b MPU_xTaskGenericNotifyImpl
|
||||||
MPU_xTaskGenericNotify_Unpriv:
|
MPU_xTaskGenericNotify_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTaskGenericNotify
|
||||||
bl MPU_xTaskGenericNotifyImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotifyWait
|
PUBLIC MPU_xTaskGenericNotifyWaitEntry
|
||||||
MPU_xTaskGenericNotifyWait:
|
MPU_xTaskGenericNotifyWaitEntry:
|
||||||
push {r0}
|
push {r0}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
tst r0, #1
|
tst r0, #1
|
||||||
|
@ -532,10 +445,7 @@ MPU_xTaskGenericNotifyWait:
|
||||||
b MPU_xTaskGenericNotifyWaitImpl
|
b MPU_xTaskGenericNotifyWaitImpl
|
||||||
MPU_xTaskGenericNotifyWait_Unpriv:
|
MPU_xTaskGenericNotifyWait_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTaskGenericNotifyWait
|
||||||
bl MPU_xTaskGenericNotifyWaitImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGenericNotifyTake
|
PUBLIC MPU_ulTaskGenericNotifyTake
|
||||||
|
@ -549,10 +459,7 @@ MPU_ulTaskGenericNotifyTake:
|
||||||
b MPU_ulTaskGenericNotifyTakeImpl
|
b MPU_ulTaskGenericNotifyTakeImpl
|
||||||
MPU_ulTaskGenericNotifyTake_Unpriv:
|
MPU_ulTaskGenericNotifyTake_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGenericNotifyTake
|
||||||
bl MPU_ulTaskGenericNotifyTakeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotifyStateClear
|
PUBLIC MPU_xTaskGenericNotifyStateClear
|
||||||
|
@ -566,10 +473,7 @@ MPU_xTaskGenericNotifyStateClear:
|
||||||
b MPU_xTaskGenericNotifyStateClearImpl
|
b MPU_xTaskGenericNotifyStateClearImpl
|
||||||
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
|
||||||
bl MPU_xTaskGenericNotifyStateClearImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
||||||
|
@ -583,10 +487,7 @@ MPU_ulTaskGenericNotifyValueClear:
|
||||||
b MPU_ulTaskGenericNotifyValueClearImpl
|
b MPU_ulTaskGenericNotifyValueClearImpl
|
||||||
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
|
||||||
bl MPU_ulTaskGenericNotifyValueClearImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGenericSend
|
PUBLIC MPU_xQueueGenericSend
|
||||||
|
@ -600,10 +501,7 @@ MPU_xQueueGenericSend:
|
||||||
b MPU_xQueueGenericSendImpl
|
b MPU_xQueueGenericSendImpl
|
||||||
MPU_xQueueGenericSend_Unpriv:
|
MPU_xQueueGenericSend_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGenericSend
|
||||||
bl MPU_xQueueGenericSendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxQueueMessagesWaiting
|
PUBLIC MPU_uxQueueMessagesWaiting
|
||||||
|
@ -617,10 +515,7 @@ MPU_uxQueueMessagesWaiting:
|
||||||
b MPU_uxQueueMessagesWaitingImpl
|
b MPU_uxQueueMessagesWaitingImpl
|
||||||
MPU_uxQueueMessagesWaiting_Unpriv:
|
MPU_uxQueueMessagesWaiting_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxQueueMessagesWaiting
|
||||||
bl MPU_uxQueueMessagesWaitingImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxQueueSpacesAvailable
|
PUBLIC MPU_uxQueueSpacesAvailable
|
||||||
|
@ -634,10 +529,7 @@ MPU_uxQueueSpacesAvailable:
|
||||||
b MPU_uxQueueSpacesAvailableImpl
|
b MPU_uxQueueSpacesAvailableImpl
|
||||||
MPU_uxQueueSpacesAvailable_Unpriv:
|
MPU_uxQueueSpacesAvailable_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxQueueSpacesAvailable
|
||||||
bl MPU_uxQueueSpacesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueReceive
|
PUBLIC MPU_xQueueReceive
|
||||||
|
@ -651,10 +543,7 @@ MPU_xQueueReceive:
|
||||||
b MPU_xQueueReceiveImpl
|
b MPU_xQueueReceiveImpl
|
||||||
MPU_xQueueReceive_Unpriv:
|
MPU_xQueueReceive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueReceive
|
||||||
bl MPU_xQueueReceiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueuePeek
|
PUBLIC MPU_xQueuePeek
|
||||||
|
@ -668,10 +557,7 @@ MPU_xQueuePeek:
|
||||||
b MPU_xQueuePeekImpl
|
b MPU_xQueuePeekImpl
|
||||||
MPU_xQueuePeek_Unpriv:
|
MPU_xQueuePeek_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueuePeek
|
||||||
bl MPU_xQueuePeekImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueSemaphoreTake
|
PUBLIC MPU_xQueueSemaphoreTake
|
||||||
|
@ -685,10 +571,7 @@ MPU_xQueueSemaphoreTake:
|
||||||
b MPU_xQueueSemaphoreTakeImpl
|
b MPU_xQueueSemaphoreTakeImpl
|
||||||
MPU_xQueueSemaphoreTake_Unpriv:
|
MPU_xQueueSemaphoreTake_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueSemaphoreTake
|
||||||
bl MPU_xQueueSemaphoreTakeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGetMutexHolder
|
PUBLIC MPU_xQueueGetMutexHolder
|
||||||
|
@ -702,10 +585,7 @@ MPU_xQueueGetMutexHolder:
|
||||||
b MPU_xQueueGetMutexHolderImpl
|
b MPU_xQueueGetMutexHolderImpl
|
||||||
MPU_xQueueGetMutexHolder_Unpriv:
|
MPU_xQueueGetMutexHolder_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGetMutexHolder
|
||||||
bl MPU_xQueueGetMutexHolderImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueTakeMutexRecursive
|
PUBLIC MPU_xQueueTakeMutexRecursive
|
||||||
|
@ -719,10 +599,7 @@ MPU_xQueueTakeMutexRecursive:
|
||||||
b MPU_xQueueTakeMutexRecursiveImpl
|
b MPU_xQueueTakeMutexRecursiveImpl
|
||||||
MPU_xQueueTakeMutexRecursive_Unpriv:
|
MPU_xQueueTakeMutexRecursive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueTakeMutexRecursive
|
||||||
bl MPU_xQueueTakeMutexRecursiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGiveMutexRecursive
|
PUBLIC MPU_xQueueGiveMutexRecursive
|
||||||
|
@ -736,10 +613,7 @@ MPU_xQueueGiveMutexRecursive:
|
||||||
b MPU_xQueueGiveMutexRecursiveImpl
|
b MPU_xQueueGiveMutexRecursiveImpl
|
||||||
MPU_xQueueGiveMutexRecursive_Unpriv:
|
MPU_xQueueGiveMutexRecursive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGiveMutexRecursive
|
||||||
bl MPU_xQueueGiveMutexRecursiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueSelectFromSet
|
PUBLIC MPU_xQueueSelectFromSet
|
||||||
|
@ -753,10 +627,7 @@ MPU_xQueueSelectFromSet:
|
||||||
b MPU_xQueueSelectFromSetImpl
|
b MPU_xQueueSelectFromSetImpl
|
||||||
MPU_xQueueSelectFromSet_Unpriv:
|
MPU_xQueueSelectFromSet_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueSelectFromSet
|
||||||
bl MPU_xQueueSelectFromSetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueAddToSet
|
PUBLIC MPU_xQueueAddToSet
|
||||||
|
@ -770,10 +641,7 @@ MPU_xQueueAddToSet:
|
||||||
b MPU_xQueueAddToSetImpl
|
b MPU_xQueueAddToSetImpl
|
||||||
MPU_xQueueAddToSet_Unpriv:
|
MPU_xQueueAddToSet_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueAddToSet
|
||||||
bl MPU_xQueueAddToSetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vQueueAddToRegistry
|
PUBLIC MPU_vQueueAddToRegistry
|
||||||
|
@ -787,10 +655,7 @@ MPU_vQueueAddToRegistry:
|
||||||
b MPU_vQueueAddToRegistryImpl
|
b MPU_vQueueAddToRegistryImpl
|
||||||
MPU_vQueueAddToRegistry_Unpriv:
|
MPU_vQueueAddToRegistry_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vQueueAddToRegistry
|
||||||
bl MPU_vQueueAddToRegistryImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vQueueUnregisterQueue
|
PUBLIC MPU_vQueueUnregisterQueue
|
||||||
|
@ -804,10 +669,7 @@ MPU_vQueueUnregisterQueue:
|
||||||
b MPU_vQueueUnregisterQueueImpl
|
b MPU_vQueueUnregisterQueueImpl
|
||||||
MPU_vQueueUnregisterQueue_Unpriv:
|
MPU_vQueueUnregisterQueue_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vQueueUnregisterQueue
|
||||||
bl MPU_vQueueUnregisterQueueImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pcQueueGetName
|
PUBLIC MPU_pcQueueGetName
|
||||||
|
@ -821,10 +683,7 @@ MPU_pcQueueGetName:
|
||||||
b MPU_pcQueueGetNameImpl
|
b MPU_pcQueueGetNameImpl
|
||||||
MPU_pcQueueGetName_Unpriv:
|
MPU_pcQueueGetName_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcQueueGetName
|
||||||
bl MPU_pcQueueGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pvTimerGetTimerID
|
PUBLIC MPU_pvTimerGetTimerID
|
||||||
|
@ -838,10 +697,7 @@ MPU_pvTimerGetTimerID:
|
||||||
b MPU_pvTimerGetTimerIDImpl
|
b MPU_pvTimerGetTimerIDImpl
|
||||||
MPU_pvTimerGetTimerID_Unpriv:
|
MPU_pvTimerGetTimerID_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pvTimerGetTimerID
|
||||||
bl MPU_pvTimerGetTimerIDImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTimerSetTimerID
|
PUBLIC MPU_vTimerSetTimerID
|
||||||
|
@ -855,10 +711,7 @@ MPU_vTimerSetTimerID:
|
||||||
b MPU_vTimerSetTimerIDImpl
|
b MPU_vTimerSetTimerIDImpl
|
||||||
MPU_vTimerSetTimerID_Unpriv:
|
MPU_vTimerSetTimerID_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTimerSetTimerID
|
||||||
bl MPU_vTimerSetTimerIDImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerIsTimerActive
|
PUBLIC MPU_xTimerIsTimerActive
|
||||||
|
@ -872,10 +725,7 @@ MPU_xTimerIsTimerActive:
|
||||||
b MPU_xTimerIsTimerActiveImpl
|
b MPU_xTimerIsTimerActiveImpl
|
||||||
MPU_xTimerIsTimerActive_Unpriv:
|
MPU_xTimerIsTimerActive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerIsTimerActive
|
||||||
bl MPU_xTimerIsTimerActiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
||||||
|
@ -889,14 +739,11 @@ MPU_xTimerGetTimerDaemonTaskHandle:
|
||||||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||||
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
|
||||||
bl MPU_xTimerGetTimerDaemonTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGenericCommand
|
PUBLIC MPU_xTimerGenericCommandEntry
|
||||||
MPU_xTimerGenericCommand:
|
MPU_xTimerGenericCommandEntry:
|
||||||
push {r0}
|
push {r0}
|
||||||
/* This function can be called from ISR also and therefore, we need a check
|
/* This function can be called from ISR also and therefore, we need a check
|
||||||
* to take privileged path, if called from ISR. */
|
* to take privileged path, if called from ISR. */
|
||||||
|
@ -908,13 +755,10 @@ MPU_xTimerGenericCommand:
|
||||||
beq MPU_xTimerGenericCommand_Priv
|
beq MPU_xTimerGenericCommand_Priv
|
||||||
MPU_xTimerGenericCommand_Unpriv:
|
MPU_xTimerGenericCommand_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTimerGenericCommand
|
||||||
bl MPU_xTimerGenericCommandImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
MPU_xTimerGenericCommand_Priv:
|
MPU_xTimerGenericCommand_Priv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
b MPU_xTimerGenericCommandImpl
|
b MPU_xTimerGenericCommandPrivImpl
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -929,10 +773,7 @@ MPU_pcTimerGetName:
|
||||||
b MPU_pcTimerGetNameImpl
|
b MPU_pcTimerGetNameImpl
|
||||||
MPU_pcTimerGetName_Unpriv:
|
MPU_pcTimerGetName_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcTimerGetName
|
||||||
bl MPU_pcTimerGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTimerSetReloadMode
|
PUBLIC MPU_vTimerSetReloadMode
|
||||||
|
@ -946,10 +787,7 @@ MPU_vTimerSetReloadMode:
|
||||||
b MPU_vTimerSetReloadModeImpl
|
b MPU_vTimerSetReloadModeImpl
|
||||||
MPU_vTimerSetReloadMode_Unpriv:
|
MPU_vTimerSetReloadMode_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTimerSetReloadMode
|
||||||
bl MPU_vTimerSetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetReloadMode
|
PUBLIC MPU_xTimerGetReloadMode
|
||||||
|
@ -963,10 +801,7 @@ MPU_xTimerGetReloadMode:
|
||||||
b MPU_xTimerGetReloadModeImpl
|
b MPU_xTimerGetReloadModeImpl
|
||||||
MPU_xTimerGetReloadMode_Unpriv:
|
MPU_xTimerGetReloadMode_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetReloadMode
|
||||||
bl MPU_xTimerGetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTimerGetReloadMode
|
PUBLIC MPU_uxTimerGetReloadMode
|
||||||
|
@ -980,10 +815,7 @@ MPU_uxTimerGetReloadMode:
|
||||||
b MPU_uxTimerGetReloadModeImpl
|
b MPU_uxTimerGetReloadModeImpl
|
||||||
MPU_uxTimerGetReloadMode_Unpriv:
|
MPU_uxTimerGetReloadMode_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTimerGetReloadMode
|
||||||
bl MPU_uxTimerGetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetPeriod
|
PUBLIC MPU_xTimerGetPeriod
|
||||||
|
@ -997,10 +829,7 @@ MPU_xTimerGetPeriod:
|
||||||
b MPU_xTimerGetPeriodImpl
|
b MPU_xTimerGetPeriodImpl
|
||||||
MPU_xTimerGetPeriod_Unpriv:
|
MPU_xTimerGetPeriod_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetPeriod
|
||||||
bl MPU_xTimerGetPeriodImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetExpiryTime
|
PUBLIC MPU_xTimerGetExpiryTime
|
||||||
|
@ -1014,14 +843,11 @@ MPU_xTimerGetExpiryTime:
|
||||||
b MPU_xTimerGetExpiryTimeImpl
|
b MPU_xTimerGetExpiryTimeImpl
|
||||||
MPU_xTimerGetExpiryTime_Unpriv:
|
MPU_xTimerGetExpiryTime_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetExpiryTime
|
||||||
bl MPU_xTimerGetExpiryTimeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupWaitBits
|
PUBLIC MPU_xEventGroupWaitBitsEntry
|
||||||
MPU_xEventGroupWaitBits:
|
MPU_xEventGroupWaitBitsEntry:
|
||||||
push {r0}
|
push {r0}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
tst r0, #1
|
tst r0, #1
|
||||||
|
@ -1031,10 +857,7 @@ MPU_xEventGroupWaitBits:
|
||||||
b MPU_xEventGroupWaitBitsImpl
|
b MPU_xEventGroupWaitBitsImpl
|
||||||
MPU_xEventGroupWaitBits_Unpriv:
|
MPU_xEventGroupWaitBits_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xEventGroupWaitBits
|
||||||
bl MPU_xEventGroupWaitBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupClearBits
|
PUBLIC MPU_xEventGroupClearBits
|
||||||
|
@ -1048,10 +871,7 @@ MPU_xEventGroupClearBits:
|
||||||
b MPU_xEventGroupClearBitsImpl
|
b MPU_xEventGroupClearBitsImpl
|
||||||
MPU_xEventGroupClearBits_Unpriv:
|
MPU_xEventGroupClearBits_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupClearBits
|
||||||
bl MPU_xEventGroupClearBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupSetBits
|
PUBLIC MPU_xEventGroupSetBits
|
||||||
|
@ -1065,10 +885,7 @@ MPU_xEventGroupSetBits:
|
||||||
b MPU_xEventGroupSetBitsImpl
|
b MPU_xEventGroupSetBitsImpl
|
||||||
MPU_xEventGroupSetBits_Unpriv:
|
MPU_xEventGroupSetBits_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupSetBits
|
||||||
bl MPU_xEventGroupSetBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupSync
|
PUBLIC MPU_xEventGroupSync
|
||||||
|
@ -1082,10 +899,7 @@ MPU_xEventGroupSync:
|
||||||
b MPU_xEventGroupSyncImpl
|
b MPU_xEventGroupSyncImpl
|
||||||
MPU_xEventGroupSync_Unpriv:
|
MPU_xEventGroupSync_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupSync
|
||||||
bl MPU_xEventGroupSyncImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxEventGroupGetNumber
|
PUBLIC MPU_uxEventGroupGetNumber
|
||||||
|
@ -1099,10 +913,7 @@ MPU_uxEventGroupGetNumber:
|
||||||
b MPU_uxEventGroupGetNumberImpl
|
b MPU_uxEventGroupGetNumberImpl
|
||||||
MPU_uxEventGroupGetNumber_Unpriv:
|
MPU_uxEventGroupGetNumber_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxEventGroupGetNumber
|
||||||
bl MPU_uxEventGroupGetNumberImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vEventGroupSetNumber
|
PUBLIC MPU_vEventGroupSetNumber
|
||||||
|
@ -1116,10 +927,7 @@ MPU_vEventGroupSetNumber:
|
||||||
b MPU_vEventGroupSetNumberImpl
|
b MPU_vEventGroupSetNumberImpl
|
||||||
MPU_vEventGroupSetNumber_Unpriv:
|
MPU_vEventGroupSetNumber_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vEventGroupSetNumber
|
||||||
bl MPU_vEventGroupSetNumberImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSend
|
PUBLIC MPU_xStreamBufferSend
|
||||||
|
@ -1133,10 +941,7 @@ MPU_xStreamBufferSend:
|
||||||
b MPU_xStreamBufferSendImpl
|
b MPU_xStreamBufferSendImpl
|
||||||
MPU_xStreamBufferSend_Unpriv:
|
MPU_xStreamBufferSend_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSend
|
||||||
bl MPU_xStreamBufferSendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferReceive
|
PUBLIC MPU_xStreamBufferReceive
|
||||||
|
@ -1150,10 +955,7 @@ MPU_xStreamBufferReceive:
|
||||||
b MPU_xStreamBufferReceiveImpl
|
b MPU_xStreamBufferReceiveImpl
|
||||||
MPU_xStreamBufferReceive_Unpriv:
|
MPU_xStreamBufferReceive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferReceive
|
||||||
bl MPU_xStreamBufferReceiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferIsFull
|
PUBLIC MPU_xStreamBufferIsFull
|
||||||
|
@ -1167,10 +969,7 @@ MPU_xStreamBufferIsFull:
|
||||||
b MPU_xStreamBufferIsFullImpl
|
b MPU_xStreamBufferIsFullImpl
|
||||||
MPU_xStreamBufferIsFull_Unpriv:
|
MPU_xStreamBufferIsFull_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferIsFull
|
||||||
bl MPU_xStreamBufferIsFullImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferIsEmpty
|
PUBLIC MPU_xStreamBufferIsEmpty
|
||||||
|
@ -1184,10 +983,7 @@ MPU_xStreamBufferIsEmpty:
|
||||||
b MPU_xStreamBufferIsEmptyImpl
|
b MPU_xStreamBufferIsEmptyImpl
|
||||||
MPU_xStreamBufferIsEmpty_Unpriv:
|
MPU_xStreamBufferIsEmpty_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferIsEmpty
|
||||||
bl MPU_xStreamBufferIsEmptyImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSpacesAvailable
|
PUBLIC MPU_xStreamBufferSpacesAvailable
|
||||||
|
@ -1201,10 +997,7 @@ MPU_xStreamBufferSpacesAvailable:
|
||||||
b MPU_xStreamBufferSpacesAvailableImpl
|
b MPU_xStreamBufferSpacesAvailableImpl
|
||||||
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
|
||||||
bl MPU_xStreamBufferSpacesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferBytesAvailable
|
PUBLIC MPU_xStreamBufferBytesAvailable
|
||||||
|
@ -1218,10 +1011,7 @@ MPU_xStreamBufferBytesAvailable:
|
||||||
b MPU_xStreamBufferBytesAvailableImpl
|
b MPU_xStreamBufferBytesAvailableImpl
|
||||||
MPU_xStreamBufferBytesAvailable_Unpriv:
|
MPU_xStreamBufferBytesAvailable_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferBytesAvailable
|
||||||
bl MPU_xStreamBufferBytesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
||||||
|
@ -1235,10 +1025,7 @@ MPU_xStreamBufferSetTriggerLevel:
|
||||||
b MPU_xStreamBufferSetTriggerLevelImpl
|
b MPU_xStreamBufferSetTriggerLevelImpl
|
||||||
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
|
||||||
bl MPU_xStreamBufferSetTriggerLevelImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
||||||
|
@ -1252,10 +1039,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
|
||||||
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||||
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
|
||||||
bl MPU_xStreamBufferNextMessageLengthBytesImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Default weak implementations in case one is not available from
|
/* Default weak implementations in case one is not available from
|
||||||
|
@ -1461,9 +1245,9 @@ MPU_xTimerIsTimerActiveImpl:
|
||||||
MPU_xTimerGetTimerDaemonTaskHandleImpl:
|
MPU_xTimerGetTimerDaemonTaskHandleImpl:
|
||||||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||||
|
|
||||||
PUBWEAK MPU_xTimerGenericCommandImpl
|
PUBWEAK MPU_xTimerGenericCommandPrivImpl
|
||||||
MPU_xTimerGenericCommandImpl:
|
MPU_xTimerGenericCommandPrivImpl:
|
||||||
b MPU_xTimerGenericCommandImpl
|
b MPU_xTimerGenericCommandPrivImpl
|
||||||
|
|
||||||
PUBWEAK MPU_pcTimerGetNameImpl
|
PUBWEAK MPU_pcTimerGetNameImpl
|
||||||
MPU_pcTimerGetNameImpl:
|
MPU_pcTimerGetNameImpl:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -32,6 +32,9 @@ the code is included in C files but excluded by the preprocessor in assembly
|
||||||
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
||||||
#include "FreeRTOSConfig.h"
|
#include "FreeRTOSConfig.h"
|
||||||
|
|
||||||
|
/* System call numbers includes. */
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
@ -44,7 +47,6 @@ files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler.
|
||||||
EXTERN SecureContext_LoadContext
|
EXTERN SecureContext_LoadContext
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
EXTERN vSystemCallEnter
|
EXTERN vSystemCallEnter
|
||||||
EXTERN vSystemCallEnter_1
|
|
||||||
EXTERN vSystemCallExit
|
EXTERN vSystemCallExit
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -86,7 +88,7 @@ vResetPrivilege:
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
vPortAllocateSecureContext:
|
vPortAllocateSecureContext:
|
||||||
svc 0 /* Secure context is allocated in the supervisor call. portSVC_ALLOCATE_SECURE_CONTEXT = 0. */
|
svc 100 /* Secure context is allocated in the supervisor call. portSVC_ALLOCATE_SECURE_CONTEXT = 100. */
|
||||||
bx lr /* Return. */
|
bx lr /* Return. */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -205,7 +207,7 @@ vStartFirstTask:
|
||||||
cpsie f
|
cpsie f
|
||||||
dsb
|
dsb
|
||||||
isb
|
isb
|
||||||
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
|
svc 102 /* System call to start the first task. portSVC_START_SCHEDULER = 102. */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
ulSetInterruptMask:
|
ulSetInterruptMask:
|
||||||
|
@ -455,11 +457,9 @@ SVC_Handler:
|
||||||
|
|
||||||
ldr r1, [r0, #24]
|
ldr r1, [r0, #24]
|
||||||
ldrb r2, [r1, #-2]
|
ldrb r2, [r1, #-2]
|
||||||
cmp r2, #4 /* portSVC_SYSTEM_CALL_ENTER. */
|
cmp r2, #NUM_SYSTEM_CALLS
|
||||||
beq syscall_enter
|
blt syscall_enter
|
||||||
cmp r2, #5 /* portSVC_SYSTEM_CALL_ENTER_1. */
|
cmp r2, #104 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||||
beq syscall_enter_1
|
|
||||||
cmp r2, #6 /* portSVC_SYSTEM_CALL_EXIT. */
|
|
||||||
beq syscall_exit
|
beq syscall_exit
|
||||||
b vPortSVCHandler_C
|
b vPortSVCHandler_C
|
||||||
|
|
||||||
|
@ -467,10 +467,6 @@ SVC_Handler:
|
||||||
mov r1, lr
|
mov r1, lr
|
||||||
b vSystemCallEnter
|
b vSystemCallEnter
|
||||||
|
|
||||||
syscall_enter_1:
|
|
||||||
mov r1, lr
|
|
||||||
b vSystemCallEnter_1
|
|
||||||
|
|
||||||
syscall_exit:
|
syscall_exit:
|
||||||
mov r1, lr
|
mov r1, lr
|
||||||
b vSystemCallExit
|
b vSystemCallExit
|
||||||
|
@ -493,7 +489,7 @@ vPortFreeSecureContext:
|
||||||
ldr r1, [r2] /* The first item on the stack is the task's xSecureContext. */
|
ldr r1, [r2] /* The first item on the stack is the task's xSecureContext. */
|
||||||
cmp r1, #0 /* Raise svc if task's xSecureContext is not NULL. */
|
cmp r1, #0 /* Raise svc if task's xSecureContext is not NULL. */
|
||||||
it ne
|
it ne
|
||||||
svcne 1 /* Secure context is freed in the supervisor call. portSVC_FREE_SECURE_CONTEXT = 1. */
|
svcne 101 /* Secure context is freed in the supervisor call. portSVC_FREE_SECURE_CONTEXT = 101. */
|
||||||
bx lr /* Return. */
|
bx lr /* Return. */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -32,15 +32,12 @@
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#include "FreeRTOSConfig.h"
|
#include "FreeRTOSConfig.h"
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* These must be in sync with portmacro.h. */
|
|
||||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
|
||||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
|
||||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
|
@ -56,10 +53,7 @@ MPU_xTaskDelayUntil:
|
||||||
b MPU_xTaskDelayUntilImpl
|
b MPU_xTaskDelayUntilImpl
|
||||||
MPU_xTaskDelayUntil_Unpriv:
|
MPU_xTaskDelayUntil_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskDelayUntil
|
||||||
bl MPU_xTaskDelayUntilImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskAbortDelay
|
PUBLIC MPU_xTaskAbortDelay
|
||||||
|
@ -73,10 +67,7 @@ MPU_xTaskAbortDelay:
|
||||||
b MPU_xTaskAbortDelayImpl
|
b MPU_xTaskAbortDelayImpl
|
||||||
MPU_xTaskAbortDelay_Unpriv:
|
MPU_xTaskAbortDelay_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskAbortDelay
|
||||||
bl MPU_xTaskAbortDelayImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskDelay
|
PUBLIC MPU_vTaskDelay
|
||||||
|
@ -90,10 +81,7 @@ MPU_vTaskDelay:
|
||||||
b MPU_vTaskDelayImpl
|
b MPU_vTaskDelayImpl
|
||||||
MPU_vTaskDelay_Unpriv:
|
MPU_vTaskDelay_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskDelay
|
||||||
bl MPU_vTaskDelayImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskPriorityGet
|
PUBLIC MPU_uxTaskPriorityGet
|
||||||
|
@ -107,10 +95,7 @@ MPU_uxTaskPriorityGet:
|
||||||
b MPU_uxTaskPriorityGetImpl
|
b MPU_uxTaskPriorityGetImpl
|
||||||
MPU_uxTaskPriorityGet_Unpriv:
|
MPU_uxTaskPriorityGet_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskPriorityGet
|
||||||
bl MPU_uxTaskPriorityGetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_eTaskGetState
|
PUBLIC MPU_eTaskGetState
|
||||||
|
@ -124,10 +109,7 @@ MPU_eTaskGetState:
|
||||||
b MPU_eTaskGetStateImpl
|
b MPU_eTaskGetStateImpl
|
||||||
MPU_eTaskGetState_Unpriv:
|
MPU_eTaskGetState_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_eTaskGetState
|
||||||
bl MPU_eTaskGetStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskGetInfo
|
PUBLIC MPU_vTaskGetInfo
|
||||||
|
@ -141,10 +123,7 @@ MPU_vTaskGetInfo:
|
||||||
b MPU_vTaskGetInfoImpl
|
b MPU_vTaskGetInfoImpl
|
||||||
MPU_vTaskGetInfo_Unpriv:
|
MPU_vTaskGetInfo_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskGetInfo
|
||||||
bl MPU_vTaskGetInfoImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetIdleTaskHandle
|
PUBLIC MPU_xTaskGetIdleTaskHandle
|
||||||
|
@ -158,10 +137,7 @@ MPU_xTaskGetIdleTaskHandle:
|
||||||
b MPU_xTaskGetIdleTaskHandleImpl
|
b MPU_xTaskGetIdleTaskHandleImpl
|
||||||
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
MPU_xTaskGetIdleTaskHandle_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetIdleTaskHandle
|
||||||
bl MPU_xTaskGetIdleTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSuspend
|
PUBLIC MPU_vTaskSuspend
|
||||||
|
@ -175,10 +151,7 @@ MPU_vTaskSuspend:
|
||||||
b MPU_vTaskSuspendImpl
|
b MPU_vTaskSuspendImpl
|
||||||
MPU_vTaskSuspend_Unpriv:
|
MPU_vTaskSuspend_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSuspend
|
||||||
bl MPU_vTaskSuspendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskResume
|
PUBLIC MPU_vTaskResume
|
||||||
|
@ -192,10 +165,7 @@ MPU_vTaskResume:
|
||||||
b MPU_vTaskResumeImpl
|
b MPU_vTaskResumeImpl
|
||||||
MPU_vTaskResume_Unpriv:
|
MPU_vTaskResume_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskResume
|
||||||
bl MPU_vTaskResumeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetTickCount
|
PUBLIC MPU_xTaskGetTickCount
|
||||||
|
@ -209,10 +179,7 @@ MPU_xTaskGetTickCount:
|
||||||
b MPU_xTaskGetTickCountImpl
|
b MPU_xTaskGetTickCountImpl
|
||||||
MPU_xTaskGetTickCount_Unpriv:
|
MPU_xTaskGetTickCount_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetTickCount
|
||||||
bl MPU_xTaskGetTickCountImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetNumberOfTasks
|
PUBLIC MPU_uxTaskGetNumberOfTasks
|
||||||
|
@ -226,10 +193,7 @@ MPU_uxTaskGetNumberOfTasks:
|
||||||
b MPU_uxTaskGetNumberOfTasksImpl
|
b MPU_uxTaskGetNumberOfTasksImpl
|
||||||
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
MPU_uxTaskGetNumberOfTasks_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetNumberOfTasks
|
||||||
bl MPU_uxTaskGetNumberOfTasksImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pcTaskGetName
|
PUBLIC MPU_pcTaskGetName
|
||||||
|
@ -243,10 +207,7 @@ MPU_pcTaskGetName:
|
||||||
b MPU_pcTaskGetNameImpl
|
b MPU_pcTaskGetNameImpl
|
||||||
MPU_pcTaskGetName_Unpriv:
|
MPU_pcTaskGetName_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcTaskGetName
|
||||||
bl MPU_pcTaskGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetRunTimeCounter
|
PUBLIC MPU_ulTaskGetRunTimeCounter
|
||||||
|
@ -260,10 +221,7 @@ MPU_ulTaskGetRunTimeCounter:
|
||||||
b MPU_ulTaskGetRunTimeCounterImpl
|
b MPU_ulTaskGetRunTimeCounterImpl
|
||||||
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
MPU_ulTaskGetRunTimeCounter_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetRunTimeCounter
|
||||||
bl MPU_ulTaskGetRunTimeCounterImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetRunTimePercent
|
PUBLIC MPU_ulTaskGetRunTimePercent
|
||||||
|
@ -277,10 +235,7 @@ MPU_ulTaskGetRunTimePercent:
|
||||||
b MPU_ulTaskGetRunTimePercentImpl
|
b MPU_ulTaskGetRunTimePercentImpl
|
||||||
MPU_ulTaskGetRunTimePercent_Unpriv:
|
MPU_ulTaskGetRunTimePercent_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetRunTimePercent
|
||||||
bl MPU_ulTaskGetRunTimePercentImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
PUBLIC MPU_ulTaskGetIdleRunTimePercent
|
||||||
|
@ -294,10 +249,7 @@ MPU_ulTaskGetIdleRunTimePercent:
|
||||||
b MPU_ulTaskGetIdleRunTimePercentImpl
|
b MPU_ulTaskGetIdleRunTimePercentImpl
|
||||||
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
MPU_ulTaskGetIdleRunTimePercent_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetIdleRunTimePercent
|
||||||
bl MPU_ulTaskGetIdleRunTimePercentImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
PUBLIC MPU_ulTaskGetIdleRunTimeCounter
|
||||||
|
@ -311,10 +263,7 @@ MPU_ulTaskGetIdleRunTimeCounter:
|
||||||
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
b MPU_ulTaskGetIdleRunTimeCounterImpl
|
||||||
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
MPU_ulTaskGetIdleRunTimeCounter_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGetIdleRunTimeCounter
|
||||||
bl MPU_ulTaskGetIdleRunTimeCounterImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetApplicationTaskTag
|
PUBLIC MPU_vTaskSetApplicationTaskTag
|
||||||
|
@ -328,10 +277,7 @@ MPU_vTaskSetApplicationTaskTag:
|
||||||
b MPU_vTaskSetApplicationTaskTagImpl
|
b MPU_vTaskSetApplicationTaskTagImpl
|
||||||
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
MPU_vTaskSetApplicationTaskTag_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetApplicationTaskTag
|
||||||
bl MPU_vTaskSetApplicationTaskTagImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetApplicationTaskTag
|
PUBLIC MPU_xTaskGetApplicationTaskTag
|
||||||
|
@ -345,10 +291,7 @@ MPU_xTaskGetApplicationTaskTag:
|
||||||
b MPU_xTaskGetApplicationTaskTagImpl
|
b MPU_xTaskGetApplicationTaskTagImpl
|
||||||
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
MPU_xTaskGetApplicationTaskTag_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetApplicationTaskTag
|
||||||
bl MPU_xTaskGetApplicationTaskTagImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
PUBLIC MPU_vTaskSetThreadLocalStoragePointer
|
||||||
|
@ -362,10 +305,7 @@ MPU_vTaskSetThreadLocalStoragePointer:
|
||||||
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
b MPU_vTaskSetThreadLocalStoragePointerImpl
|
||||||
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
MPU_vTaskSetThreadLocalStoragePointer_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetThreadLocalStoragePointer
|
||||||
bl MPU_vTaskSetThreadLocalStoragePointerImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
PUBLIC MPU_pvTaskGetThreadLocalStoragePointer
|
||||||
|
@ -379,10 +319,7 @@ MPU_pvTaskGetThreadLocalStoragePointer:
|
||||||
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
b MPU_pvTaskGetThreadLocalStoragePointerImpl
|
||||||
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
MPU_pvTaskGetThreadLocalStoragePointer_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pvTaskGetThreadLocalStoragePointer
|
||||||
bl MPU_pvTaskGetThreadLocalStoragePointerImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetSystemState
|
PUBLIC MPU_uxTaskGetSystemState
|
||||||
|
@ -396,10 +333,7 @@ MPU_uxTaskGetSystemState:
|
||||||
b MPU_uxTaskGetSystemStateImpl
|
b MPU_uxTaskGetSystemStateImpl
|
||||||
MPU_uxTaskGetSystemState_Unpriv:
|
MPU_uxTaskGetSystemState_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetSystemState
|
||||||
bl MPU_uxTaskGetSystemStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
PUBLIC MPU_uxTaskGetStackHighWaterMark
|
||||||
|
@ -413,10 +347,7 @@ MPU_uxTaskGetStackHighWaterMark:
|
||||||
b MPU_uxTaskGetStackHighWaterMarkImpl
|
b MPU_uxTaskGetStackHighWaterMarkImpl
|
||||||
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
MPU_uxTaskGetStackHighWaterMark_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark
|
||||||
bl MPU_uxTaskGetStackHighWaterMarkImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
PUBLIC MPU_uxTaskGetStackHighWaterMark2
|
||||||
|
@ -430,10 +361,7 @@ MPU_uxTaskGetStackHighWaterMark2:
|
||||||
b MPU_uxTaskGetStackHighWaterMark2Impl
|
b MPU_uxTaskGetStackHighWaterMark2Impl
|
||||||
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
MPU_uxTaskGetStackHighWaterMark2_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTaskGetStackHighWaterMark2
|
||||||
bl MPU_uxTaskGetStackHighWaterMark2Impl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
PUBLIC MPU_xTaskGetCurrentTaskHandle
|
||||||
|
@ -447,10 +375,7 @@ MPU_xTaskGetCurrentTaskHandle:
|
||||||
b MPU_xTaskGetCurrentTaskHandleImpl
|
b MPU_xTaskGetCurrentTaskHandleImpl
|
||||||
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
MPU_xTaskGetCurrentTaskHandle_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetCurrentTaskHandle
|
||||||
bl MPU_xTaskGetCurrentTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGetSchedulerState
|
PUBLIC MPU_xTaskGetSchedulerState
|
||||||
|
@ -464,10 +389,7 @@ MPU_xTaskGetSchedulerState:
|
||||||
b MPU_xTaskGetSchedulerStateImpl
|
b MPU_xTaskGetSchedulerStateImpl
|
||||||
MPU_xTaskGetSchedulerState_Unpriv:
|
MPU_xTaskGetSchedulerState_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGetSchedulerState
|
||||||
bl MPU_xTaskGetSchedulerStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTaskSetTimeOutState
|
PUBLIC MPU_vTaskSetTimeOutState
|
||||||
|
@ -481,10 +403,7 @@ MPU_vTaskSetTimeOutState:
|
||||||
b MPU_vTaskSetTimeOutStateImpl
|
b MPU_vTaskSetTimeOutStateImpl
|
||||||
MPU_vTaskSetTimeOutState_Unpriv:
|
MPU_vTaskSetTimeOutState_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTaskSetTimeOutState
|
||||||
bl MPU_vTaskSetTimeOutStateImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskCheckForTimeOut
|
PUBLIC MPU_xTaskCheckForTimeOut
|
||||||
|
@ -498,14 +417,11 @@ MPU_xTaskCheckForTimeOut:
|
||||||
b MPU_xTaskCheckForTimeOutImpl
|
b MPU_xTaskCheckForTimeOutImpl
|
||||||
MPU_xTaskCheckForTimeOut_Unpriv:
|
MPU_xTaskCheckForTimeOut_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskCheckForTimeOut
|
||||||
bl MPU_xTaskCheckForTimeOutImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotify
|
PUBLIC MPU_xTaskGenericNotifyEntry
|
||||||
MPU_xTaskGenericNotify:
|
MPU_xTaskGenericNotifyEntry:
|
||||||
push {r0}
|
push {r0}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
tst r0, #1
|
tst r0, #1
|
||||||
|
@ -515,14 +431,11 @@ MPU_xTaskGenericNotify:
|
||||||
b MPU_xTaskGenericNotifyImpl
|
b MPU_xTaskGenericNotifyImpl
|
||||||
MPU_xTaskGenericNotify_Unpriv:
|
MPU_xTaskGenericNotify_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTaskGenericNotify
|
||||||
bl MPU_xTaskGenericNotifyImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotifyWait
|
PUBLIC MPU_xTaskGenericNotifyWaitEntry
|
||||||
MPU_xTaskGenericNotifyWait:
|
MPU_xTaskGenericNotifyWaitEntry:
|
||||||
push {r0}
|
push {r0}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
tst r0, #1
|
tst r0, #1
|
||||||
|
@ -532,10 +445,7 @@ MPU_xTaskGenericNotifyWait:
|
||||||
b MPU_xTaskGenericNotifyWaitImpl
|
b MPU_xTaskGenericNotifyWaitImpl
|
||||||
MPU_xTaskGenericNotifyWait_Unpriv:
|
MPU_xTaskGenericNotifyWait_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTaskGenericNotifyWait
|
||||||
bl MPU_xTaskGenericNotifyWaitImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGenericNotifyTake
|
PUBLIC MPU_ulTaskGenericNotifyTake
|
||||||
|
@ -549,10 +459,7 @@ MPU_ulTaskGenericNotifyTake:
|
||||||
b MPU_ulTaskGenericNotifyTakeImpl
|
b MPU_ulTaskGenericNotifyTakeImpl
|
||||||
MPU_ulTaskGenericNotifyTake_Unpriv:
|
MPU_ulTaskGenericNotifyTake_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGenericNotifyTake
|
||||||
bl MPU_ulTaskGenericNotifyTakeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTaskGenericNotifyStateClear
|
PUBLIC MPU_xTaskGenericNotifyStateClear
|
||||||
|
@ -566,10 +473,7 @@ MPU_xTaskGenericNotifyStateClear:
|
||||||
b MPU_xTaskGenericNotifyStateClearImpl
|
b MPU_xTaskGenericNotifyStateClearImpl
|
||||||
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
MPU_xTaskGenericNotifyStateClear_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTaskGenericNotifyStateClear
|
||||||
bl MPU_xTaskGenericNotifyStateClearImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
PUBLIC MPU_ulTaskGenericNotifyValueClear
|
||||||
|
@ -583,10 +487,7 @@ MPU_ulTaskGenericNotifyValueClear:
|
||||||
b MPU_ulTaskGenericNotifyValueClearImpl
|
b MPU_ulTaskGenericNotifyValueClearImpl
|
||||||
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
MPU_ulTaskGenericNotifyValueClear_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_ulTaskGenericNotifyValueClear
|
||||||
bl MPU_ulTaskGenericNotifyValueClearImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGenericSend
|
PUBLIC MPU_xQueueGenericSend
|
||||||
|
@ -600,10 +501,7 @@ MPU_xQueueGenericSend:
|
||||||
b MPU_xQueueGenericSendImpl
|
b MPU_xQueueGenericSendImpl
|
||||||
MPU_xQueueGenericSend_Unpriv:
|
MPU_xQueueGenericSend_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGenericSend
|
||||||
bl MPU_xQueueGenericSendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxQueueMessagesWaiting
|
PUBLIC MPU_uxQueueMessagesWaiting
|
||||||
|
@ -617,10 +515,7 @@ MPU_uxQueueMessagesWaiting:
|
||||||
b MPU_uxQueueMessagesWaitingImpl
|
b MPU_uxQueueMessagesWaitingImpl
|
||||||
MPU_uxQueueMessagesWaiting_Unpriv:
|
MPU_uxQueueMessagesWaiting_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxQueueMessagesWaiting
|
||||||
bl MPU_uxQueueMessagesWaitingImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxQueueSpacesAvailable
|
PUBLIC MPU_uxQueueSpacesAvailable
|
||||||
|
@ -634,10 +529,7 @@ MPU_uxQueueSpacesAvailable:
|
||||||
b MPU_uxQueueSpacesAvailableImpl
|
b MPU_uxQueueSpacesAvailableImpl
|
||||||
MPU_uxQueueSpacesAvailable_Unpriv:
|
MPU_uxQueueSpacesAvailable_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxQueueSpacesAvailable
|
||||||
bl MPU_uxQueueSpacesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueReceive
|
PUBLIC MPU_xQueueReceive
|
||||||
|
@ -651,10 +543,7 @@ MPU_xQueueReceive:
|
||||||
b MPU_xQueueReceiveImpl
|
b MPU_xQueueReceiveImpl
|
||||||
MPU_xQueueReceive_Unpriv:
|
MPU_xQueueReceive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueReceive
|
||||||
bl MPU_xQueueReceiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueuePeek
|
PUBLIC MPU_xQueuePeek
|
||||||
|
@ -668,10 +557,7 @@ MPU_xQueuePeek:
|
||||||
b MPU_xQueuePeekImpl
|
b MPU_xQueuePeekImpl
|
||||||
MPU_xQueuePeek_Unpriv:
|
MPU_xQueuePeek_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueuePeek
|
||||||
bl MPU_xQueuePeekImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueSemaphoreTake
|
PUBLIC MPU_xQueueSemaphoreTake
|
||||||
|
@ -685,10 +571,7 @@ MPU_xQueueSemaphoreTake:
|
||||||
b MPU_xQueueSemaphoreTakeImpl
|
b MPU_xQueueSemaphoreTakeImpl
|
||||||
MPU_xQueueSemaphoreTake_Unpriv:
|
MPU_xQueueSemaphoreTake_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueSemaphoreTake
|
||||||
bl MPU_xQueueSemaphoreTakeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGetMutexHolder
|
PUBLIC MPU_xQueueGetMutexHolder
|
||||||
|
@ -702,10 +585,7 @@ MPU_xQueueGetMutexHolder:
|
||||||
b MPU_xQueueGetMutexHolderImpl
|
b MPU_xQueueGetMutexHolderImpl
|
||||||
MPU_xQueueGetMutexHolder_Unpriv:
|
MPU_xQueueGetMutexHolder_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGetMutexHolder
|
||||||
bl MPU_xQueueGetMutexHolderImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueTakeMutexRecursive
|
PUBLIC MPU_xQueueTakeMutexRecursive
|
||||||
|
@ -719,10 +599,7 @@ MPU_xQueueTakeMutexRecursive:
|
||||||
b MPU_xQueueTakeMutexRecursiveImpl
|
b MPU_xQueueTakeMutexRecursiveImpl
|
||||||
MPU_xQueueTakeMutexRecursive_Unpriv:
|
MPU_xQueueTakeMutexRecursive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueTakeMutexRecursive
|
||||||
bl MPU_xQueueTakeMutexRecursiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueGiveMutexRecursive
|
PUBLIC MPU_xQueueGiveMutexRecursive
|
||||||
|
@ -736,10 +613,7 @@ MPU_xQueueGiveMutexRecursive:
|
||||||
b MPU_xQueueGiveMutexRecursiveImpl
|
b MPU_xQueueGiveMutexRecursiveImpl
|
||||||
MPU_xQueueGiveMutexRecursive_Unpriv:
|
MPU_xQueueGiveMutexRecursive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueGiveMutexRecursive
|
||||||
bl MPU_xQueueGiveMutexRecursiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueSelectFromSet
|
PUBLIC MPU_xQueueSelectFromSet
|
||||||
|
@ -753,10 +627,7 @@ MPU_xQueueSelectFromSet:
|
||||||
b MPU_xQueueSelectFromSetImpl
|
b MPU_xQueueSelectFromSetImpl
|
||||||
MPU_xQueueSelectFromSet_Unpriv:
|
MPU_xQueueSelectFromSet_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueSelectFromSet
|
||||||
bl MPU_xQueueSelectFromSetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xQueueAddToSet
|
PUBLIC MPU_xQueueAddToSet
|
||||||
|
@ -770,10 +641,7 @@ MPU_xQueueAddToSet:
|
||||||
b MPU_xQueueAddToSetImpl
|
b MPU_xQueueAddToSetImpl
|
||||||
MPU_xQueueAddToSet_Unpriv:
|
MPU_xQueueAddToSet_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xQueueAddToSet
|
||||||
bl MPU_xQueueAddToSetImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vQueueAddToRegistry
|
PUBLIC MPU_vQueueAddToRegistry
|
||||||
|
@ -787,10 +655,7 @@ MPU_vQueueAddToRegistry:
|
||||||
b MPU_vQueueAddToRegistryImpl
|
b MPU_vQueueAddToRegistryImpl
|
||||||
MPU_vQueueAddToRegistry_Unpriv:
|
MPU_vQueueAddToRegistry_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vQueueAddToRegistry
|
||||||
bl MPU_vQueueAddToRegistryImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vQueueUnregisterQueue
|
PUBLIC MPU_vQueueUnregisterQueue
|
||||||
|
@ -804,10 +669,7 @@ MPU_vQueueUnregisterQueue:
|
||||||
b MPU_vQueueUnregisterQueueImpl
|
b MPU_vQueueUnregisterQueueImpl
|
||||||
MPU_vQueueUnregisterQueue_Unpriv:
|
MPU_vQueueUnregisterQueue_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vQueueUnregisterQueue
|
||||||
bl MPU_vQueueUnregisterQueueImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pcQueueGetName
|
PUBLIC MPU_pcQueueGetName
|
||||||
|
@ -821,10 +683,7 @@ MPU_pcQueueGetName:
|
||||||
b MPU_pcQueueGetNameImpl
|
b MPU_pcQueueGetNameImpl
|
||||||
MPU_pcQueueGetName_Unpriv:
|
MPU_pcQueueGetName_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcQueueGetName
|
||||||
bl MPU_pcQueueGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_pvTimerGetTimerID
|
PUBLIC MPU_pvTimerGetTimerID
|
||||||
|
@ -838,10 +697,7 @@ MPU_pvTimerGetTimerID:
|
||||||
b MPU_pvTimerGetTimerIDImpl
|
b MPU_pvTimerGetTimerIDImpl
|
||||||
MPU_pvTimerGetTimerID_Unpriv:
|
MPU_pvTimerGetTimerID_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pvTimerGetTimerID
|
||||||
bl MPU_pvTimerGetTimerIDImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTimerSetTimerID
|
PUBLIC MPU_vTimerSetTimerID
|
||||||
|
@ -855,10 +711,7 @@ MPU_vTimerSetTimerID:
|
||||||
b MPU_vTimerSetTimerIDImpl
|
b MPU_vTimerSetTimerIDImpl
|
||||||
MPU_vTimerSetTimerID_Unpriv:
|
MPU_vTimerSetTimerID_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTimerSetTimerID
|
||||||
bl MPU_vTimerSetTimerIDImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerIsTimerActive
|
PUBLIC MPU_xTimerIsTimerActive
|
||||||
|
@ -872,10 +725,7 @@ MPU_xTimerIsTimerActive:
|
||||||
b MPU_xTimerIsTimerActiveImpl
|
b MPU_xTimerIsTimerActiveImpl
|
||||||
MPU_xTimerIsTimerActive_Unpriv:
|
MPU_xTimerIsTimerActive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerIsTimerActive
|
||||||
bl MPU_xTimerIsTimerActiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
PUBLIC MPU_xTimerGetTimerDaemonTaskHandle
|
||||||
|
@ -889,14 +739,11 @@ MPU_xTimerGetTimerDaemonTaskHandle:
|
||||||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||||
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
MPU_xTimerGetTimerDaemonTaskHandle_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetTimerDaemonTaskHandle
|
||||||
bl MPU_xTimerGetTimerDaemonTaskHandleImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGenericCommand
|
PUBLIC MPU_xTimerGenericCommandEntry
|
||||||
MPU_xTimerGenericCommand:
|
MPU_xTimerGenericCommandEntry:
|
||||||
push {r0}
|
push {r0}
|
||||||
/* This function can be called from ISR also and therefore, we need a check
|
/* This function can be called from ISR also and therefore, we need a check
|
||||||
* to take privileged path, if called from ISR. */
|
* to take privileged path, if called from ISR. */
|
||||||
|
@ -908,13 +755,10 @@ MPU_xTimerGenericCommand:
|
||||||
beq MPU_xTimerGenericCommand_Priv
|
beq MPU_xTimerGenericCommand_Priv
|
||||||
MPU_xTimerGenericCommand_Unpriv:
|
MPU_xTimerGenericCommand_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xTimerGenericCommand
|
||||||
bl MPU_xTimerGenericCommandImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
MPU_xTimerGenericCommand_Priv:
|
MPU_xTimerGenericCommand_Priv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
b MPU_xTimerGenericCommandImpl
|
b MPU_xTimerGenericCommandPrivImpl
|
||||||
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
|
@ -929,10 +773,7 @@ MPU_pcTimerGetName:
|
||||||
b MPU_pcTimerGetNameImpl
|
b MPU_pcTimerGetNameImpl
|
||||||
MPU_pcTimerGetName_Unpriv:
|
MPU_pcTimerGetName_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_pcTimerGetName
|
||||||
bl MPU_pcTimerGetNameImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vTimerSetReloadMode
|
PUBLIC MPU_vTimerSetReloadMode
|
||||||
|
@ -946,10 +787,7 @@ MPU_vTimerSetReloadMode:
|
||||||
b MPU_vTimerSetReloadModeImpl
|
b MPU_vTimerSetReloadModeImpl
|
||||||
MPU_vTimerSetReloadMode_Unpriv:
|
MPU_vTimerSetReloadMode_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vTimerSetReloadMode
|
||||||
bl MPU_vTimerSetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetReloadMode
|
PUBLIC MPU_xTimerGetReloadMode
|
||||||
|
@ -963,10 +801,7 @@ MPU_xTimerGetReloadMode:
|
||||||
b MPU_xTimerGetReloadModeImpl
|
b MPU_xTimerGetReloadModeImpl
|
||||||
MPU_xTimerGetReloadMode_Unpriv:
|
MPU_xTimerGetReloadMode_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetReloadMode
|
||||||
bl MPU_xTimerGetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxTimerGetReloadMode
|
PUBLIC MPU_uxTimerGetReloadMode
|
||||||
|
@ -980,10 +815,7 @@ MPU_uxTimerGetReloadMode:
|
||||||
b MPU_uxTimerGetReloadModeImpl
|
b MPU_uxTimerGetReloadModeImpl
|
||||||
MPU_uxTimerGetReloadMode_Unpriv:
|
MPU_uxTimerGetReloadMode_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxTimerGetReloadMode
|
||||||
bl MPU_uxTimerGetReloadModeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetPeriod
|
PUBLIC MPU_xTimerGetPeriod
|
||||||
|
@ -997,10 +829,7 @@ MPU_xTimerGetPeriod:
|
||||||
b MPU_xTimerGetPeriodImpl
|
b MPU_xTimerGetPeriodImpl
|
||||||
MPU_xTimerGetPeriod_Unpriv:
|
MPU_xTimerGetPeriod_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetPeriod
|
||||||
bl MPU_xTimerGetPeriodImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xTimerGetExpiryTime
|
PUBLIC MPU_xTimerGetExpiryTime
|
||||||
|
@ -1014,14 +843,11 @@ MPU_xTimerGetExpiryTime:
|
||||||
b MPU_xTimerGetExpiryTimeImpl
|
b MPU_xTimerGetExpiryTimeImpl
|
||||||
MPU_xTimerGetExpiryTime_Unpriv:
|
MPU_xTimerGetExpiryTime_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xTimerGetExpiryTime
|
||||||
bl MPU_xTimerGetExpiryTimeImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupWaitBits
|
PUBLIC MPU_xEventGroupWaitBitsEntry
|
||||||
MPU_xEventGroupWaitBits:
|
MPU_xEventGroupWaitBitsEntry:
|
||||||
push {r0}
|
push {r0}
|
||||||
mrs r0, control
|
mrs r0, control
|
||||||
tst r0, #1
|
tst r0, #1
|
||||||
|
@ -1031,10 +857,7 @@ MPU_xEventGroupWaitBits:
|
||||||
b MPU_xEventGroupWaitBitsImpl
|
b MPU_xEventGroupWaitBitsImpl
|
||||||
MPU_xEventGroupWaitBits_Unpriv:
|
MPU_xEventGroupWaitBits_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER_1
|
svc #SYSTEM_CALL_xEventGroupWaitBits
|
||||||
bl MPU_xEventGroupWaitBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupClearBits
|
PUBLIC MPU_xEventGroupClearBits
|
||||||
|
@ -1048,10 +871,7 @@ MPU_xEventGroupClearBits:
|
||||||
b MPU_xEventGroupClearBitsImpl
|
b MPU_xEventGroupClearBitsImpl
|
||||||
MPU_xEventGroupClearBits_Unpriv:
|
MPU_xEventGroupClearBits_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupClearBits
|
||||||
bl MPU_xEventGroupClearBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupSetBits
|
PUBLIC MPU_xEventGroupSetBits
|
||||||
|
@ -1065,10 +885,7 @@ MPU_xEventGroupSetBits:
|
||||||
b MPU_xEventGroupSetBitsImpl
|
b MPU_xEventGroupSetBitsImpl
|
||||||
MPU_xEventGroupSetBits_Unpriv:
|
MPU_xEventGroupSetBits_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupSetBits
|
||||||
bl MPU_xEventGroupSetBitsImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xEventGroupSync
|
PUBLIC MPU_xEventGroupSync
|
||||||
|
@ -1082,10 +899,7 @@ MPU_xEventGroupSync:
|
||||||
b MPU_xEventGroupSyncImpl
|
b MPU_xEventGroupSyncImpl
|
||||||
MPU_xEventGroupSync_Unpriv:
|
MPU_xEventGroupSync_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xEventGroupSync
|
||||||
bl MPU_xEventGroupSyncImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_uxEventGroupGetNumber
|
PUBLIC MPU_uxEventGroupGetNumber
|
||||||
|
@ -1099,10 +913,7 @@ MPU_uxEventGroupGetNumber:
|
||||||
b MPU_uxEventGroupGetNumberImpl
|
b MPU_uxEventGroupGetNumberImpl
|
||||||
MPU_uxEventGroupGetNumber_Unpriv:
|
MPU_uxEventGroupGetNumber_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_uxEventGroupGetNumber
|
||||||
bl MPU_uxEventGroupGetNumberImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_vEventGroupSetNumber
|
PUBLIC MPU_vEventGroupSetNumber
|
||||||
|
@ -1116,10 +927,7 @@ MPU_vEventGroupSetNumber:
|
||||||
b MPU_vEventGroupSetNumberImpl
|
b MPU_vEventGroupSetNumberImpl
|
||||||
MPU_vEventGroupSetNumber_Unpriv:
|
MPU_vEventGroupSetNumber_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_vEventGroupSetNumber
|
||||||
bl MPU_vEventGroupSetNumberImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSend
|
PUBLIC MPU_xStreamBufferSend
|
||||||
|
@ -1133,10 +941,7 @@ MPU_xStreamBufferSend:
|
||||||
b MPU_xStreamBufferSendImpl
|
b MPU_xStreamBufferSendImpl
|
||||||
MPU_xStreamBufferSend_Unpriv:
|
MPU_xStreamBufferSend_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSend
|
||||||
bl MPU_xStreamBufferSendImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferReceive
|
PUBLIC MPU_xStreamBufferReceive
|
||||||
|
@ -1150,10 +955,7 @@ MPU_xStreamBufferReceive:
|
||||||
b MPU_xStreamBufferReceiveImpl
|
b MPU_xStreamBufferReceiveImpl
|
||||||
MPU_xStreamBufferReceive_Unpriv:
|
MPU_xStreamBufferReceive_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferReceive
|
||||||
bl MPU_xStreamBufferReceiveImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferIsFull
|
PUBLIC MPU_xStreamBufferIsFull
|
||||||
|
@ -1167,10 +969,7 @@ MPU_xStreamBufferIsFull:
|
||||||
b MPU_xStreamBufferIsFullImpl
|
b MPU_xStreamBufferIsFullImpl
|
||||||
MPU_xStreamBufferIsFull_Unpriv:
|
MPU_xStreamBufferIsFull_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferIsFull
|
||||||
bl MPU_xStreamBufferIsFullImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferIsEmpty
|
PUBLIC MPU_xStreamBufferIsEmpty
|
||||||
|
@ -1184,10 +983,7 @@ MPU_xStreamBufferIsEmpty:
|
||||||
b MPU_xStreamBufferIsEmptyImpl
|
b MPU_xStreamBufferIsEmptyImpl
|
||||||
MPU_xStreamBufferIsEmpty_Unpriv:
|
MPU_xStreamBufferIsEmpty_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferIsEmpty
|
||||||
bl MPU_xStreamBufferIsEmptyImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSpacesAvailable
|
PUBLIC MPU_xStreamBufferSpacesAvailable
|
||||||
|
@ -1201,10 +997,7 @@ MPU_xStreamBufferSpacesAvailable:
|
||||||
b MPU_xStreamBufferSpacesAvailableImpl
|
b MPU_xStreamBufferSpacesAvailableImpl
|
||||||
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
MPU_xStreamBufferSpacesAvailable_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSpacesAvailable
|
||||||
bl MPU_xStreamBufferSpacesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferBytesAvailable
|
PUBLIC MPU_xStreamBufferBytesAvailable
|
||||||
|
@ -1218,10 +1011,7 @@ MPU_xStreamBufferBytesAvailable:
|
||||||
b MPU_xStreamBufferBytesAvailableImpl
|
b MPU_xStreamBufferBytesAvailableImpl
|
||||||
MPU_xStreamBufferBytesAvailable_Unpriv:
|
MPU_xStreamBufferBytesAvailable_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferBytesAvailable
|
||||||
bl MPU_xStreamBufferBytesAvailableImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
PUBLIC MPU_xStreamBufferSetTriggerLevel
|
||||||
|
@ -1235,10 +1025,7 @@ MPU_xStreamBufferSetTriggerLevel:
|
||||||
b MPU_xStreamBufferSetTriggerLevelImpl
|
b MPU_xStreamBufferSetTriggerLevelImpl
|
||||||
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
MPU_xStreamBufferSetTriggerLevel_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferSetTriggerLevel
|
||||||
bl MPU_xStreamBufferSetTriggerLevelImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
PUBLIC MPU_xStreamBufferNextMessageLengthBytes
|
||||||
|
@ -1252,10 +1039,7 @@ MPU_xStreamBufferNextMessageLengthBytes:
|
||||||
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
b MPU_xStreamBufferNextMessageLengthBytesImpl
|
||||||
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
MPU_xStreamBufferNextMessageLengthBytes_Unpriv:
|
||||||
pop {r0}
|
pop {r0}
|
||||||
svc #portSVC_SYSTEM_CALL_ENTER
|
svc #SYSTEM_CALL_xStreamBufferNextMessageLengthBytes
|
||||||
bl MPU_xStreamBufferNextMessageLengthBytesImpl
|
|
||||||
svc #portSVC_SYSTEM_CALL_EXIT
|
|
||||||
bx lr
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/* Default weak implementations in case one is not available from
|
/* Default weak implementations in case one is not available from
|
||||||
|
@ -1461,9 +1245,9 @@ MPU_xTimerIsTimerActiveImpl:
|
||||||
MPU_xTimerGetTimerDaemonTaskHandleImpl:
|
MPU_xTimerGetTimerDaemonTaskHandleImpl:
|
||||||
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
b MPU_xTimerGetTimerDaemonTaskHandleImpl
|
||||||
|
|
||||||
PUBWEAK MPU_xTimerGenericCommandImpl
|
PUBWEAK MPU_xTimerGenericCommandPrivImpl
|
||||||
MPU_xTimerGenericCommandImpl:
|
MPU_xTimerGenericCommandPrivImpl:
|
||||||
b MPU_xTimerGenericCommandImpl
|
b MPU_xTimerGenericCommandPrivImpl
|
||||||
|
|
||||||
PUBWEAK MPU_pcTimerGetNameImpl
|
PUBWEAK MPU_pcTimerGetNameImpl
|
||||||
MPU_pcTimerGetNameImpl:
|
MPU_pcTimerGetNameImpl:
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -32,6 +32,9 @@ the code is included in C files but excluded by the preprocessor in assembly
|
||||||
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler. */
|
||||||
#include "FreeRTOSConfig.h"
|
#include "FreeRTOSConfig.h"
|
||||||
|
|
||||||
|
/* System call numbers includes. */
|
||||||
|
#include "mpu_syscall_numbers.h"
|
||||||
|
|
||||||
#ifndef configUSE_MPU_WRAPPERS_V1
|
#ifndef configUSE_MPU_WRAPPERS_V1
|
||||||
#define configUSE_MPU_WRAPPERS_V1 0
|
#define configUSE_MPU_WRAPPERS_V1 0
|
||||||
#endif
|
#endif
|
||||||
|
@ -41,7 +44,6 @@ files (__ICCARM__ is defined by the IAR C compiler but not by the IAR assembler.
|
||||||
EXTERN vPortSVCHandler_C
|
EXTERN vPortSVCHandler_C
|
||||||
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
#if ( ( configENABLE_MPU == 1 ) && ( configUSE_MPU_WRAPPERS_V1 == 0 ) )
|
||||||
EXTERN vSystemCallEnter
|
EXTERN vSystemCallEnter
|
||||||
EXTERN vSystemCallEnter_1
|
|
||||||
EXTERN vSystemCallExit
|
EXTERN vSystemCallExit
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -191,7 +193,7 @@ vStartFirstTask:
|
||||||
cpsie f
|
cpsie f
|
||||||
dsb
|
dsb
|
||||||
isb
|
isb
|
||||||
svc 2 /* System call to start the first task. portSVC_START_SCHEDULER = 2. */
|
svc 102 /* System call to start the first task. portSVC_START_SCHEDULER = 102. */
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
ulSetInterruptMask:
|
ulSetInterruptMask:
|
||||||
|
@ -371,11 +373,9 @@ SVC_Handler:
|
||||||
|
|
||||||
ldr r1, [r0, #24]
|
ldr r1, [r0, #24]
|
||||||
ldrb r2, [r1, #-2]
|
ldrb r2, [r1, #-2]
|
||||||
cmp r2, #4 /* portSVC_SYSTEM_CALL_ENTER. */
|
cmp r2, #NUM_SYSTEM_CALLS
|
||||||
beq syscall_enter
|
blt syscall_enter
|
||||||
cmp r2, #5 /* portSVC_SYSTEM_CALL_ENTER_1. */
|
cmp r2, #104 /* portSVC_SYSTEM_CALL_EXIT. */
|
||||||
beq syscall_enter_1
|
|
||||||
cmp r2, #6 /* portSVC_SYSTEM_CALL_EXIT. */
|
|
||||||
beq syscall_exit
|
beq syscall_exit
|
||||||
b vPortSVCHandler_C
|
b vPortSVCHandler_C
|
||||||
|
|
||||||
|
@ -383,10 +383,6 @@ SVC_Handler:
|
||||||
mov r1, lr
|
mov r1, lr
|
||||||
b vSystemCallEnter
|
b vSystemCallEnter
|
||||||
|
|
||||||
syscall_enter_1:
|
|
||||||
mov r1, lr
|
|
||||||
b vSystemCallEnter_1
|
|
||||||
|
|
||||||
syscall_exit:
|
syscall_exit:
|
||||||
mov r1, lr
|
mov r1, lr
|
||||||
b vSystemCallExit
|
b vSystemCallExit
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
@ -287,6 +287,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
|
||||||
#define portSTACK_FRAME_HAS_PADDING_FLAG ( 1UL << 0UL )
|
#define portSTACK_FRAME_HAS_PADDING_FLAG ( 1UL << 0UL )
|
||||||
#define portTASK_IS_PRIVILEGED_FLAG ( 1UL << 1UL )
|
#define portTASK_IS_PRIVILEGED_FLAG ( 1UL << 1UL )
|
||||||
|
|
||||||
|
/* Size of an Access Control List (ACL) entry in bits. */
|
||||||
|
#define portACL_ENTRY_SIZE_BITS ( 32U )
|
||||||
|
|
||||||
typedef struct MPU_SETTINGS
|
typedef struct MPU_SETTINGS
|
||||||
{
|
{
|
||||||
uint32_t ulMAIR0; /**< MAIR0 for the task containing attributes for all the 4 per task regions. */
|
uint32_t ulMAIR0; /**< MAIR0 for the task containing attributes for all the 4 per task regions. */
|
||||||
|
@ -296,6 +299,9 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
|
||||||
|
|
||||||
#if ( configUSE_MPU_WRAPPERS_V1 == 0 )
|
#if ( configUSE_MPU_WRAPPERS_V1 == 0 )
|
||||||
xSYSTEM_CALL_STACK_INFO xSystemCallStackInfo;
|
xSYSTEM_CALL_STACK_INFO xSystemCallStackInfo;
|
||||||
|
#if ( configENABLE_ACCESS_CONTROL_LIST == 1 )
|
||||||
|
uint32_t ulAccessControlList[ ( configPROTECTED_KERNEL_OBJECT_POOL_SIZE / portACL_ENTRY_SIZE_BITS ) + 1 ];
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
} xMPU_SETTINGS;
|
} xMPU_SETTINGS;
|
||||||
|
|
||||||
|
@ -316,13 +322,12 @@ extern void vClearInterruptMask( uint32_t ulMask ) /* __attribute__(( naked )) P
|
||||||
/**
|
/**
|
||||||
* @brief SVC numbers.
|
* @brief SVC numbers.
|
||||||
*/
|
*/
|
||||||
#define portSVC_ALLOCATE_SECURE_CONTEXT 0
|
#define portSVC_ALLOCATE_SECURE_CONTEXT 100
|
||||||
#define portSVC_FREE_SECURE_CONTEXT 1
|
#define portSVC_FREE_SECURE_CONTEXT 101
|
||||||
#define portSVC_START_SCHEDULER 2
|
#define portSVC_START_SCHEDULER 102
|
||||||
#define portSVC_RAISE_PRIVILEGE 3
|
#define portSVC_RAISE_PRIVILEGE 103
|
||||||
#define portSVC_SYSTEM_CALL_ENTER 4 /* System calls with upto 4 parameters. */
|
#define portSVC_SYSTEM_CALL_EXIT 104
|
||||||
#define portSVC_SYSTEM_CALL_ENTER_1 5 /* System calls with 5 parameters. */
|
#define portSVC_YIELD 105
|
||||||
#define portSVC_SYSTEM_CALL_EXIT 6
|
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; * FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
; * FreeRTOS Kernel V10.6.2
|
||||||
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
; *
|
; *
|
||||||
; * SPDX-License-Identifier: MIT
|
; * SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; * FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
; * FreeRTOS Kernel V10.6.2
|
||||||
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
; *
|
; *
|
||||||
; * SPDX-License-Identifier: MIT
|
; * SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; * FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
; * FreeRTOS Kernel V10.6.2
|
||||||
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
; *
|
; *
|
||||||
; * SPDX-License-Identifier: MIT
|
; * SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; * FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
; * FreeRTOS Kernel V10.6.2
|
||||||
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
; *
|
; *
|
||||||
; * SPDX-License-Identifier: MIT
|
; * SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;/*
|
;/*
|
||||||
; * FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
; * FreeRTOS Kernel V10.6.2
|
||||||
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
; * Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
; *
|
; *
|
||||||
; * SPDX-License-Identifier: MIT
|
; * SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* FreeRTOS Kernel <DEVELOPMENT BRANCH>
|
* FreeRTOS Kernel V10.6.2
|
||||||
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
* Copyright (C) 2021 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue