Fix Build and Links failure in MPU projects. Minor cosmetic changes in some V8M files.

This commit is contained in:
Gaurav Aggarwal 2019-02-20 20:27:07 +00:00
parent 8b6ab5f197
commit 5623c69748
17 changed files with 47 additions and 44 deletions

View file

@ -66,20 +66,20 @@ static void prvCreateTasks( void );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* /*
Instructions to Build and Run: * Instructions to Build and Run:
- The Keil multi-project workspace FreeRTOSDemo.uvmpw contains projects for * - The Keil multi-project workspace FreeRTOSDemo.uvmpw contains projects for
both the secure project, and non secure project. * both the secure project, and non secure project.
- Set the FreeRTOSDemo_s project as Active - Right click on * - Set the FreeRTOSDemo_s project as Active - Right click on
"Project: FreeRTOSDemo_s" and select "Set as Active Project". * "Project: FreeRTOSDemo_s" and select "Set as Active Project".
- Build the FreeRTOSDemo_s project using "Project --> Build" or by pressing * - Build the FreeRTOSDemo_s project using "Project --> Build" or by pressing
F7. * "F7".
- Set the FreeRTOSDemo_ns project as Active Right click on * - Set the FreeRTOSDemo_ns project as Active - Right click on
"Project: FreeRTOSDemo_ns" and select "Set as Active Project". * "Project: FreeRTOSDemo_ns" and select "Set as Active Project".
- Build the FreeRTOSDemo_ns project using "Project --> Build" or by * - Build the FreeRTOSDemo_ns project using "Project --> Build" or by
pressing "F7". * pressing "F7".
- Start Debug Session using "Debug -> Start/Stop Debug Session" or by * - Start Debug Session using "Debug -> Start/Stop Debug Session" or by
pressing "Ctrl+F5". * pressing "Ctrl+F5".
*/ */
/* Non-Secure main. */ /* Non-Secure main. */
int main( void ) int main( void )

View file

@ -2,7 +2,7 @@ Instructions to Build and Run:
- The Keil multi-project workspace FreeRTOSDemo.uvmpw contains projects for both the secure project, and non secure project. - The Keil multi-project workspace FreeRTOSDemo.uvmpw contains projects for both the secure project, and non secure project.
- Set the FreeRTOSDemo_s project as Active - Right click on "Project: FreeRTOSDemo_s" and select "Set as Active Project". - Set the FreeRTOSDemo_s project as Active - Right click on "Project: FreeRTOSDemo_s" and select "Set as Active Project".
- Build the FreeRTOSDemo_s project using "Project --> Build" or by pressing F7. - Build the FreeRTOSDemo_s project using "Project --> Build" or by pressing F7.
- Set the FreeRTOSDemo_ns project as Active Right click on "Project: FreeRTOSDemo_ns" and select "Set as Active Project". - Set the FreeRTOSDemo_ns project as Active - Right click on "Project: FreeRTOSDemo_ns" and select "Set as Active Project".
- Build the FreeRTOSDemo_ns project using "Project --> Build" or by pressing "F7". - Build the FreeRTOSDemo_ns project using "Project --> Build" or by pressing "F7".
- Start Debug Session using "Debug -> Start/Stop Debug Session" or by pressing "Ctrl+F5". - Start Debug Session using "Debug -> Start/Stop Debug Session" or by pressing "Ctrl+F5".

View file

@ -45,20 +45,20 @@ void BootNonSecure( uint32_t ulNonSecureStartAddress );
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/* /*
Instructions to Build and Run: * Instructions to Build and Run:
- The Keil multi-project workspace FreeRTOSDemo.uvmpw contains projects for * - The Keil multi-project workspace FreeRTOSDemo.uvmpw contains projects for
both the secure project, and non secure project. * both the secure project, and non secure project.
- Set the FreeRTOSDemo_s project as Active - Right click on * - Set the FreeRTOSDemo_s project as Active - Right click on
"Project: FreeRTOSDemo_s" and select "Set as Active Project". * "Project: FreeRTOSDemo_s" and select "Set as Active Project".
- Build the FreeRTOSDemo_s project using "Project --> Build" or by pressing * - Build the FreeRTOSDemo_s project using "Project --> Build" or by pressing
F7. * "F7".
- Set the FreeRTOSDemo_ns project as Active Right click on * - Set the FreeRTOSDemo_ns project as Active - Right click on
"Project: FreeRTOSDemo_ns" and select "Set as Active Project". * "Project: FreeRTOSDemo_ns" and select "Set as Active Project".
- Build the FreeRTOSDemo_ns project using "Project --> Build" or by * - Build the FreeRTOSDemo_ns project using "Project --> Build" or by
pressing "F7". * pressing "F7".
- Start Debug Session using "Debug -> Start/Stop Debug Session" or by * - Start Debug Session using "Debug -> Start/Stop Debug Session" or by
pressing "Ctrl+F5". * pressing "Ctrl+F5".
*/ */
/* Secure main() */ /* Secure main() */
int main( void ) int main( void )

View file

@ -150,7 +150,7 @@ standard names. */
/* Normal assert() semantics without relying on the provision of an assert.h /* Normal assert() semantics without relying on the provision of an assert.h
header file. */ header file. */
#define configASSERT( x ) if( ( x ) == 0UL ) { taskDISABLE_INTERRUPTS(); for( ;; ); } #define configASSERT( x ) if( ( x ) == 0UL ) { portDISABLE_INTERRUPTS(); for( ;; ); }
/* LED not used at present, so just increment a variable to keep a count of the /* LED not used at present, so just increment a variable to keep a count of the
number of times the LED would otherwise have been toggled. */ number of times the LED would otherwise have been toggled. */

View file

@ -152,7 +152,7 @@ standard names. */
/* Normal assert() semantics without relying on the provision of an assert.h /* Normal assert() semantics without relying on the provision of an assert.h
header file. */ header file. */
#define configASSERT( x ) if( ( x ) == 0UL ) { taskDISABLE_INTERRUPTS(); for( ;; ); } #define configASSERT( x ) if( ( x ) == 0UL ) { portDISABLE_INTERRUPTS(); for( ;; ); }
/* LED not used at present, so just increment a variable to keep a count of the /* LED not used at present, so just increment a variable to keep a count of the
number of times the LED would otherwise have been toggled. */ number of times the LED would otherwise have been toggled. */

View file

@ -7,7 +7,7 @@ MEMORY
/* Variables used by FreeRTOS-MPU. */ /* Variables used by FreeRTOS-MPU. */
_Privileged_Functions_Region_Size = 32K; _Privileged_Functions_Region_Size = 32K;
_Privileged_Data_Region_Size = 2048; _Privileged_Data_Region_Size = 4096;
__FLASH_segment_start__ = ORIGIN( ROM ); __FLASH_segment_start__ = ORIGIN( ROM );
__FLASH_segment_end__ = __FLASH_segment_start__ + LENGTH( ROM ); __FLASH_segment_end__ = __FLASH_segment_start__ + LENGTH( ROM );

View file

@ -15,7 +15,7 @@ LR_IROM1 0x00000000 { ; load region size_region
RW_IRAM1 0x20000000 { ; RW data RW_IRAM1 0x20000000 { ; RW data
*( privileged_data ) *( privileged_data )
} }
RW_IRAM2 0x20000800 { ; RW data RW_IRAM2 0x20001000 { ; RW data
.ANY (+RW +ZI) .ANY (+RW +ZI)
} }
} }

View file

@ -6,5 +6,5 @@ FreeRTOS release.
If your Cortex-M33 application uses TrustZone then use the files from the If your Cortex-M33 application uses TrustZone then use the files from the
FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories.
If you Cortex-M33 application is not going to use TrustZone then use the files If you Cortex-M33 application does not use TrustZone then use the files from
from the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories.

View file

@ -53,7 +53,7 @@ _NONSECURE_FILE_PATHS_ = [
def copy_files_in_dir(src_abs_path, dst_abs_path): def copy_files_in_dir(src_abs_path, dst_abs_path):
for src_file in os.listdir(src_abs_path): for src_file in os.listdir(src_abs_path):
src_file_abs_path = os.path.join(src_abs_path, src_file) src_file_abs_path = os.path.join(src_abs_path, src_file)
if os.path.isfile(src_file_abs_path): if os.path.isfile(src_file_abs_path) and src_file != 'ReadMe.txt':
if not os.path.exists(dst_abs_path): if not os.path.exists(dst_abs_path):
os.makedirs(dst_abs_path) os.makedirs(dst_abs_path)
print('Copying {}...'.format(os.path.basename(src_file_abs_path))) print('Copying {}...'.format(os.path.basename(src_file_abs_path)))

View file

@ -6,5 +6,6 @@ FreeRTOS release.
If your Cortex-M33 application uses TrustZone then use the files from the If your Cortex-M33 application uses TrustZone then use the files from the
FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories.
If you Cortex-M33 application is not going to use TrustZone then use the files If you Cortex-M33 application does not use TrustZone then use the files from
from the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories.

View file

@ -64,7 +64,7 @@
* configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0 * configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0
*/ */
#if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) ) #if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) )
#error Trust Zone needs to be disabled in order to run FreeRTOS on the Secure Side. #error TrustZone needs to be disabled in order to run FreeRTOS on the Secure Side.
#endif #endif
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

View file

@ -6,5 +6,5 @@ FreeRTOS release.
If your Cortex-M33 application uses TrustZone then use the files from the If your Cortex-M33 application uses TrustZone then use the files from the
FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories. FreeRTOS/Source/portable/[compiler]/ARM_CM33 directories.
If you Cortex-M33 application is not going to use TrustZone then use the files If you Cortex-M33 application does not use TrustZone then use the files from
from the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories. the FreeRTOS/Source/portable/[compiler]/ARM_CM33_NTZ directories.

View file

@ -64,7 +64,7 @@
* configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0 * configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0
*/ */
#if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) ) #if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) )
#error Trust Zone needs to be disabled in order to run FreeRTOS on the Secure Side. #error TrustZone needs to be disabled in order to run FreeRTOS on the Secure Side.
#endif #endif
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

View file

@ -64,7 +64,7 @@
* configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0 * configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0
*/ */
#if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) ) #if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) )
#error Trust Zone needs to be disabled in order to run FreeRTOS on the Secure Side. #error TrustZone needs to be disabled in order to run FreeRTOS on the Secure Side.
#endif #endif
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

View file

@ -53,6 +53,7 @@ extern "C" {
#ifndef configENABLE_TRUSTZONE #ifndef configENABLE_TRUSTZONE
#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h. Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone. #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h. Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.
#endif /* configENABLE_TRUSTZONE */ #endif /* configENABLE_TRUSTZONE */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/** /**

View file

@ -64,7 +64,7 @@
* configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0 * configRUN_FREERTOS_SECURE_ONLY = 0 and configENABLE_TRUSTZONE = 0
*/ */
#if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) ) #if( ( configRUN_FREERTOS_SECURE_ONLY == 1 ) && ( configENABLE_TRUSTZONE == 1 ) )
#error Trust Zone needs to be disabled in order to run FreeRTOS on the Secure Side. #error TrustZone needs to be disabled in order to run FreeRTOS on the Secure Side.
#endif #endif
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/

View file

@ -53,6 +53,7 @@ extern "C" {
#ifndef configENABLE_TRUSTZONE #ifndef configENABLE_TRUSTZONE
#error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h. Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone. #error configENABLE_TRUSTZONE must be defined in FreeRTOSConfig.h. Set configENABLE_TRUSTZONE to 1 to enable TrustZone or 0 to disable TrustZone.
#endif /* configENABLE_TRUSTZONE */ #endif /* configENABLE_TRUSTZONE */
/*-----------------------------------------------------------*/ /*-----------------------------------------------------------*/
/** /**