mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2025-06-19 14:54:28 +08:00
Aws only files spell check (#593)
* Added spell check * All words * Add a missing word * Fix header checks * Fix header checks v1 * Fix header check v2 * Updated freertos link in header * Fixed afr link in the header * Fix last of header checks * Update the spell check script to check amazon licensed files only * Fixed paths and added comments * Try with modified repo * Add inplace substitute option to sed * Use official repo as the spell checker source * Add vendor file to the ignored list Co-authored-by: root <root@ip-172-31-5-28.us-west-2.compute.internal>
This commit is contained in:

committed by
GitHub

parent
e117bdcd17
commit
1bc759d413
3
.github/scripts/core_checker.py
vendored
3
.github/scripts/core_checker.py
vendored
@ -266,7 +266,8 @@ FREERTOS_IGNORED_FILES = [
|
||||
'run-cbmc-proofs.py',
|
||||
'.editorconfig',
|
||||
'lcovrc',
|
||||
'htif.c', 'htif.h'
|
||||
'htif.c', 'htif.h',
|
||||
'ethernetif.c'
|
||||
]
|
||||
|
||||
FREERTOS_HEADER = [
|
||||
|
34
.github/workflows/ci.yml
vendored
34
.github/workflows/ci.yml
vendored
@ -59,6 +59,39 @@ jobs:
|
||||
name: doxygen.zip-${{ github.sha }}
|
||||
path: ./freertos/doxygen.zip
|
||||
retention-days: 2
|
||||
|
||||
spell-check:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout Parent Repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
ref: main
|
||||
repository: FreeRTOS/CI-CD-Github-Actions
|
||||
path: commonCI
|
||||
- name: Clone This Repo
|
||||
uses: actions/checkout@v2
|
||||
with:
|
||||
path: ./FreeRTOS
|
||||
- name: Install spell
|
||||
run: |
|
||||
sudo apt-get install spell
|
||||
sudo apt-get install util-linux
|
||||
- name: Check spelling
|
||||
run: |
|
||||
# Add path to the tool to the environment variable.
|
||||
PATH=$PATH:commonCI/spellings/tools
|
||||
# Make sure that only Amazon licenced files are checked.
|
||||
sed -i 's/`find $DIRNAME \\( -iname \\\*\.\[ch\] -o -iname \\\*\.dox \\) -type f`/`grep -ril "copyright \(c\) \[0-9\]\[0-9\]\[0-9\]\[0-9\] amazon.com" | grep "\\.\[ch\]"`/g' commonCI/spellings/tools/find-unknown-comment-words
|
||||
# Run the spell check script.
|
||||
find-unknown-comment-words --directory FreeRTOS/ --lexicon FreeRTOS/lexicon.txt
|
||||
# Check the exit status.
|
||||
if [ "$?" = "0" ]; then
|
||||
exit 0
|
||||
else
|
||||
exit 1
|
||||
fi
|
||||
|
||||
verify-manifest:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
@ -71,4 +104,3 @@ jobs:
|
||||
run: python3 -m pip install -r .github/scripts/verify_manifest_requirements.txt
|
||||
- name: Run script to verify manifest.yml
|
||||
run: python3 .github/scripts/verify_manifest.py
|
||||
|
||||
|
@ -36,7 +36,7 @@
|
||||
* Device Defender is an AWS service.
|
||||
*
|
||||
* This demo subscribes to the Device Defender topics. It then collects metrics
|
||||
* for the open ports and sockets on the device using FreeRTOS+TCP. Additonally
|
||||
* for the open ports and sockets on the device using FreeRTOS+TCP. Additionally
|
||||
* the stack high water mark and task IDs are collected for custom metrics.
|
||||
* These metrics are used to generate a Device Defender report. The
|
||||
* report is then published, and the demo waits for a response from the device
|
||||
|
@ -259,11 +259,11 @@ static PublishPackets_t outgoingPublishPackets[ MAX_OUTGOING_PUBLISHES ] = { 0 }
|
||||
* in the backoffAlgorithm library API.
|
||||
*
|
||||
* @note The "uxRand" function represents a pseudo random number generator.
|
||||
* However, it is recommended to use a True Randon Number Generator (TRNG)
|
||||
* However, it is recommended to use a True Random Number Generator (TRNG)
|
||||
* for generating unique device-specific random values to avoid possibility
|
||||
* of network collisions from multiple devices retrying network operations.
|
||||
*
|
||||
* @return The generated randon number. This function ALWAYS succeeds.
|
||||
* @return The generated random number. This function ALWAYS succeeds.
|
||||
*/
|
||||
static int32_t prvGenerateRandomNumber();
|
||||
|
||||
|
@ -26,10 +26,10 @@
|
||||
|
||||
/**
|
||||
* @file aws_ota_codesigner_certificate.h
|
||||
* @brief Code signer certifciate as char array.
|
||||
* @brief Code signer certificate as char array.
|
||||
*
|
||||
* Define this char array containing the PEM encode signing certificate.
|
||||
* Note - It is highly recommended to use this for demo pupose and store
|
||||
* Note - It is highly recommended to use this for demo purpose and store
|
||||
* certificates in secure location in production devices.
|
||||
*/
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
/**
|
||||
* @file code_signature_verification.h
|
||||
* @brief Interface for code siganture verfication funtions.
|
||||
* @brief Interface for code signature verification functions.
|
||||
*
|
||||
*/
|
||||
|
||||
|
@ -25,10 +25,10 @@
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file code_signature_verfication_mbedtls.c
|
||||
* @file code_signature_verification_mbedtls.c
|
||||
* @brief Code signature verification using mbedtls crypto.
|
||||
*
|
||||
* The file demonstrates implements the code signature verfication functionality on
|
||||
* The file demonstrates implements the code signature verification functionality on
|
||||
* the specified file using mbedtls for SHA256 ECDSA.
|
||||
*/
|
||||
|
||||
|
@ -372,7 +372,7 @@ OtaPalImageState_t otaPal_GetPlatformImageState( OtaFileContext_t * const pFileC
|
||||
if( 1 != fread( &eSavedAgentState, sizeof(OtaImageState_t), 1, pstPlatformImageState ) ) /*lint !e586 !e9029
|
||||
* C standard library call is being used for portability. */
|
||||
{
|
||||
/* If an error occured reading the file, mark the state as aborted. */
|
||||
/* If an error occurred reading the file, mark the state as aborted. */
|
||||
LogError( ( "Unable to read image state file.\r\n" ) );
|
||||
ePalState = ( OtaPalImageStateInvalid | (errno & OTA_PAL_ERR_MASK) );
|
||||
}
|
||||
|
@ -431,7 +431,7 @@ static TlsTransportParams_t xTlsTransportParamsHttps;
|
||||
* elements are done only from one task at a time. The subscription manager
|
||||
* implementation expects that the array of the subscription elements used for
|
||||
* storing subscriptions to be initialized to 0. As this is a global array, it
|
||||
* will be intialized to 0 by default.
|
||||
* will be initialized to 0 by default.
|
||||
*/
|
||||
static SubscriptionElement_t xGlobalSubscriptionList[ SUBSCRIPTION_MANAGER_MAX_SUBSCRIPTIONS ];
|
||||
|
||||
@ -522,7 +522,7 @@ static void prvMQTTAgentTask(void* pParam);
|
||||
* for the request complete notification from the agent. The notification along with result of the
|
||||
* operation is sent back to the caller task using xTaksNotify API. For publishes involving QOS 1 and
|
||||
* QOS2 the operation is complete once an acknowledgment (PUBACK) is received. OTA agent uses this function
|
||||
* to fetch new job, provide status update and send other control related messges to the MQTT broker.
|
||||
* to fetch new job, provide status update and send other control related messages to the MQTT broker.
|
||||
*
|
||||
* @param[in] pacTopic Topic to publish the control packet to.
|
||||
* @param[in] topicLen Length of the topic string.
|
||||
@ -2134,7 +2134,7 @@ static void prvMQTTAgentTask(void* pParam)
|
||||
/* Clear Agent queue so that no any pending MQTT operations are processed. */
|
||||
xQueueReset(xCommandQueue.queue);
|
||||
|
||||
/* Success is returned for application intiated disconnect or termination. The socket will also be disconnected by the caller. */
|
||||
/* Success is returned for application initiated disconnect or termination. The socket will also be disconnected by the caller. */
|
||||
if (xMQTTStatus != MQTTSuccess)
|
||||
{
|
||||
xResult = prvSuspendOTA();
|
||||
|
@ -180,7 +180,7 @@ extern void vLoggingPrintf( const char * pcFormatString,
|
||||
* Enable data over MQTT - ( OTA_DATA_OVER_MQTT )
|
||||
* Enable data over HTTP - ( OTA_DATA_OVER_HTTP)
|
||||
*
|
||||
* Note - Please check the OTA over MQTT demo which has the MQTT data trasnfer functionality and
|
||||
* Note - Please check the OTA over MQTT demo which has the MQTT data transfer functionality and
|
||||
* and this configuration is set to OTA_DATA_OVER_MQTT.
|
||||
*/
|
||||
#define configENABLED_DATA_PROTOCOLS ( OTA_DATA_OVER_HTTP )
|
||||
|
@ -366,7 +366,7 @@ static TlsTransportParams_t xTlsTransportParams;
|
||||
* elements are done only from one task at a time. The subscription manager
|
||||
* implementation expects that the array of the subscription elements used for
|
||||
* storing subscriptions to be initialized to 0. As this is a global array, it
|
||||
* will be intialized to 0 by default.
|
||||
* will be initialized to 0 by default.
|
||||
*/
|
||||
static SubscriptionElement_t xGlobalSubscriptionList[ SUBSCRIPTION_MANAGER_MAX_SUBSCRIPTIONS ];
|
||||
|
||||
@ -438,7 +438,7 @@ static void prvMQTTAgentTask(void* pParam);
|
||||
* for the request complete notification from the agent. The notification along with result of the
|
||||
* operation is sent back to the caller task using xTaksNotify API. For publishes involving QOS 1 and
|
||||
* QOS2 the operation is complete once an acknowledgment (PUBACK) is received. OTA agent uses this function
|
||||
* to fetch new job, provide status update and send other control related messges to the MQTT broker.
|
||||
* to fetch new job, provide status update and send other control related messages to the MQTT broker.
|
||||
*
|
||||
* @param[in] pacTopic Topic to publish the control packet to.
|
||||
* @param[in] topicLen Length of the topic string.
|
||||
@ -1727,7 +1727,7 @@ static void prvMQTTAgentTask(void* pParam)
|
||||
/* Clear Agent queue so that no any pending MQTT operations are processed. */
|
||||
xQueueReset(xCommandQueue.queue);
|
||||
|
||||
/* Success is returned for application intiated disconnect or termination. The socket will also be disconnected by the caller. */
|
||||
/* Success is returned for application initiated disconnect or termination. The socket will also be disconnected by the caller. */
|
||||
if (xMQTTStatus != MQTTSuccess)
|
||||
{
|
||||
xResult = prvSuspendOTA();
|
||||
|
@ -180,7 +180,7 @@ extern void vLoggingPrintf( const char * pcFormatString,
|
||||
* Enable data over MQTT - ( OTA_DATA_OVER_MQTT )
|
||||
* Enable data over HTTP - ( OTA_DATA_OVER_HTTP)
|
||||
*
|
||||
* Note - Please check the OTA over HTTP demo which has the HTTP data trasnfer functionality and
|
||||
* Note - Please check the OTA over HTTP demo which has the HTTP data transfer functionality and
|
||||
* and this configuration is set to OTA_DATA_OVER_HTTP.
|
||||
*/
|
||||
#define configENABLED_DATA_PROTOCOLS ( OTA_DATA_OVER_MQTT )
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/* FreeRTOS includes. */
|
||||
@ -1405,7 +1404,7 @@ int32_t lStatus;
|
||||
}
|
||||
else
|
||||
{
|
||||
strcpy( pcWriteBuffer, "Working state changes succesfully aborted." );
|
||||
strcpy( pcWriteBuffer, "Working state changes successfully aborted." );
|
||||
}
|
||||
}
|
||||
|
||||
@ -1437,7 +1436,7 @@ FSSTRESSPARAM param;
|
||||
uxOriginalPriority = uxTaskPriorityGet( NULL );
|
||||
vTaskPrioritySet( NULL, configMAX_PRIORITIES - 1 );
|
||||
|
||||
/* Delete all files to avoid inteferring with the test. */
|
||||
/* Delete all files to avoid interfering with the test. */
|
||||
red_umount( "" );
|
||||
red_format( "" );
|
||||
red_mount( "" );
|
||||
|
@ -28,7 +28,7 @@
|
||||
* A set of tasks are created that send TCP echo requests to the standard echo
|
||||
* port (port 7) on the IP address set by the configECHO_SERVER_ADDR0 to
|
||||
* configECHO_SERVER_ADDR3 constants, then wait for and verify the reply
|
||||
* (another demo is avilable that demonstrates the reception being performed in
|
||||
* (another demo is available that demonstrates the reception being performed in
|
||||
* a task other than that from with the request was made).
|
||||
*
|
||||
* See the following web page for essential demo usage and configuration
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
/*
|
||||
* Contains sundry tests to exercise code that is not touched by the standard
|
||||
* demo tasks (which are predominantly test tasks). Some tests are incldued
|
||||
* demo tasks (which are predominantly test tasks). Some tests are included
|
||||
* here because they can only be executed when configASSERT() is not defined.
|
||||
*/
|
||||
|
||||
|
@ -28,7 +28,7 @@
|
||||
* A set of tasks are created that send TCP echo requests to the standard echo
|
||||
* port (port 7) on the IP address set by the configECHO_SERVER_ADDR0 to
|
||||
* configECHO_SERVER_ADDR3 constants, then wait for and verify the reply
|
||||
* (another demo is avilable that demonstrates the reception being performed in
|
||||
* (another demo is available that demonstrates the reception being performed in
|
||||
* a task other than that from with the request was made).
|
||||
*
|
||||
* See the following web page for essential demo usage and configuration
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
@ -19,17 +19,16 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
* A set of tasks are created that send TCP echo requests to the standard echo
|
||||
* port (port 7) on the IP address set by the configECHO_SERVER_ADDR0 to
|
||||
* configECHO_SERVER_ADDR3 constants, then wait for and verify the reply
|
||||
* (another demo is avilable that demonstrates the reception being performed in
|
||||
* (another demo is available that demonstrates the reception being performed in
|
||||
* a task other than that from with the request was made).
|
||||
*
|
||||
* See the following web page for essential demo usage and configuration
|
||||
|
@ -319,7 +319,7 @@ static void prvObjectGeneration( void )
|
||||
CK_BYTE pucPublicKeyLabel[] = { pkcs11configLABEL_DEVICE_PRIVATE_KEY_FOR_TLS };
|
||||
CK_BYTE pucPrivateKeyLabel[] = { pkcs11configLABEL_DEVICE_PUBLIC_KEY_FOR_TLS };
|
||||
|
||||
/* CK_ATTTRIBUTE's contain an attribute type, a value, and the length of
|
||||
/* CK_ATTRIBUTE's contain an attribute type, a value, and the length of
|
||||
* the value. An array of CK_ATTRIBUTEs is called a template. They are used
|
||||
* for creating, searching, and manipulating for objects. The order of the
|
||||
* template does not matter.
|
||||
|
@ -851,7 +851,7 @@ const char * mbedtls_strerror_highlevel( int32_t errnum )
|
||||
break;
|
||||
|
||||
case -( MBEDTLS_ERR_X509_FATAL_ERROR ):
|
||||
rc = "X509 - A fatal error occured, eg the chain is too long or the vrfy callback failed";
|
||||
rc = "X509 - A fatal error occurred, eg the chain is too long or the vrfy callback failed";
|
||||
break;
|
||||
#endif /* MBEDTLS_X509_USE_C || MBEDTLS_X509_CREATE_C */
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
@ -19,10 +19,10 @@
|
||||
* 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.
|
||||
*
|
||||
* http://aws.amazon.com/freertos
|
||||
* http://www.FreeRTOS.org
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
#define FREERTOS_CONFIG_H
|
||||
|
||||
@ -229,7 +229,7 @@ extern void vLoggingPrint(const char* pcMessage);
|
||||
|
||||
#define configPROFILING ( 0 )
|
||||
|
||||
/* Pseudo random number generater used by some demo tasks. */
|
||||
/* Pseudo random number generator used by some demo tasks. */
|
||||
extern uint32_t ulRand();
|
||||
#define configRAND32() ulRand()
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
@ -31,7 +30,7 @@
|
||||
#include <LPC21xx.h>
|
||||
#define vPortYieldProcessor swi_handler
|
||||
|
||||
/* For compatability with the LPC2106 header. */
|
||||
/* For compatibility with the LPC2106 header. */
|
||||
#define T0_IR T0IR
|
||||
#define T0_PR T0PR
|
||||
#define T0_MR0 T0MR0
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -121,7 +120,7 @@ int main()
|
||||
the control of the kernel. */
|
||||
vTaskStartScheduler();
|
||||
|
||||
/* Will only get here if there was insufficient heap availale for the
|
||||
/* Will only get here if there was insufficient heap available for the
|
||||
idle task to be created. */
|
||||
for( ;; );
|
||||
}
|
||||
|
@ -1,3 +1,29 @@
|
||||
/*
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 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
|
||||
*
|
||||
*/
|
||||
|
||||
/*This file has been prepared for Doxygen automatic documentation generation.*/
|
||||
/*! \file *********************************************************************
|
||||
*
|
||||
@ -29,34 +55,6 @@
|
||||
*
|
||||
*****************************************************************************/
|
||||
|
||||
/*
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
#include <stdio.h>
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
@ -154,7 +152,7 @@ static void vMemCheckTask( void *pvParameters );
|
||||
|
||||
/*
|
||||
* Called by the check task following the detection of an error to set the
|
||||
* LEDs into a state that shows an error has beeen found.
|
||||
* LEDs into a state that shows an error has been found.
|
||||
*/
|
||||
static void prvIndicateError( void );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -58,7 +57,7 @@ xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned port
|
||||
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
||||
|
||||
USART3.CTRLB = 1 << USART_RXEN_bp /* Reciever enable: enabled */
|
||||
USART3.CTRLB = 1 << USART_RXEN_bp /* Receiver enable: enabled */
|
||||
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
||||
}
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -57,7 +56,7 @@ xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned port
|
||||
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
||||
|
||||
USART3.CTRLB = 1 << USART_RXEN_bp /* Reciever enable: enabled */
|
||||
USART3.CTRLB = 1 << USART_RXEN_bp /* Receiver enable: enabled */
|
||||
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
||||
}
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -58,7 +57,7 @@ xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned port
|
||||
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
||||
|
||||
USART3.CTRLB = 1 << USART_RXEN_bp /* Reciever enable: enabled */
|
||||
USART3.CTRLB = 1 << USART_RXEN_bp /* Receiver enable: enabled */
|
||||
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
||||
}
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -58,7 +57,7 @@ xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned port
|
||||
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
||||
|
||||
USART1.CTRLB = 1 << USART_RXEN_bp /* Reciever enable: enabled */
|
||||
USART1.CTRLB = 1 << USART_RXEN_bp /* Receiver enable: enabled */
|
||||
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
||||
}
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -57,7 +56,7 @@ xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned port
|
||||
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
||||
|
||||
USART1.CTRLB = 1 << USART_RXEN_bp /* Reciever enable: enabled */
|
||||
USART1.CTRLB = 1 << USART_RXEN_bp /* Receiver enable: enabled */
|
||||
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
||||
}
|
||||
|
@ -57,7 +57,7 @@ xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned port
|
||||
| USART_RS485_DISABLE_gc /* RS485 Mode disabled */
|
||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
||||
|
||||
USART1.CTRLB = 1 << USART_RXEN_bp /* Reciever enable: enabled */
|
||||
USART1.CTRLB = 1 << USART_RXEN_bp /* Receiver enable: enabled */
|
||||
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
||||
}
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -94,7 +93,7 @@ BaseType_t xStatus;
|
||||
XUartPs_Config *pxConfig;
|
||||
|
||||
/* Create the queue used to hold received characters. NOTE THE COMMENTS AT
|
||||
THE TOP OF THIS FILE REGARDING THE USE OF QUEUES FOR THIS PURPSOE. */
|
||||
THE TOP OF THIS FILE REGARDING THE USE OF QUEUES FOR THIS PURPOSE. */
|
||||
xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
|
||||
configASSERT( xRxQueue );
|
||||
|
||||
@ -222,7 +221,7 @@ char cChar;
|
||||
ulChannelStatusRegister = XUartPs_ReadReg( XPAR_PS7_UART_1_BASEADDR, XUARTPS_SR_OFFSET );
|
||||
|
||||
/* Move data from the Rx FIFO to the Rx queue. NOTE THE COMMENTS AT THE
|
||||
TOP OF THIS FILE ABOUT USING QUEUES FOR THIS PURPSOE. */
|
||||
TOP OF THIS FILE ABOUT USING QUEUES FOR THIS PURPOSE. */
|
||||
while( ( ulChannelStatusRegister & XUARTPS_SR_RXEMPTY ) == 0 )
|
||||
{
|
||||
cChar = XUartPs_ReadReg( XPAR_PS7_UART_1_BASEADDR, XUARTPS_FIFO_OFFSET );
|
||||
@ -245,7 +244,7 @@ char cChar;
|
||||
{
|
||||
if( xUARTInstance.SendBuffer.RemainingBytes == 0 )
|
||||
{
|
||||
/* Give back the semaphore to indicate that the tranmission is
|
||||
/* Give back the semaphore to indicate that the transmission is
|
||||
complete. If giving the semaphore unblocks a task, and the
|
||||
unblocked task has a priority above the currently running task (the
|
||||
task that this interrupt interrupted), then xHigherPriorityTaskWoken
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#include <device.h>
|
||||
@ -39,7 +38,7 @@ CY_ISR_PROTO( vHighFrequencySecondISR );
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Installs and starts the ISRs that drive the Interupt Queue Tests.
|
||||
* Installs and starts the ISRs that drive the Interrupt Queue Tests.
|
||||
*/
|
||||
void vInitialiseTimerForIntQueueTest( void )
|
||||
{
|
||||
|
@ -19,17 +19,16 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef INT_QUEUE_TIMER_H_
|
||||
#define INT_QUEUE_TIMER_H_
|
||||
|
||||
/**
|
||||
* Install and start the ISRs that drive the Interupt Queue Tests.
|
||||
* Install and start the ISRs that drive the Interrupt Queue Tests.
|
||||
*/
|
||||
void vInitialiseTimerForIntQueueTest( void );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#include <device.h>
|
||||
@ -188,7 +187,7 @@ unsigned short usErrorCode = 0;
|
||||
unsigned long ulIteration = 0;
|
||||
extern unsigned short usMaxJitter;
|
||||
|
||||
/* Intialise the sleeper. */
|
||||
/* Initialise the sleeper. */
|
||||
xDelay = xTaskGetTickCount();
|
||||
|
||||
for( ;; )
|
||||
@ -289,7 +288,7 @@ extern unsigned short usMaxJitter;
|
||||
|
||||
void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
||||
{
|
||||
/* The stack space has been execeeded for a task, considering allocating more. */
|
||||
/* The stack space has been exceeded for a task, considering allocating more. */
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ;; );
|
||||
}
|
||||
@ -297,7 +296,7 @@ void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
||||
|
||||
void vApplicationMallocFailedHook( void )
|
||||
{
|
||||
/* The heap space has been execeeded. */
|
||||
/* The heap space has been exceeded. */
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ;; );
|
||||
}
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#include <device.h>
|
||||
@ -39,7 +38,7 @@ CY_ISR_PROTO( vHighFrequencySecondISR );
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Installs and starts the ISRs that drive the Interupt Queue Tests.
|
||||
* Installs and starts the ISRs that drive the Interrupt Queue Tests.
|
||||
*/
|
||||
void vInitialiseTimerForIntQueueTest( void )
|
||||
{
|
||||
|
@ -19,17 +19,16 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef INT_QUEUE_TIMER_H_
|
||||
#define INT_QUEUE_TIMER_H_
|
||||
|
||||
/**
|
||||
* Install and start the ISRs that drive the Interupt Queue Tests.
|
||||
* Install and start the ISRs that drive the Interrupt Queue Tests.
|
||||
*/
|
||||
void vInitialiseTimerForIntQueueTest( void );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#include <device.h>
|
||||
@ -188,7 +187,7 @@ unsigned short usErrorCode = 0;
|
||||
unsigned long ulIteration = 0;
|
||||
extern unsigned short usMaxJitter;
|
||||
|
||||
/* Intialise the sleeper. */
|
||||
/* Initialise the sleeper. */
|
||||
xDelay = xTaskGetTickCount();
|
||||
|
||||
for( ;; )
|
||||
@ -289,7 +288,7 @@ extern unsigned short usMaxJitter;
|
||||
|
||||
void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
||||
{
|
||||
/* The stack space has been execeeded for a task, considering allocating more. */
|
||||
/* The stack space has been exceeded for a task, considering allocating more. */
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ;; );
|
||||
}
|
||||
@ -297,7 +296,7 @@ void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
||||
|
||||
void vApplicationMallocFailedHook( void )
|
||||
{
|
||||
/* The heap space has been execeeded. */
|
||||
/* The heap space has been exceeded. */
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ;; );
|
||||
}
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#include <device.h>
|
||||
@ -39,7 +38,7 @@ CY_ISR_PROTO( vHighFrequencySecondISR );
|
||||
/*---------------------------------------------------------------------------*/
|
||||
|
||||
/**
|
||||
* Installs and starts the ISRs that drive the Interupt Queue Tests.
|
||||
* Installs and starts the ISRs that drive the Interrupt Queue Tests.
|
||||
*/
|
||||
void vInitialiseTimerForIntQueueTest( void )
|
||||
{
|
||||
|
@ -19,17 +19,16 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef INT_QUEUE_TIMER_H_
|
||||
#define INT_QUEUE_TIMER_H_
|
||||
|
||||
/**
|
||||
* Install and start the ISRs that drive the Interupt Queue Tests.
|
||||
* Install and start the ISRs that drive the Interrupt Queue Tests.
|
||||
*/
|
||||
void vInitialiseTimerForIntQueueTest( void );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#include <device.h>
|
||||
@ -188,7 +187,7 @@ unsigned short usErrorCode = 0;
|
||||
unsigned long ulIteration = 0;
|
||||
extern unsigned short usMaxJitter;
|
||||
|
||||
/* Intialise the sleeper. */
|
||||
/* Initialise the sleeper. */
|
||||
xDelay = xTaskGetTickCount();
|
||||
|
||||
for( ;; )
|
||||
@ -289,7 +288,7 @@ extern unsigned short usMaxJitter;
|
||||
|
||||
void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
||||
{
|
||||
/* The stack space has been execeeded for a task, considering allocating more. */
|
||||
/* The stack space has been exceeded for a task, considering allocating more. */
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ;; );
|
||||
}
|
||||
@ -297,7 +296,7 @@ void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
||||
|
||||
void vApplicationMallocFailedHook( void )
|
||||
{
|
||||
/* The heap space has been execeeded. */
|
||||
/* The heap space has been exceeded. */
|
||||
taskDISABLE_INTERRUPTS();
|
||||
for( ;; );
|
||||
}
|
||||
|
@ -19,13 +19,12 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/* Standard inlcludes. */
|
||||
/* Standard includes. */
|
||||
#include <limits.h>
|
||||
|
||||
/* FreeRTOS includes. */
|
||||
@ -350,7 +349,7 @@ void RTCC_IRQHandler( void )
|
||||
|
||||
/* Set up a timer that used used to bring the MCU out of sleep mode using
|
||||
an interrupt other than the tick interrupt. This is done for code coverage
|
||||
puposes only. */
|
||||
purposes only. */
|
||||
void prvSetupTestTimer( void )
|
||||
{
|
||||
static const LETIMER_Init_TypeDef xLETimerInitStruct =
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -57,7 +56,7 @@
|
||||
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||
* an error be detected in any task or co-routine.
|
||||
*
|
||||
* In addition the idle task makes repetative calls to
|
||||
* In addition the idle task makes repetitive calls to
|
||||
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||
* with a known value, then checks each register to ensure the held value is
|
||||
* still correct. As a low priority task this checking routine is likely to
|
||||
@ -112,7 +111,7 @@ a character after this time then there must be an error in the transmission or
|
||||
the timing of the transmission. */
|
||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||
|
||||
/* The task priorites. */
|
||||
/* The task priorities. */
|
||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
|
||||
@ -351,12 +350,12 @@ static char cRxedChar, cExpectedChar;
|
||||
/* Wait for a character to be received. */
|
||||
xQueueReceive( xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY );
|
||||
|
||||
/* Was the character recived (if any) the expected character. */
|
||||
/* Was the character received (if any) the expected character. */
|
||||
if( cRxedChar != cExpectedChar )
|
||||
{
|
||||
/* Got an unexpected character. This can sometimes occur when
|
||||
reseting the system using the debugger leaving characters already
|
||||
in the UART regsters. */
|
||||
in the UART registers. */
|
||||
uxErrorStatus = pdFAIL;
|
||||
|
||||
/* Resync by waiting for the end of the current string. */
|
||||
@ -489,7 +488,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
/* Clear the interrupt. */
|
||||
UARTIntClear( UART0_BASE, ulStatus );
|
||||
|
||||
/* Was an Rx interrpt pending? */
|
||||
/* Was an Rx interrupt pending? */
|
||||
if( ulStatus & UART_INT_RX )
|
||||
{
|
||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -57,7 +56,7 @@
|
||||
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||
* an error be detected in any task or co-routine.
|
||||
*
|
||||
* In addition the idle task makes repetative calls to
|
||||
* In addition the idle task makes repetitive calls to
|
||||
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||
* with a known value, then checks each register to ensure the held value is
|
||||
* still correct. As a low priority task this checking routine is likely to
|
||||
@ -116,7 +115,7 @@ a character after this time then there must be an error in the transmission or
|
||||
the timing of the transmission. */
|
||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||
|
||||
/* The task priorites. */
|
||||
/* The task priorities. */
|
||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
|
||||
@ -357,12 +356,12 @@ portBASE_TYPE xResult;
|
||||
/* Wait for a character to be received. */
|
||||
crQUEUE_RECEIVE( xHandle, xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY, &xResult );
|
||||
|
||||
/* Was the character recived (if any) the expected character. */
|
||||
/* Was the character received (if any) the expected character. */
|
||||
if( ( cRxedChar != cExpectedChar ) || ( xResult != pdPASS ) )
|
||||
{
|
||||
/* Got an unexpected character. This can sometimes occur when
|
||||
reseting the system using the debugger leaving characters already
|
||||
in the UART regsters. */
|
||||
in the UART registers. */
|
||||
uxErrorStatus = pdFAIL;
|
||||
|
||||
/* Resync by waiting for the end of the current string. */
|
||||
@ -497,7 +496,7 @@ portBASE_TYPE xTaskWokenByPost = pdFALSE;
|
||||
/* Clear the interrupt. */
|
||||
UARTIntClear( UART0_BASE, ulStatus );
|
||||
|
||||
/* Was an Rx interrpt pending? */
|
||||
/* Was an Rx interrupt pending? */
|
||||
if( ulStatus & UART_INT_RX )
|
||||
{
|
||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -57,7 +56,7 @@
|
||||
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||
* an error be detected in any task or co-routine.
|
||||
*
|
||||
* In addition the idle task makes repetative calls to
|
||||
* In addition the idle task makes repetitive calls to
|
||||
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||
* with a known value, then checks each register to ensure the held value is
|
||||
* still correct. As a low priority task this checking routine is likely to
|
||||
@ -112,7 +111,7 @@ a character after this time then there must be an error in the transmission or
|
||||
the timing of the transmission. */
|
||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||
|
||||
/* The task priorites. */
|
||||
/* The task priorities. */
|
||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
|
||||
@ -351,12 +350,12 @@ static char cRxedChar, cExpectedChar;
|
||||
/* Wait for a character to be received. */
|
||||
xQueueReceive( xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY );
|
||||
|
||||
/* Was the character recived (if any) the expected character. */
|
||||
/* Was the character received (if any) the expected character. */
|
||||
if( cRxedChar != cExpectedChar )
|
||||
{
|
||||
/* Got an unexpected character. This can sometimes occur when
|
||||
reseting the system using the debugger leaving characters already
|
||||
in the UART regsters. */
|
||||
in the UART registers. */
|
||||
uxErrorStatus = pdFAIL;
|
||||
|
||||
/* Resync by waiting for the end of the current string. */
|
||||
@ -489,7 +488,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
/* Clear the interrupt. */
|
||||
UARTIntClear( UART0_BASE, ulStatus );
|
||||
|
||||
/* Was an Rx interrpt pending? */
|
||||
/* Was an Rx interrupt pending? */
|
||||
if( ulStatus & UART_INT_RX )
|
||||
{
|
||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -57,7 +56,7 @@
|
||||
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||
* an error be detected in any task or co-routine.
|
||||
*
|
||||
* In addition the idle task makes repetative calls to
|
||||
* In addition the idle task makes repetitive calls to
|
||||
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||
* with a known value, then checks each register to ensure the held value is
|
||||
* still correct. As a low priority task this checking routine is likely to
|
||||
@ -112,7 +111,7 @@ a character after this time then there must be an error in the transmission or
|
||||
the timing of the transmission. */
|
||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||
|
||||
/* The task priorites. */
|
||||
/* The task priorities. */
|
||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
|
||||
@ -352,12 +351,12 @@ static char cRxedChar, cExpectedChar;
|
||||
/* Wait for a character to be received. */
|
||||
xQueueReceive( xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY );
|
||||
|
||||
/* Was the character recived (if any) the expected character. */
|
||||
/* Was the character received (if any) the expected character. */
|
||||
if( cRxedChar != cExpectedChar )
|
||||
{
|
||||
/* Got an unexpected character. This can sometimes occur when
|
||||
reseting the system using the debugger leaving characters already
|
||||
in the UART regsters. */
|
||||
in the UART registers. */
|
||||
uxErrorStatus = pdFAIL;
|
||||
|
||||
/* Resync by waiting for the end of the current string. */
|
||||
@ -490,7 +489,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
/* Clear the interrupt. */
|
||||
UARTIntClear( UART0_BASE, ulStatus );
|
||||
|
||||
/* Was an Rx interrpt pending? */
|
||||
/* Was an Rx interrupt pending? */
|
||||
if( ulStatus & UART_INT_RX )
|
||||
{
|
||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -57,7 +56,7 @@
|
||||
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||
* an error be detected in any task or co-routine.
|
||||
*
|
||||
* In addition the idle task makes repetative calls to
|
||||
* In addition the idle task makes repetitive calls to
|
||||
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||
* with a known value, then checks each register to ensure the held value is
|
||||
* still correct. As a low priority task this checking routine is likely to
|
||||
@ -116,7 +115,7 @@ a character after this time then there must be an error in the transmission or
|
||||
the timing of the transmission. */
|
||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||
|
||||
/* The task priorites. */
|
||||
/* The task priorities. */
|
||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||
|
||||
@ -358,12 +357,12 @@ portBASE_TYPE xResult;
|
||||
/* Wait for a character to be received. */
|
||||
crQUEUE_RECEIVE( xHandle, xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY, &xResult );
|
||||
|
||||
/* Was the character recived (if any) the expected character. */
|
||||
/* Was the character received (if any) the expected character. */
|
||||
if( ( cRxedChar != cExpectedChar ) || ( xResult != pdPASS ) )
|
||||
{
|
||||
/* Got an unexpected character. This can sometimes occur when
|
||||
reseting the system using the debugger leaving characters already
|
||||
in the UART regsters. */
|
||||
in the UART registers. */
|
||||
uxErrorStatus = pdFAIL;
|
||||
|
||||
/* Resync by waiting for the end of the current string. */
|
||||
@ -498,7 +497,7 @@ portBASE_TYPE xTaskWokenByPost = pdFALSE;
|
||||
/* Clear the interrupt. */
|
||||
UARTIntClear( UART0_BASE, ulStatus );
|
||||
|
||||
/* Was an Rx interrpt pending? */
|
||||
/* Was an Rx interrupt pending? */
|
||||
if( ulStatus & UART_INT_RX )
|
||||
{
|
||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -195,7 +194,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
||||
/* Clear the interrupt. */
|
||||
UARTIntClear( UART0_BASE, ulStatus );
|
||||
|
||||
/* Was an Rx interrpt pending? */
|
||||
/* Was an Rx interrupt pending? */
|
||||
if( ulStatus & UART_INT_RX )
|
||||
{
|
||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
||||
@ -242,12 +241,12 @@ static char cRxedChar, cExpectedChar;
|
||||
/* Wait for a character to be received. */
|
||||
xQueueReceive( xCommsQueue, ( void * ) &cRxedChar, commsRX_DELAY );
|
||||
|
||||
/* Was the character recived (if any) the expected character. */
|
||||
/* Was the character received (if any) the expected character. */
|
||||
if( cRxedChar != cExpectedChar )
|
||||
{
|
||||
/* Got an unexpected character. This can sometimes occur when
|
||||
reseting the system using the debugger leaving characters already
|
||||
in the UART regsters. */
|
||||
in the UART registers. */
|
||||
uxCommsErrorStatus = pdFAIL;
|
||||
|
||||
/* Resync by waiting for the end of the current string. */
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
@ -56,7 +55,7 @@
|
||||
* "Interrupt semaphore take" task - This task does nothing but block on a
|
||||
* semaphore that is 'given' from the tick hook function (which is defined in
|
||||
* main.c). It toggles the fourth LED each time it receives the semaphore. The
|
||||
* Semahore is given every 50ms, so LED 4 toggles every 50ms.
|
||||
* Semaphore is given every 50ms, so LED 4 toggles every 50ms.
|
||||
*
|
||||
* "Flash timers" - A software timer callback function is defined that does
|
||||
* nothing but toggle an LED. Three software timers are created that each
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -176,7 +175,7 @@ extern void vUARTCommandConsoleStart( uint16_t usStackSize, UBaseType_t uxPriori
|
||||
void vFullDemoIdleHook( void );
|
||||
|
||||
/*
|
||||
* The full demo configures the clocks for maximum frequency, wheras the blinky
|
||||
* The full demo configures the clocks for maximum frequency, whereas the blinky
|
||||
* demo uses a slower clock as it also uses low power features.
|
||||
*/
|
||||
static void prvConfigureClocks( void );
|
||||
@ -401,7 +400,7 @@ static void prvConfigureClocks( void )
|
||||
FlashCtl_setWaitState( FLASH_BANK0, 2 );
|
||||
FlashCtl_setWaitState( FLASH_BANK1, 2 );
|
||||
|
||||
/* The full demo configures the clocks for maximum frequency, wheras the
|
||||
/* The full demo configures the clocks for maximum frequency, whereas the
|
||||
blinky demo uses a slower clock as it also uses low power features. Maximum
|
||||
freqency also needs more voltage.
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -90,7 +89,7 @@ const eUSCI_UART_Config xUARTConfig =
|
||||
xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned long uxQueueLength )
|
||||
{
|
||||
/* Create the queue used to hold received characters. NOTE THE COMMENTS AT
|
||||
THE TOP OF THIS FILE REGARDING THE USE OF QUEUES FOR THIS PURPSOE. */
|
||||
THE TOP OF THIS FILE REGARDING THE USE OF QUEUES FOR THIS PURPOSE. */
|
||||
xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
|
||||
configASSERT( xRxQueue );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
@ -115,7 +114,7 @@ static void prvQueueSendTask( void *pvParameters );
|
||||
void main_blinky( void );
|
||||
|
||||
/*
|
||||
* The full demo configures the clocks for maximum frequency, wheras this blinky
|
||||
* The full demo configures the clocks for maximum frequency, whereas this blinky
|
||||
* demo uses a slower clock as it also uses low power features.
|
||||
*/
|
||||
static void prvConfigureClocks( void );
|
||||
@ -142,7 +141,7 @@ void main_blinky( void )
|
||||
the blinky demo) and a tickless RTOS implementation that is tailored
|
||||
specifically to the MSP432. */
|
||||
|
||||
/* The full demo configures the clocks for maximum frequency, wheras this
|
||||
/* The full demo configures the clocks for maximum frequency, whereas this
|
||||
blinky demo uses a slower clock as it also uses low power features. */
|
||||
prvConfigureClocks();
|
||||
|
||||
@ -238,7 +237,7 @@ static const TickType_t xShortBlock = pdMS_TO_TICKS( 50 );
|
||||
|
||||
static void prvConfigureClocks( void )
|
||||
{
|
||||
/* The full demo configures the clocks for maximum frequency, wheras this
|
||||
/* The full demo configures the clocks for maximum frequency, whereas this
|
||||
blinky demo uses a slower clock as it also uses low power features.
|
||||
|
||||
From the datasheet: For AM_LDO_VCORE0 and AM_DCDC_VCORE0 modes, the maximum
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
@ -115,7 +114,7 @@ static void prvQueueSendTask( void *pvParameters );
|
||||
void main_blinky( void );
|
||||
|
||||
/*
|
||||
* The full demo configures the clocks for maximum frequency, wheras this blinky
|
||||
* The full demo configures the clocks for maximum frequency, whereas this blinky
|
||||
* demo uses a slower clock as it also uses low power features.
|
||||
*/
|
||||
static void prvConfigureClocks( void );
|
||||
@ -140,7 +139,7 @@ void main_blinky( void )
|
||||
the blinky demo) and a tickless RTOS implementation that is tailored
|
||||
specifically to the MSP432. */
|
||||
|
||||
/* The full demo configures the clocks for maximum frequency, wheras this
|
||||
/* The full demo configures the clocks for maximum frequency, whereas this
|
||||
blinky demo uses a slower clock as it also uses low power features. */
|
||||
prvConfigureClocks();
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -123,7 +122,7 @@
|
||||
* sbRECEIVE_COMPLETED macro only works if the sender and receiver are under the
|
||||
* control of the same instance of FreeRTOS and execute on the same core.
|
||||
* Therefore, just as the application that executes on the M7 core overrides
|
||||
* the default implementation of sbSEND_SOMPLETED(), the application that runs
|
||||
* the default implementation of sbSEND_COMPLETED(), the application that runs
|
||||
* on the M4 core overrides the default implementation of sbRECEIVE_COMPLETED()
|
||||
* to likewise generate an interrupt in the M7 core - so sbRECEIVE_COMPLETED()
|
||||
* executes on the M4 core and generates an interrupt on the M7 core. To keep
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -123,7 +122,7 @@
|
||||
* sbRECEIVE_COMPLETED macro only works if the sender and receiver are under the
|
||||
* control of the same instance of FreeRTOS and execute on the same core.
|
||||
* Therefore, just as the application that executes on the M7 core overrides
|
||||
* the default implementation of sbSEND_SOMPLETED(), the application that runs
|
||||
* the default implementation of sbSEND_COMPLETED(), the application that runs
|
||||
* on the M4 core overrides the default implementation of sbRECEIVE_COMPLETED()
|
||||
* to likewise generate an interrupt in the M7 core - so sbRECEIVE_COMPLETED()
|
||||
* executes on the M4 core and generates an interrupt on the M7 core. To keep
|
||||
@ -380,7 +379,7 @@ uint32_t x;
|
||||
}
|
||||
|
||||
/* Normal FreeRTOS "yield from interrupt" semantics, where
|
||||
xHigherPriorityTaskWoken is initialzed to pdFALSE and will then get set to
|
||||
xHigherPriorityTaskWoken is initialized to pdFALSE and will then get set to
|
||||
pdTRUE if the interrupt unblocks a task that has a priority above that of
|
||||
the currently executing task. */
|
||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -304,7 +304,7 @@ void vFullDemoTickHookFunction( void )
|
||||
/* Exercise stream buffers from interrupts. */
|
||||
vBasicStreamBufferSendFromISR();
|
||||
|
||||
/* Exercise sempahores from interrupts. */
|
||||
/* Exercise semaphores from interrupts. */
|
||||
vInterruptSemaphorePeriodicTest();
|
||||
}
|
||||
/*-----------------------------------------------------------*/
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef __MPU_DEMO_H__
|
||||
@ -38,7 +37,7 @@
|
||||
* by the task with Read Only access and if so, it recovers from the fault
|
||||
* greacefully by moving the Program Counter to the next instruction to the one
|
||||
* which generated the fault. If any other memory access violation occurs, the
|
||||
* fault handler will get stuck in an inifinite loop.
|
||||
* fault handler will get stuck in an infinite loop.
|
||||
*/
|
||||
void vStartMPUDemo( void );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef __MPU_DEMO_H__
|
||||
@ -38,7 +37,7 @@
|
||||
* by the task with Read Only access and if so, it recovers from the fault
|
||||
* greacefully by moving the Program Counter to the next instruction to the one
|
||||
* which generated the fault. If any other memory access violation occurs, the
|
||||
* fault handler will get stuck in an inifinite loop.
|
||||
* fault handler will get stuck in an infinite loop.
|
||||
*/
|
||||
void vStartMPUDemo( void );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef __MPU_DEMO_H__
|
||||
@ -38,7 +37,7 @@
|
||||
* is the fault generated by the task with Read Only access and if so, it
|
||||
* recovers from the fault greacefully by moving the Program Counter to the next
|
||||
* instruction to the one which generated the fault. If any other memory access
|
||||
* violation occurs, the fault handler will get stuck in an inifinite loop.
|
||||
* violation occurs, the fault handler will get stuck in an infinite loop.
|
||||
*/
|
||||
void vStartMPUDemo( void );
|
||||
|
||||
|
@ -37,7 +37,7 @@
|
||||
* by the task with Read Only access and if so, it recovers from the fault
|
||||
* greacefully by moving the Program Counter to the next instruction to the one
|
||||
* which generated the fault. If any other memory access violation occurs, the
|
||||
* fault handler will get stuck in an inifinite loop.
|
||||
* fault handler will get stuck in an infinite loop.
|
||||
*/
|
||||
void vStartMPUDemo( void );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#include "FreeRTOS.h"
|
||||
@ -45,7 +44,7 @@ void vLedTask(void *pvParameters)
|
||||
unsigned count = 0;
|
||||
unsigned colour = 0;
|
||||
|
||||
/* Initalise the IO ports that drive the LEDs */
|
||||
/* Initialise the IO ports that drive the LEDs */
|
||||
gioSetDirection(hetPORT, 0xFFFFFFFF);
|
||||
/* switch all leds off */
|
||||
gioSetPort(hetPORT, 0x08110034);
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef __HET_H__
|
||||
@ -49,8 +48,8 @@ typedef volatile struct hetBase
|
||||
unsigned OFF2; /**< 0x0010: Interrupt offset register 2 */
|
||||
unsigned INTENAS; /**< 0x0014: Interrupt enable set register */
|
||||
unsigned INTENAC; /**< 0x0018: Interrupt enable clear register */
|
||||
unsigned EXC1; /**< 0x001C: Exeption control register 1 */
|
||||
unsigned EXC2; /**< 0x0020: Exeption control register 2 */
|
||||
unsigned EXC1; /**< 0x001C: Exception control register 1 */
|
||||
unsigned EXC2; /**< 0x0020: Exception control register 2 */
|
||||
unsigned PRY; /**< 0x0024: Interrupt priority register */
|
||||
unsigned FLG; /**< 0x0028: Interrupt flag register */
|
||||
unsigned : 32U; /**< 0x002C: Reserved */
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*-----------------------------------------------------------
|
||||
@ -59,7 +58,7 @@ void vParTestInitialise( void )
|
||||
{
|
||||
unsigned long ul;
|
||||
|
||||
/* Initalise the IO ports that drive the LEDs */
|
||||
/* Initialise the IO ports that drive the LEDs */
|
||||
gioSetDirection( hetPORT, 0xFFFFFFFF );
|
||||
|
||||
/* Turn all the LEDs off. */
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -125,7 +124,7 @@ xComPortHandle xReturn = ( xComPortHandle ) 0;
|
||||
hardware. */
|
||||
if( ( xRxedChars != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) )
|
||||
{
|
||||
/* Initalise SCI1 */
|
||||
/* Initialise SCI1 */
|
||||
/* Bring SCI out of reset */
|
||||
serialSCI_GCR0_REG = 0x00000001UL;
|
||||
/* Disable all interrupts */
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
@ -137,7 +136,7 @@ void SystemCoreClockUpdate( void );
|
||||
/* Select User Button pin as input source for EXTI Line */
|
||||
SYSCFG_EXTILineConfig( EXTI_PortSourceGPIOA, EXTI_PinSource0 );
|
||||
|
||||
/* Configure EXT1 Line 0 in interrupt mode trigged on Rising edge */
|
||||
/* Configure EXT1 Line 0 in interrupt mode triggered on Rising edge */
|
||||
EXTI_InitStructure.EXTI_Line = EXTI_Line0 ; /* PA0 for User button AND IDD_WakeUP */
|
||||
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
||||
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/**
|
||||
@ -64,7 +63,7 @@ Changes from V1.00:
|
||||
|
||||
Changes from V1.01:
|
||||
|
||||
+ The Tx task now waits a pseudo random time between transissions.
|
||||
+ The Tx task now waits a pseudo random time between transmissions.
|
||||
Previously a fixed period was used but this was not such a good test as
|
||||
interrupts fired at regular intervals.
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -901,7 +900,7 @@ SemaphoreHandle_t xMutex = ( SemaphoreHandle_t ) pvParameters, xLocalMutex;
|
||||
vPrintDisplayMessage( &pcTaskStartMsg );
|
||||
#endif
|
||||
|
||||
/* The local mutex is used to check the 'mutexs held' count. */
|
||||
/* The local mutex is used to check the 'mutex held' count. */
|
||||
xLocalMutex = xSemaphoreCreateMutex();
|
||||
configASSERT( xLocalMutex );
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -299,7 +298,7 @@ BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
||||
}
|
||||
|
||||
/* Normal FreeRTOS yield from interrupt semantics, where
|
||||
xHigherPriorityTaskWoken is initialzed to pdFALSE and will then get set to
|
||||
xHigherPriorityTaskWoken is initialized to pdFALSE and will then get set to
|
||||
pdTRUE if the interrupt safe API unblocks a task that has a priority above
|
||||
that of the currently executing task. */
|
||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -290,7 +289,7 @@ UBaseType_t uxIndexToTest, uxOtherIndexes;
|
||||
for( uxIndexToTest = 0; uxIndexToTest < configTASK_NOTIFICATION_ARRAY_ENTRIES; uxIndexToTest++ )
|
||||
{
|
||||
/* Send notifications to all indexes with the array of task
|
||||
notificaitons other than the one on which this task will block. */
|
||||
notifications other than the one on which this task will block. */
|
||||
for( uxOtherIndexes = 0; uxOtherIndexes < configTASK_NOTIFICATION_ARRAY_ENTRIES; uxOtherIndexes++ )
|
||||
{
|
||||
if( uxOtherIndexes != uxIndexToTest )
|
||||
@ -1109,7 +1108,7 @@ const TickType_t xDontBlock = 0;
|
||||
ulReceivedValue = ulTaskNotifyTakeIndexed( uxIndexToNotify, pdTRUE, portMAX_DELAY );
|
||||
|
||||
/* Interrupt should have reset xSendNotificationFromISR after it sent
|
||||
the notificatino. */
|
||||
the notification. */
|
||||
configASSERT( xSendNotificationFromISR == pdFALSE );
|
||||
|
||||
/* The notification value was initially zero, and should have been
|
||||
|
@ -144,7 +144,7 @@ void vStartTimerDemoTask( TickType_t xBasePeriodIn )
|
||||
|
||||
/* Create the task that will control and monitor the timers. This is
|
||||
created at a lower priority than the timer service task to ensure, as
|
||||
far as it is concerned, commands on timers are actioned immediately
|
||||
far as it is concerned, commands on timers are acted on immediately
|
||||
(sending a command to the timer service task will unblock the timer service
|
||||
task, which will then preempt this task). */
|
||||
if( xTestStatus != pdFAIL )
|
||||
@ -168,7 +168,7 @@ static void prvTimerTestTask( void *pvParameters )
|
||||
is created as an auto-reload timer then converted to a one-shot timer. */
|
||||
xOneShotTimer = xTimerCreate( "Oneshot Timer", /* Text name to facilitate debugging. The kernel does not use this itself. */
|
||||
tmrdemoONE_SHOT_TIMER_PERIOD, /* The period for the timer. */
|
||||
pdFALSE, /* Autorealod is false, so created as a one-shot timer. */
|
||||
pdFALSE, /* Autoreload is false, so created as a one-shot timer. */
|
||||
( void * ) 0, /* The timer identifier. Initialise to 0, then increment each time it is called. */
|
||||
prvOneShotTimerCallback ); /* The callback to be called when the timer expires. */
|
||||
|
||||
@ -408,7 +408,7 @@ UBaseType_t uxOriginalPriority;
|
||||
function the expected number of times. */
|
||||
for( ucTimer = 0; ucTimer < ( uint8_t ) configTIMER_QUEUE_LENGTH; ucTimer++ )
|
||||
{
|
||||
/* The expected number of expiries is equal to the block period divided
|
||||
/* The expected number of expires is equal to the block period divided
|
||||
by the timer period. */
|
||||
xTimerPeriod = ( ( ( TickType_t ) ucTimer + ( TickType_t ) 1 ) * xBasePeriod );
|
||||
xExpectedNumber = xBlockPeriod / xTimerPeriod;
|
||||
@ -717,8 +717,8 @@ static void prvTest7_CheckBacklogBehaviour( void )
|
||||
/* Arrange for the callback to execute late enough that it will execute
|
||||
twice, back-to-back. The timer must handle the stop request properly
|
||||
in spite of the backlog of callbacks. */
|
||||
#define tmrdemoEXPECTED_BACKLOG_EXPIRIES ( ( TickType_t ) 2 )
|
||||
xTaskCatchUpTicks( tmrdemoBACKLOG_TIMER_PERIOD * tmrdemoEXPECTED_BACKLOG_EXPIRIES );
|
||||
#define tmrdemoEXPECTED_BACKLOG_EXPIRES ( ( TickType_t ) 2 )
|
||||
xTaskCatchUpTicks( tmrdemoBACKLOG_TIMER_PERIOD * tmrdemoEXPECTED_BACKLOG_EXPIRES );
|
||||
|
||||
/* The timer should now be inactive. */
|
||||
if( xTimerIsTimerActive( xAutoReloadTimers[ 0 ] ) != pdFALSE )
|
||||
@ -803,8 +803,8 @@ static TickType_t uxTick = ( TickType_t ) -1;
|
||||
then this function will not expect the timer to have expired until the
|
||||
kernel's tick count is (102 + xBasePeriod), whereas in reality the timer
|
||||
will expire when the kernel's tick count is (100 + xBasePeriod). For this
|
||||
reason xMargin is used as an allowable margin for premature timer expiries
|
||||
as well as late timer expiries. */
|
||||
reason xMargin is used as an allowable margin for premature timer expires
|
||||
as well as late timer expires. */
|
||||
#ifdef _WINDOWS_
|
||||
/* Windows is not real real time. */
|
||||
const TickType_t xMargin = 20;
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -74,7 +73,7 @@
|
||||
/* The size of the stack given to the Rx task. */
|
||||
#define comSTACK_SIZE configMINIMAL_STACK_SIZE
|
||||
|
||||
/* See the comment above the declaraction of the uxBaseLED variable. */
|
||||
/* See the comment above the declaration of the uxBaseLED variable. */
|
||||
#define comTX_LED_OFFSET ( 0 )
|
||||
#define comRX_LED_OFFSET ( 1 )
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/* FreeRTOS includes. */
|
||||
@ -182,7 +181,7 @@ unsigned portBASE_TYPE uxOriginalPriority;
|
||||
*
|
||||
* @note Returning ERR_MEM here if a DMA queue of your MAC is full can lead to
|
||||
* strange results. You might consider waiting for space in the DMA queue
|
||||
* to become availale since the stack doesn't retry to send a packet
|
||||
* to become available since the stack doesn't retry to send a packet
|
||||
* dropped because of memory failure (except for the TCP timers).
|
||||
*/
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/* WinPCap includes. */
|
||||
@ -171,7 +170,7 @@ pcap_if_t *pxAllNetworkInterfaces;
|
||||
*
|
||||
* @note Returning ERR_MEM here if a DMA queue of your MAC is full can lead to
|
||||
* strange results. You might consider waiting for space in the DMA queue
|
||||
* to become availale since the stack doesn't retry to send a packet
|
||||
* to become available since the stack doesn't retry to send a packet
|
||||
* dropped because of memory failure (except for the TCP timers).
|
||||
*/
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
@ -125,7 +124,7 @@ the timer has overflowed. */
|
||||
TA1CTL &= ~TAIFG; \
|
||||
} \
|
||||
\
|
||||
/* Generate a 32 bit counter value by combinging the current peripheral \
|
||||
/* Generate a 32 bit counter value by combining the current peripheral \
|
||||
counter value with the number of overflows. */ \
|
||||
ulCountValue = ( ulStatsOverflowCount << 16UL ); \
|
||||
ulCountValue |= ( unsigned long ) TA1R; \
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -43,7 +42,7 @@ Changes from V3.0.1
|
||||
* installation. It is also included to demonstrate a minimal project-setup
|
||||
* to use FreeRTOS in a wizC environment.
|
||||
*
|
||||
* Eight independant tasks are created. All tasks share the same taskcode.
|
||||
* Eight independent tasks are created. All tasks share the same taskcode.
|
||||
* Each task blinks a different led on portB. The blinkrate for each task
|
||||
* is different, but chosen in such a way that portB will show a binary
|
||||
* counter pattern. All blinkrates are derived from a single master-rate.
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/* Scheduler includes. */
|
||||
@ -170,7 +169,7 @@ static void vLCDTask( void *pvParameters )
|
||||
xLCDMessage xMessage;
|
||||
unsigned short usRow = 0;
|
||||
|
||||
/* Remove compiler warnigns. */
|
||||
/* Remove compiler warnings. */
|
||||
( void ) pvParameters;
|
||||
|
||||
/* Initialise the hardware. This uses delays so must not be called prior
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
@ -244,7 +243,7 @@ static enum {
|
||||
EXCEP_Overflow, /* arithmetic overflow */
|
||||
EXCEP_Trap, /* trap (possible divide by zero) */
|
||||
EXCEP_FPE = 15, /* floating point exception */
|
||||
EXCEP_IS1 = 16, /* implementation specfic 1 */
|
||||
EXCEP_IS1 = 16, /* implementation specific 1 */
|
||||
EXCEP_CEU, /* CorExtend Unuseable */
|
||||
EXCEP_C2E, /* coprocessor 2 */
|
||||
EXCEP_DSPDis = 26 /* DSP module disabled */
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
@ -179,7 +178,7 @@ static void prvQueueSendTask( void *pvParameters )
|
||||
TickType_t xNextWakeTime;
|
||||
const unsigned long ulValueToSend = 100UL;
|
||||
|
||||
/* Remove compiler warnigns in the case that configASSERT() is not dfined. */
|
||||
/* Remove compiler warnings in the case that configASSERT() is not dfined. */
|
||||
( void ) pvParameters;
|
||||
|
||||
/* Check the task parameter is as expected. */
|
||||
|
@ -26,7 +26,7 @@
|
||||
|
||||
/*
|
||||
* Contains sundry tests to exercise code that is not touched by the standard
|
||||
* demo tasks (which are predominantly test tasks). Some tests are incldued
|
||||
* demo tasks (which are predominantly test tasks). Some tests are included
|
||||
* here because they can only be executed when configASSERT() is not defined.
|
||||
*/
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
|
||||
@ -215,7 +214,7 @@ void LPIT0_IRQHandler( void )
|
||||
BaseType_t xTaskIncrementTick( void );
|
||||
void vTaskSwitchContext( void );
|
||||
|
||||
#warning requires critical section if interrpt nesting is used.
|
||||
#warning requires critical section if interrupt nesting is used.
|
||||
|
||||
/* vPortSetupTimerInterrupt() uses LPIT0 to generate the tick interrupt. */
|
||||
if( xTaskIncrementTick() != 0 )
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/******************************************************************************
|
||||
@ -70,7 +69,7 @@
|
||||
#include "timers.h"
|
||||
#include "semphr.h"
|
||||
|
||||
/* Microsemi incldues. */
|
||||
/* Microsemi includes. */
|
||||
#include "core_timer.h"
|
||||
#include "riscv_hal.h"
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -134,7 +133,7 @@ unsigned long ulReceivedValue;
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Wait until something arives in the queue - this will block
|
||||
/* Wait until something arrives in the queue - this will block
|
||||
indefinitely provided INCLUDE_vTaskSuspend is set to 1 in
|
||||
FreeRTOSConfig.h. */
|
||||
xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -133,7 +132,7 @@ unsigned long ulReceivedValue;
|
||||
|
||||
for( ;; )
|
||||
{
|
||||
/* Wait until something arives in the queue - this will block
|
||||
/* Wait until something arrives in the queue - this will block
|
||||
indefinitely provided INCLUDE_vTaskSuspend is set to 1 in
|
||||
FreeRTOSConfig.h. */
|
||||
xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
|
||||
|
@ -19,15 +19,14 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
* Contains sundry tests to exercise code that is not touched by the standard
|
||||
* demo tasks (which are predominantly test tasks). Some tests are incldued
|
||||
* demo tasks (which are predominantly test tasks). Some tests are included
|
||||
* here because they can only be executed when configASSERT() is not defined.
|
||||
*/
|
||||
|
||||
|
@ -19,10 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://www.FreeRTOS.org
|
||||
* http://aws.amazon.com/freertos
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
* 1 tab == 4 spaces!
|
||||
*/
|
||||
|
||||
/*
|
||||
@ -81,7 +80,7 @@ long lEMACSend( char *pcFrom, unsigned long ulLength, long lEndOfFrame );
|
||||
* Frames can be read from the EMAC in multiple sections.
|
||||
* Read ulSectionLength bytes from the EMAC receive buffers to pcTo.
|
||||
* ulTotalFrameLength is the size of the entire frame. Generally vEMACRead
|
||||
* will be repetedly called until the sum of all the ulSectionLenths totals
|
||||
* will be repeatedly called until the sum of all the ulSectionLenths totals
|
||||
* the value of ulTotalFrameLength.
|
||||
*/
|
||||
void vEMACRead( char *pcTo, unsigned long ulSectionLength, unsigned long ulTotalFrameLength );
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
@ -19,8 +19,9 @@
|
||||
* 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.
|
||||
*
|
||||
* http://aws.amazon.com/freertos
|
||||
* http://www.FreeRTOS.org
|
||||
* https://www.FreeRTOS.org
|
||||
* https://github.com/FreeRTOS
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef FREERTOS_CONFIG_H
|
||||
@ -227,7 +228,7 @@ extern void vAssertCalled( const char * pcFile,
|
||||
|
||||
#define configPROFILING ( 0 )
|
||||
|
||||
/* Pseudo random number generater used by some demo tasks. */
|
||||
/* Pseudo random number generator used by some demo tasks. */
|
||||
extern uint32_t ulRand();
|
||||
#define configRAND32() ulRand()
|
||||
|
||||
|
@ -1,29 +1,31 @@
|
||||
/*
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
* this software and associated documentation files (the "Software"), to deal in
|
||||
* the Software without restriction, including without limitation the rights to
|
||||
* use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
|
||||
* the Software, and to permit persons to whom the Software is furnished to do so,
|
||||
* subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be included in all
|
||||
* copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
|
||||
* FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL 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
|
||||
*
|
||||
*/
|
||||
|
||||
/*
|
||||
* FreeRTOS memory safety proofs with CBMC.
|
||||
* Copyright (C) 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person
|
||||
* obtaining a copy of this software and associated documentation
|
||||
* files (the "Software"), to deal in the Software without
|
||||
* restriction, including without limitation the rights to use, copy,
|
||||
* modify, merge, publish, distribute, sublicense, and/or sell copies
|
||||
* of the Software, and to permit persons to whom the Software is
|
||||
* furnished to do so, subject to the following conditions:
|
||||
*
|
||||
* The above copyright notice and this permission notice shall be
|
||||
* included in all copies or substantial portions of the Software.
|
||||
*
|
||||
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||
* NONINFRINGEMENT. IN NO EVENT SHALL 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.
|
||||
*
|
||||
* http://aws.amazon.com/freertos
|
||||
* http://www.FreeRTOS.org
|
||||
*/
|
||||
|
||||
#include "cbmc.h"
|
||||
@ -50,7 +52,7 @@ StackType_t *pxTimerTaskStack;
|
||||
* `pxCurrentTCB` allocation is allowed to fail. The global variables above
|
||||
* this comment are used in the stubbed functions `vApplicationGetIdleTaskMemory`
|
||||
* and `vApplicationGetTimerTaskMemory` (at the end of this file) and buffer allocation
|
||||
* must be succesful for the proof to have no errors
|
||||
* must be successful for the proof to have no errors
|
||||
*/
|
||||
BaseType_t xPrepareTasks( void )
|
||||
{
|
||||
@ -88,7 +90,7 @@ BaseType_t xPrepareTasks( void )
|
||||
}
|
||||
|
||||
/*
|
||||
* The buffers used here have been succesfully allocated before (global variables)
|
||||
* The buffers used here have been successfully allocated before (global variables)
|
||||
*/
|
||||
void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
|
||||
StackType_t ** ppxIdleTaskStackBuffer,
|
||||
@ -100,7 +102,7 @@ void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
|
||||
}
|
||||
|
||||
/*
|
||||
* The buffers used here have been succesfully allocated before (global variables)
|
||||
* The buffers used here have been successfully allocated before (global variables)
|
||||
*/
|
||||
void vApplicationGetTimerTaskMemory( StaticTask_t **ppxTimerTaskTCBBuffer, StackType_t **ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize )
|
||||
{
|
||||
|
@ -107,7 +107,7 @@ def get_arguments():
|
||||
# Variable definitions
|
||||
#
|
||||
# JSON files give variable definitions for common, operating system,
|
||||
# and harness specfic values
|
||||
# and harness specific values
|
||||
#
|
||||
|
||||
def read_variable_definitions(filename):
|
||||
|
@ -89,7 +89,7 @@ def build():
|
||||
create_cbmc_yaml_files()
|
||||
except CalledProcessError as e:
|
||||
logging.error(textwrap.dedent("""\
|
||||
An error occured during cbmc-batch generation.
|
||||
An error occurred during cbmc-batch generation.
|
||||
The error message is: {}
|
||||
""".format(str(e))))
|
||||
exit(1)
|
||||
@ -102,7 +102,7 @@ def build():
|
||||
# create_patches(HEADERS)
|
||||
#except (DirtyGitError, PatchCreationError) as e:
|
||||
# logging.error(textwrap.dedent("""\
|
||||
# An error occured during patch creation.
|
||||
# An error occurred during patch creation.
|
||||
# The error message is: {}
|
||||
# """.format(str(e))))
|
||||
# exit(1)
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -271,7 +271,7 @@ void test_xEventGroupSetBits_WithTaskBlockedOnBits_Success( void )
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief validate the callback fucntion of setting event bits
|
||||
* @brief validate the callback function of setting event bits
|
||||
* @coverage vEventGroupSetBitsCallback
|
||||
*/
|
||||
void test_vEventGroupSetBitsCallback_Success( void )
|
||||
@ -394,7 +394,7 @@ void test_xEventGroupClearBits_Success( void )
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief validate the callback fucntion of clearing event bits
|
||||
* @brief validate the callback function of clearing event bits
|
||||
* @coverage vEventGroupClearBitsCallback
|
||||
*/
|
||||
void test_vEventGroupClearBitsCallback_Success( void )
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -68,8 +68,8 @@ int suiteTearDown( int numFailures )
|
||||
/* =========================== Static Functions =========================== */
|
||||
|
||||
/*!
|
||||
* @brief initilize a preallocated list of ListItems_t
|
||||
* @param listItems list to initilize
|
||||
* @brief initialize a preallocated list of ListItems_t
|
||||
* @param listItems list to initialize
|
||||
* @param count the number of listItems in the list
|
||||
*/
|
||||
static void initialise_list_items( ListItem_t * listItems,
|
||||
@ -82,9 +82,9 @@ static void initialise_list_items( ListItem_t * listItems,
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief initilize a preallocated list of ListItems_t initializing each ones
|
||||
* @brief initialize a preallocated list of ListItems_t initializing each ones
|
||||
* value to its position value
|
||||
* @param listItems list to initilize
|
||||
* @param listItems list to initialize
|
||||
* @param count the number of listItems in the list
|
||||
*/
|
||||
static void initialise_list_items_with_position( ListItem_t * listItems,
|
||||
@ -114,7 +114,7 @@ static void validate_empty_list( const List_t * const pxList )
|
||||
/* ============================== Test Cases ============================== */
|
||||
|
||||
/*!
|
||||
* @brief validate the initilization function of a list
|
||||
* @brief validate the initialization function of a list
|
||||
* @coverage vListInitialise
|
||||
*/
|
||||
void test_vListInitialise_Success( void )
|
||||
@ -126,10 +126,10 @@ void test_vListInitialise_Success( void )
|
||||
}
|
||||
|
||||
/*!
|
||||
* @brief validate the initializatiom function of a list item
|
||||
* @brief validate the initialization function of a list item
|
||||
* @coverage vListInitialiseItem
|
||||
*/
|
||||
void test_vListInitialiseItem_Sucess( void )
|
||||
void test_vListInitialiseItem_Success( void )
|
||||
{
|
||||
ListItem_t pxItem;
|
||||
|
||||
@ -320,7 +320,7 @@ void test_vListInsert_success_1_item( void )
|
||||
* @details This test ensures the list is sane when 2 items are inserted
|
||||
* @coverage vListInsert
|
||||
*/
|
||||
void test_vListInsert_sucess_2_items( void )
|
||||
void test_vListInsert_success_2_items( void )
|
||||
{
|
||||
List_t pxList;
|
||||
ListItem_t pxNewListItem[ 2 ];
|
||||
@ -356,7 +356,7 @@ void test_vListInsert_sucess_2_items( void )
|
||||
* @details This test ensures the list is sane when 3 items are inserted
|
||||
* @coverage vListInsert
|
||||
*/
|
||||
void test_vListInsert_sucess_3_items( void )
|
||||
void test_vListInsert_success_3_items( void )
|
||||
{
|
||||
List_t pxList;
|
||||
ListItem_t pxNewListItem[ 3 ];
|
||||
@ -481,7 +481,7 @@ void test_vListInsert_success_vportMAXDELAY( void )
|
||||
* @details This test ensures the list is sane when 1 item is removed
|
||||
* @coverage uxListRemove
|
||||
*/
|
||||
void test_uxListRemove_sucesss( void )
|
||||
void test_uxListRemove_success( void )
|
||||
{
|
||||
List_t pxList;
|
||||
ListItem_t pxNewListItem;
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -162,7 +162,7 @@ void test_macro_xQueueCreateStatic_validQueueStorage_zeroItem_zeroLength( void )
|
||||
{
|
||||
StaticQueue_t queueBuffer;
|
||||
|
||||
/* Expect that xQueueCreateStatic will assert becasue a zero length queue is invalid */
|
||||
/* Expect that xQueueCreateStatic will assert because a zero length queue is invalid */
|
||||
fakeAssertExpectFail();
|
||||
QueueHandle_t xQueue = xQueueCreateStatic( 0, 0, NULL, &queueBuffer );
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -88,7 +88,7 @@ void test_vQueueDelete_empty( void )
|
||||
void * queueData = malloc( 6 * sizeof( uint32_t ) );
|
||||
QueueHandle_t xQueue = xQueueCreateStatic( 6, sizeof( uint32_t ), queueData, queueBuffer );
|
||||
|
||||
/* Verify that no call to malloc occured */
|
||||
/* Verify that no call to malloc occurred */
|
||||
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||
|
||||
vQueueDelete( xQueue );
|
||||
@ -108,7 +108,7 @@ void test_vQueueDelete_half_full( void )
|
||||
void * queueData = malloc( 6 * sizeof( uint32_t ) );
|
||||
QueueHandle_t xQueue = xQueueCreateStatic( 6, sizeof( uint32_t ), queueData, queueBuffer );
|
||||
|
||||
/* Verify that no call to malloc occured */
|
||||
/* Verify that no call to malloc occurred */
|
||||
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||
|
||||
for( uint32_t i = 0; i < 3; i++ )
|
||||
@ -134,7 +134,7 @@ void test_vQueueDelete_full( void )
|
||||
void * queueData = malloc( 6 * sizeof( uint32_t ) );
|
||||
QueueHandle_t xQueue = xQueueCreateStatic( 6, sizeof( uint32_t ), queueData, queueBuffer );
|
||||
|
||||
/* Verify that no call to malloc occured */
|
||||
/* Verify that no call to malloc occurred */
|
||||
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||
|
||||
for( uint32_t i = 0; i < 6; i++ )
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -328,7 +328,7 @@ void test_xQueuePeek_blocking_success_locked_low_prio_pending( void )
|
||||
|
||||
/**
|
||||
* @brief Test xQueuePeek with taskSCHEDULER_SUSPENDED and timeout=10
|
||||
* @details This should cause xQueuePeek to configASSERT becuase it would
|
||||
* @details This should cause xQueuePeek to configASSERT because it would
|
||||
* block forever when the queue is empty.
|
||||
* @coverage xQueuePeek
|
||||
*/
|
||||
@ -361,7 +361,7 @@ void test_xQueuePeek_blocking_suspended_assert( void )
|
||||
|
||||
/**
|
||||
* @brief Callback which adds and item to it's test queue.
|
||||
* @details Used in test_xQueuePeek_blocking_success and test_xQueueReceive_blocking_sucess.
|
||||
* @details Used in test_xQueuePeek_blocking_success and test_xQueueReceive_blocking_success.
|
||||
*/
|
||||
static BaseType_t blocking_success_xTaskCheckForTimeOut_cb( TimeOut_t * const pxTimeOut,
|
||||
TickType_t * const pxTicksToWait,
|
||||
@ -479,7 +479,7 @@ void test_xQueuePeek_blocking_timeout( void )
|
||||
|
||||
/**
|
||||
* @brief Test xQueueReceive with taskSCHEDULER_SUSPENDED and timeout=10
|
||||
* @details This should cause xQueueReceive to configASSERT becuase it would
|
||||
* @details This should cause xQueueReceive to configASSERT because it would
|
||||
* block forever when the queue is empty.
|
||||
* @coverage xQueueReceive
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -503,7 +503,7 @@ void test_xQueuePeek_xQueueReceive_waiting_lower_priority( void )
|
||||
|
||||
/**
|
||||
* @brief Test xQueuePeek with taskSCHEDULER_SUSPENDED and timeout=0
|
||||
* @details This should not cause xQueuePeek to configASSERT becuase
|
||||
* @details This should not cause xQueuePeek to configASSERT because
|
||||
* xQueuePeek is non-blocking when timeout=0.
|
||||
* @coverage xQueuePeek
|
||||
*/
|
||||
@ -856,7 +856,7 @@ void test_xQueueReceive_noop_waiting_lower_priority( void )
|
||||
|
||||
/**
|
||||
* @brief Test xQueueReceive with taskSCHEDULER_SUSPENDED and timeout=0
|
||||
* @details This should not cause xQueueReceive to configASSERT becuase
|
||||
* @details This should not cause xQueueReceive to configASSERT because
|
||||
* xQueueReceive is non-blocking when timeout=0.
|
||||
* @coverage xQueueReceive
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -242,7 +242,7 @@ void test_macro_xQueueSend_blocking_success_locked_low_prio_pending( void )
|
||||
|
||||
/**
|
||||
* @brief Test xQueueSend with taskSCHEDULER_SUSPENDED and timeout=10
|
||||
* @details This should cause xQueueSend to configASSERT becuase it would
|
||||
* @details This should cause xQueueSend to configASSERT because it would
|
||||
* block forever when the queue is full.
|
||||
* @coverage xQueueGenericSend
|
||||
*/
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -259,7 +259,7 @@ void test_macro_xQueueSend_oneQueueLength_oneItemSize( void )
|
||||
|
||||
/**
|
||||
* @brief Test xQueueSend with uxQueueLength=1, uxItemSize=1 and null item.
|
||||
* @details xQueueSend should configASSERT becaause of the null item pointer.
|
||||
* @details xQueueSend should configASSERT because of the null item pointer.
|
||||
* @coverage xQueueGenericSend
|
||||
*/
|
||||
void test_macro_xQueueSend_oneQueueLength_oneItemSize_null( void )
|
||||
@ -371,7 +371,7 @@ void test_macro_xQueueSend_task_waiting_lower_priority_success( void )
|
||||
|
||||
/**
|
||||
* @brief Test xQueueSend with taskSCHEDULER_SUSPENDED and timeout=0
|
||||
* @details This should not cause xQueueSend to configASSERT becuase
|
||||
* @details This should not cause xQueueSend to configASSERT because
|
||||
* xQueueSend is non-blocking when timeout=0.
|
||||
* @coverage xQueueGenericSend
|
||||
*/
|
||||
@ -614,7 +614,7 @@ void test_macro_xQueueSendFromISR_oneQueueLength_oneItemSize( void )
|
||||
|
||||
/**
|
||||
* @brief Test xQueueSendFromISR with uxQueueLength=1, uxItemSize=1 and null item.
|
||||
* @details xQueueSendFromISR should configASSERT becaause of the null item pointer.
|
||||
* @details xQueueSendFromISR should configASSERT because of the null item pointer.
|
||||
* @coverage xQueueGenericSendFromISR
|
||||
*/
|
||||
void test_macro_xQueueSendFromISR_oneQueueLength_oneItemSize_null( void )
|
||||
@ -665,7 +665,7 @@ void test_macro_xQueueSendFromISR_task_waiting_higher_priority_null_pxHigherPrio
|
||||
/**
|
||||
* @brief Test xQueueSendFromISR with a higher priority task waiting
|
||||
* @details Test xQueueSendFromISR with a higher priority task waiting and
|
||||
* verifies that xHigherPriorityTaskWoken is set accoridngly.
|
||||
* verifies that xHigherPriorityTaskWoken is set accordingly.
|
||||
* @coverage xQueueGenericSendFromISR
|
||||
*/
|
||||
void test_macro_xQueueSendFromISR_task_waiting_higher_priority_success( void )
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -74,7 +74,7 @@ bool xMaskAssertAndAbort;
|
||||
/* ================================= MACROS ================================ */
|
||||
|
||||
/**
|
||||
* @brief Expect a configASSERT from the funciton called.
|
||||
* @brief Expect a configASSERT from the function called.
|
||||
* Break out of the called function when this occurs.
|
||||
* @details Use this macro when the call passsed in as a parameter is expected
|
||||
* to cause invalid memory access.
|
||||
@ -115,7 +115,7 @@ void vPortFree( void * pv );
|
||||
* provided assertion is false and the fakeAssertExpectFail()
|
||||
* function was not called prior to the assertion.
|
||||
* @param assertion Boolean assertion passed into the configASSERT() macro
|
||||
* @param file Name of the file in which the assert occured
|
||||
* @param file Name of the file in which the assert occurred
|
||||
* @param line Line number of the assertion
|
||||
* @param num_calls Number of times configASSERT() was called
|
||||
*/
|
||||
@ -185,7 +185,7 @@ void fakeAssertExpectFail( void );
|
||||
|
||||
/**
|
||||
* @brief Determine if a configASSERT occurred and clear the assertion flag.
|
||||
* @return true if an assert occureed since the start of the test suite or
|
||||
* @return true if an assert occurred since the start of the test suite or
|
||||
* the last call to fakeAssertGetFlagAndClear.
|
||||
* @return false if no assert was triggered.
|
||||
*/
|
||||
@ -247,7 +247,7 @@ void vSetQueueTxLock( QueueHandle_t xQueue,
|
||||
BaseType_t fakeAssertGetNumAssertsAndClear( void );
|
||||
|
||||
/**
|
||||
* @brief Check that the number of failed configASSERTs that have occured in this test case equals the given number.
|
||||
* @brief Check that the number of failed configASSERTs that have occurred in this test case equals the given number.
|
||||
*/
|
||||
void fakeAssertVerifyNumAssertsAndClear( uint32_t ulNumAssertsExpected );
|
||||
|
||||
@ -275,7 +275,7 @@ void td_port_register_stubs( void );
|
||||
/**
|
||||
* @brief Validate ending state of td_port related variables.
|
||||
* @details This function should be called after every test case.
|
||||
* It verifies the state of the variables used by td_port funcitons and
|
||||
* It verifies the state of the variables used by td_port functions and
|
||||
* frees resources used by CMock.
|
||||
*/
|
||||
void td_port_teardown_check( void );
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -343,7 +343,7 @@ void test_macro_xSemaphoreGiveFromISR_high_priority_pending_null_ptr( void )
|
||||
/**
|
||||
* @brief Test xSemaphoreGiveFromISR with a higher priority task waiting
|
||||
* @details Test xSemaphoreGiveFromISR with a higher priority task waiting and
|
||||
* verify that xHigherPriorityTaskWoken is set accoridngly.
|
||||
* verify that xHigherPriorityTaskWoken is set accordingly.
|
||||
* @coverage xQueueGiveFromISR
|
||||
*/
|
||||
void test_macro_xSemaphoreGiveFromISR_high_priority_pending( void )
|
||||
@ -567,7 +567,7 @@ void test_xSemaphoreTake_tasks_waiting_lower_priority( void )
|
||||
|
||||
/**
|
||||
* @brief Test xSemaphoreTake with taskSCHEDULER_SUSPENDED and timeout=10
|
||||
* @details This should cause xSemaphoreTake to configASSERT becuase it would
|
||||
* @details This should cause xSemaphoreTake to configASSERT because it would
|
||||
* block forever when the semaphore is empty.
|
||||
* @coverage xQueueSemaphoreTake
|
||||
*/
|
||||
@ -596,7 +596,7 @@ void test_xSemaphoreTake_blocking_suspended_assert( void )
|
||||
|
||||
/**
|
||||
* @brief Test xSemaphoreTake with taskSCHEDULER_SUSPENDED and timeout=0
|
||||
* @details This should not cause xSemaphoreTake to configASSERT becuase
|
||||
* @details This should not cause xSemaphoreTake to configASSERT because
|
||||
* xSemaphoreTake is non-blocking when timeout=0.
|
||||
* @coverage xQueueSemaphoreTake
|
||||
*/
|
||||
@ -635,7 +635,7 @@ static BaseType_t blocking_success_xTaskCheckForTimeOut_cb( TimeOut_t * const px
|
||||
* which becomes available while a call to xSemaphoreTake is blocking.
|
||||
* @coverage xQueueSemaphoreTake
|
||||
*/
|
||||
void test_xSemaphoreTake_blocking_sucess( void )
|
||||
void test_xSemaphoreTake_blocking_success( void )
|
||||
{
|
||||
SemaphoreHandle_t xSemaphore = xSemaphoreCreateBinary();
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -562,7 +562,7 @@ void test_macro_xSemaphoreGive_count_higher_than_max( void )
|
||||
|
||||
/**
|
||||
* @brief Test xSemaphoreTake with taskSCHEDULER_SUSPENDED and timeout=10
|
||||
* @details This should cause xSemaphoreTake to configASSERT becuase it would
|
||||
* @details This should cause xSemaphoreTake to configASSERT because it would
|
||||
* block forever when the semaphore is empty.
|
||||
* @coverage xQueueSemaphoreTake
|
||||
*/
|
||||
@ -592,7 +592,7 @@ void test_xSemaphoreTake_blocking_suspended_assert( void )
|
||||
|
||||
/**
|
||||
* @brief Test xSemaphoreTake with taskSCHEDULER_SUSPENDED and timeout=0
|
||||
* @details This should not cause xSemaphoreTake to configASSERT becuase
|
||||
* @details This should not cause xSemaphoreTake to configASSERT because
|
||||
* xSemaphoreTake is non-blocking when timeout=0.
|
||||
* @coverage xQueueSemaphoreTake
|
||||
*/
|
||||
@ -633,7 +633,7 @@ static BaseType_t blocking_xTaskCheckForTimeOut_cb( TimeOut_t * const pxTimeOut,
|
||||
* which becomes available while a call to xSemaphoreTake is blocking.
|
||||
* @coverage xQueueSemaphoreTake
|
||||
*/
|
||||
void test_xSemaphoreTake_blocking_sucess( void )
|
||||
void test_xSemaphoreTake_blocking_success( void )
|
||||
{
|
||||
SemaphoreHandle_t xSemaphore = xSemaphoreCreateCounting( 2, 0 );
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -474,7 +474,7 @@ void test_macro_xSemaphoreTake_blocking_mutex_inherit_timeout( void )
|
||||
|
||||
for( int i = 0; i < TICKS_TO_WAIT; i++ )
|
||||
{
|
||||
/* Return pdTRUE to signify that priority inheritence occurred */
|
||||
/* Return pdTRUE to signify that priority inheritance occurred */
|
||||
xTaskPriorityInherit_ExpectAndReturn( ( void * ) xFakeMutexHolder, pdTRUE );
|
||||
}
|
||||
|
||||
@ -514,7 +514,7 @@ void test_macro_xSemaphoreTake_blocking_mutex_inherit_timeout_high_prio_waiting(
|
||||
|
||||
for( int i = 0; i < TICKS_TO_WAIT; i++ )
|
||||
{
|
||||
/* Return pdTRUE to signify that priority inheritence occurred */
|
||||
/* Return pdTRUE to signify that priority inheritance occurred */
|
||||
xTaskPriorityInherit_ExpectAndReturn( xFakeMutexHolder, pdTRUE );
|
||||
}
|
||||
|
||||
@ -569,7 +569,7 @@ void test_macro_xSemaphoreTake_blocking_mutex_inherit_disinherit( void )
|
||||
|
||||
for( int i = 0; i < NUM_CALLS_TO_INTERCEPT + 1; i++ )
|
||||
{
|
||||
/* Return pdTRUE to signify that priority inheritence occurred */
|
||||
/* Return pdTRUE to signify that priority inheritance occurred */
|
||||
xTaskPriorityInherit_ExpectAndReturn( xFakeMutexHolder, pdTRUE );
|
||||
}
|
||||
|
||||
|
@ -1,5 +1,5 @@
|
||||
/*
|
||||
* FreeRTOS V202012.00
|
||||
* FreeRTOS V202104.00
|
||||
* Copyright (C) 2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
|
||||
*
|
||||
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||
@ -348,7 +348,7 @@ void test_macro_xSemaphoreCreateCountingStatic_null_fail( void )
|
||||
/* Verify that the returned handle is NULL */
|
||||
TEST_ASSERT_EQUAL( NULL, xSemaphore );
|
||||
|
||||
/* check that no call to malloc ocurred */
|
||||
/* check that no call to malloc occurred */
|
||||
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||
}
|
||||
|
||||
@ -372,7 +372,7 @@ void test_macro_xSemaphoreCreateCountingStatic_zero_zero_fail( void )
|
||||
/* validate returned semaphore handle */
|
||||
TEST_ASSERT_NOT_EQUAL( NULL, xSemaphore );
|
||||
|
||||
/* Check that no malloc occured */
|
||||
/* Check that no malloc occurred */
|
||||
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||
|
||||
/* Check that the returned count is zero */
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user