Skip to content

Releases: eclipse-threadx/threadx

Eclipse ThreadX RTOS 6.4.1

29 Feb 02:08
07eac30
Compare
Choose a tag to compare

What's Changed

New Contributors

  • @ericwol-msft made their first contribution in #343
  • @bo-ms made their first contribution in #349
  • @timlt made their first contribution in #351

Full Changelog: v6.4.0_rel...v6.4.1_rel

Azure RTOS ThreadX 6.4.0

02 Jan 01:08
39f3c86
Compare
Choose a tag to compare

What's Changed

  • Removed redundant sample_threadX project from Cortex A7 ports_module I… by @yajunxiaMS in #312
  • Added thumb mode support for threadX GNU ports on armv7a platforms. by @yajunxiaMS in #333
  • Add check for overflow in queue size calculation in RTOS compatibility layer. by @xiuwencai in #339
  • Add error handling in lock initialization in the Xtensa port by @xiuwencai in #340

New Contributors

Full Changelog: v6.3.0_rel...v6.4.0_rel

Azure RTOS ThreadX 6.3.0

31 Oct 02:44
13b700f
Compare
Choose a tag to compare

What's Changed

Bug Fixes and New Features

  • Fix random failure in test case threadx_event_flag_suspension_timeout_test.c by @TiejunMS in #246
  • Include tx_user.h in cortex_m3/4/7 IAR and AC5 port by @TiejunMS in #255
  • Include tx_user.h in cortex_m33/55/85 IAR port by @TiejunMS in #267
  • Add random number stack filling option by @xiuwencai in #257
  • Fix MISRA issues for ThreadX SMP by @TiejunMS in #263
  • Export _tx_handler_svc_unrecognized as weak symbol. by @xiuwencai in #264
  • Fix compile warnings in Linux port. by @yanwucai in #276
  • Added memory barrier before thread scheduling for ARMv8-A ThreadX SMP. by @TiejunMS in #280
  • Added thumb mode support under GNU for module manager on Cortex-A7 by @yajunxiaMS in #287
  • Added thumb mode support under IAR for module manager on Cortex-A7 by @yajunxiaMS in #289
  • Fixed the issue of the data/bss section cannot be read from ARM FVP by @yajunxiaMS in #301
  • Improved the logic to validate object from application in ThreadX Module by @TiejunMS in #307

Others

New Contributors

Full Changelog: v6.2.1_rel...v6.3.0_rel

Azure RTOS ThreadX 6.2.1

08 Mar 08:58
Compare
Choose a tag to compare

Full Changelog:

  • Add tx_user.h to GNU port assembly files
  • RISC-V 64 bit port for Microchip
  • Link Winmm.lib that required by the high-resolution timer.
  • Update Win32 port with high resolution timer.
  • Add DMB ISH barrier inst in ARMv8-A SMP scheduler
  • Add .section .preamble to m3 m4 m7 module ports
  • Add missing parenthesis in ports assembly file
  • Modules Cortex-A7 IAR new port
  • Modules Cortex-A7 GNU new port
  • Fix race condition in tx_thread_wait_abort and update regression test
  • armv8-m compile time FPU fix
  • added tx_trace.h include to module stop.c
  • #include tx_user.h in assembly files for cortex-m ports
  • initial port of MIPS SMP for GHS and GNU
  • capitalize extensions for M23 asm files
  • Fix armv7-m MPU settings for corner case, unify txm_module_port.h files
  • remove uneeded include for ac6
  • update riscv iar example for latest iar tools
  • check module stack for overlap (not kernel stack)
  • apply patch from mobileye to fix time slice processing
  • initialize unused MPU settings so that aliasing will work
  • add config directory to IAR RISC-V port in order to use simulator

Azure RTOS ThreadX 6.2.0

28 Oct 06:13
Compare
Choose a tag to compare

Azure RTOS ThreadX 6.2.0 release contains the following improvements/fixes:

common/inc/tx_api.h                                 Added 64-bit extensions, updated EPK typdef
common/src/tx_event_flags_get.c                     Always return actual flags
common_smp/inc/tx_api.h                             Added 64-bit extensions
common_smp/src/tx_event_flags_get.c                 Always return actual flags
common_smp/src/tx_thread_create.c                   Remove ifdef block and always restore interrupts
                                                      at end of if-block

The following ports are updated:

ports/cortex_m23/iar/src/tx_misra.s                 Added ifdef to prevent compile time warning about a multiple definition
ports/cortex_m3/iar/src/tx_misra.s                  Added ifdef to prevent compile time warning about a multiple definition
ports/cortex_m33/iar/src/tx_misra.s                 Added ifdef to prevent compile time warning about a multiple definition
ports/cortex_m4/iar/src/tx_misra.s                  Added ifdef to prevent compile time warning about a multiple definition
ports/cortex_m55/ac6/example_build                  Added example project
ports/cortex_m55/iar/src/tx_misra.s                 Added ifdef to prevent compile time warning about a multiple definition
ports/cortex_m7/iar/src/tx_misra.s                  Added ifdef to prevent compile time warning about a multiple definition
ports/cortex_m85/iar/src/tx_misra.s                 Added ifdef to prevent compile time warning about a multiple definition
ports/rxv1/ccrx/readme_threadx.txt                  Updated readme
ports/rxv1/gnu/readme_threadx.txt                   Updated readme
ports/rxv1/iar/readme_threadx.txt                   Updated readme
ports/rxv2/ccrx/readme_threadx.txt                  Updated readme
ports/rxv2/gnu/readme_threadx.txt                   Updated readme
ports/rxv2/iar/readme_threadx.txt                   Updated readme
ports/rxv3/ccrx/readme_threadx.txt                  Updated readme
ports/rxv3/gnu/readme_threadx.txt                   Updated readme
ports/rxv3/iar/readme_threadx.txt                   Updated readme
ports/xtensa/xcc/inc/tx_port.h                      Removed EPK extension (this extension is in tx_api.h)
ports/xtensa/xcc/src/tx_thread_context_restore.S    Updated EPK symbol names
ports/xtensa/xcc/src/tx_thread_schedule.S           Updated EPK symbol names
ports/xtensa/xcc/src/tx_thread_system_return.S      Updated EPK symbol names

ports_module/cortex_m0+/*/module_manager/src/tx_thread_schedule.S       Added low power support
ports_module/cortex_m23/*/module_manager/src/tx_thread_schedule.S       Added low power support
ports_module/cortex_m3/*/inc/tx_port.h                                  Unified Armv7-M tx_port.h file
ports_module/cortex_m3/ac5/inc/txm_module_port.h                        Added heap size configuration
ports_module/cortex_m3/ac5/module_manager/src/tx_thread_schedule.s      Added low power support, fixed label syntax
ports_module/cortex_m3/ac6/module_manager/src/tx_thread_schedule.S      Added low power support
ports_module/cortex_m3/gnu/module_manager/src/tx_thread_schedule.S      Added low power support
ports_module/cortex_m3/iar/module_manager/src/tx_misra.s                Updated misra functions
ports_module/cortex_m3/iar/module_manager/src/tx_thread_schedule.s      Added low power support
ports_module/cortex_m33/*/module_manager/src/tx_thread_schedule.S       Added low power support
ports_module/cortex_m4/*/inc/tx_port.h                                  Unified Armv7-M tx_port.h file
ports_module/cortex_m4/ac5/inc/txm_module_port.h                        Added heap size configuration
ports_module/cortex_m4/ac5/module_manager/src/tx_thread_schedule.s      Added low power support, fixed label syntax
ports_module/cortex_m4/ac6/module_manager/src/tx_thread_schedule.S      Added low power support
ports_module/cortex_m4/gnu/example_build                                Updated example files
ports_module/cortex_m4/gnu/module_manager/src/tx_thread_schedule.S      Added low power support
ports_module/cortex_m4/iar/module_manager/src/tx_misra.s                Updated misra functions
ports_module/cortex_m4/iar/module_manager/src/tx_thread_schedule.s      Added low power support
ports_module/cortex_m7/*/inc/tx_port.h                                  Unified Armv7-M tx_port.h file
ports_module/cortex_m7/ac5/inc/txm_module_port.h                        Added heap size configuration
ports_module/cortex_m7/ac5/module_manager/src/tx_thread_schedule.s      Added low power support, fixed label syntax
ports_module/cortex_m7/ac6/module_manager/src/tx_thread_schedule.S      Added low power support
ports_module/cortex_m7/gnu/module_manager/src/tx_thread_schedule.S      Added low power support
ports_module/cortex_m7/iar/module_manager/src/tx_misra.s                Updated misra functions
ports_module/cortex_m7/iar/module_manager/src/tx_thread_schedule.s      Added low power support

ports_smp/cortex_r8_smp/ac5                                             New port

Utilities changes:

utility/rtos_compatibility_layers/FreeRTOS/config_template/FreeRTOSConfig.h     Changed configSTACK_DEPTH_TYPE to 32-bit
utility/rtos_compatibility_layers/posix/px_int.h                                Removed unneeded definitions
utility/rtos_compatibility_layers/posix/px_mq_arrange_msg.c                     Fixed message swap logic
utility/rtos_compatibility_layers/posix/px_mq_create.c                          Added 64-bit support
utility/rtos_compatibility_layers/posix/px_mq_open.c                            Updated name check
utility/rtos_compatibility_layers/posix/px_mq_priority_search.c                 Added 64-bit support
utility/rtos_compatibility_layers/posix/px_mq_receive.c                         Added 64-bit support
utility/rtos_compatibility_layers/posix/px_mq_send.c                            Added 64-bit support
utility/rtos_compatibility_layers/posix/px_nanosleep.c                          Fixed bounds check
utility/rtos_compatibility_layers/posix/px_pth_create.c                         Added 64-bit support, removed double parentheses
utility/rtos_compatibility_layers/posix/px_pth_init.c                           Added 64-bit support
utility/rtos_compatibility_layers/posix/px_pth_kill.c                           Removed double parentheses, updated argument type
utility/rtos_compatibility_layers/posix/px_pth_sigmask.c                        Updated cast type
utility/rtos_compatibility_layers/posix/px_sem_open.c                           Updated name check
utility/rtos_compatibility_layers/posix/px_sem_unlink.c                         Removed double parentheses
utility/rtos_compatibility_layers/posix/px_system_manager.c                     Added 64-bit support
utility/rtos_compatibility_layers/posix/readme_threadx_posix.txt                Updated argument type
utility/rtos_compatibility_layers/posix/signal.h                                Updated argument type
utility/rtos_compatibility_layers/posix/tx_posix.h                              Updated WORK_REQ_SIZE value and pthread_t typedef

Azure RTOS ThreadX 6.1.12

29 Jul 07:20
Compare
Choose a tag to compare

Azure RTOS ThreadX 6.1.12 release contains the following improvements/fixes to common/common_smp files:

common/src/tx_trace_object_register.c       Check for null name.

common_smp/src/tx_trace_object_register.c   Check for null name.

The following ports are updated:

ports/cortex_a12/ac6/inc/tx_port.h                                                  Removed unneeded temp variable
ports/cortex_a12/gnu/inc/tx_port.h                                                  Removed unneeded temp variable
ports/cortex_a15/ac6/inc/tx_port.h                                                  Removed unneeded temp variable
ports/cortex_a15/gnu/inc/tx_port.h                                                  Removed unneeded temp variable
ports/cortex_a17/ac6/inc/tx_port.h                                                  Removed unneeded temp variable
ports/cortex_a17/gnu/inc/tx_port.h                                                  Removed unneeded temp variable
ports/cortex_a5/ac6/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_a5/gnu/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_a7/ac6/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_a7/gnu/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_a8/ac6/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_a8/gnu/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_a9/ac6/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_a9/gnu/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_m23/*/inc/tx_port.h                                                    Changed secure stack initialize macro
ports/cortex_m23/*/src/tx_thread_secure_stack.c                                     Updated secure stack allocation
ports/cortex_m23/*/src/tx_thread_secure_stack_initialize.S                          Changed secure stack initialize macro
ports/cortex_m3/*/inc/tx_port.h                                                     Described BASEPRI usage
ports/cortex_m33/*/inc/tx_port.h                                                    Changed secure stack initialize macro
ports/cortex_m33/*/src/tx_thread_secure_stack_initialize.S                          Changed secure stack initialize macro
ports/cortex_m4/*/inc/tx_port.h                                                     Described BASEPRI usage
ports/cortex_m55                                                                    New port
ports/cortex_m7/*/inc/tx_port.h                                                     Described BASEPRI usage
ports/cortex_m85                                                                    New port
ports/cortex_r4/gnu/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_r5/ac6/inc/tx_port.h                                                   Removed unneeded temp variable
ports/cortex_r5/gnu/inc/tx_port.h                                                   Removed unneeded temp variable

ports_module/cortex_m0+/*/module_manager/src/tx_thread_schedule.S                   Removed the code path to skip MPU reloading
ports_module/cortex_m23/*/inc/tx_port.h                                             Changed secure stack initialize macro
ports_module/cortex_m23/*/module_manager/src/tx_thread_schedule.S                   Removed the code path to skip MPU reloading
ports_module/cortex_m23/*/module_manager/src/tx_thread_secure_stack.c               Updated secure stack allocation
ports_module/cortex_m23/*/module_manager/src/tx_thread_secure_stack_initialize.S    Changed secure stack initialize macro
ports_module/cortex_m3/*/inc/txm_module_port.h                                      Enabled user defined regions
ports_module/cortex_m3/*/module_manager/src/tx_thread_schedule.s                    Removed the code path to skip MPU reloading
ports_module/cortex_m3/*/module_manager/src/txm_module_manager_mm_register_setup.c  Enabled user defined regions
ports_module/cortex_m33/*/inc/tx_port.h                                             Changed secure stack initialize macro
ports_module/cortex_m33/*/module_manager/src/tx_thread_schedule.S                   Removed the code path to skip MPU reloading
ports_module/cortex_m33/*/module_manager/src/tx_thread_secure_stack_initialize.S    Changed secure stack initialize macro
ports_module/cortex_m4/*/inc/txm_module_port.h                                      Enabled user defined regions
ports_module/cortex_m4/*/module_manager/src/tx_thread_schedule.s                    Removed the code path to skip MPU reloading
ports_module/cortex_m4/*/module_manager/src/txm_module_manager_mm_register_setup.c  Enabled user defined regions
ports_module/cortex_m7/*/inc/txm_module_port.h                                      Enabled user defined regions
ports_module/cortex_m7/*/module_manager/src/tx_thread_schedule.s                    Removed the code path to skip MPU reloading
ports_module/cortex_m7/*/module_manager/src/txm_module_manager_mm_register_setup.c  Enabled user defined regions

ports_smp/cortex_a7_smp/gnu/src/tx_thread_smp_protect.S                             Fixed preprocessor statement

Utilities changes:

utility/rtos_compatibility_layers/FreeRTOS/tx_freertos.c    Added start flag.

Azure RTOS ThreadX 6.1.11

26 Apr 06:44
Compare
Choose a tag to compare

Azure RTOS ThreadX 6.1.11 release contains the following improvements/fixes to common/common_smp files:

common/inc/tx_api.h                         Optimized the definition of TX_TIMER_TICKS_PER_SECOND.
common/inc/tx_user_sample.h                 Optimized the definition of TX_TIMER_TICKS_PER_SECOND.
common/src/tx_event_flags_get.c             Handle 0 flags.
common/src/tx_event_flags_set.c             Corrected preemption check logic.
common/src/tx_initialize_kernel_enter.c     Added EPK initialization.

common_smp/inc/tx_api.h                     Optimized the definition of TX_TIMER_TICKS_PER_SECOND.
common_smp/inc/tx_user_sample.h             Optimized the definition of TX_TIMER_TICKS_PER_SECOND.
common_smp/src/tx_event_flags_get.c         Handle 0 flags.
common_smp/src/tx_event_flags_set.c         Corrected preemption check logic.
common_smp/src/tx_thread_system_suspend.c   Fixed loop to find next thread.

The following ports are updated:

ports/c667x/ccs/inc/tx_port.h                                                       Optimized the definition of TX_TIMER_TICKS_PER_SECOND
ports/cortex_a12/*                                                                  Unify ARMv7-A ports
ports/cortex_a15/*                                                                  Unify ARMv7-A ports
ports/cortex_a17/*                                                                  Unify ARMv7-A ports
ports/cortex_a5/*                                                                   Unify ARMv7-A ports
ports/cortex_a7/*                                                                   Unify ARMv7-A ports
ports/cortex_a8/*                                                                   Unify ARMv7-A ports
ports/cortex_a9/*                                                                   Unify ARMv7-A ports
ports/cortex_m0/*/inc/tx_port.h                                                     Added volatile keyword
ports/cortex_m23/*/inc/tx_port.h                                                    Added volatile keyword
ports/cortex_m3/*/inc/tx_port.h                                                     Added volatile keyword
ports/cortex_m3/*/src/tx_thread_schedule.S                                          Added BASEPRI support
ports/cortex_m33/*/inc/tx_port.h                                                    Added volatile keyword
ports/cortex_m33/*/src/tx_thread_schedule.S                                         Added BASEPRI support
ports/cortex_m4/*/inc/tx_port.h                                                     Added volatile keyword
ports/cortex_m4/*/src/tx_thread_schedule.S                                          Added BASEPRI support
ports/cortex_m7/*/inc/tx_port.h                                                     Added volatile keyword
ports/cortex_m7/*/src/tx_thread_schedule.S                                          Added BASEPRI support
ports/linux/gnu/inc/tx_port.h                                                       Removed useless definition of TX_TIMER_TICKS_PER_SECOND
ports/rxv1/*/src/tx_thread_schedule.*                                                Added low power support
ports/rxv2/*/src/tx_thread_schedule.*                                                Added low power support
ports/rxv3/*/src/tx_thread_schedule.*                                                Added low power support
ports/xtensa/xcc/src/tx_initialize_low_level.c                                      Updated function names
ports/xtensa/xcc/src/tx_timer_interrupt.S                                           Updated function names

ports_module/cortex_a35_smp/*/module_manager/src/tx_thread_context_restore.S        Removed FIFO queueing
ports_module/cortex_a35_smp/*/module_manager/src/tx_thread_smp_protect.S            Removed FIFO queueing
ports_module/cortex_a35_smp/*/module_manager/src/tx_thread_smp_unprotect.S          Removed FIFO queueing
ports_module/cortex_m0+/*/inc/tx_port.h                                             Added volatile keyword
ports_module/cortex_m0+/*/module_manager/src/tx_thread_schedule.S                   Optimized MPU configuration
ports_module/cortex_m23/*/inc/tx_port.h                                             Added volatile keyword
ports_module/cortex_m23/*/module_manager/src/tx_thread_schedule.S                   Optimized MPU configuration
ports_module/cortex_m3/*/inc/tx_port.h                                              Added volatile keyword
ports_module/cortex_m3/*/module_manager/src/tx_thread_schedule.S                    Optimized MPU configuration, added BASEPRI support
ports_module/cortex_m33/*/inc/tx_port.h                                             Added volatile keyword
ports_module/cortex_m33/*/module_manager/src/tx_thread_schedule.S                   Optimized MPU configuration, added BASEPRI support
ports_module/cortex_m4/*/inc/tx_port.h                                              Added volatile keyword
ports_module/cortex_m4/*/module_manager/src/tx_thread_schedule.S                    Optimized MPU configuration, added BASEPRI support
ports_module/cortex_m7/*/inc/tx_port.h                                              Added volatile keyword
ports_module/cortex_m7/*/module_manager/src/tx_thread_schedule.S                    Optimized MPU configuration, added BASEPRI support

ports_smp/cortex_a34_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a34_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a34_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a35_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a35_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a35_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a53_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a53_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a53_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a55_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a55_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a55_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a57_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a57_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a57_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a5x_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a5x_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a5x_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a65_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a65_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a65_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a65ae_smp/*/src/tx_thread_context_restore.S                        Removed FIFO queueing
ports_smp/cortex_a65ae_smp/*/src/tx_thread_smp_protect.S                            Removed FIFO queueing
ports_smp/cortex_a65ae_smp/*/src/tx_thread_smp_unprotect.S                          Removed FIFO queueing
ports_smp/cortex_a72_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a72_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a72_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a73_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a73_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a73_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a75_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a75_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a75_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a76_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
ports_smp/cortex_a76_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a76_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing
ports_smp/cortex_a76ae_smp/*/src/tx_thread_context_restore.S                        Removed FIFO queueing
ports_smp/cortex_a76ae_smp/*/src/tx_thread_smp_protect.S                            Removed FIFO queueing
ports_smp/cortex_a76ae_smp/*/src/tx_thread_smp_unprotect.S                          Removed FIFO queueing
ports_smp/cortex_a77_smp/*/src/tx_thread_context_restore.S                          Removed FIFO queueing
...
Read more

Azure RTOS 6.1.10

03 Feb 19:08
11303a0
Compare
Choose a tag to compare

Azure RTOS ThreadX 6.1.10 release contains the following features:

[FIX] common/inc/tx_api.h: Add unused parameter macro, update patch version.

[FIX] common_modules/inc/txm_module.h: Add callback request thread prototype, clean up whitespace
common_modules/inc/txm_module_user_sample.h: Add CALL_NOT_USED options, clean up whitespace
common_modules/module_lib/src/* : Add CALL_NOT_USED options, clean up whitespace
common_modules/module_manager/inc/txm_module_manager_dispatch.h: Add CALL_NOT_USED options
common_modules/module_manager/src/*: Clean up whitespace

[FIX] common_smp/inc/tx_api.h Add unused parameter macro, update patch version.

The following ports are added:

ports/cortex_a34/ac6
ports/cortex_a34/gnu
ports/cortex_a53/ac6
ports/cortex_a53/gnu
ports/cortex_a55/ac6
ports/cortex_a55/gnu
ports/cortex_a57/ac6
ports/cortex_a57/gnu
ports/cortex_a65/ac6
ports/cortex_a65/gnu
ports/cortex_a65ae/ac6
ports/cortex_a65ae/gnu
ports/cortex_a72/ac6
ports/cortex_a72/gnu
ports/cortex_a73/ac6
ports/cortex_a73/gnu
ports/cortex_a75/ac6
ports/cortex_a75/gnu
ports/cortex_a76/ac6
ports/cortex_a76/gnu
ports/cortex_a76ae/ac6
ports/cortex_a76ae/gnu
ports/cortex_a77/ac6
ports/cortex_a77/gnu
ports_module/cortex_m0+/ac6
ports_module/cortex_m0+/gnu
ports_module/cortex_m0+/iar
ports_smp/cortex_a34_smp/ac6
ports_smp/cortex_a34_smp/gnu
ports_smp/cortex_a53_smp/ac6
ports_smp/cortex_a53_smp/gnu
ports_smp/cortex_a55_smp/ac6
ports_smp/cortex_a55_smp/gnu
ports_smp/cortex_a57_smp/ac6
ports_smp/cortex_a57_smp/gnu
ports_smp/cortex_a65_smp/ac6
ports_smp/cortex_a65_smp/gnu
ports_smp/cortex_a65ae_smp/ac6
ports_smp/cortex_a65ae_smp/gnu
ports_smp/cortex_a72_smp/ac6
ports_smp/cortex_a72_smp/gnu
ports_smp/cortex_a73_smp/ac6
ports_smp/cortex_a73_smp/gnu
ports_smp/cortex_a75_smp/ac6
ports_smp/cortex_a75_smp/gnu
ports_smp/cortex_a76_smp/ac6
ports_smp/cortex_a76_smp/gnu
ports_smp/cortex_a76ae_smp/ac6
ports_smp/cortex_a76ae_smp/gnu
ports_smp/cortex_a77_smp/ac6
ports_smp/cortex_a77_smp/gnu
ports_smp/cortex_a78_smp/ac6
ports_smp/cortex_a78_smp/gnu

The following ports are updated to improve internal logic:

ports/cortex_a35/ac6
ports/cortex_a35/gnu
ports_smp/cortex_a35_smp/gnu
ports_smp/cortex_a35_smp/ac6

Update typedef to fix misra violation, change predefined macro:

ports/cortex_m3/ac5/inc/tx_port.h
ports/cortex_m3/ac6/inc/tx_port.h
ports/cortex_m3/gnu/inc/tx_port.h
ports/cortex_m3/iar/inc/tx_port.h
ports/cortex_m3/keil/inc/tx_port.h
ports/cortex_m4/ac5/inc/tx_port.h
ports/cortex_m4/ac6/inc/tx_port.h
ports/cortex_m4/gnu/inc/tx_port.h
ports/cortex_m4/iar/inc/tx_port.h
ports/cortex_m4/keil/inc/tx_port.h
ports/cortex_m7/ac5/inc/tx_port.h
ports/cortex_m7/ac6/inc/tx_port.h
ports/cortex_m7/gnu/inc/tx_port.h
ports/cortex_m7/iar/inc/tx_port.h
ports/cortex_m7/keil/inc/tx_port.h

The following files are updated to add TX_NO_TIMER support:

ports/cortex_m3/ac5/src/tx_timer_interrupt.s
ports/cortex_m3/ac6/src/tx_timer_interrupt.S
ports/cortex_m3/gnu/src/tx_timer_interrupt.S
ports/cortex_m3/iar/src/tx_timer_interrupt.s
ports/cortex_m4/ac5/src/tx_timer_interrupt.s
ports/cortex_m4/ac6/src/tx_timer_interrupt.S
ports/cortex_m4/gnu/src/tx_timer_interrupt.S
ports/cortex_m4/iar/src/tx_timer_interrupt.s
ports/cortex_m7/ac5/src/tx_timer_interrupt.s
ports/cortex_m7/ac6/src/tx_timer_interrupt.S
ports/cortex_m7/gnu/src/tx_timer_interrupt.S
ports/cortex_m7/iar/src/tx_timer_interrupt.s
ports_module/cortex_m3/ac5/module_manager/src/tx_timer_interrupt.s
ports_module/cortex_m3/ac6/module_manager/src/tx_timer_interrupt.S
ports_module/cortex_m3/gnu/module_manager/src/tx_timer_interrupt.S
ports_module/cortex_m3/iar/module_manager/src/tx_timer_interrupt.s
ports_module/cortex_m4/ac5/module_manager/src/tx_timer_interrupt.s
ports_module/cortex_m4/ac6/module_manager/src/tx_timer_interrupt.S
ports_module/cortex_m4/gnu/module_manager/src/tx_timer_interrupt.S
ports_module/cortex_m4/iar/module_manager/src/tx_timer_interrupt.s
ports_module/cortex_m7/ac5/module_manager/src/tx_timer_interrupt.s
ports_module/cortex_m7/ac6/module_manager/src/tx_timer_interrupt.S
ports_module/cortex_m7/gnu/module_manager/src/tx_timer_interrupt.S
ports_module/cortex_m7/iar/module_manager/src/tx_timer_interrupt.s

The following files are updated to add heap size configuration:

ports_module/cortex_a35/ac6/module_lib/src/txm_module_initialize.S
ports_module/cortex_a35_smp/ac6/module_lib/src/txm_module_initialize.S
ports_module/cortex_m23/ac6/module_lib/src/txm_module_initialize.S
ports_module/cortex_m3/ac6/module_lib/src/txm_module_initialize.S
ports_module/cortex_m33/ac6/module_lib/src/txm_module_initialize.S
ports_module/cortex_m4/ac6/module_lib/src/txm_module_initialize.S
ports_module/cortex_m7/ac6/module_lib/src/txm_module_initialize.S

The following files are updated to improve internal logic:

ports/cortex_m3/ghs/*
ports/cortex_m3/gnu/src/tx_thread_schedule.S
ports/cortex_m33/ac6/inc/tx_port.h
ports/cortex_m33/ac6/inc/tx_secure_interface.h
ports/cortex_m33/gnu/inc/tx_port.h
ports/cortex_m33/gnu/inc/tx_secure_interface.h
ports/cortex_m33/iar/inc/tx_port.h
ports/cortex_m33/iar/inc/tx_secure_interface.h
ports/cortex_m4/ghs/*
ports/cortex_m7/ghs/*
ports_module/cortex_m33/ac6/inc/tx_port.h
ports_module/cortex_m33/ac6/inc/tx_secure_interface.h
ports_module/cortex_m33/ac6/inc/txm_module_port.h
ports_module/cortex_m33/gnu/inc/tx_port.h
ports_module/cortex_m33/gnu/inc/tx_secure_interface.h
ports_module/cortex_m33/gnu/inc/txm_module_port.h
ports_module/cortex_m33/gnu/module_manager/src/tx_initialize_low_level.S
ports_module/cortex_m33/gnu/module_manager/src/tx_thread_schedule.S

The following files are changed to update secure stack allocation:

ports/cortex_m33/ac6/src/tx_thread_secure_stack.c
ports/cortex_m33/gnu/src/tx_thread_secure_stack.c
ports/cortex_m33/iar/src/tx_thread_secure_stack.c
ports/arc_em/metaware/example_build/sample_threadx/tx_initialize_low_level.s
ports/arc_em/metaware/inc/tx_port.h
ports/arc_hs/metaware/example_build/sample_threadx/tx_initialize_low_level.s
ports_module/cortex_m33/iar/inc/tx_port.h
ports_module/cortex_m33/iar/inc/tx_secure_interface.h
ports_module/cortex_m33/iar/inc/txm_module_port.h

The following files are updated for predefined macro name:

ports/cortex_m33/gnu/src/tx_initialize_low_level.S
ports/cortex_m33/gnu/src/tx_thread_schedule.S
ports/cortex_m4/gnu/src/tx_thread_schedule.S
ports/cortex_m7/gnu/src/tx_thread_schedule.S
ports_module/cortex_m3/gnu/module_manager/src/tx_thread_schedule.S
ports_module/cortex_m4/gnu/module_manager/src/tx_thread_schedule.S
ports_module/cortex_m7/gnu/module_manager/src/tx_thread_schedule.S

RX port files are updated:

ports/rxv1/*/tx_port.h                   Removed system state macro, and added missing interrupt control defines
ports/rxv1/*/tx_timer_interrupt.src      Added missing thread preemption logic
ports/rxv2/*/tx_port.h                   Removed system state macro, and added missing interrupt control defines
ports/rxv2/*/tx_timer_interrupt.src      Added missing thread preemption logic
ports/rxv3/*/tx_port.h                   Removed system state macro, and added missing interrupt control defines
ports/rxv3/*/tx_timer_interrupt.src      Added missing thread preemption logic    

The following file is added:

ports_module/cortex_m33/gnu/module_manager/src/tx_thread_secure_stack_initialize.S  

The following files and directories are removed:

ports/arc_hs/metaware/inc/tx_port.h
ports/arm11/gnu/example_build/libc.a
ports/arm11/gnu/example_build/libgcc.a
ports/arm9/gnu/example_build/libgcc.a 
ports/cortex_a15/gnu/example_build/libc.a
ports/cortex_a15/gnu/example_build/libgcc.a
ports/arc_em/metaware/test_regression                                               
ports/arc_em/metaware/test_sandbox                                                  
ports/arc_em/metaware/test_validation        
ports/cortex_a7/gnu/example_build/libc.a
ports/cortex_a7/gnu/example_build/libgcc.a
ports/cortex_a8/gnu/example_build/libc.a 
ports/cortex_a8/gnu/example_build/libgcc.a
ports/cortex_a9/gnu/example_build/libc.a
ports/cortex_a9/gnu/example_build/libgcc.a
ports/cortex_m0/gnu/example_build/libgcc.a
ports/cortex_m3/gnu/example_build/libc.a
ports/cortex_m4/gnu/example_build/libc.a
ports/cortex_m7/gnu/example_build/libc.a
ports/cortex_r4/gnu/example_build/libc.a
ports/cortex_r4/gnu/example_build/libgcc.a
ports/cortex_r5/gnu/example_build/libc.a
ports/cortex_r5/gnu/example_build/libgcc.a
ports_module/cortex_a35_smp/ac6/module_manager/src/tx_thread_timeout.c
ports_module/cortex_a35_smp/gnu/module_manager/src/tx_thread_timeout.c
ports_module/cortex_a7/ac5/example_build/build_all.bat
ports_module/cortex_m3/ac5/example_build/build.bat
ports_module/cortex_m3/ac5/example_build/clean.bat
ports_module/cortex_m3/ac5/example_build/setenv.bat
ports_module/cortex_m3/ac6/example_build/all.bat
ports_module/cortex_m3/ac6/example_build/build.bat
ports_module/cortex_m3/ac6/example_build/clean.bat
ports_module/cortex_m3/ac6/example_build/initws.bat
ports_module/cortex_m3/ac6/example_build/setenv.bat
...
Read more

Azure RTOS 6.1.9

18 Oct 08:14
Compare
Choose a tag to compare

Azure RTOS ThreadX 6.1.9 release contains the following features

[Fix] common/inc/tx_api.h Updated product version numbers.
[Fix] common/inc/tx_user_sample.h Add user-configurable TX_TIMER_TICKS_PER_SECOND.

[Fix] The following files are changed to improve stack check error handling:
common/inc/tx_thread.h
common/src/tx_thread_initialize.c
common/src/tx_thread_stack_error_handler.c
common/src/tx_thread_stack_error_notify.c

[Fix] arc_em/metaware/example_build/sample_threadx/tx_initialize_low_level.s: Optimize system stack usage
[Fix] arc_em/metaware/src/tx_thread_context_restore.s: Add support for disabling loop control

[Fix] cortex_m23//inc/tx_port.h: Improve stack check error handling
[Fix] cortex_m33//inc/tx_port.h: Improve stack check error handling

[Fix] Linux and Linux SMP Port: gnu/inc/tx_port.h: Add symbol ULONG64_DEFINED

[Fix] RXV1 Port: Code cleanup
[Fix] RXv2 Port: gnu/inc/tx_port.h: Fix logic to get interrupt status
[Fix] RXv2 Port: Code cleanup
[Fix] RXv3 Port: Code cleanup

[Fix] Cortex M3, M4, M7 Module: Code cleanup

[Fix] Cortex A35 SMP, Cortex A35 SMP for module, and Cortex A5x SMP: Add ARMv8.2-A support

[Fix] utility/rtos_compatibility_layers/FreeRTOS/tx_freertos.c: Fix compiler warnings

[Remove] The following two files are removed. Application shall use common/src/tx_thread_stack_error_handler.c.
cortex_m23/src/tx_thread_stack_error_handler.c
cortex_m23/src/tx_thread_stack_error_notify.c
cortex_m33/src/tx_thread_stack_error_handler.c
cortex_m33/src/tx_thread_stack_error_notify.c

[New] Cortex A5, Cortex A7, Cortex A8, Cortex A9 Cortex A15, Cortex A35: Added execution profile support
[New] ports_module/rxv2/iar: Port ThreadX Module to Renesas RXv2.
[New] Cortex A5x SMP with IAR: Initial version
[New] Added utility: utility/benchmarks/thread_metric

Azure RTOS 6.1.8

04 Aug 02:46
Compare
Choose a tag to compare

Azure RTOS ThreadX 6.1.8 release contains the following features

  • common

    • [Fix] common/inc/tx_api.h Updated product version numbers.
    • [Fix] common/src/tx_thread_create.c Remove unneeded cast.
  • ports

    • ports/cortex_m23/*/inc/tx_secure_interface.h Add secure mode stack initialize.

    • ports/cortex_m33/*/inc/tx_secure_interface.h Add secure mode stack initialize.

    • ports/cortex_m23/ac6/src/tx_thread_secure_stack.c Update header file for intrinsic functions.

    • ports/cortex_m33/ac6/src/tx_thread_secure_stack.c Update header file for intrinsic functions.

    • The following files are modified to save/restore registers around low power enter/exit:

      • ports/cortex_m3/*/src/tx_thread_schedule.s
      • ports/cortex_m7/*/src/tx_thread_schedule.s
      • ports/cortex_m4/*/src/tx_thread_schedule.s
    • The following files are modified to support BASEPRI:

      • ports/cortex_m3/iar/src/tx_thread_interrupt_disable.s
      • ports/cortex_m33/*/src/tx_thread_interrupt_control.s
      • ports/cortex_m33/*/src/tx_thread_interrupt_disable.s
      • ports/cortex_m33/*/src/tx_thread_interrupt_restore.s
      • ports/cortex_m33/*/src/tx_thread_system_return.s
      • ports/cortex_m4/iar/src/tx_thread_interrupt_disable.s
      • ports/cortex_m7/iar/src/tx_thread_interrupt_disable.s
    • The following files are modified to add execution profile kit support:

      • ports/cortex_m0/*/example_build/tx_initialize_low_level.s
      • ports/cortex_m23/ac6/example_build/tx_initialize_low_level.S
      • ports/cortex_m23/gnu/src/tx_initialize_low_level.S
      • ports/cortex_m23/iar/src/tx_initialize_low_level.s
      • ports/cortex_m33/ac6/example_build/tx_initialize_low_level.S
      • ports/cortex_m33/gnu/src/tx_initialize_low_level.S
      • ports/cortex_m33/iar/src/tx_initialize_low_level.s
  • ports_module

    • ports_module/cortex_m7/*/module_manager/src/tx_thread_schedule.s Fix VFP context switching

    • ports_module/cortex_m33/*/module_manager/src/tx_thread_schedule.s Fix VFP context switching

    • ports_module/cortex_m4/*/module_manager/src/tx_thread_schedule.s Fix VFP context switching

    • ports_module/cortex_m23/*/module_manager/src/tx_thread_secure_stack_initialize.s Added new file.

    • ports_module/cortex_m33/*/module_manager/src/tx_thread_secure_stack_initialize.s Added New file.

    • ports_module/cortex_m23/ac6/module_manager/src/tx_thread_secure_stack.c Update header file for intrinsic functions

    • ports_module/cortex_m33/ac6/module_manager/src/tx_thread_secure_stack.c Update header file for intrinsic functions

    • ports_module/cortex_m23/ac6/example_build/* Update project files.

    • ports_module/cortex_m33/ac6/example_build/* Update project files.

    • ports_module/cortex_m23/*/module_manager/src/tx_thread_secure_stack.c Fix initialize function.

    • The following files are modified to add execution profile kit support:

      • ports_module/cortex_m23/iar/src/tx_initialize_low_level.s
      • ports_module/cortex_m23/*/module_manager/src/tx_thread_context_restore.s
      • ports_module/cortex_m23/*/module_manager/src/tx_thread_context_save.s
      • ports_module/cortex_m23/*/module_manager/src/tx_thread_schedule.s
      • ports_module/cortex_m3/*/module_manager/src/tx_thread_context_restore.s
      • ports_module/cortex_m3/*/module_manager/src/tx_thread_context_save.s
      • ports_module/cortex_m3/*/module_manager/src/tx_thread_schedule.s
      • ports_module/cortex_m33/iar/src/tx_initialize_low_level.s
      • ports_module/cortex_m33/*/module_manager/src/tx_thread_context_restore.s
      • ports_module/cortex_m33/*/module_manager/src/tx_thread_context_save.s
      • ports_module/cortex_m33/*/module_manager/src/tx_thread_schedule.s
      • ports_module/cortex_m4/*/module_manager/src/tx_thread_context_restore.s
      • ports_module/cortex_m4/*/module_manager/src/tx_thread_context_save.s
      • ports_module/cortex_m4/*/module_manager/src/tx_thread_schedule.s
      • ports_module/cortex_m7/*/module_manager/src/tx_thread_context_restore.s
      • ports_module/cortex_m7/*/module_manager/src/tx_thread_schedule.s
      • ports_module/cortex_m7/*/module_manager/src/tx_thread_context_save.s
    • The following files are modified to support BASEPRI:

      • ports_module/cortex_m7/*/module_manager/src/tx_thread_interrupt_control.s
      • ports_module/cortex_m7/*/module_manager/src/tx_thread_interrupt_disable.s
      • ports_module/cortex_m7/*/module_manager/src/tx_thread_interrupt_restore.s
      • ports_module/cortex_m7/*/module_manager/src/tx_thread_system_return.s
      • ports_module/cortex_m4/*/module_manager/src/tx_thread_interrupt_control.s
      • ports_module/cortex_m4/*/module_manager/src/tx_thread_interrupt_disable.s
      • ports_module/cortex_m4/*/module_manager/src/tx_thread_interrupt_restore.s
      • ports_module/cortex_m4/*/module_manager/src/tx_thread_system_return.s
      • ports_module/cortex_m3/*/module_manager/src/tx_thread_interrupt_control.s
      • ports_module/cortex_m3/*/module_manager/src/tx_thread_interrupt_disable.s
      • ports_module/cortex_m3/*/module_manager/src/tx_thread_interrupt_restore.s
      • ports_module/cortex_m3/*/module_manager/src/tx_thread_system_return.s
      • ports_module/cortex_m33/*/module_manager/src/tx_thread_interrupt_control.s
      • ports_module/cortex_m33/*/module_manager/src/tx_thread_interrupt_disable.s
      • ports_module/cortex_m33/*/module_manager/src/tx_thread_interrupt_restore.s
      • ports_module/cortex_m33/*/module_manager/src/tx_thread_system_return.s
    • The following files are modified to update compiler flags:

      • ports_module/cortex_m3/gnu/example_build/*
      • ports_module/cortex_m4/gnu/example_build/*
      • ports_module/cortex_m7/gnu/example_build/*
  • Various files were modified to clean up internal logic.