mirror of
https://github.com/FreeRTOS/FreeRTOS.git
synced 2025-06-19 22:57:57 +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',
|
'run-cbmc-proofs.py',
|
||||||
'.editorconfig',
|
'.editorconfig',
|
||||||
'lcovrc',
|
'lcovrc',
|
||||||
'htif.c', 'htif.h'
|
'htif.c', 'htif.h',
|
||||||
|
'ethernetif.c'
|
||||||
]
|
]
|
||||||
|
|
||||||
FREERTOS_HEADER = [
|
FREERTOS_HEADER = [
|
||||||
|
34
.github/workflows/ci.yml
vendored
34
.github/workflows/ci.yml
vendored
@ -59,6 +59,39 @@ jobs:
|
|||||||
name: doxygen.zip-${{ github.sha }}
|
name: doxygen.zip-${{ github.sha }}
|
||||||
path: ./freertos/doxygen.zip
|
path: ./freertos/doxygen.zip
|
||||||
retention-days: 2
|
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:
|
verify-manifest:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
@ -71,4 +104,3 @@ jobs:
|
|||||||
run: python3 -m pip install -r .github/scripts/verify_manifest_requirements.txt
|
run: python3 -m pip install -r .github/scripts/verify_manifest_requirements.txt
|
||||||
- name: Run script to verify manifest.yml
|
- name: Run script to verify manifest.yml
|
||||||
run: python3 .github/scripts/verify_manifest.py
|
run: python3 .github/scripts/verify_manifest.py
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
* Device Defender is an AWS service.
|
* Device Defender is an AWS service.
|
||||||
*
|
*
|
||||||
* This demo subscribes to the Device Defender topics. It then collects metrics
|
* 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.
|
* the stack high water mark and task IDs are collected for custom metrics.
|
||||||
* These metrics are used to generate a Device Defender report. The
|
* 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
|
* 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.
|
* in the backoffAlgorithm library API.
|
||||||
*
|
*
|
||||||
* @note The "uxRand" function represents a pseudo random number generator.
|
* @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
|
* for generating unique device-specific random values to avoid possibility
|
||||||
* of network collisions from multiple devices retrying network operations.
|
* 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();
|
static int32_t prvGenerateRandomNumber();
|
||||||
|
|
||||||
|
@ -26,10 +26,10 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @file aws_ota_codesigner_certificate.h
|
* @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.
|
* 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.
|
* certificates in secure location in production devices.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @file code_signature_verification.h
|
* @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.
|
* @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.
|
* 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
|
if( 1 != fread( &eSavedAgentState, sizeof(OtaImageState_t), 1, pstPlatformImageState ) ) /*lint !e586 !e9029
|
||||||
* C standard library call is being used for portability. */
|
* 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" ) );
|
LogError( ( "Unable to read image state file.\r\n" ) );
|
||||||
ePalState = ( OtaPalImageStateInvalid | (errno & OTA_PAL_ERR_MASK) );
|
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
|
* elements are done only from one task at a time. The subscription manager
|
||||||
* implementation expects that the array of the subscription elements used for
|
* 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
|
* 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 ];
|
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
|
* 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
|
* 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
|
* 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] pacTopic Topic to publish the control packet to.
|
||||||
* @param[in] topicLen Length of the topic string.
|
* @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. */
|
/* Clear Agent queue so that no any pending MQTT operations are processed. */
|
||||||
xQueueReset(xCommandQueue.queue);
|
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)
|
if (xMQTTStatus != MQTTSuccess)
|
||||||
{
|
{
|
||||||
xResult = prvSuspendOTA();
|
xResult = prvSuspendOTA();
|
||||||
|
@ -180,7 +180,7 @@ extern void vLoggingPrintf( const char * pcFormatString,
|
|||||||
* Enable data over MQTT - ( OTA_DATA_OVER_MQTT )
|
* Enable data over MQTT - ( OTA_DATA_OVER_MQTT )
|
||||||
* Enable data over HTTP - ( OTA_DATA_OVER_HTTP)
|
* 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.
|
* and this configuration is set to OTA_DATA_OVER_MQTT.
|
||||||
*/
|
*/
|
||||||
#define configENABLED_DATA_PROTOCOLS ( OTA_DATA_OVER_HTTP )
|
#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
|
* elements are done only from one task at a time. The subscription manager
|
||||||
* implementation expects that the array of the subscription elements used for
|
* 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
|
* 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 ];
|
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
|
* 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
|
* 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
|
* 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] pacTopic Topic to publish the control packet to.
|
||||||
* @param[in] topicLen Length of the topic string.
|
* @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. */
|
/* Clear Agent queue so that no any pending MQTT operations are processed. */
|
||||||
xQueueReset(xCommandQueue.queue);
|
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)
|
if (xMQTTStatus != MQTTSuccess)
|
||||||
{
|
{
|
||||||
xResult = prvSuspendOTA();
|
xResult = prvSuspendOTA();
|
||||||
|
@ -180,7 +180,7 @@ extern void vLoggingPrintf( const char * pcFormatString,
|
|||||||
* Enable data over MQTT - ( OTA_DATA_OVER_MQTT )
|
* Enable data over MQTT - ( OTA_DATA_OVER_MQTT )
|
||||||
* Enable data over HTTP - ( OTA_DATA_OVER_HTTP)
|
* 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.
|
* and this configuration is set to OTA_DATA_OVER_HTTP.
|
||||||
*/
|
*/
|
||||||
#define configENABLED_DATA_PROTOCOLS ( OTA_DATA_OVER_MQTT )
|
#define configENABLED_DATA_PROTOCOLS ( OTA_DATA_OVER_MQTT )
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FreeRTOS V202104.00
|
* 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
|
* 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
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* FreeRTOS includes. */
|
/* FreeRTOS includes. */
|
||||||
@ -1405,7 +1404,7 @@ int32_t lStatus;
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
strcpy( pcWriteBuffer, "Working state changes succesfully aborted." );
|
strcpy( pcWriteBuffer, "Working state changes successfully aborted." );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1437,7 +1436,7 @@ FSSTRESSPARAM param;
|
|||||||
uxOriginalPriority = uxTaskPriorityGet( NULL );
|
uxOriginalPriority = uxTaskPriorityGet( NULL );
|
||||||
vTaskPrioritySet( NULL, configMAX_PRIORITIES - 1 );
|
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_umount( "" );
|
||||||
red_format( "" );
|
red_format( "" );
|
||||||
red_mount( "" );
|
red_mount( "" );
|
||||||
|
@ -28,7 +28,7 @@
|
|||||||
* A set of tasks are created that send TCP echo requests to the standard echo
|
* 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
|
* 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
|
* 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).
|
* a task other than that from with the request was made).
|
||||||
*
|
*
|
||||||
* See the following web page for essential demo usage and configuration
|
* 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
|
* 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.
|
* 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
|
* 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
|
* 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
|
* 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).
|
* a task other than that from with the request was made).
|
||||||
*
|
*
|
||||||
* See the following web page for essential demo usage and configuration
|
* See the following web page for essential demo usage and configuration
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FreeRTOS V202104.00
|
* 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
|
* 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
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* A set of tasks are created that send TCP echo requests to the standard echo
|
* 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
|
* 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
|
* 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).
|
* a task other than that from with the request was made).
|
||||||
*
|
*
|
||||||
* See the following web page for essential demo usage and configuration
|
* 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 pucPublicKeyLabel[] = { pkcs11configLABEL_DEVICE_PRIVATE_KEY_FOR_TLS };
|
||||||
CK_BYTE pucPrivateKeyLabel[] = { pkcs11configLABEL_DEVICE_PUBLIC_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
|
* 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
|
* for creating, searching, and manipulating for objects. The order of the
|
||||||
* template does not matter.
|
* template does not matter.
|
||||||
|
@ -851,7 +851,7 @@ const char * mbedtls_strerror_highlevel( int32_t errnum )
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case -( MBEDTLS_ERR_X509_FATAL_ERROR ):
|
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;
|
break;
|
||||||
#endif /* MBEDTLS_X509_USE_C || MBEDTLS_X509_CREATE_C */
|
#endif /* MBEDTLS_X509_USE_C || MBEDTLS_X509_CREATE_C */
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FreeRTOS V202104.00
|
* 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
|
* 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
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://aws.amazon.com/freertos
|
* https://www.FreeRTOS.org
|
||||||
* http://www.FreeRTOS.org
|
* https://github.com/FreeRTOS
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FREERTOS_CONFIG_H
|
#ifndef FREERTOS_CONFIG_H
|
||||||
#define FREERTOS_CONFIG_H
|
#define FREERTOS_CONFIG_H
|
||||||
|
|
||||||
@ -229,7 +229,7 @@ extern void vLoggingPrint(const char* pcMessage);
|
|||||||
|
|
||||||
#define configPROFILING ( 0 )
|
#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();
|
extern uint32_t ulRand();
|
||||||
#define configRAND32() ulRand()
|
#define configRAND32() ulRand()
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FREERTOS_CONFIG_H
|
#ifndef FREERTOS_CONFIG_H
|
||||||
@ -31,7 +30,7 @@
|
|||||||
#include <LPC21xx.h>
|
#include <LPC21xx.h>
|
||||||
#define vPortYieldProcessor swi_handler
|
#define vPortYieldProcessor swi_handler
|
||||||
|
|
||||||
/* For compatability with the LPC2106 header. */
|
/* For compatibility with the LPC2106 header. */
|
||||||
#define T0_IR T0IR
|
#define T0_IR T0IR
|
||||||
#define T0_PR T0PR
|
#define T0_PR T0PR
|
||||||
#define T0_MR0 T0MR0
|
#define T0_MR0 T0MR0
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -121,7 +120,7 @@ int main()
|
|||||||
the control of the kernel. */
|
the control of the kernel. */
|
||||||
vTaskStartScheduler();
|
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. */
|
idle task to be created. */
|
||||||
for( ;; );
|
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.*/
|
/*This file has been prepared for Doxygen automatic documentation generation.*/
|
||||||
/*! \file *********************************************************************
|
/*! \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 <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <string.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
|
* 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 );
|
static void prvIndicateError( void );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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 */
|
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
| 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 */
|
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
| 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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 */
|
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
| 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 */
|
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
| 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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 */
|
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
| 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 */
|
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
| 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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 */
|
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
| 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 */
|
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
| 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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 */
|
| USART_RS485_OFF_gc /* RS485 Mode disabled */
|
||||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
| 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 */
|
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
| 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 */
|
| USART_RS485_DISABLE_gc /* RS485 Mode disabled */
|
||||||
| 1 << USART_RXCIE_bp; /* Receive Complete Interrupt Enable: enabled */
|
| 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 */
|
| USART_RXMODE_NORMAL_gc /* Normal mode */
|
||||||
| 1 << USART_TXEN_bp; /* Transmitter Enable: enabled */
|
| 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -94,7 +93,7 @@ BaseType_t xStatus;
|
|||||||
XUartPs_Config *pxConfig;
|
XUartPs_Config *pxConfig;
|
||||||
|
|
||||||
/* Create the queue used to hold received characters. NOTE THE COMMENTS AT
|
/* 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 ) );
|
xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
|
||||||
configASSERT( xRxQueue );
|
configASSERT( xRxQueue );
|
||||||
|
|
||||||
@ -222,7 +221,7 @@ char cChar;
|
|||||||
ulChannelStatusRegister = XUartPs_ReadReg( XPAR_PS7_UART_1_BASEADDR, XUARTPS_SR_OFFSET );
|
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
|
/* 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 )
|
while( ( ulChannelStatusRegister & XUARTPS_SR_RXEMPTY ) == 0 )
|
||||||
{
|
{
|
||||||
cChar = XUartPs_ReadReg( XPAR_PS7_UART_1_BASEADDR, XUARTPS_FIFO_OFFSET );
|
cChar = XUartPs_ReadReg( XPAR_PS7_UART_1_BASEADDR, XUARTPS_FIFO_OFFSET );
|
||||||
@ -245,7 +244,7 @@ char cChar;
|
|||||||
{
|
{
|
||||||
if( xUARTInstance.SendBuffer.RemainingBytes == 0 )
|
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
|
complete. If giving the semaphore unblocks a task, and the
|
||||||
unblocked task has a priority above the currently running task (the
|
unblocked task has a priority above the currently running task (the
|
||||||
task that this interrupt interrupted), then xHigherPriorityTaskWoken
|
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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <device.h>
|
#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 )
|
void vInitialiseTimerForIntQueueTest( void )
|
||||||
{
|
{
|
||||||
|
@ -19,17 +19,16 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INT_QUEUE_TIMER_H_
|
#ifndef INT_QUEUE_TIMER_H_
|
||||||
#define 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 );
|
void vInitialiseTimerForIntQueueTest( void );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <device.h>
|
#include <device.h>
|
||||||
@ -188,7 +187,7 @@ unsigned short usErrorCode = 0;
|
|||||||
unsigned long ulIteration = 0;
|
unsigned long ulIteration = 0;
|
||||||
extern unsigned short usMaxJitter;
|
extern unsigned short usMaxJitter;
|
||||||
|
|
||||||
/* Intialise the sleeper. */
|
/* Initialise the sleeper. */
|
||||||
xDelay = xTaskGetTickCount();
|
xDelay = xTaskGetTickCount();
|
||||||
|
|
||||||
for( ;; )
|
for( ;; )
|
||||||
@ -289,7 +288,7 @@ extern unsigned short usMaxJitter;
|
|||||||
|
|
||||||
void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
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();
|
taskDISABLE_INTERRUPTS();
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
@ -297,7 +296,7 @@ void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
|||||||
|
|
||||||
void vApplicationMallocFailedHook( void )
|
void vApplicationMallocFailedHook( void )
|
||||||
{
|
{
|
||||||
/* The heap space has been execeeded. */
|
/* The heap space has been exceeded. */
|
||||||
taskDISABLE_INTERRUPTS();
|
taskDISABLE_INTERRUPTS();
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <device.h>
|
#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 )
|
void vInitialiseTimerForIntQueueTest( void )
|
||||||
{
|
{
|
||||||
|
@ -19,17 +19,16 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INT_QUEUE_TIMER_H_
|
#ifndef INT_QUEUE_TIMER_H_
|
||||||
#define 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 );
|
void vInitialiseTimerForIntQueueTest( void );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <device.h>
|
#include <device.h>
|
||||||
@ -188,7 +187,7 @@ unsigned short usErrorCode = 0;
|
|||||||
unsigned long ulIteration = 0;
|
unsigned long ulIteration = 0;
|
||||||
extern unsigned short usMaxJitter;
|
extern unsigned short usMaxJitter;
|
||||||
|
|
||||||
/* Intialise the sleeper. */
|
/* Initialise the sleeper. */
|
||||||
xDelay = xTaskGetTickCount();
|
xDelay = xTaskGetTickCount();
|
||||||
|
|
||||||
for( ;; )
|
for( ;; )
|
||||||
@ -289,7 +288,7 @@ extern unsigned short usMaxJitter;
|
|||||||
|
|
||||||
void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
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();
|
taskDISABLE_INTERRUPTS();
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
@ -297,7 +296,7 @@ void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
|||||||
|
|
||||||
void vApplicationMallocFailedHook( void )
|
void vApplicationMallocFailedHook( void )
|
||||||
{
|
{
|
||||||
/* The heap space has been execeeded. */
|
/* The heap space has been exceeded. */
|
||||||
taskDISABLE_INTERRUPTS();
|
taskDISABLE_INTERRUPTS();
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <device.h>
|
#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 )
|
void vInitialiseTimerForIntQueueTest( void )
|
||||||
{
|
{
|
||||||
|
@ -19,17 +19,16 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef INT_QUEUE_TIMER_H_
|
#ifndef INT_QUEUE_TIMER_H_
|
||||||
#define 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 );
|
void vInitialiseTimerForIntQueueTest( void );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <device.h>
|
#include <device.h>
|
||||||
@ -188,7 +187,7 @@ unsigned short usErrorCode = 0;
|
|||||||
unsigned long ulIteration = 0;
|
unsigned long ulIteration = 0;
|
||||||
extern unsigned short usMaxJitter;
|
extern unsigned short usMaxJitter;
|
||||||
|
|
||||||
/* Intialise the sleeper. */
|
/* Initialise the sleeper. */
|
||||||
xDelay = xTaskGetTickCount();
|
xDelay = xTaskGetTickCount();
|
||||||
|
|
||||||
for( ;; )
|
for( ;; )
|
||||||
@ -289,7 +288,7 @@ extern unsigned short usMaxJitter;
|
|||||||
|
|
||||||
void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
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();
|
taskDISABLE_INTERRUPTS();
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
@ -297,7 +296,7 @@ void vApplicationStackOverflowHook( TaskHandle_t pxTask, char *pcTaskName )
|
|||||||
|
|
||||||
void vApplicationMallocFailedHook( void )
|
void vApplicationMallocFailedHook( void )
|
||||||
{
|
{
|
||||||
/* The heap space has been execeeded. */
|
/* The heap space has been exceeded. */
|
||||||
taskDISABLE_INTERRUPTS();
|
taskDISABLE_INTERRUPTS();
|
||||||
for( ;; );
|
for( ;; );
|
||||||
}
|
}
|
||||||
|
@ -19,13 +19,12 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Standard inlcludes. */
|
/* Standard includes. */
|
||||||
#include <limits.h>
|
#include <limits.h>
|
||||||
|
|
||||||
/* FreeRTOS includes. */
|
/* 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
|
/* 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
|
an interrupt other than the tick interrupt. This is done for code coverage
|
||||||
puposes only. */
|
purposes only. */
|
||||||
void prvSetupTestTimer( void )
|
void prvSetupTestTimer( void )
|
||||||
{
|
{
|
||||||
static const LETIMER_Init_TypeDef xLETimerInitStruct =
|
static const LETIMER_Init_TypeDef xLETimerInitStruct =
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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
|
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||||
* an error be detected in any task or co-routine.
|
* 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
|
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||||
* with a known value, then checks each register to ensure the held value is
|
* 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
|
* 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. */
|
the timing of the transmission. */
|
||||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||||
|
|
||||||
/* The task priorites. */
|
/* The task priorities. */
|
||||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
|
|
||||||
@ -351,12 +350,12 @@ static char cRxedChar, cExpectedChar;
|
|||||||
/* Wait for a character to be received. */
|
/* Wait for a character to be received. */
|
||||||
xQueueReceive( xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY );
|
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 )
|
if( cRxedChar != cExpectedChar )
|
||||||
{
|
{
|
||||||
/* Got an unexpected character. This can sometimes occur when
|
/* Got an unexpected character. This can sometimes occur when
|
||||||
reseting the system using the debugger leaving characters already
|
reseting the system using the debugger leaving characters already
|
||||||
in the UART regsters. */
|
in the UART registers. */
|
||||||
uxErrorStatus = pdFAIL;
|
uxErrorStatus = pdFAIL;
|
||||||
|
|
||||||
/* Resync by waiting for the end of the current string. */
|
/* Resync by waiting for the end of the current string. */
|
||||||
@ -489,7 +488,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
|||||||
/* Clear the interrupt. */
|
/* Clear the interrupt. */
|
||||||
UARTIntClear( UART0_BASE, ulStatus );
|
UARTIntClear( UART0_BASE, ulStatus );
|
||||||
|
|
||||||
/* Was an Rx interrpt pending? */
|
/* Was an Rx interrupt pending? */
|
||||||
if( ulStatus & UART_INT_RX )
|
if( ulStatus & UART_INT_RX )
|
||||||
{
|
{
|
||||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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
|
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||||
* an error be detected in any task or co-routine.
|
* 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
|
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||||
* with a known value, then checks each register to ensure the held value is
|
* 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
|
* 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. */
|
the timing of the transmission. */
|
||||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||||
|
|
||||||
/* The task priorites. */
|
/* The task priorities. */
|
||||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
|
|
||||||
@ -357,12 +356,12 @@ portBASE_TYPE xResult;
|
|||||||
/* Wait for a character to be received. */
|
/* Wait for a character to be received. */
|
||||||
crQUEUE_RECEIVE( xHandle, xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY, &xResult );
|
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 ) )
|
if( ( cRxedChar != cExpectedChar ) || ( xResult != pdPASS ) )
|
||||||
{
|
{
|
||||||
/* Got an unexpected character. This can sometimes occur when
|
/* Got an unexpected character. This can sometimes occur when
|
||||||
reseting the system using the debugger leaving characters already
|
reseting the system using the debugger leaving characters already
|
||||||
in the UART regsters. */
|
in the UART registers. */
|
||||||
uxErrorStatus = pdFAIL;
|
uxErrorStatus = pdFAIL;
|
||||||
|
|
||||||
/* Resync by waiting for the end of the current string. */
|
/* Resync by waiting for the end of the current string. */
|
||||||
@ -497,7 +496,7 @@ portBASE_TYPE xTaskWokenByPost = pdFALSE;
|
|||||||
/* Clear the interrupt. */
|
/* Clear the interrupt. */
|
||||||
UARTIntClear( UART0_BASE, ulStatus );
|
UARTIntClear( UART0_BASE, ulStatus );
|
||||||
|
|
||||||
/* Was an Rx interrpt pending? */
|
/* Was an Rx interrupt pending? */
|
||||||
if( ulStatus & UART_INT_RX )
|
if( ulStatus & UART_INT_RX )
|
||||||
{
|
{
|
||||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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
|
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||||
* an error be detected in any task or co-routine.
|
* 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
|
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||||
* with a known value, then checks each register to ensure the held value is
|
* 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
|
* 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. */
|
the timing of the transmission. */
|
||||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||||
|
|
||||||
/* The task priorites. */
|
/* The task priorities. */
|
||||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
|
|
||||||
@ -351,12 +350,12 @@ static char cRxedChar, cExpectedChar;
|
|||||||
/* Wait for a character to be received. */
|
/* Wait for a character to be received. */
|
||||||
xQueueReceive( xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY );
|
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 )
|
if( cRxedChar != cExpectedChar )
|
||||||
{
|
{
|
||||||
/* Got an unexpected character. This can sometimes occur when
|
/* Got an unexpected character. This can sometimes occur when
|
||||||
reseting the system using the debugger leaving characters already
|
reseting the system using the debugger leaving characters already
|
||||||
in the UART regsters. */
|
in the UART registers. */
|
||||||
uxErrorStatus = pdFAIL;
|
uxErrorStatus = pdFAIL;
|
||||||
|
|
||||||
/* Resync by waiting for the end of the current string. */
|
/* Resync by waiting for the end of the current string. */
|
||||||
@ -489,7 +488,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
|||||||
/* Clear the interrupt. */
|
/* Clear the interrupt. */
|
||||||
UARTIntClear( UART0_BASE, ulStatus );
|
UARTIntClear( UART0_BASE, ulStatus );
|
||||||
|
|
||||||
/* Was an Rx interrpt pending? */
|
/* Was an Rx interrupt pending? */
|
||||||
if( ulStatus & UART_INT_RX )
|
if( ulStatus & UART_INT_RX )
|
||||||
{
|
{
|
||||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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
|
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||||
* an error be detected in any task or co-routine.
|
* 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
|
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||||
* with a known value, then checks each register to ensure the held value is
|
* 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
|
* 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. */
|
the timing of the transmission. */
|
||||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||||
|
|
||||||
/* The task priorites. */
|
/* The task priorities. */
|
||||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
|
|
||||||
@ -352,12 +351,12 @@ static char cRxedChar, cExpectedChar;
|
|||||||
/* Wait for a character to be received. */
|
/* Wait for a character to be received. */
|
||||||
xQueueReceive( xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY );
|
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 )
|
if( cRxedChar != cExpectedChar )
|
||||||
{
|
{
|
||||||
/* Got an unexpected character. This can sometimes occur when
|
/* Got an unexpected character. This can sometimes occur when
|
||||||
reseting the system using the debugger leaving characters already
|
reseting the system using the debugger leaving characters already
|
||||||
in the UART regsters. */
|
in the UART registers. */
|
||||||
uxErrorStatus = pdFAIL;
|
uxErrorStatus = pdFAIL;
|
||||||
|
|
||||||
/* Resync by waiting for the end of the current string. */
|
/* Resync by waiting for the end of the current string. */
|
||||||
@ -490,7 +489,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
|||||||
/* Clear the interrupt. */
|
/* Clear the interrupt. */
|
||||||
UARTIntClear( UART0_BASE, ulStatus );
|
UARTIntClear( UART0_BASE, ulStatus );
|
||||||
|
|
||||||
/* Was an Rx interrpt pending? */
|
/* Was an Rx interrupt pending? */
|
||||||
if( ulStatus & UART_INT_RX )
|
if( ulStatus & UART_INT_RX )
|
||||||
{
|
{
|
||||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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
|
* the string is CORRECTLY received on the UART. LED seven is latched on should
|
||||||
* an error be detected in any task or co-routine.
|
* 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
|
* prvSetAndCheckRegisters(). This simply loads the general purpose registers
|
||||||
* with a known value, then checks each register to ensure the held value is
|
* 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
|
* 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. */
|
the timing of the transmission. */
|
||||||
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
#define mainCOMMS_RX_DELAY ( mainMAX_TX_DELAY + 20 )
|
||||||
|
|
||||||
/* The task priorites. */
|
/* The task priorities. */
|
||||||
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
#define mainLCD_TASK_PRIORITY ( tskIDLE_PRIORITY )
|
||||||
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
#define mainCOMMS_RX_TASK_PRIORITY ( tskIDLE_PRIORITY + 1 )
|
||||||
|
|
||||||
@ -358,12 +357,12 @@ portBASE_TYPE xResult;
|
|||||||
/* Wait for a character to be received. */
|
/* Wait for a character to be received. */
|
||||||
crQUEUE_RECEIVE( xHandle, xCommsQueue, ( void * ) &cRxedChar, mainCOMMS_RX_DELAY, &xResult );
|
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 ) )
|
if( ( cRxedChar != cExpectedChar ) || ( xResult != pdPASS ) )
|
||||||
{
|
{
|
||||||
/* Got an unexpected character. This can sometimes occur when
|
/* Got an unexpected character. This can sometimes occur when
|
||||||
reseting the system using the debugger leaving characters already
|
reseting the system using the debugger leaving characters already
|
||||||
in the UART regsters. */
|
in the UART registers. */
|
||||||
uxErrorStatus = pdFAIL;
|
uxErrorStatus = pdFAIL;
|
||||||
|
|
||||||
/* Resync by waiting for the end of the current string. */
|
/* Resync by waiting for the end of the current string. */
|
||||||
@ -498,7 +497,7 @@ portBASE_TYPE xTaskWokenByPost = pdFALSE;
|
|||||||
/* Clear the interrupt. */
|
/* Clear the interrupt. */
|
||||||
UARTIntClear( UART0_BASE, ulStatus );
|
UARTIntClear( UART0_BASE, ulStatus );
|
||||||
|
|
||||||
/* Was an Rx interrpt pending? */
|
/* Was an Rx interrupt pending? */
|
||||||
if( ulStatus & UART_INT_RX )
|
if( ulStatus & UART_INT_RX )
|
||||||
{
|
{
|
||||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -195,7 +194,7 @@ portBASE_TYPE xHigherPriorityTaskWoken = pdFALSE;
|
|||||||
/* Clear the interrupt. */
|
/* Clear the interrupt. */
|
||||||
UARTIntClear( UART0_BASE, ulStatus );
|
UARTIntClear( UART0_BASE, ulStatus );
|
||||||
|
|
||||||
/* Was an Rx interrpt pending? */
|
/* Was an Rx interrupt pending? */
|
||||||
if( ulStatus & UART_INT_RX )
|
if( ulStatus & UART_INT_RX )
|
||||||
{
|
{
|
||||||
if( ( HWREG(UART0_BASE + UART_O_FR ) & UART_FR_RXFF ) )
|
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. */
|
/* Wait for a character to be received. */
|
||||||
xQueueReceive( xCommsQueue, ( void * ) &cRxedChar, commsRX_DELAY );
|
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 )
|
if( cRxedChar != cExpectedChar )
|
||||||
{
|
{
|
||||||
/* Got an unexpected character. This can sometimes occur when
|
/* Got an unexpected character. This can sometimes occur when
|
||||||
reseting the system using the debugger leaving characters already
|
reseting the system using the debugger leaving characters already
|
||||||
in the UART regsters. */
|
in the UART registers. */
|
||||||
uxCommsErrorStatus = pdFAIL;
|
uxCommsErrorStatus = pdFAIL;
|
||||||
|
|
||||||
/* Resync by waiting for the end of the current string. */
|
/* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@ -56,7 +55,7 @@
|
|||||||
* "Interrupt semaphore take" task - This task does nothing but block on a
|
* "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
|
* 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
|
* 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
|
* "Flash timers" - A software timer callback function is defined that does
|
||||||
* nothing but toggle an LED. Three software timers are created that each
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -176,7 +175,7 @@ extern void vUARTCommandConsoleStart( uint16_t usStackSize, UBaseType_t uxPriori
|
|||||||
void vFullDemoIdleHook( void );
|
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.
|
* demo uses a slower clock as it also uses low power features.
|
||||||
*/
|
*/
|
||||||
static void prvConfigureClocks( void );
|
static void prvConfigureClocks( void );
|
||||||
@ -401,7 +400,7 @@ static void prvConfigureClocks( void )
|
|||||||
FlashCtl_setWaitState( FLASH_BANK0, 2 );
|
FlashCtl_setWaitState( FLASH_BANK0, 2 );
|
||||||
FlashCtl_setWaitState( FLASH_BANK1, 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
|
blinky demo uses a slower clock as it also uses low power features. Maximum
|
||||||
freqency also needs more voltage.
|
freqency also needs more voltage.
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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 )
|
xComPortHandle xSerialPortInitMinimal( unsigned long ulWantedBaud, unsigned long uxQueueLength )
|
||||||
{
|
{
|
||||||
/* Create the queue used to hold received characters. NOTE THE COMMENTS AT
|
/* 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 ) );
|
xRxQueue = xQueueCreate( uxQueueLength, sizeof( char ) );
|
||||||
configASSERT( xRxQueue );
|
configASSERT( xRxQueue );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@ -115,7 +114,7 @@ static void prvQueueSendTask( void *pvParameters );
|
|||||||
void main_blinky( void );
|
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.
|
* demo uses a slower clock as it also uses low power features.
|
||||||
*/
|
*/
|
||||||
static void prvConfigureClocks( void );
|
static void prvConfigureClocks( void );
|
||||||
@ -142,7 +141,7 @@ void main_blinky( void )
|
|||||||
the blinky demo) and a tickless RTOS implementation that is tailored
|
the blinky demo) and a tickless RTOS implementation that is tailored
|
||||||
specifically to the MSP432. */
|
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. */
|
blinky demo uses a slower clock as it also uses low power features. */
|
||||||
prvConfigureClocks();
|
prvConfigureClocks();
|
||||||
|
|
||||||
@ -238,7 +237,7 @@ static const TickType_t xShortBlock = pdMS_TO_TICKS( 50 );
|
|||||||
|
|
||||||
static void prvConfigureClocks( void )
|
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.
|
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
|
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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@ -115,7 +114,7 @@ static void prvQueueSendTask( void *pvParameters );
|
|||||||
void main_blinky( void );
|
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.
|
* demo uses a slower clock as it also uses low power features.
|
||||||
*/
|
*/
|
||||||
static void prvConfigureClocks( void );
|
static void prvConfigureClocks( void );
|
||||||
@ -140,7 +139,7 @@ void main_blinky( void )
|
|||||||
the blinky demo) and a tickless RTOS implementation that is tailored
|
the blinky demo) and a tickless RTOS implementation that is tailored
|
||||||
specifically to the MSP432. */
|
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. */
|
blinky demo uses a slower clock as it also uses low power features. */
|
||||||
prvConfigureClocks();
|
prvConfigureClocks();
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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
|
* 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.
|
* 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
|
* 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()
|
* on the M4 core overrides the default implementation of sbRECEIVE_COMPLETED()
|
||||||
* to likewise generate an interrupt in the M7 core - so 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
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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
|
* 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.
|
* 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
|
* 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()
|
* on the M4 core overrides the default implementation of sbRECEIVE_COMPLETED()
|
||||||
* to likewise generate an interrupt in the M7 core - so 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
|
* 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
|
/* 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
|
pdTRUE if the interrupt unblocks a task that has a priority above that of
|
||||||
the currently executing task. */
|
the currently executing task. */
|
||||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
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.
|
* 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
|
* 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. */
|
/* Exercise stream buffers from interrupts. */
|
||||||
vBasicStreamBufferSendFromISR();
|
vBasicStreamBufferSendFromISR();
|
||||||
|
|
||||||
/* Exercise sempahores from interrupts. */
|
/* Exercise semaphores from interrupts. */
|
||||||
vInterruptSemaphorePeriodicTest();
|
vInterruptSemaphorePeriodicTest();
|
||||||
}
|
}
|
||||||
/*-----------------------------------------------------------*/
|
/*-----------------------------------------------------------*/
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __MPU_DEMO_H__
|
#ifndef __MPU_DEMO_H__
|
||||||
@ -38,7 +37,7 @@
|
|||||||
* by the task with Read Only access and if so, it recovers from the fault
|
* 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
|
* 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
|
* 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 );
|
void vStartMPUDemo( void );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __MPU_DEMO_H__
|
#ifndef __MPU_DEMO_H__
|
||||||
@ -38,7 +37,7 @@
|
|||||||
* by the task with Read Only access and if so, it recovers from the fault
|
* 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
|
* 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
|
* 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 );
|
void vStartMPUDemo( void );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __MPU_DEMO_H__
|
#ifndef __MPU_DEMO_H__
|
||||||
@ -38,7 +37,7 @@
|
|||||||
* is the fault generated by the task with Read Only access and if so, it
|
* 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
|
* 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
|
* 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 );
|
void vStartMPUDemo( void );
|
||||||
|
|
||||||
|
@ -37,7 +37,7 @@
|
|||||||
* by the task with Read Only access and if so, it recovers from the fault
|
* 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
|
* 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
|
* 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 );
|
void vStartMPUDemo( void );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "FreeRTOS.h"
|
#include "FreeRTOS.h"
|
||||||
@ -45,7 +44,7 @@ void vLedTask(void *pvParameters)
|
|||||||
unsigned count = 0;
|
unsigned count = 0;
|
||||||
unsigned colour = 0;
|
unsigned colour = 0;
|
||||||
|
|
||||||
/* Initalise the IO ports that drive the LEDs */
|
/* Initialise the IO ports that drive the LEDs */
|
||||||
gioSetDirection(hetPORT, 0xFFFFFFFF);
|
gioSetDirection(hetPORT, 0xFFFFFFFF);
|
||||||
/* switch all leds off */
|
/* switch all leds off */
|
||||||
gioSetPort(hetPORT, 0x08110034);
|
gioSetPort(hetPORT, 0x08110034);
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef __HET_H__
|
#ifndef __HET_H__
|
||||||
@ -49,8 +48,8 @@ typedef volatile struct hetBase
|
|||||||
unsigned OFF2; /**< 0x0010: Interrupt offset register 2 */
|
unsigned OFF2; /**< 0x0010: Interrupt offset register 2 */
|
||||||
unsigned INTENAS; /**< 0x0014: Interrupt enable set register */
|
unsigned INTENAS; /**< 0x0014: Interrupt enable set register */
|
||||||
unsigned INTENAC; /**< 0x0018: Interrupt enable clear register */
|
unsigned INTENAC; /**< 0x0018: Interrupt enable clear register */
|
||||||
unsigned EXC1; /**< 0x001C: Exeption control register 1 */
|
unsigned EXC1; /**< 0x001C: Exception control register 1 */
|
||||||
unsigned EXC2; /**< 0x0020: Exeption control register 2 */
|
unsigned EXC2; /**< 0x0020: Exception control register 2 */
|
||||||
unsigned PRY; /**< 0x0024: Interrupt priority register */
|
unsigned PRY; /**< 0x0024: Interrupt priority register */
|
||||||
unsigned FLG; /**< 0x0028: Interrupt flag register */
|
unsigned FLG; /**< 0x0028: Interrupt flag register */
|
||||||
unsigned : 32U; /**< 0x002C: Reserved */
|
unsigned : 32U; /**< 0x002C: Reserved */
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*-----------------------------------------------------------
|
/*-----------------------------------------------------------
|
||||||
@ -59,7 +58,7 @@ void vParTestInitialise( void )
|
|||||||
{
|
{
|
||||||
unsigned long ul;
|
unsigned long ul;
|
||||||
|
|
||||||
/* Initalise the IO ports that drive the LEDs */
|
/* Initialise the IO ports that drive the LEDs */
|
||||||
gioSetDirection( hetPORT, 0xFFFFFFFF );
|
gioSetDirection( hetPORT, 0xFFFFFFFF );
|
||||||
|
|
||||||
/* Turn all the LEDs off. */
|
/* Turn all the LEDs off. */
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -125,7 +124,7 @@ xComPortHandle xReturn = ( xComPortHandle ) 0;
|
|||||||
hardware. */
|
hardware. */
|
||||||
if( ( xRxedChars != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) )
|
if( ( xRxedChars != serINVALID_QUEUE ) && ( xCharsForTx != serINVALID_QUEUE ) )
|
||||||
{
|
{
|
||||||
/* Initalise SCI1 */
|
/* Initialise SCI1 */
|
||||||
/* Bring SCI out of reset */
|
/* Bring SCI out of reset */
|
||||||
serialSCI_GCR0_REG = 0x00000001UL;
|
serialSCI_GCR0_REG = 0x00000001UL;
|
||||||
/* Disable all interrupts */
|
/* Disable all interrupts */
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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 */
|
/* Select User Button pin as input source for EXTI Line */
|
||||||
SYSCFG_EXTILineConfig( EXTI_PortSourceGPIOA, EXTI_PinSource0 );
|
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_Line = EXTI_Line0 ; /* PA0 for User button AND IDD_WakeUP */
|
||||||
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;
|
||||||
EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
|
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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -64,7 +63,7 @@ Changes from V1.00:
|
|||||||
|
|
||||||
Changes from V1.01:
|
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
|
Previously a fixed period was used but this was not such a good test as
|
||||||
interrupts fired at regular intervals.
|
interrupts fired at regular intervals.
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -901,7 +900,7 @@ SemaphoreHandle_t xMutex = ( SemaphoreHandle_t ) pvParameters, xLocalMutex;
|
|||||||
vPrintDisplayMessage( &pcTaskStartMsg );
|
vPrintDisplayMessage( &pcTaskStartMsg );
|
||||||
#endif
|
#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();
|
xLocalMutex = xSemaphoreCreateMutex();
|
||||||
configASSERT( xLocalMutex );
|
configASSERT( xLocalMutex );
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -299,7 +298,7 @@ BaseType_t xHigherPriorityTaskWoken = pdFALSE;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* Normal FreeRTOS yield from interrupt semantics, where
|
/* 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
|
pdTRUE if the interrupt safe API unblocks a task that has a priority above
|
||||||
that of the currently executing task. */
|
that of the currently executing task. */
|
||||||
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
portYIELD_FROM_ISR( xHigherPriorityTaskWoken );
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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++ )
|
for( uxIndexToTest = 0; uxIndexToTest < configTASK_NOTIFICATION_ARRAY_ENTRIES; uxIndexToTest++ )
|
||||||
{
|
{
|
||||||
/* Send notifications to all indexes with the array of task
|
/* 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++ )
|
for( uxOtherIndexes = 0; uxOtherIndexes < configTASK_NOTIFICATION_ARRAY_ENTRIES; uxOtherIndexes++ )
|
||||||
{
|
{
|
||||||
if( uxOtherIndexes != uxIndexToTest )
|
if( uxOtherIndexes != uxIndexToTest )
|
||||||
@ -1109,7 +1108,7 @@ const TickType_t xDontBlock = 0;
|
|||||||
ulReceivedValue = ulTaskNotifyTakeIndexed( uxIndexToNotify, pdTRUE, portMAX_DELAY );
|
ulReceivedValue = ulTaskNotifyTakeIndexed( uxIndexToNotify, pdTRUE, portMAX_DELAY );
|
||||||
|
|
||||||
/* Interrupt should have reset xSendNotificationFromISR after it sent
|
/* Interrupt should have reset xSendNotificationFromISR after it sent
|
||||||
the notificatino. */
|
the notification. */
|
||||||
configASSERT( xSendNotificationFromISR == pdFALSE );
|
configASSERT( xSendNotificationFromISR == pdFALSE );
|
||||||
|
|
||||||
/* The notification value was initially zero, and should have been
|
/* 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
|
/* 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
|
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
|
(sending a command to the timer service task will unblock the timer service
|
||||||
task, which will then preempt this task). */
|
task, which will then preempt this task). */
|
||||||
if( xTestStatus != pdFAIL )
|
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. */
|
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. */
|
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. */
|
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. */
|
( 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. */
|
prvOneShotTimerCallback ); /* The callback to be called when the timer expires. */
|
||||||
|
|
||||||
@ -408,7 +408,7 @@ UBaseType_t uxOriginalPriority;
|
|||||||
function the expected number of times. */
|
function the expected number of times. */
|
||||||
for( ucTimer = 0; ucTimer < ( uint8_t ) configTIMER_QUEUE_LENGTH; ucTimer++ )
|
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. */
|
by the timer period. */
|
||||||
xTimerPeriod = ( ( ( TickType_t ) ucTimer + ( TickType_t ) 1 ) * xBasePeriod );
|
xTimerPeriod = ( ( ( TickType_t ) ucTimer + ( TickType_t ) 1 ) * xBasePeriod );
|
||||||
xExpectedNumber = xBlockPeriod / xTimerPeriod;
|
xExpectedNumber = xBlockPeriod / xTimerPeriod;
|
||||||
@ -717,8 +717,8 @@ static void prvTest7_CheckBacklogBehaviour( void )
|
|||||||
/* Arrange for the callback to execute late enough that it will execute
|
/* Arrange for the callback to execute late enough that it will execute
|
||||||
twice, back-to-back. The timer must handle the stop request properly
|
twice, back-to-back. The timer must handle the stop request properly
|
||||||
in spite of the backlog of callbacks. */
|
in spite of the backlog of callbacks. */
|
||||||
#define tmrdemoEXPECTED_BACKLOG_EXPIRIES ( ( TickType_t ) 2 )
|
#define tmrdemoEXPECTED_BACKLOG_EXPIRES ( ( TickType_t ) 2 )
|
||||||
xTaskCatchUpTicks( tmrdemoBACKLOG_TIMER_PERIOD * tmrdemoEXPECTED_BACKLOG_EXPIRIES );
|
xTaskCatchUpTicks( tmrdemoBACKLOG_TIMER_PERIOD * tmrdemoEXPECTED_BACKLOG_EXPIRES );
|
||||||
|
|
||||||
/* The timer should now be inactive. */
|
/* The timer should now be inactive. */
|
||||||
if( xTimerIsTimerActive( xAutoReloadTimers[ 0 ] ) != pdFALSE )
|
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
|
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
|
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
|
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
|
reason xMargin is used as an allowable margin for premature timer expires
|
||||||
as well as late timer expiries. */
|
as well as late timer expires. */
|
||||||
#ifdef _WINDOWS_
|
#ifdef _WINDOWS_
|
||||||
/* Windows is not real real time. */
|
/* Windows is not real real time. */
|
||||||
const TickType_t xMargin = 20;
|
const TickType_t xMargin = 20;
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -74,7 +73,7 @@
|
|||||||
/* The size of the stack given to the Rx task. */
|
/* The size of the stack given to the Rx task. */
|
||||||
#define comSTACK_SIZE configMINIMAL_STACK_SIZE
|
#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 comTX_LED_OFFSET ( 0 )
|
||||||
#define comRX_LED_OFFSET ( 1 )
|
#define comRX_LED_OFFSET ( 1 )
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* FreeRTOS includes. */
|
/* 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
|
* @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
|
* 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).
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* WinPCap includes. */
|
/* 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
|
* @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
|
* 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).
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FREERTOS_CONFIG_H
|
#ifndef FREERTOS_CONFIG_H
|
||||||
@ -125,7 +124,7 @@ the timer has overflowed. */
|
|||||||
TA1CTL &= ~TAIFG; \
|
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. */ \
|
counter value with the number of overflows. */ \
|
||||||
ulCountValue = ( ulStatsOverflowCount << 16UL ); \
|
ulCountValue = ( ulStatsOverflowCount << 16UL ); \
|
||||||
ulCountValue |= ( unsigned long ) TA1R; \
|
ulCountValue |= ( unsigned long ) TA1R; \
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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
|
* installation. It is also included to demonstrate a minimal project-setup
|
||||||
* to use FreeRTOS in a wizC environment.
|
* 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
|
* 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
|
* 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.
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Scheduler includes. */
|
/* Scheduler includes. */
|
||||||
@ -170,7 +169,7 @@ static void vLCDTask( void *pvParameters )
|
|||||||
xLCDMessage xMessage;
|
xLCDMessage xMessage;
|
||||||
unsigned short usRow = 0;
|
unsigned short usRow = 0;
|
||||||
|
|
||||||
/* Remove compiler warnigns. */
|
/* Remove compiler warnings. */
|
||||||
( void ) pvParameters;
|
( void ) pvParameters;
|
||||||
|
|
||||||
/* Initialise the hardware. This uses delays so must not be called prior
|
/* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@ -244,7 +243,7 @@ static enum {
|
|||||||
EXCEP_Overflow, /* arithmetic overflow */
|
EXCEP_Overflow, /* arithmetic overflow */
|
||||||
EXCEP_Trap, /* trap (possible divide by zero) */
|
EXCEP_Trap, /* trap (possible divide by zero) */
|
||||||
EXCEP_FPE = 15, /* floating point exception */
|
EXCEP_FPE = 15, /* floating point exception */
|
||||||
EXCEP_IS1 = 16, /* implementation specfic 1 */
|
EXCEP_IS1 = 16, /* implementation specific 1 */
|
||||||
EXCEP_CEU, /* CorExtend Unuseable */
|
EXCEP_CEU, /* CorExtend Unuseable */
|
||||||
EXCEP_C2E, /* coprocessor 2 */
|
EXCEP_C2E, /* coprocessor 2 */
|
||||||
EXCEP_DSPDis = 26 /* DSP module disabled */
|
EXCEP_DSPDis = 26 /* DSP module disabled */
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@ -179,7 +178,7 @@ static void prvQueueSendTask( void *pvParameters )
|
|||||||
TickType_t xNextWakeTime;
|
TickType_t xNextWakeTime;
|
||||||
const unsigned long ulValueToSend = 100UL;
|
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;
|
( void ) pvParameters;
|
||||||
|
|
||||||
/* Check the task parameter is as expected. */
|
/* Check the task parameter is as expected. */
|
||||||
|
@ -26,7 +26,7 @@
|
|||||||
|
|
||||||
/*
|
/*
|
||||||
* Contains sundry tests to exercise code that is not touched by the standard
|
* 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.
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@ -215,7 +214,7 @@ void LPIT0_IRQHandler( void )
|
|||||||
BaseType_t xTaskIncrementTick( void );
|
BaseType_t xTaskIncrementTick( void );
|
||||||
void vTaskSwitchContext( 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. */
|
/* vPortSetupTimerInterrupt() uses LPIT0 to generate the tick interrupt. */
|
||||||
if( xTaskIncrementTick() != 0 )
|
if( xTaskIncrementTick() != 0 )
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
@ -70,7 +69,7 @@
|
|||||||
#include "timers.h"
|
#include "timers.h"
|
||||||
#include "semphr.h"
|
#include "semphr.h"
|
||||||
|
|
||||||
/* Microsemi incldues. */
|
/* Microsemi includes. */
|
||||||
#include "core_timer.h"
|
#include "core_timer.h"
|
||||||
#include "riscv_hal.h"
|
#include "riscv_hal.h"
|
||||||
|
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -134,7 +133,7 @@ unsigned long ulReceivedValue;
|
|||||||
|
|
||||||
for( ;; )
|
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
|
indefinitely provided INCLUDE_vTaskSuspend is set to 1 in
|
||||||
FreeRTOSConfig.h. */
|
FreeRTOSConfig.h. */
|
||||||
xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
|
xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
|
||||||
|
@ -19,10 +19,9 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -133,7 +132,7 @@ unsigned long ulReceivedValue;
|
|||||||
|
|
||||||
for( ;; )
|
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
|
indefinitely provided INCLUDE_vTaskSuspend is set to 1 in
|
||||||
FreeRTOSConfig.h. */
|
FreeRTOSConfig.h. */
|
||||||
xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
|
xQueueReceive( xQueue, &ulReceivedValue, portMAX_DELAY );
|
||||||
|
@ -19,15 +19,14 @@
|
|||||||
* IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* https://github.com/FreeRTOS
|
||||||
*
|
*
|
||||||
* 1 tab == 4 spaces!
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Contains sundry tests to exercise code that is not touched by the standard
|
* 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.
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://www.FreeRTOS.org
|
* https://www.FreeRTOS.org
|
||||||
* http://aws.amazon.com/freertos
|
* 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.
|
* Frames can be read from the EMAC in multiple sections.
|
||||||
* Read ulSectionLength bytes from the EMAC receive buffers to pcTo.
|
* Read ulSectionLength bytes from the EMAC receive buffers to pcTo.
|
||||||
* ulTotalFrameLength is the size of the entire frame. Generally vEMACRead
|
* 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.
|
* the value of ulTotalFrameLength.
|
||||||
*/
|
*/
|
||||||
void vEMACRead( char *pcTo, unsigned long ulSectionLength, unsigned long ulTotalFrameLength );
|
void vEMACRead( char *pcTo, unsigned long ulSectionLength, unsigned long ulTotalFrameLength );
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/*
|
/*
|
||||||
* FreeRTOS V202104.00
|
* 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
|
* 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
|
* 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
|
* 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.
|
* CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
*
|
*
|
||||||
* http://aws.amazon.com/freertos
|
* https://www.FreeRTOS.org
|
||||||
* http://www.FreeRTOS.org
|
* https://github.com/FreeRTOS
|
||||||
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#ifndef FREERTOS_CONFIG_H
|
#ifndef FREERTOS_CONFIG_H
|
||||||
@ -227,7 +228,7 @@ extern void vAssertCalled( const char * pcFile,
|
|||||||
|
|
||||||
#define configPROFILING ( 0 )
|
#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();
|
extern uint32_t ulRand();
|
||||||
#define configRAND32() 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.
|
* 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"
|
#include "cbmc.h"
|
||||||
@ -50,7 +52,7 @@ StackType_t *pxTimerTaskStack;
|
|||||||
* `pxCurrentTCB` allocation is allowed to fail. The global variables above
|
* `pxCurrentTCB` allocation is allowed to fail. The global variables above
|
||||||
* this comment are used in the stubbed functions `vApplicationGetIdleTaskMemory`
|
* this comment are used in the stubbed functions `vApplicationGetIdleTaskMemory`
|
||||||
* and `vApplicationGetTimerTaskMemory` (at the end of this file) and buffer allocation
|
* 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 )
|
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,
|
void vApplicationGetIdleTaskMemory( StaticTask_t ** ppxIdleTaskTCBBuffer,
|
||||||
StackType_t ** ppxIdleTaskStackBuffer,
|
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 )
|
void vApplicationGetTimerTaskMemory( StaticTask_t **ppxTimerTaskTCBBuffer, StackType_t **ppxTimerTaskStackBuffer, uint32_t *pulTimerTaskStackSize )
|
||||||
{
|
{
|
||||||
|
@ -107,7 +107,7 @@ def get_arguments():
|
|||||||
# Variable definitions
|
# Variable definitions
|
||||||
#
|
#
|
||||||
# JSON files give variable definitions for common, operating system,
|
# JSON files give variable definitions for common, operating system,
|
||||||
# and harness specfic values
|
# and harness specific values
|
||||||
#
|
#
|
||||||
|
|
||||||
def read_variable_definitions(filename):
|
def read_variable_definitions(filename):
|
||||||
|
@ -89,7 +89,7 @@ def build():
|
|||||||
create_cbmc_yaml_files()
|
create_cbmc_yaml_files()
|
||||||
except CalledProcessError as e:
|
except CalledProcessError as e:
|
||||||
logging.error(textwrap.dedent("""\
|
logging.error(textwrap.dedent("""\
|
||||||
An error occured during cbmc-batch generation.
|
An error occurred during cbmc-batch generation.
|
||||||
The error message is: {}
|
The error message is: {}
|
||||||
""".format(str(e))))
|
""".format(str(e))))
|
||||||
exit(1)
|
exit(1)
|
||||||
@ -102,7 +102,7 @@ def build():
|
|||||||
# create_patches(HEADERS)
|
# create_patches(HEADERS)
|
||||||
#except (DirtyGitError, PatchCreationError) as e:
|
#except (DirtyGitError, PatchCreationError) as e:
|
||||||
# logging.error(textwrap.dedent("""\
|
# logging.error(textwrap.dedent("""\
|
||||||
# An error occured during patch creation.
|
# An error occurred during patch creation.
|
||||||
# The error message is: {}
|
# The error message is: {}
|
||||||
# """.format(str(e))))
|
# """.format(str(e))))
|
||||||
# exit(1)
|
# exit(1)
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* FreeRTOS V202012.00
|
* FreeRTOS V202104.00
|
||||||
* Copyright (C) 2020 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
|
* 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
|
* @coverage vEventGroupSetBitsCallback
|
||||||
*/
|
*/
|
||||||
void test_vEventGroupSetBitsCallback_Success( void )
|
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
|
* @coverage vEventGroupClearBitsCallback
|
||||||
*/
|
*/
|
||||||
void test_vEventGroupClearBitsCallback_Success( void )
|
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.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
@ -68,8 +68,8 @@ int suiteTearDown( int numFailures )
|
|||||||
/* =========================== Static Functions =========================== */
|
/* =========================== Static Functions =========================== */
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief initilize a preallocated list of ListItems_t
|
* @brief initialize a preallocated list of ListItems_t
|
||||||
* @param listItems list to initilize
|
* @param listItems list to initialize
|
||||||
* @param count the number of listItems in the list
|
* @param count the number of listItems in the list
|
||||||
*/
|
*/
|
||||||
static void initialise_list_items( ListItem_t * listItems,
|
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
|
* value to its position value
|
||||||
* @param listItems list to initilize
|
* @param listItems list to initialize
|
||||||
* @param count the number of listItems in the list
|
* @param count the number of listItems in the list
|
||||||
*/
|
*/
|
||||||
static void initialise_list_items_with_position( ListItem_t * listItems,
|
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 ============================== */
|
/* ============================== Test Cases ============================== */
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* @brief validate the initilization function of a list
|
* @brief validate the initialization function of a list
|
||||||
* @coverage vListInitialise
|
* @coverage vListInitialise
|
||||||
*/
|
*/
|
||||||
void test_vListInitialise_Success( void )
|
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
|
* @coverage vListInitialiseItem
|
||||||
*/
|
*/
|
||||||
void test_vListInitialiseItem_Sucess( void )
|
void test_vListInitialiseItem_Success( void )
|
||||||
{
|
{
|
||||||
ListItem_t pxItem;
|
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
|
* @details This test ensures the list is sane when 2 items are inserted
|
||||||
* @coverage vListInsert
|
* @coverage vListInsert
|
||||||
*/
|
*/
|
||||||
void test_vListInsert_sucess_2_items( void )
|
void test_vListInsert_success_2_items( void )
|
||||||
{
|
{
|
||||||
List_t pxList;
|
List_t pxList;
|
||||||
ListItem_t pxNewListItem[ 2 ];
|
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
|
* @details This test ensures the list is sane when 3 items are inserted
|
||||||
* @coverage vListInsert
|
* @coverage vListInsert
|
||||||
*/
|
*/
|
||||||
void test_vListInsert_sucess_3_items( void )
|
void test_vListInsert_success_3_items( void )
|
||||||
{
|
{
|
||||||
List_t pxList;
|
List_t pxList;
|
||||||
ListItem_t pxNewListItem[ 3 ];
|
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
|
* @details This test ensures the list is sane when 1 item is removed
|
||||||
* @coverage uxListRemove
|
* @coverage uxListRemove
|
||||||
*/
|
*/
|
||||||
void test_uxListRemove_sucesss( void )
|
void test_uxListRemove_success( void )
|
||||||
{
|
{
|
||||||
List_t pxList;
|
List_t pxList;
|
||||||
ListItem_t pxNewListItem;
|
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.
|
* 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
|
* 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;
|
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();
|
fakeAssertExpectFail();
|
||||||
QueueHandle_t xQueue = xQueueCreateStatic( 0, 0, NULL, &queueBuffer );
|
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.
|
* 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
|
* 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 ) );
|
void * queueData = malloc( 6 * sizeof( uint32_t ) );
|
||||||
QueueHandle_t xQueue = xQueueCreateStatic( 6, sizeof( uint32_t ), queueData, queueBuffer );
|
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() );
|
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||||
|
|
||||||
vQueueDelete( xQueue );
|
vQueueDelete( xQueue );
|
||||||
@ -108,7 +108,7 @@ void test_vQueueDelete_half_full( void )
|
|||||||
void * queueData = malloc( 6 * sizeof( uint32_t ) );
|
void * queueData = malloc( 6 * sizeof( uint32_t ) );
|
||||||
QueueHandle_t xQueue = xQueueCreateStatic( 6, sizeof( uint32_t ), queueData, queueBuffer );
|
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() );
|
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||||
|
|
||||||
for( uint32_t i = 0; i < 3; i++ )
|
for( uint32_t i = 0; i < 3; i++ )
|
||||||
@ -134,7 +134,7 @@ void test_vQueueDelete_full( void )
|
|||||||
void * queueData = malloc( 6 * sizeof( uint32_t ) );
|
void * queueData = malloc( 6 * sizeof( uint32_t ) );
|
||||||
QueueHandle_t xQueue = xQueueCreateStatic( 6, sizeof( uint32_t ), queueData, queueBuffer );
|
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() );
|
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||||
|
|
||||||
for( uint32_t i = 0; i < 6; i++ )
|
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.
|
* 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
|
* 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
|
* @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.
|
* block forever when the queue is empty.
|
||||||
* @coverage xQueuePeek
|
* @coverage xQueuePeek
|
||||||
*/
|
*/
|
||||||
@ -361,7 +361,7 @@ void test_xQueuePeek_blocking_suspended_assert( void )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Callback which adds and item to it's test queue.
|
* @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,
|
static BaseType_t blocking_success_xTaskCheckForTimeOut_cb( TimeOut_t * const pxTimeOut,
|
||||||
TickType_t * const pxTicksToWait,
|
TickType_t * const pxTicksToWait,
|
||||||
@ -479,7 +479,7 @@ void test_xQueuePeek_blocking_timeout( void )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Test xQueueReceive with taskSCHEDULER_SUSPENDED and timeout=10
|
* @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.
|
* block forever when the queue is empty.
|
||||||
* @coverage xQueueReceive
|
* @coverage xQueueReceive
|
||||||
*/
|
*/
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* FreeRTOS V202012.00
|
* FreeRTOS V202104.00
|
||||||
* Copyright (C) 2020 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
|
* 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
|
* @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.
|
* xQueuePeek is non-blocking when timeout=0.
|
||||||
* @coverage xQueuePeek
|
* @coverage xQueuePeek
|
||||||
*/
|
*/
|
||||||
@ -856,7 +856,7 @@ void test_xQueueReceive_noop_waiting_lower_priority( void )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Test xQueueReceive with taskSCHEDULER_SUSPENDED and timeout=0
|
* @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.
|
* xQueueReceive is non-blocking when timeout=0.
|
||||||
* @coverage xQueueReceive
|
* @coverage xQueueReceive
|
||||||
*/
|
*/
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* FreeRTOS V202012.00
|
* FreeRTOS V202104.00
|
||||||
* Copyright (C) 2020 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
|
* 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
|
* @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.
|
* block forever when the queue is full.
|
||||||
* @coverage xQueueGenericSend
|
* @coverage xQueueGenericSend
|
||||||
*/
|
*/
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* FreeRTOS V202012.00
|
* FreeRTOS V202104.00
|
||||||
* Copyright (C) 2020 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
|
* 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.
|
* @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
|
* @coverage xQueueGenericSend
|
||||||
*/
|
*/
|
||||||
void test_macro_xQueueSend_oneQueueLength_oneItemSize_null( void )
|
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
|
* @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.
|
* xQueueSend is non-blocking when timeout=0.
|
||||||
* @coverage xQueueGenericSend
|
* @coverage xQueueGenericSend
|
||||||
*/
|
*/
|
||||||
@ -614,7 +614,7 @@ void test_macro_xQueueSendFromISR_oneQueueLength_oneItemSize( void )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Test xQueueSendFromISR with uxQueueLength=1, uxItemSize=1 and null item.
|
* @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
|
* @coverage xQueueGenericSendFromISR
|
||||||
*/
|
*/
|
||||||
void test_macro_xQueueSendFromISR_oneQueueLength_oneItemSize_null( void )
|
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
|
* @brief Test xQueueSendFromISR with a higher priority task waiting
|
||||||
* @details Test xQueueSendFromISR with a higher priority task waiting and
|
* @details Test xQueueSendFromISR with a higher priority task waiting and
|
||||||
* verifies that xHigherPriorityTaskWoken is set accoridngly.
|
* verifies that xHigherPriorityTaskWoken is set accordingly.
|
||||||
* @coverage xQueueGenericSendFromISR
|
* @coverage xQueueGenericSendFromISR
|
||||||
*/
|
*/
|
||||||
void test_macro_xQueueSendFromISR_task_waiting_higher_priority_success( void )
|
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.
|
* 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
|
* Permission is hereby granted, free of charge, to any person obtaining a copy of
|
||||||
@ -74,7 +74,7 @@ bool xMaskAssertAndAbort;
|
|||||||
/* ================================= MACROS ================================ */
|
/* ================================= 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.
|
* Break out of the called function when this occurs.
|
||||||
* @details Use this macro when the call passsed in as a parameter is expected
|
* @details Use this macro when the call passsed in as a parameter is expected
|
||||||
* to cause invalid memory access.
|
* to cause invalid memory access.
|
||||||
@ -115,7 +115,7 @@ void vPortFree( void * pv );
|
|||||||
* provided assertion is false and the fakeAssertExpectFail()
|
* provided assertion is false and the fakeAssertExpectFail()
|
||||||
* function was not called prior to the assertion.
|
* function was not called prior to the assertion.
|
||||||
* @param assertion Boolean assertion passed into the configASSERT() macro
|
* @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 line Line number of the assertion
|
||||||
* @param num_calls Number of times configASSERT() was called
|
* @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.
|
* @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.
|
* the last call to fakeAssertGetFlagAndClear.
|
||||||
* @return false if no assert was triggered.
|
* @return false if no assert was triggered.
|
||||||
*/
|
*/
|
||||||
@ -247,7 +247,7 @@ void vSetQueueTxLock( QueueHandle_t xQueue,
|
|||||||
BaseType_t fakeAssertGetNumAssertsAndClear( void );
|
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 );
|
void fakeAssertVerifyNumAssertsAndClear( uint32_t ulNumAssertsExpected );
|
||||||
|
|
||||||
@ -275,7 +275,7 @@ void td_port_register_stubs( void );
|
|||||||
/**
|
/**
|
||||||
* @brief Validate ending state of td_port related variables.
|
* @brief Validate ending state of td_port related variables.
|
||||||
* @details This function should be called after every test case.
|
* @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.
|
* frees resources used by CMock.
|
||||||
*/
|
*/
|
||||||
void td_port_teardown_check( void );
|
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.
|
* 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
|
* 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
|
* @brief Test xSemaphoreGiveFromISR with a higher priority task waiting
|
||||||
* @details Test xSemaphoreGiveFromISR with a higher priority task waiting and
|
* @details Test xSemaphoreGiveFromISR with a higher priority task waiting and
|
||||||
* verify that xHigherPriorityTaskWoken is set accoridngly.
|
* verify that xHigherPriorityTaskWoken is set accordingly.
|
||||||
* @coverage xQueueGiveFromISR
|
* @coverage xQueueGiveFromISR
|
||||||
*/
|
*/
|
||||||
void test_macro_xSemaphoreGiveFromISR_high_priority_pending( void )
|
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
|
* @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.
|
* block forever when the semaphore is empty.
|
||||||
* @coverage xQueueSemaphoreTake
|
* @coverage xQueueSemaphoreTake
|
||||||
*/
|
*/
|
||||||
@ -596,7 +596,7 @@ void test_xSemaphoreTake_blocking_suspended_assert( void )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Test xSemaphoreTake with taskSCHEDULER_SUSPENDED and timeout=0
|
* @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.
|
* xSemaphoreTake is non-blocking when timeout=0.
|
||||||
* @coverage xQueueSemaphoreTake
|
* @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.
|
* which becomes available while a call to xSemaphoreTake is blocking.
|
||||||
* @coverage xQueueSemaphoreTake
|
* @coverage xQueueSemaphoreTake
|
||||||
*/
|
*/
|
||||||
void test_xSemaphoreTake_blocking_sucess( void )
|
void test_xSemaphoreTake_blocking_success( void )
|
||||||
{
|
{
|
||||||
SemaphoreHandle_t xSemaphore = xSemaphoreCreateBinary();
|
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.
|
* 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
|
* 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
|
* @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.
|
* block forever when the semaphore is empty.
|
||||||
* @coverage xQueueSemaphoreTake
|
* @coverage xQueueSemaphoreTake
|
||||||
*/
|
*/
|
||||||
@ -592,7 +592,7 @@ void test_xSemaphoreTake_blocking_suspended_assert( void )
|
|||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Test xSemaphoreTake with taskSCHEDULER_SUSPENDED and timeout=0
|
* @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.
|
* xSemaphoreTake is non-blocking when timeout=0.
|
||||||
* @coverage xQueueSemaphoreTake
|
* @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.
|
* which becomes available while a call to xSemaphoreTake is blocking.
|
||||||
* @coverage xQueueSemaphoreTake
|
* @coverage xQueueSemaphoreTake
|
||||||
*/
|
*/
|
||||||
void test_xSemaphoreTake_blocking_sucess( void )
|
void test_xSemaphoreTake_blocking_success( void )
|
||||||
{
|
{
|
||||||
SemaphoreHandle_t xSemaphore = xSemaphoreCreateCounting( 2, 0 );
|
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.
|
* 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
|
* 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++ )
|
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 );
|
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++ )
|
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 );
|
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++ )
|
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 );
|
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.
|
* 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
|
* 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 */
|
/* Verify that the returned handle is NULL */
|
||||||
TEST_ASSERT_EQUAL( NULL, xSemaphore );
|
TEST_ASSERT_EQUAL( NULL, xSemaphore );
|
||||||
|
|
||||||
/* check that no call to malloc ocurred */
|
/* check that no call to malloc occurred */
|
||||||
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +372,7 @@ void test_macro_xSemaphoreCreateCountingStatic_zero_zero_fail( void )
|
|||||||
/* validate returned semaphore handle */
|
/* validate returned semaphore handle */
|
||||||
TEST_ASSERT_NOT_EQUAL( NULL, xSemaphore );
|
TEST_ASSERT_NOT_EQUAL( NULL, xSemaphore );
|
||||||
|
|
||||||
/* Check that no malloc occured */
|
/* Check that no malloc occurred */
|
||||||
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
TEST_ASSERT_EQUAL( 0, getLastMallocSize() );
|
||||||
|
|
||||||
/* Check that the returned count is zero */
|
/* 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