Threadx Versions Save

Eclipse ThreadX is an advanced real-time operating system (RTOS) designed specifically for deeply embedded applications.

v6.4.1_rel

2 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/eclipse-threadx/threadx/compare/v6.4.0_rel...v6.4.1_rel

v6.4.0_rel

4 months ago

What's Changed

New Contributors

Full Changelog: https://github.com/azure-rtos/threadx/compare/v6.3.0_rel...v6.4.0_rel

v6.3.0_rel

6 months ago

What's Changed

Bug Fixes and New Features

Others

New Contributors

Full Changelog: https://github.com/azure-rtos/threadx/compare/v6.2.1_rel...v6.3.0_rel

v6.2.1_rel

1 year ago

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

v6.2.0_rel

1 year ago

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

v6.1.12_rel

1 year ago

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.

v6.1.11_rel

2 years ago

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
ports_smp/cortex_a77_smp/*/src/tx_thread_smp_protect.S                              Removed FIFO queueing
ports_smp/cortex_a77_smp/*/src/tx_thread_smp_unprotect.S                            Removed FIFO queueing

Execution Profile Kit (EPK) changes:

utility/execution_profile_kit/tx_execution_profile.c        Wrap around calculation fixed and initialization function added

v6.1.10_rel

2 years ago

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
ports_module/cortex_m4/ac5/example_build/build.bat
ports_module/cortex_m4/ac5/example_build/clean.bat
ports_module/cortex_m4/ac5/example_build/setenv.bat
ports_module/cortex_m4/ac6/example_build/all.bat
ports_module/cortex_m4/ac6/example_build/build.bat
ports_module/cortex_m4/ac6/example_build/clean.bat
ports_module/cortex_m4/ac6/example_build/initws.bat
ports_module/cortex_m4/ac6/example_build/setenv.bat
ports_module/cortex_m4/gnu/example_build/build_all.bat
ports_module/cortex_m7/ac5/example_build/build.bat
ports_module/cortex_m7/ac5/example_build/clean.bat
ports_module/cortex_m7/ac5/example_build/setenv.bat
ports_module/cortex_m7/ac6/example_build/all.bat
ports_module/cortex_m7/ac6/example_build/build.bat
ports_module/cortex_m7/ac6/example_build/clean.bat
ports_module/cortex_m7/ac6/example_build/initws.bat
ports_module/cortex_m7/ac6/example_build/setenv.bat   
ports_module/cortex_m4/gnu/example_build/build_all.bat
ports_smp/arc_hs_smp/metaware/example_build/
ports_smp/cortex_a35_smp/ac6/src/tx_thread_timeout.c
ports_smp/cortex_a35_smp/gnu/src/tx_thread_timeout.c
ports_smp/cortex_a5x_smp/ac6/src/tx_thread_timeout.c
ports_smp/cortex_a5x_smp/gnu/src/tx_thread_timeout.c
ports_smp/cortex_a5x_smp/green/src/tx_thread_timeout.c
ports_smp/cortex_a5x_smp/iar/src/tx_thread_timeout.c

The following directory names are changed:

ports/cortex_a5/green to ports/cortex_a5/ghs
ports/cortex_a7/green to ports/cortex_a7/ghs
ports/cortex_a8/green to ports/cortex_a8/ghs
ports/cortex_a9/green to ports/cortex_a9/ghs
ports/cortex_r4/green to ports/cortex_r4/ghs
ports/cortex_r5/green to ports/cortex_r5/ghs
ports/cortex_r7/green to ports/cortex_r7/ghs

v6.1.9_rel

2 years ago

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

v6.1.8_rel

2 years ago

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.