6.1 minor release
This commit is contained in:
22
ports/linux/gnu/CMakeLists.txt
Normal file
22
ports/linux/gnu/CMakeLists.txt
Normal file
@@ -0,0 +1,22 @@
|
||||
|
||||
target_sources(${PROJECT_NAME}
|
||||
PRIVATE
|
||||
# {{BEGIN_TARGET_SOURCES}}
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/tx_initialize_low_level.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_context_restore.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_context_save.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_interrupt_control.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_schedule.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_stack_build.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/tx_thread_system_return.c
|
||||
${CMAKE_CURRENT_LIST_DIR}/src/tx_timer_interrupt.c
|
||||
|
||||
# {{END_TARGET_SOURCES}}
|
||||
)
|
||||
|
||||
target_include_directories(${PROJECT_NAME}
|
||||
PUBLIC
|
||||
${CMAKE_CURRENT_LIST_DIR}/inc
|
||||
)
|
||||
|
||||
target_compile_definitions(${PROJECT_NAME} PUBLIC "-D_GNU_SOURCE -DTX_LINUX_DEBUG_ENABLE")
|
||||
@@ -26,7 +26,7 @@
|
||||
/* PORT SPECIFIC C INFORMATION RELEASE */
|
||||
/* */
|
||||
/* tx_port.h Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
@@ -47,7 +47,7 @@
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
|
||||
@@ -510,7 +510,7 @@ VOID _tx_thread_interrupt_restore(UINT previous_posture);
|
||||
#define tx_linux_mutex_lock(p) pthread_mutex_lock(&p)
|
||||
#define tx_linux_mutex_unlock(p) pthread_mutex_unlock(&p)
|
||||
#define tx_linux_mutex_recursive_unlock(p) {\
|
||||
int _recursive_count = tx_linux_mutex_recursive_count;\
|
||||
int _recursive_count = (int)tx_linux_mutex_recursive_count;\
|
||||
while(_recursive_count)\
|
||||
{\
|
||||
pthread_mutex_unlock(&p);\
|
||||
@@ -539,7 +539,7 @@ VOID _tx_thread_interrupt_restore(UINT previous_posture);
|
||||
|
||||
#ifdef TX_THREAD_INIT
|
||||
CHAR _tx_version_id[] =
|
||||
"Copyright (c) Microsoft Corporation * ThreadX Linux/gcc Version 6.0 *";
|
||||
"Copyright (c) Microsoft Corporation * ThreadX Linux/gcc Version 6.1 *";
|
||||
#else
|
||||
extern CHAR _tx_version_id[];
|
||||
#endif
|
||||
|
||||
@@ -145,7 +145,7 @@ For generic code revision information, please refer to the readme_threadx_generi
|
||||
file, which is included in your distribution. The following details the revision
|
||||
information associated with this specific port of ThreadX:
|
||||
|
||||
06/30/2020 Initial ThreadX 6.0.1 version for Linux using GNU GCC tools.
|
||||
09-30-2020 Initial ThreadX 6.1 version for Linux using GNU GCC tools.
|
||||
|
||||
|
||||
Copyright(c) 1996-2020 Microsoft Corporation
|
||||
|
||||
@@ -62,6 +62,9 @@ sem_t _tx_linux_timer_semaphore;
|
||||
sem_t _tx_linux_isr_semaphore;
|
||||
void *_tx_linux_timer_interrupt(void *p);
|
||||
|
||||
void _tx_linux_thread_resume_handler(int sig);
|
||||
void _tx_linux_thread_suspend_handler(int sig);
|
||||
void _tx_linux_thread_suspend(pthread_t thread_id);
|
||||
|
||||
#ifdef TX_LINUX_DEBUG_ENABLE
|
||||
|
||||
@@ -172,7 +175,7 @@ extern VOID *_tx_initialize_unused_memory;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_initialize_low_level Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -214,7 +217,7 @@ extern VOID *_tx_initialize_unused_memory;
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _tx_initialize_low_level(VOID)
|
||||
@@ -321,6 +324,8 @@ struct timespec ts;
|
||||
long timer_periodic_nsec;
|
||||
int err;
|
||||
|
||||
(VOID)p;
|
||||
|
||||
/* Calculate periodic timer. */
|
||||
timer_periodic_nsec = 1000000000 / TX_TIMER_TICKS_PER_SECOND;
|
||||
nice(10);
|
||||
@@ -379,10 +384,13 @@ int err;
|
||||
/* Define functions for linux thread. */
|
||||
void _tx_linux_thread_resume_handler(int sig)
|
||||
{
|
||||
(VOID)sig;
|
||||
}
|
||||
|
||||
void _tx_linux_thread_suspend_handler(int sig)
|
||||
{
|
||||
(VOID)sig;
|
||||
|
||||
if(pthread_equal(pthread_self(), _tx_linux_timer_id))
|
||||
tx_linux_sem_post_nolock(&_tx_linux_thread_timer_wait);
|
||||
else
|
||||
|
||||
@@ -37,7 +37,7 @@ UINT _tx_linux_timer_waiting = 0;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_thread_context_restore Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -75,7 +75,7 @@ UINT _tx_linux_timer_waiting = 0;
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _tx_thread_context_restore(VOID)
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_thread_context_save Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -70,7 +70,7 @@
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _tx_thread_context_save(VOID)
|
||||
|
||||
@@ -53,7 +53,7 @@ VOID _tx_thread_interrupt_restore(UINT previous_posture)
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_thread_interrupt_control Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -87,7 +87,7 @@ VOID _tx_thread_interrupt_restore(UINT previous_posture)
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
UINT _tx_thread_interrupt_control(UINT new_posture)
|
||||
|
||||
@@ -41,7 +41,7 @@ extern pthread_t _tx_linux_timer_id;
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_thread_schedule Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -78,7 +78,7 @@ extern pthread_t _tx_linux_timer_id;
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _tx_thread_schedule(VOID)
|
||||
|
||||
@@ -42,7 +42,7 @@ void *_tx_linux_thread_entry(void *ptr);
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_thread_stack_build Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -80,13 +80,15 @@ void *_tx_linux_thread_entry(void *ptr);
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _tx_thread_stack_build(TX_THREAD *thread_ptr, VOID (*function_ptr)(VOID))
|
||||
{
|
||||
struct sched_param sp;
|
||||
|
||||
(VOID)function_ptr;
|
||||
|
||||
/* Create the run semaphore for the thread. This will allow the scheduler
|
||||
control over when the thread actually runs. */
|
||||
if(sem_init(&thread_ptr -> tx_thread_linux_thread_run_semaphore, 0, 0))
|
||||
|
||||
@@ -36,7 +36,7 @@
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_thread_system_return Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -78,7 +78,7 @@
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _tx_thread_system_return(VOID)
|
||||
|
||||
@@ -30,12 +30,13 @@
|
||||
#include "tx_thread.h"
|
||||
|
||||
|
||||
VOID _tx_timer_interrupt(VOID);
|
||||
/**************************************************************************/
|
||||
/* */
|
||||
/* FUNCTION RELEASE */
|
||||
/* */
|
||||
/* _tx_timer_interrupt Linux/GNU */
|
||||
/* 6.0.1 */
|
||||
/* 6.1 */
|
||||
/* AUTHOR */
|
||||
/* */
|
||||
/* William E. Lamie, Microsoft Corporation */
|
||||
@@ -72,7 +73,7 @@
|
||||
/* */
|
||||
/* DATE NAME DESCRIPTION */
|
||||
/* */
|
||||
/* 06-30-2020 William E. Lamie Initial Version 6.0.1 */
|
||||
/* 09-30-2020 William E. Lamie Initial Version 6.1 */
|
||||
/* */
|
||||
/**************************************************************************/
|
||||
VOID _tx_timer_interrupt(VOID)
|
||||
|
||||
Reference in New Issue
Block a user