summaryrefslogtreecommitdiff
path: root/ports/c667x
diff options
context:
space:
mode:
authorFrédéric Desbiens <[email protected]>2026-03-06 19:27:49 +0100
committerGitHub <[email protected]>2026-03-06 19:27:49 +0100
commit3726d7906b4808bfec7855fc088e073199df9120 (patch)
tree8789bfd03d1d49e1967e80d04aa4ff606fda43eb /ports/c667x
parent4b6e8100d932a3a67b34c6eb17f84f3bffb9e2ae (diff)
parentc3259a216026372e3833dd8996a68f77e8595fbd (diff)
Merge pull request #510 from eclipse-threadx/devv6.5.0.202601_rel
Merge changes ahead of the v6.5.0.202601 release
Diffstat (limited to 'ports/c667x')
-rw-r--r--ports/c667x/ccs/example_build/include/C66XX.h2
-rw-r--r--ports/c667x/ccs/example_build/include/C66XX_DEF.hxx46
-rw-r--r--ports/c667x/ccs/example_build/include/C66XX_FUNCTIONS.hxx6
-rw-r--r--ports/c667x/ccs/example_build/include/C66XX_MACROS.hxx2
-rw-r--r--ports/c667x/ccs/example_build/include/TA66XX_DSP.h2
-rw-r--r--ports/c667x/ccs/example_build/include/TA66XX_DSP_BC.h2
-rw-r--r--ports/c667x/ccs/example_build/include/TA66XX_DSP_BC_FUNCTIONS.hxx12
-rw-r--r--ports/c667x/ccs/example_build/include/TA66XX_OSAL.h2
-rw-r--r--ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.c32
-rw-r--r--ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.cmd10
-rw-r--r--ports/c667x/ccs/example_build/sample_threadx_c6678evm/targetConfigs/TMS320C6678.ccxml2
-rw-r--r--ports/c667x/ccs/example_build/sample_threadx_c6678evm/tx_initialize_low_level.asm76
-rw-r--r--ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.c32
-rw-r--r--ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.cmd8
-rw-r--r--ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/targetConfigs/TMS320C6678.ccxml2
-rw-r--r--ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/tx_initialize_low_level.asm76
-rw-r--r--ports/c667x/ccs/example_build/tx/Release/ccsObjs.opt2
-rw-r--r--ports/c667x/ccs/example_build/tx/Release/makefile30
-rw-r--r--ports/c667x/ccs/example_build/tx/Release/sources.mk202
-rw-r--r--ports/c667x/ccs/example_build/tx/Release/subdir_vars.mk22
-rw-r--r--ports/c667x/ccs/inc/tx_port.h90
-rw-r--r--ports/c667x/ccs/readme_threadx.txt110
-rw-r--r--ports/c667x/ccs/src/tx_thread_context_restore.asm82
-rw-r--r--ports/c667x/ccs/src/tx_thread_context_save.asm72
-rw-r--r--ports/c667x/ccs/src/tx_thread_interrupt_control.asm64
-rw-r--r--ports/c667x/ccs/src/tx_thread_schedule.asm74
-rw-r--r--ports/c667x/ccs/src/tx_thread_stack_build.asm62
-rw-r--r--ports/c667x/ccs/src/tx_thread_system_return.asm80
-rw-r--r--ports/c667x/ccs/src/tx_timer_interrupt.asm110
29 files changed, 650 insertions, 662 deletions
diff --git a/ports/c667x/ccs/example_build/include/C66XX.h b/ports/c667x/ccs/example_build/include/C66XX.h
index 581b563e..80507ca2 100644
--- a/ports/c667x/ccs/example_build/include/C66XX.h
+++ b/ports/c667x/ccs/example_build/include/C66XX.h
@@ -52,7 +52,7 @@
3. This file is best viewed with the TAB setting set to '4'.
- 4. This header file is externally controlled from user C-code by run-time
+ 4. This header file is externally controlled from user C-code by run-time
compiler keys definitions in order to apply DSP-type specific
definitions to refer to particular definitions included for different
DSP type:
diff --git a/ports/c667x/ccs/example_build/include/C66XX_DEF.hxx b/ports/c667x/ccs/example_build/include/C66XX_DEF.hxx
index 9764a47f..0eb6a1d3 100644
--- a/ports/c667x/ccs/example_build/include/C66XX_DEF.hxx
+++ b/ports/c667x/ccs/example_build/include/C66XX_DEF.hxx
@@ -791,53 +791,53 @@
//=============================================================================
//============ PLL controller registers =======================================
//=============================================================================
-// PLL control register - r/w
+// PLL control register - r/w
#define C66XX_PLL_PLLCTL_RG_OFFSET 0x100
-// PLL secondary control register - r/w
+// PLL secondary control register - r/w
#define C66XX_PLL_SECCTL_RG_OFFSET 0x108
-// PLL multiplier control register - r/w
+// PLL multiplier control register - r/w
#define C66XX_PLL_PLLM_RG_OFFSET 0x110
-// PLL controller divider 1 register - r/w
+// PLL controller divider 1 register - r/w
#define C66XX_PLL_PLLDIV1_RG_OFFSET 0x118
-// PLL controller divider 2 register - r/w
+// PLL controller divider 2 register - r/w
#define C66XX_PLL_PLLDIV2_RG_OFFSET 0x11c
-// PLL controller divider 3 register - r/w
+// PLL controller divider 3 register - r/w
#define C66XX_PLL_PLLDIV3_RG_OFFSET 0x120
-// PLL controller command register - r/w
+// PLL controller command register - r/w
#define C66XX_PLL_PLLCMD_RG_OFFSET 0x138
-// PLL controller status register - r/w
+// PLL controller status register - r/w
#define C66XX_PLL_PLLSTAT_RG_OFFSET 0x13c
-// PLL controller clock align control register - r/w
+// PLL controller clock align control register - r/w
#define C66XX_PLL_ALNCTL_RG_OFFSET 0x140
-// PLL controller divider ratio change status register - r/w
+// PLL controller divider ratio change status register - r/w
#define C66XX_PLL_DCHANGE_RG_OFFSET 0x144
// SYSCLK status register - r-only
#define C66XX_PLL_SYSTAT_RG_OFFSET 0x150
-// PLL controller divider 4 register - r/w
+// PLL controller divider 4 register - r/w
#define C66XX_PLL_PLLDIV4_RG_OFFSET 0x160
-// PLL controller divider 5 register - r/w
+// PLL controller divider 5 register - r/w
#define C66XX_PLL_PLLDIV5_RG_OFFSET 0x164
-// PLL controller divider 6 register - r/w
+// PLL controller divider 6 register - r/w
#define C66XX_PLL_PLLDIV6_RG_OFFSET 0x168
-// PLL controller divider 7 register - r/w
+// PLL controller divider 7 register - r/w
#define C66XX_PLL_PLLDIV7_RG_OFFSET 0x16c
-// PLL controller divider 8 register - r/w
+// PLL controller divider 8 register - r/w
#define C66XX_PLL_PLLDIV8_RG_OFFSET 0x170
-// PLL controller divider 9 register - r/w
+// PLL controller divider 9 register - r/w
#define C66XX_PLL_PLLDIV9_RG_OFFSET 0x174
-// PLL controller divider 10 register - r/w
+// PLL controller divider 10 register - r/w
#define C66XX_PLL_PLLDIV10_RG_OFFSET 0x178
-// PLL controller divider 11 register - r/w
+// PLL controller divider 11 register - r/w
#define C66XX_PLL_PLLDIV11_RG_OFFSET 0x17c
-// PLL controller divider 12 register - r/w
+// PLL controller divider 12 register - r/w
#define C66XX_PLL_PLLDIV12_RG_OFFSET 0x180
-// PLL controller divider 13 register - r/w
+// PLL controller divider 13 register - r/w
#define C66XX_PLL_PLLDIV13_RG_OFFSET 0x184
-// PLL controller divider 14 register - r/w
+// PLL controller divider 14 register - r/w
#define C66XX_PLL_PLLDIV14_RG_OFFSET 0x188
-// PLL controller divider 15 register - r/w
+// PLL controller divider 15 register - r/w
#define C66XX_PLL_PLLDIV15_RG_OFFSET 0x18c
-// PLL controller divider 16 register - r/w
+// PLL controller divider 16 register - r/w
#define C66XX_PLL_PLLDIV16_RG_OFFSET 0x190
#define C66XX_PLL_PLLCTL_RG_ADDR (C66XX_PLL_RG_AREA_SADDR + C66XX_PLL_PLLCTL_RG_OFFSET)
diff --git a/ports/c667x/ccs/example_build/include/C66XX_FUNCTIONS.hxx b/ports/c667x/ccs/example_build/include/C66XX_FUNCTIONS.hxx
index 8564e44d..8011bcac 100644
--- a/ports/c667x/ccs/example_build/include/C66XX_FUNCTIONS.hxx
+++ b/ports/c667x/ccs/example_build/include/C66XX_FUNCTIONS.hxx
@@ -775,7 +775,7 @@ uint32_t C66XX_INT_init_chip(uint32_t cpintc_id);
*
* System events are those events generated by a hardware module in the system.
* These events are inputs into CPINTC.
- * Host events are the output events of CPINTC, which act as event inputs to
+ * Host events are the output events of CPINTC, which act as event inputs to
* C66x CorePac interrupt controllers (INTC).
*
* @param[in] cpintc_handle - chip interrupt controller handle returned by
@@ -1372,7 +1372,7 @@ void C66XX_UART_transmit_string(char *s);
* @brief Function receives a line ended with CR character, and stores
* received characters into string with '\0' symbol.
*
- * Note that maximum received line length should not exceed
+ * Note that maximum received line length should not exceed
* C66XX_UART_LINE_LEN_MAX value!
*
* @param[in] s - Pointer to a string to store received characters
@@ -1626,7 +1626,7 @@ typedef struct
* packets) and data streaming (Type11 packets) operations.
* 2. Max MTU length is set to 256 bytes.
* 3. SRIO 8-bit and 16-bit base device IDs are set to supplied parameters.
- * 4. Available destination SRIO 8-bit and 16-bit device IDs are set
+ * 4. Available destination SRIO 8-bit and 16-bit device IDs are set
* according to supplied parameters.
* 5. Operation mode is set according to supplied parameter.
* 6. Link rate and ports configuration (4 ports are available) are set
diff --git a/ports/c667x/ccs/example_build/include/C66XX_MACROS.hxx b/ports/c667x/ccs/example_build/include/C66XX_MACROS.hxx
index 54e7ef57..32b1e4ff 100644
--- a/ports/c667x/ccs/example_build/include/C66XX_MACROS.hxx
+++ b/ports/c667x/ccs/example_build/include/C66XX_MACROS.hxx
@@ -40,7 +40,7 @@
typedef volatile uint32_t __C66XX_IO_DATA_TYPE__;
-// read-back data bitmask for DSP memory-mapped registers (32-bit wide)
+// read-back data bitmask for DSP memory-mapped registers (32-bit wide)
#define C66XX_RG_DATA_BITMASK 0xffffffff
//=============================================================================
diff --git a/ports/c667x/ccs/example_build/include/TA66XX_DSP.h b/ports/c667x/ccs/example_build/include/TA66XX_DSP.h
index 04dfc4b7..ba3fa341 100644
--- a/ports/c667x/ccs/example_build/include/TA66XX_DSP.h
+++ b/ports/c667x/ccs/example_build/include/TA66XX_DSP.h
@@ -11,7 +11,7 @@
Description:
------------
- This file contains general definitions and API functions for TORNADO AMC
+ This file contains general definitions and API functions for TORNADO AMC
modules SDK and must be included in the user C-application for
TORNADO AMC modules.
diff --git a/ports/c667x/ccs/example_build/include/TA66XX_DSP_BC.h b/ports/c667x/ccs/example_build/include/TA66XX_DSP_BC.h
index dbc748e0..028ce336 100644
--- a/ports/c667x/ccs/example_build/include/TA66XX_DSP_BC.h
+++ b/ports/c667x/ccs/example_build/include/TA66XX_DSP_BC.h
@@ -11,7 +11,7 @@
Description:
------------
- This file contains definitions, macros and API functions for TORNADO AMC
+ This file contains definitions, macros and API functions for TORNADO AMC
modules on-board DSP environment and must be included in the user
C-application for TORNADO AMC modules.
diff --git a/ports/c667x/ccs/example_build/include/TA66XX_DSP_BC_FUNCTIONS.hxx b/ports/c667x/ccs/example_build/include/TA66XX_DSP_BC_FUNCTIONS.hxx
index 338a01ee..fcec18ce 100644
--- a/ports/c667x/ccs/example_build/include/TA66XX_DSP_BC_FUNCTIONS.hxx
+++ b/ports/c667x/ccs/example_build/include/TA66XX_DSP_BC_FUNCTIONS.hxx
@@ -7,7 +7,7 @@
Notes:
------
- 1. This C-header file contains TORNADO AMC modules SDK functions
+ 1. This C-header file contains TORNADO AMC modules SDK functions
for DSP environment declarations and is an include file for
TI C6xxx C/C++ Code Generation Tools, which must be invoked to compile
for TORNADO AMC platform.
@@ -1008,7 +1008,7 @@ int32_t TA66XX_BC_get_hw_cfg_info(TA66XX_BC_HW_CFG_INFO_DATA_DD *info_dd);
/*------------ TA66XX_BC_get_fmc_info() function -------------------------*//**
- * @brief Function returns FMC module device info: installed status, device
+ * @brief Function returns FMC module device info: installed status, device
* name, serial number, manufacturing date, firmware revisions, etc.
*
* @param[out] info_dd - pointer to a buffer that receives FMC info data
@@ -1081,7 +1081,7 @@ int32_t TA66XX_BC_set_mmc_power_down_notification(void);
* @brief Function returns identification info about installed SFP
* transceiver: 256-byte array read from address 0x50 (identification info
* according to SFF-8472) and 256-byte array read from address 0x51 (digital
- * diagnostic monitoring interface (DDMI) data)
+ * diagnostic monitoring interface (DDMI) data)
*
* @param[out] id_data - pointer to a buffer that receives 256-byte array read
* from address 0x50 (identification info according to SFF-8472).
@@ -1356,7 +1356,7 @@ uint32_t TA66XX_BC_get_flash_length(void);
/*------------ TA66XX_BC_get_flash_hw_wp_enable_status() function --------*//**
- * @brief Function returns enable status of on-board FLASH memory hardware
+ * @brief Function returns enable status of on-board FLASH memory hardware
* (via on-board switch) write-protection
*
* @return On-board FLASH memory hardware write-protection enable state:
@@ -1367,7 +1367,7 @@ uint32_t TA66XX_BC_get_flash_hw_wp_enable_status(void);
/*------------ TA66XX_BC_get_flash_sw_wp_enable_status() function --------*//**
- * @brief Function returns enable status of on-board FLASH memory software
+ * @brief Function returns enable status of on-board FLASH memory software
* write-protection
*
* @return On-board FLASH memory software write-protection enable state:
@@ -1507,7 +1507,7 @@ uint32_t TA66XX_BC_get_mram_length(void);
/*------------ TA66XX_BC_get_mram_sw_wp_enable_status() function ---------*//**
- * @brief Function returns enable status of on-board MRAM memory software
+ * @brief Function returns enable status of on-board MRAM memory software
* write-protection
*
* @return On-board MRAM memory software write-protection enable state:
diff --git a/ports/c667x/ccs/example_build/include/TA66XX_OSAL.h b/ports/c667x/ccs/example_build/include/TA66XX_OSAL.h
index d61af0e9..360e9f3b 100644
--- a/ports/c667x/ccs/example_build/include/TA66XX_OSAL.h
+++ b/ports/c667x/ccs/example_build/include/TA66XX_OSAL.h
@@ -412,7 +412,7 @@ void *Osal_srioDataBufferMalloc(uint32_t numBytes);
/*------------ Osal_srioDataBufferFree() function ------------------------*//**
- * @brief Function is used to clean up a previously allocated data buffer
+ * @brief Function is used to clean up a previously allocated data buffer
* block. All data buffers are in the global address space.
*
* @param[in] ptr - pointer to the memory block to be cleaned up
diff --git a/ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.c b/ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.c
index 18bad8de..a97ce125 100644
--- a/ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.c
+++ b/ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.c
@@ -1,5 +1,5 @@
/* This is a small demo of the high-performance ThreadX kernel. It includes examples of eight
- threads of different priorities, using a message queue, semaphore, mutex, event flags group,
+ threads of different priorities, using a message queue, semaphore, mutex, event flags group,
byte pool, and block pool. */
#include "tx_api.h"
@@ -121,7 +121,7 @@ UINT status;
/* Create the main thread. */
status = tx_thread_create(&thread_0, "thread 0", thread_0_entry, 0,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
1, 1, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -135,11 +135,11 @@ UINT status;
while (1);
}
- /* Create threads 1 and 2. These threads pass information through a ThreadX
+ /* Create threads 1 and 2. These threads pass information through a ThreadX
message queue. It is also interesting to note that these threads have a time
slice. */
status = tx_thread_create(&thread_1, "thread 1", thread_1_entry, 1,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
16, 16, 4, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -154,7 +154,7 @@ UINT status;
}
status = tx_thread_create(&thread_2, "thread 2", thread_2_entry, 2,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
16, 16, 4, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -168,10 +168,10 @@ UINT status;
while (1);
}
- /* Create threads 3 and 4. These threads compete for a ThreadX counting semaphore.
+ /* Create threads 3 and 4. These threads compete for a ThreadX counting semaphore.
An interesting thing here is that both threads share the same instruction area. */
status = tx_thread_create(&thread_3, "thread 3", thread_3_and_4_entry, 3,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
8, 8, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -186,7 +186,7 @@ UINT status;
}
status = tx_thread_create(&thread_4, "thread 4", thread_3_and_4_entry, 4,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
8, 8, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -203,7 +203,7 @@ UINT status;
/* Create thread 5. This thread simply pends on an event flag which will be set
by thread_0. */
status = tx_thread_create(&thread_5, "thread 5", thread_5_entry, 5,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
4, 4, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -219,7 +219,7 @@ UINT status;
/* Create threads 6 and 7. These threads compete for a ThreadX mutex. */
status = tx_thread_create(&thread_6, "thread 6", thread_6_and_7_entry, 6,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
8, 8, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -234,7 +234,7 @@ UINT status;
}
status = tx_thread_create(&thread_7, "thread 7", thread_6_and_7_entry, 7,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
8, 8, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -328,7 +328,7 @@ UINT status;
/* Increment the thread counter. */
thread_0_counter++;
-
+
/* Sleep for 10 ticks. */
tx_thread_sleep(10);
@@ -384,11 +384,11 @@ UINT status;
/* Retrieve a message from the queue. */
status = tx_queue_receive(&queue_0, &received_message, TX_WAIT_FOREVER);
- /* Check completion status and make sure the message is what we
+ /* Check completion status and make sure the message is what we
expected. */
if ((status != TX_SUCCESS) || (received_message != thread_2_messages_received))
break;
-
+
/* Otherwise, all is okay. Increment the received message count. */
thread_2_messages_received++;
}
@@ -447,7 +447,7 @@ ULONG actual_flags;
thread_5_counter++;
/* Wait for event flag 0. */
- status = tx_event_flags_get(&event_flags_0, 0x1, TX_OR_CLEAR,
+ status = tx_event_flags_get(&event_flags_0, 0x1, TX_OR_CLEAR,
&actual_flags, TX_WAIT_FOREVER);
/* Check status. */
@@ -500,7 +500,7 @@ UINT status;
if (status != TX_SUCCESS)
break;
- /* Release the mutex again. This will actually
+ /* Release the mutex again. This will actually
release ownership since it was obtained twice. */
status = tx_mutex_put(&mutex_0);
diff --git a/ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.cmd b/ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.cmd
index a2267231..590da9dc 100644
--- a/ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.cmd
+++ b/ports/c667x/ccs/example_build/sample_threadx_c6678evm/sample_threadx.cmd
@@ -4,18 +4,18 @@
-l C:\ti\pdk_C6678_1_1_2_6\packages\ti\csl\lib\ti.csl.ae66
-l C:\ti\pdk_C6678_1_1_2_6\packages\ti\csl\lib\ti.csl.intc.ae66
-l c:\ti\pdk_C6678_1_1_2_6\packages\ti\platform\evmc6678l\platform_lib\lib\release\ti.platform.evm6678l.ae66
-
+
/* Memory Map */
MEMORY
{
L1PSRAM (RWX) : org = 0x00E00000, len = 0x00008000
- L1DSRAM (RWX) : org = 0x00F00000, len = 0x00008000
+ L1DSRAM (RWX) : org = 0x00F00000, len = 0x00008000
CODE_RAM (RWX) : org = 0x00800000, len = 0x00020000
DATA_RAM (RWX) : org = 0x00820000, len = 0x00060000
MSMCSRAM (RWX) : org = 0x0c000000, len = 0x00400000
DDR3 (RWX) : org = 0x80000000, len = 0x80000000
}
-
+
SECTIONS
{
.text > CODE_RAM
@@ -30,7 +30,7 @@ SECTIONS
.ppinfo > CODE_RAM
.ppdata > CODE_RAM
.csl_vect > CODE_RAM
- platform_lib > CODE_RAM
+ platform_lib > CODE_RAM
GROUP
{
@@ -42,7 +42,7 @@ SECTIONS
/* COFF sections */
.pinit > CODE_RAM
.cinit > CODE_RAM
-
+
/* EABI sections */
.binit > CODE_RAM
.init_array > CODE_RAM
diff --git a/ports/c667x/ccs/example_build/sample_threadx_c6678evm/targetConfigs/TMS320C6678.ccxml b/ports/c667x/ccs/example_build/sample_threadx_c6678evm/targetConfigs/TMS320C6678.ccxml
index b7147d7f..d10a283a 100644
--- a/ports/c667x/ccs/example_build/sample_threadx_c6678evm/targetConfigs/TMS320C6678.ccxml
+++ b/ports/c667x/ccs/example_build/sample_threadx_c6678evm/targetConfigs/TMS320C6678.ccxml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
-
+
<configuration XML_version="1.2" id="Texas Instruments XDS100v1 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS100v1 USB Debug Probe_0" href="connections/TIXDS100usb_Connection.xml" id="Texas Instruments XDS100v1 USB Debug Probe_0" xml="TIXDS100usb_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS100v1 USB Debug Probe_0">
diff --git a/ports/c667x/ccs/example_build/sample_threadx_c6678evm/tx_initialize_low_level.asm b/ports/c667x/ccs/example_build/sample_threadx_c6678evm/tx_initialize_low_level.asm
index 686220c5..1339dbf5 100644
--- a/ports/c667x/ccs/example_build/sample_threadx_c6678evm/tx_initialize_low_level.asm
+++ b/ports/c667x/ccs/example_build/sample_threadx_c6678evm/tx_initialize_low_level.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Initialize */
;/** */
@@ -82,7 +82,7 @@ INTMUX1_TMR8_VAL .set 0x43 ; Tie in Event 67 (TINT8H) t
.global _tx_first_free_memory
.align 16
_tx_first_free_memory:
- .space 4
+ .space 4
; Useful macro definitions
; Load 32-bit integer into register
@@ -111,42 +111,42 @@ TX_INTERRUPT_EXIT .macro
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_initialize_low_level C667x/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_initialize_low_level C667x/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
-;/* This function is responsible for any low-level processor */
-;/* initialization, including setting up interrupt vectors, setting */
-;/* up a periodic timer interrupt source, saving the system stack */
-;/* pointer for use in ISR processing later, and finding the first */
-;/* available RAM memory address for tx_application_define. */
-;/* */
-;/* INPUT */
-;/* */
-;/* None */
-;/* */
-;/* OUTPUT */
-;/* */
-;/* None */
-;/* */
-;/* CALLS */
-;/* */
-;/* None */
-;/* */
-;/* CALLED BY */
-;/* */
-;/* _tx_initialize_kernel_enter ThreadX entry function */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* This function is responsible for any low-level processor */
+;/* initialization, including setting up interrupt vectors, setting */
+;/* up a periodic timer interrupt source, saving the system stack */
+;/* pointer for use in ISR processing later, and finding the first */
+;/* available RAM memory address for tx_application_define. */
+;/* */
+;/* INPUT */
+;/* */
+;/* None */
+;/* */
+;/* OUTPUT */
+;/* */
+;/* None */
+;/* */
+;/* CALLS */
+;/* */
+;/* None */
+;/* */
+;/* CALLED BY */
+;/* */
+;/* _tx_initialize_kernel_enter ThreadX entry function */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
@@ -219,7 +219,7 @@ _tx_int4_vector:
STW A4,*+SP(36) ; Save A4
NOP
-;_tx_timer_interrupt_preamble:
+;_tx_timer_interrupt_preamble:
MVK_LH TMR8_INTCTLSTAT_ADDR,A0 ; Build address of Timer Interrupt Control Register
MVK_LH INTCTLSTAT_VAL,A1 ; Build value of Timer Interrupt Control Register
@@ -234,7 +234,7 @@ _tx_int4_vector:
B A0 ; Branch ThreadX timer ISR routine
NOP 5 ; Delay slots
NOP
-
+
.global _tx_int5_vector
diff --git a/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.c b/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.c
index 18bad8de..a97ce125 100644
--- a/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.c
+++ b/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.c
@@ -1,5 +1,5 @@
/* This is a small demo of the high-performance ThreadX kernel. It includes examples of eight
- threads of different priorities, using a message queue, semaphore, mutex, event flags group,
+ threads of different priorities, using a message queue, semaphore, mutex, event flags group,
byte pool, and block pool. */
#include "tx_api.h"
@@ -121,7 +121,7 @@ UINT status;
/* Create the main thread. */
status = tx_thread_create(&thread_0, "thread 0", thread_0_entry, 0,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
1, 1, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -135,11 +135,11 @@ UINT status;
while (1);
}
- /* Create threads 1 and 2. These threads pass information through a ThreadX
+ /* Create threads 1 and 2. These threads pass information through a ThreadX
message queue. It is also interesting to note that these threads have a time
slice. */
status = tx_thread_create(&thread_1, "thread 1", thread_1_entry, 1,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
16, 16, 4, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -154,7 +154,7 @@ UINT status;
}
status = tx_thread_create(&thread_2, "thread 2", thread_2_entry, 2,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
16, 16, 4, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -168,10 +168,10 @@ UINT status;
while (1);
}
- /* Create threads 3 and 4. These threads compete for a ThreadX counting semaphore.
+ /* Create threads 3 and 4. These threads compete for a ThreadX counting semaphore.
An interesting thing here is that both threads share the same instruction area. */
status = tx_thread_create(&thread_3, "thread 3", thread_3_and_4_entry, 3,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
8, 8, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -186,7 +186,7 @@ UINT status;
}
status = tx_thread_create(&thread_4, "thread 4", thread_3_and_4_entry, 4,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
8, 8, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -203,7 +203,7 @@ UINT status;
/* Create thread 5. This thread simply pends on an event flag which will be set
by thread_0. */
status = tx_thread_create(&thread_5, "thread 5", thread_5_entry, 5,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
4, 4, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -219,7 +219,7 @@ UINT status;
/* Create threads 6 and 7. These threads compete for a ThreadX mutex. */
status = tx_thread_create(&thread_6, "thread 6", thread_6_and_7_entry, 6,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
8, 8, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -234,7 +234,7 @@ UINT status;
}
status = tx_thread_create(&thread_7, "thread 7", thread_6_and_7_entry, 7,
- pointer, DEMO_STACK_SIZE,
+ pointer, DEMO_STACK_SIZE,
8, 8, TX_NO_TIME_SLICE, TX_AUTO_START);
if (status != TX_SUCCESS)
{
@@ -328,7 +328,7 @@ UINT status;
/* Increment the thread counter. */
thread_0_counter++;
-
+
/* Sleep for 10 ticks. */
tx_thread_sleep(10);
@@ -384,11 +384,11 @@ UINT status;
/* Retrieve a message from the queue. */
status = tx_queue_receive(&queue_0, &received_message, TX_WAIT_FOREVER);
- /* Check completion status and make sure the message is what we
+ /* Check completion status and make sure the message is what we
expected. */
if ((status != TX_SUCCESS) || (received_message != thread_2_messages_received))
break;
-
+
/* Otherwise, all is okay. Increment the received message count. */
thread_2_messages_received++;
}
@@ -447,7 +447,7 @@ ULONG actual_flags;
thread_5_counter++;
/* Wait for event flag 0. */
- status = tx_event_flags_get(&event_flags_0, 0x1, TX_OR_CLEAR,
+ status = tx_event_flags_get(&event_flags_0, 0x1, TX_OR_CLEAR,
&actual_flags, TX_WAIT_FOREVER);
/* Check status. */
@@ -500,7 +500,7 @@ UINT status;
if (status != TX_SUCCESS)
break;
- /* Release the mutex again. This will actually
+ /* Release the mutex again. This will actually
release ownership since it was obtained twice. */
status = tx_mutex_put(&mutex_0);
diff --git a/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.cmd b/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.cmd
index b03e87b5..f84bffc6 100644
--- a/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.cmd
+++ b/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/sample_threadx.cmd
@@ -3,18 +3,18 @@
-stack 0x1000
-l C:\ti\pdk_C6678_1_1_2_6\packages\ti\csl\lib\ti.csl.ae66
-l C:\ti\pdk_C6678_1_1_2_6\packages\ti\csl\lib\ti.csl.intc.ae66
-
+
/* Memory Map */
MEMORY
{
L1PSRAM (RWX) : org = 0x00E00000, len = 0x00008000
- L1DSRAM (RWX) : org = 0x00F00000, len = 0x00008000
+ L1DSRAM (RWX) : org = 0x00F00000, len = 0x00008000
CODE_RAM (RWX) : org = 0x00800000, len = 0x00020000
DATA_RAM (RWX) : org = 0x00820000, len = 0x00060000
MSMCSRAM (RWX) : org = 0x0c000000, len = 0x00400000
DDR3 (RWX) : org = 0x80000000, len = 0x80000000
}
-
+
SECTIONS
{
.text > CODE_RAM
@@ -40,7 +40,7 @@ SECTIONS
/* COFF sections */
.pinit > CODE_RAM
.cinit > CODE_RAM
-
+
/* EABI sections */
.binit > CODE_RAM
.init_array > CODE_RAM
diff --git a/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/targetConfigs/TMS320C6678.ccxml b/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/targetConfigs/TMS320C6678.ccxml
index b7147d7f..d10a283a 100644
--- a/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/targetConfigs/TMS320C6678.ccxml
+++ b/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/targetConfigs/TMS320C6678.ccxml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<configurations XML_version="1.2" id="configurations_0">
-
+
<configuration XML_version="1.2" id="Texas Instruments XDS100v1 USB Debug Probe_0">
<instance XML_version="1.2" desc="Texas Instruments XDS100v1 USB Debug Probe_0" href="connections/TIXDS100usb_Connection.xml" id="Texas Instruments XDS100v1 USB Debug Probe_0" xml="TIXDS100usb_Connection.xml" xmlpath="connections"/>
<connection XML_version="1.2" id="Texas Instruments XDS100v1 USB Debug Probe_0">
diff --git a/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/tx_initialize_low_level.asm b/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/tx_initialize_low_level.asm
index 14591f59..ca59cb5d 100644
--- a/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/tx_initialize_low_level.asm
+++ b/ports/c667x/ccs/example_build/sample_threadx_ta6678fmc/tx_initialize_low_level.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Initialize */
;/** */
@@ -82,7 +82,7 @@ INTMUX1_TMR8_VAL .set 0x43 ; Tie in Event 67 (TINT8H) t
.global _tx_first_free_memory
.align 16
_tx_first_free_memory:
- .space 4
+ .space 4
; Useful macro definitions
; Load 32-bit integer into register
@@ -111,42 +111,42 @@ TX_INTERRUPT_EXIT .macro
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_initialize_low_level C667x+/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_initialize_low_level C667x+/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
-;/* This function is responsible for any low-level processor */
-;/* initialization, including setting up interrupt vectors, setting */
-;/* up a periodic timer interrupt source, saving the system stack */
-;/* pointer for use in ISR processing later, and finding the first */
-;/* available RAM memory address for tx_application_define. */
-;/* */
-;/* INPUT */
-;/* */
-;/* None */
-;/* */
-;/* OUTPUT */
-;/* */
-;/* None */
-;/* */
-;/* CALLS */
-;/* */
-;/* None */
-;/* */
-;/* CALLED BY */
-;/* */
-;/* _tx_initialize_kernel_enter ThreadX entry function */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* This function is responsible for any low-level processor */
+;/* initialization, including setting up interrupt vectors, setting */
+;/* up a periodic timer interrupt source, saving the system stack */
+;/* pointer for use in ISR processing later, and finding the first */
+;/* available RAM memory address for tx_application_define. */
+;/* */
+;/* INPUT */
+;/* */
+;/* None */
+;/* */
+;/* OUTPUT */
+;/* */
+;/* None */
+;/* */
+;/* CALLS */
+;/* */
+;/* None */
+;/* */
+;/* CALLED BY */
+;/* */
+;/* _tx_initialize_kernel_enter ThreadX entry function */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
@@ -219,7 +219,7 @@ _tx_int4_vector:
STW A4,*+SP(36) ; Save A4
NOP
-;_tx_timer_interrupt_preamble:
+;_tx_timer_interrupt_preamble:
MVK_LH TMR8_INTCTLSTAT_ADDR,A0 ; Build address of Timer Interrupt Control Register
MVK_LH INTCTLSTAT_VAL,A1 ; Build value of Timer Interrupt Control Register
@@ -235,7 +235,7 @@ _tx_int4_vector:
B A0 ; Branch ThreadX timer ISR routine
NOP 5 ; Delay slots
NOP
-
+
.global _tx_int5_vector
diff --git a/ports/c667x/ccs/example_build/tx/Release/ccsObjs.opt b/ports/c667x/ccs/example_build/tx/Release/ccsObjs.opt
index e954d96e..98982c10 100644
--- a/ports/c667x/ccs/example_build/tx/Release/ccsObjs.opt
+++ b/ports/c667x/ccs/example_build/tx/Release/ccsObjs.opt
@@ -1 +1 @@
-"./tx_block_allocate.obj" "./tx_block_pool_cleanup.obj" "./tx_block_pool_create.obj" "./tx_block_pool_delete.obj" "./tx_block_pool_info_get.obj" "./tx_block_pool_initialize.obj" "./tx_block_pool_performance_info_get.obj" "./tx_block_pool_performance_system_info_get.obj" "./tx_block_pool_prioritize.obj" "./tx_block_release.obj" "./tx_byte_allocate.obj" "./tx_byte_pool_cleanup.obj" "./tx_byte_pool_create.obj" "./tx_byte_pool_delete.obj" "./tx_byte_pool_info_get.obj" "./tx_byte_pool_initialize.obj" "./tx_byte_pool_performance_info_get.obj" "./tx_byte_pool_performance_system_info_get.obj" "./tx_byte_pool_prioritize.obj" "./tx_byte_pool_search.obj" "./tx_byte_release.obj" "./tx_event_flags_cleanup.obj" "./tx_event_flags_create.obj" "./tx_event_flags_delete.obj" "./tx_event_flags_get.obj" "./tx_event_flags_info_get.obj" "./tx_event_flags_initialize.obj" "./tx_event_flags_performance_info_get.obj" "./tx_event_flags_performance_system_info_get.obj" "./tx_event_flags_set.obj" "./tx_event_flags_set_notify.obj" "./tx_initialize_high_level.obj" "./tx_initialize_kernel_enter.obj" "./tx_initialize_kernel_setup.obj" "./tx_mutex_cleanup.obj" "./tx_mutex_create.obj" "./tx_mutex_delete.obj" "./tx_mutex_get.obj" "./tx_mutex_info_get.obj" "./tx_mutex_initialize.obj" "./tx_mutex_performance_info_get.obj" "./tx_mutex_performance_system_info_get.obj" "./tx_mutex_prioritize.obj" "./tx_mutex_priority_change.obj" "./tx_mutex_put.obj" "./tx_queue_cleanup.obj" "./tx_queue_create.obj" "./tx_queue_delete.obj" "./tx_queue_flush.obj" "./tx_queue_front_send.obj" "./tx_queue_info_get.obj" "./tx_queue_initialize.obj" "./tx_queue_performance_info_get.obj" "./tx_queue_performance_system_info_get.obj" "./tx_queue_prioritize.obj" "./tx_queue_receive.obj" "./tx_queue_send.obj" "./tx_queue_send_notify.obj" "./tx_semaphore_ceiling_put.obj" "./tx_semaphore_cleanup.obj" "./tx_semaphore_create.obj" "./tx_semaphore_delete.obj" "./tx_semaphore_get.obj" "./tx_semaphore_info_get.obj" "./tx_semaphore_initialize.obj" "./tx_semaphore_performance_info_get.obj" "./tx_semaphore_performance_system_info_get.obj" "./tx_semaphore_prioritize.obj" "./tx_semaphore_put.obj" "./tx_semaphore_put_notify.obj" "./tx_thread_context_restore.obj" "./tx_thread_context_save.obj" "./tx_thread_create.obj" "./tx_thread_delete.obj" "./tx_thread_entry_exit_notify.obj" "./tx_thread_identify.obj" "./tx_thread_info_get.obj" "./tx_thread_initialize.obj" "./tx_thread_interrupt_control.obj" "./tx_thread_performance_info_get.obj" "./tx_thread_performance_system_info_get.obj" "./tx_thread_preemption_change.obj" "./tx_thread_priority_change.obj" "./tx_thread_relinquish.obj" "./tx_thread_reset.obj" "./tx_thread_resume.obj" "./tx_thread_schedule.obj" "./tx_thread_shell_entry.obj" "./tx_thread_sleep.obj" "./tx_thread_stack_analyze.obj" "./tx_thread_stack_build.obj" "./tx_thread_stack_error_handler.obj" "./tx_thread_stack_error_notify.obj" "./tx_thread_suspend.obj" "./tx_thread_system_preempt_check.obj" "./tx_thread_system_resume.obj" "./tx_thread_system_return.obj" "./tx_thread_system_suspend.obj" "./tx_thread_terminate.obj" "./tx_thread_time_slice.obj" "./tx_thread_time_slice_change.obj" "./tx_thread_timeout.obj" "./tx_thread_wait_abort.obj" "./tx_time_get.obj" "./tx_time_set.obj" "./tx_timer_activate.obj" "./tx_timer_change.obj" "./tx_timer_create.obj" "./tx_timer_deactivate.obj" "./tx_timer_delete.obj" "./tx_timer_expiration_process.obj" "./tx_timer_info_get.obj" "./tx_timer_initialize.obj" "./tx_timer_interrupt.obj" "./tx_timer_performance_info_get.obj" "./tx_timer_performance_system_info_get.obj" "./tx_timer_system_activate.obj" "./tx_timer_system_deactivate.obj" "./tx_timer_thread_entry.obj" "./tx_trace_buffer_full_notify.obj" "./tx_trace_disable.obj" "./tx_trace_enable.obj" "./tx_trace_event_filter.obj" "./tx_trace_event_unfilter.obj" "./tx_trace_initialize.obj" "./tx_trace_interrupt_control.obj" "./tx_trace_isr_enter_insert.obj" "./tx_trace_isr_exit_insert.obj" "./tx_trace_object_register.obj" "./tx_trace_object_unregister.obj" "./tx_trace_user_event_insert.obj" "./txe_block_allocate.obj" "./txe_block_pool_create.obj" "./txe_block_pool_delete.obj" "./txe_block_pool_info_get.obj" "./txe_block_pool_prioritize.obj" "./txe_block_release.obj" "./txe_byte_allocate.obj" "./txe_byte_pool_create.obj" "./txe_byte_pool_delete.obj" "./txe_byte_pool_info_get.obj" "./txe_byte_pool_prioritize.obj" "./txe_byte_release.obj" "./txe_event_flags_create.obj" "./txe_event_flags_delete.obj" "./txe_event_flags_get.obj" "./txe_event_flags_info_get.obj" "./txe_event_flags_set.obj" "./txe_event_flags_set_notify.obj" "./txe_mutex_create.obj" "./txe_mutex_delete.obj" "./txe_mutex_get.obj" "./txe_mutex_info_get.obj" "./txe_mutex_prioritize.obj" "./txe_mutex_put.obj" "./txe_queue_create.obj" "./txe_queue_delete.obj" "./txe_queue_flush.obj" "./txe_queue_front_send.obj" "./txe_queue_info_get.obj" "./txe_queue_prioritize.obj" "./txe_queue_receive.obj" "./txe_queue_send.obj" "./txe_queue_send_notify.obj" "./txe_semaphore_ceiling_put.obj" "./txe_semaphore_create.obj" "./txe_semaphore_delete.obj" "./txe_semaphore_get.obj" "./txe_semaphore_info_get.obj" "./txe_semaphore_prioritize.obj" "./txe_semaphore_put.obj" "./txe_semaphore_put_notify.obj" "./txe_thread_create.obj" "./txe_thread_delete.obj" "./txe_thread_entry_exit_notify.obj" "./txe_thread_info_get.obj" "./txe_thread_preemption_change.obj" "./txe_thread_priority_change.obj" "./txe_thread_relinquish.obj" "./txe_thread_reset.obj" "./txe_thread_resume.obj" "./txe_thread_suspend.obj" "./txe_thread_terminate.obj" "./txe_thread_time_slice_change.obj" "./txe_thread_wait_abort.obj" "./txe_timer_activate.obj" "./txe_timer_change.obj" "./txe_timer_create.obj" "./txe_timer_deactivate.obj" "./txe_timer_delete.obj" "./txe_timer_info_get.obj" \ No newline at end of file
+"./tx_block_allocate.obj" "./tx_block_pool_cleanup.obj" "./tx_block_pool_create.obj" "./tx_block_pool_delete.obj" "./tx_block_pool_info_get.obj" "./tx_block_pool_initialize.obj" "./tx_block_pool_performance_info_get.obj" "./tx_block_pool_performance_system_info_get.obj" "./tx_block_pool_prioritize.obj" "./tx_block_release.obj" "./tx_byte_allocate.obj" "./tx_byte_pool_cleanup.obj" "./tx_byte_pool_create.obj" "./tx_byte_pool_delete.obj" "./tx_byte_pool_info_get.obj" "./tx_byte_pool_initialize.obj" "./tx_byte_pool_performance_info_get.obj" "./tx_byte_pool_performance_system_info_get.obj" "./tx_byte_pool_prioritize.obj" "./tx_byte_pool_search.obj" "./tx_byte_release.obj" "./tx_event_flags_cleanup.obj" "./tx_event_flags_create.obj" "./tx_event_flags_delete.obj" "./tx_event_flags_get.obj" "./tx_event_flags_info_get.obj" "./tx_event_flags_initialize.obj" "./tx_event_flags_performance_info_get.obj" "./tx_event_flags_performance_system_info_get.obj" "./tx_event_flags_set.obj" "./tx_event_flags_set_notify.obj" "./tx_initialize_high_level.obj" "./tx_initialize_kernel_enter.obj" "./tx_initialize_kernel_setup.obj" "./tx_mutex_cleanup.obj" "./tx_mutex_create.obj" "./tx_mutex_delete.obj" "./tx_mutex_get.obj" "./tx_mutex_info_get.obj" "./tx_mutex_initialize.obj" "./tx_mutex_performance_info_get.obj" "./tx_mutex_performance_system_info_get.obj" "./tx_mutex_prioritize.obj" "./tx_mutex_priority_change.obj" "./tx_mutex_put.obj" "./tx_queue_cleanup.obj" "./tx_queue_create.obj" "./tx_queue_delete.obj" "./tx_queue_flush.obj" "./tx_queue_front_send.obj" "./tx_queue_info_get.obj" "./tx_queue_initialize.obj" "./tx_queue_performance_info_get.obj" "./tx_queue_performance_system_info_get.obj" "./tx_queue_prioritize.obj" "./tx_queue_receive.obj" "./tx_queue_send.obj" "./tx_queue_send_notify.obj" "./tx_semaphore_ceiling_put.obj" "./tx_semaphore_cleanup.obj" "./tx_semaphore_create.obj" "./tx_semaphore_delete.obj" "./tx_semaphore_get.obj" "./tx_semaphore_info_get.obj" "./tx_semaphore_initialize.obj" "./tx_semaphore_performance_info_get.obj" "./tx_semaphore_performance_system_info_get.obj" "./tx_semaphore_prioritize.obj" "./tx_semaphore_put.obj" "./tx_semaphore_put_notify.obj" "./tx_thread_context_restore.obj" "./tx_thread_context_save.obj" "./tx_thread_create.obj" "./tx_thread_delete.obj" "./tx_thread_entry_exit_notify.obj" "./tx_thread_identify.obj" "./tx_thread_info_get.obj" "./tx_thread_initialize.obj" "./tx_thread_interrupt_control.obj" "./tx_thread_performance_info_get.obj" "./tx_thread_performance_system_info_get.obj" "./tx_thread_preemption_change.obj" "./tx_thread_priority_change.obj" "./tx_thread_relinquish.obj" "./tx_thread_reset.obj" "./tx_thread_resume.obj" "./tx_thread_schedule.obj" "./tx_thread_shell_entry.obj" "./tx_thread_sleep.obj" "./tx_thread_stack_analyze.obj" "./tx_thread_stack_build.obj" "./tx_thread_stack_error_handler.obj" "./tx_thread_stack_error_notify.obj" "./tx_thread_suspend.obj" "./tx_thread_system_preempt_check.obj" "./tx_thread_system_resume.obj" "./tx_thread_system_return.obj" "./tx_thread_system_suspend.obj" "./tx_thread_terminate.obj" "./tx_thread_time_slice.obj" "./tx_thread_time_slice_change.obj" "./tx_thread_timeout.obj" "./tx_thread_wait_abort.obj" "./tx_time_get.obj" "./tx_time_set.obj" "./tx_timer_activate.obj" "./tx_timer_change.obj" "./tx_timer_create.obj" "./tx_timer_deactivate.obj" "./tx_timer_delete.obj" "./tx_timer_expiration_process.obj" "./tx_timer_info_get.obj" "./tx_timer_initialize.obj" "./tx_timer_interrupt.obj" "./tx_timer_performance_info_get.obj" "./tx_timer_performance_system_info_get.obj" "./tx_timer_system_activate.obj" "./tx_timer_system_deactivate.obj" "./tx_timer_thread_entry.obj" "./tx_trace_buffer_full_notify.obj" "./tx_trace_disable.obj" "./tx_trace_enable.obj" "./tx_trace_event_filter.obj" "./tx_trace_event_unfilter.obj" "./tx_trace_initialize.obj" "./tx_trace_interrupt_control.obj" "./tx_trace_isr_enter_insert.obj" "./tx_trace_isr_exit_insert.obj" "./tx_trace_object_register.obj" "./tx_trace_object_unregister.obj" "./tx_trace_user_event_insert.obj" "./txe_block_allocate.obj" "./txe_block_pool_create.obj" "./txe_block_pool_delete.obj" "./txe_block_pool_info_get.obj" "./txe_block_pool_prioritize.obj" "./txe_block_release.obj" "./txe_byte_allocate.obj" "./txe_byte_pool_create.obj" "./txe_byte_pool_delete.obj" "./txe_byte_pool_info_get.obj" "./txe_byte_pool_prioritize.obj" "./txe_byte_release.obj" "./txe_event_flags_create.obj" "./txe_event_flags_delete.obj" "./txe_event_flags_get.obj" "./txe_event_flags_info_get.obj" "./txe_event_flags_set.obj" "./txe_event_flags_set_notify.obj" "./txe_mutex_create.obj" "./txe_mutex_delete.obj" "./txe_mutex_get.obj" "./txe_mutex_info_get.obj" "./txe_mutex_prioritize.obj" "./txe_mutex_put.obj" "./txe_queue_create.obj" "./txe_queue_delete.obj" "./txe_queue_flush.obj" "./txe_queue_front_send.obj" "./txe_queue_info_get.obj" "./txe_queue_prioritize.obj" "./txe_queue_receive.obj" "./txe_queue_send.obj" "./txe_queue_send_notify.obj" "./txe_semaphore_ceiling_put.obj" "./txe_semaphore_create.obj" "./txe_semaphore_delete.obj" "./txe_semaphore_get.obj" "./txe_semaphore_info_get.obj" "./txe_semaphore_prioritize.obj" "./txe_semaphore_put.obj" "./txe_semaphore_put_notify.obj" "./txe_thread_create.obj" "./txe_thread_delete.obj" "./txe_thread_entry_exit_notify.obj" "./txe_thread_info_get.obj" "./txe_thread_preemption_change.obj" "./txe_thread_priority_change.obj" "./txe_thread_relinquish.obj" "./txe_thread_reset.obj" "./txe_thread_resume.obj" "./txe_thread_suspend.obj" "./txe_thread_terminate.obj" "./txe_thread_time_slice_change.obj" "./txe_thread_wait_abort.obj" "./txe_timer_activate.obj" "./txe_timer_change.obj" "./txe_timer_create.obj" "./txe_timer_deactivate.obj" "./txe_timer_delete.obj" "./txe_timer_info_get.obj" \ No newline at end of file
diff --git a/ports/c667x/ccs/example_build/tx/Release/makefile b/ports/c667x/ccs/example_build/tx/Release/makefile
index 45d27b35..10d8815d 100644
--- a/ports/c667x/ccs/example_build/tx/Release/makefile
+++ b/ports/c667x/ccs/example_build/tx/Release/makefile
@@ -6,8 +6,8 @@ SHELL = cmd.exe
CG_TOOL_ROOT := C:/ti/ccsv8/tools/compiler/ti-cgt-c6000_8.2.4
-GEN_OPTS__FLAG :=
-GEN_CMDS__FLAG :=
+GEN_OPTS__FLAG :=
+GEN_CMDS__FLAG :=
ORDERED_OBJS += \
"./tx_block_allocate.obj" \
@@ -305,7 +305,7 @@ endif
-include ../makefile.defs
-# Add inputs and outputs from these tool invocations to the build variables
+# Add inputs and outputs from these tool invocations to the build variables
LIB_OUTPUTS += \
tx.lib \
@@ -329,18 +329,18 @@ endif
# Other Targets
clean:
-$(RM) $(LIB_OUTPUTS__QUOTED)
- -$(RM) "tx_block_allocate.obj" "tx_block_pool_cleanup.obj" "tx_block_pool_create.obj" "tx_block_pool_delete.obj" "tx_block_pool_info_get.obj" "tx_block_pool_initialize.obj" "tx_block_pool_performance_info_get.obj" "tx_block_pool_performance_system_info_get.obj" "tx_block_pool_prioritize.obj" "tx_block_release.obj" "tx_byte_allocate.obj" "tx_byte_pool_cleanup.obj" "tx_byte_pool_create.obj" "tx_byte_pool_delete.obj" "tx_byte_pool_info_get.obj" "tx_byte_pool_initialize.obj" "tx_byte_pool_performance_info_get.obj" "tx_byte_pool_performance_system_info_get.obj" "tx_byte_pool_prioritize.obj" "tx_byte_pool_search.obj" "tx_byte_release.obj" "tx_event_flags_cleanup.obj" "tx_event_flags_create.obj" "tx_event_flags_delete.obj" "tx_event_flags_get.obj" "tx_event_flags_info_get.obj" "tx_event_flags_initialize.obj" "tx_event_flags_performance_info_get.obj" "tx_event_flags_performance_system_info_get.obj" "tx_event_flags_set.obj" "tx_event_flags_set_notify.obj" "tx_initialize_high_level.obj" "tx_initialize_kernel_enter.obj"
- -$(RM) "tx_initialize_kernel_setup.obj" "tx_mutex_cleanup.obj" "tx_mutex_create.obj" "tx_mutex_delete.obj" "tx_mutex_get.obj" "tx_mutex_info_get.obj" "tx_mutex_initialize.obj" "tx_mutex_performance_info_get.obj" "tx_mutex_performance_system_info_get.obj" "tx_mutex_prioritize.obj" "tx_mutex_priority_change.obj" "tx_mutex_put.obj" "tx_queue_cleanup.obj" "tx_queue_create.obj" "tx_queue_delete.obj" "tx_queue_flush.obj" "tx_queue_front_send.obj" "tx_queue_info_get.obj" "tx_queue_initialize.obj" "tx_queue_performance_info_get.obj" "tx_queue_performance_system_info_get.obj" "tx_queue_prioritize.obj" "tx_queue_receive.obj" "tx_queue_send.obj" "tx_queue_send_notify.obj" "tx_semaphore_ceiling_put.obj" "tx_semaphore_cleanup.obj" "tx_semaphore_create.obj" "tx_semaphore_delete.obj" "tx_semaphore_get.obj" "tx_semaphore_info_get.obj" "tx_semaphore_initialize.obj" "tx_semaphore_performance_info_get.obj" "tx_semaphore_performance_system_info_get.obj" "tx_semaphore_prioritize.obj" "tx_semaphore_put.obj" "tx_semaphore_put_notify.obj"
- -$(RM) "tx_thread_context_restore.obj" "tx_thread_context_save.obj" "tx_thread_create.obj" "tx_thread_delete.obj" "tx_thread_entry_exit_notify.obj" "tx_thread_identify.obj" "tx_thread_info_get.obj" "tx_thread_initialize.obj" "tx_thread_interrupt_control.obj" "tx_thread_performance_info_get.obj" "tx_thread_performance_system_info_get.obj" "tx_thread_preemption_change.obj" "tx_thread_priority_change.obj" "tx_thread_relinquish.obj" "tx_thread_reset.obj" "tx_thread_resume.obj" "tx_thread_schedule.obj" "tx_thread_shell_entry.obj" "tx_thread_sleep.obj" "tx_thread_stack_analyze.obj" "tx_thread_stack_build.obj" "tx_thread_stack_error_handler.obj" "tx_thread_stack_error_notify.obj" "tx_thread_suspend.obj" "tx_thread_system_preempt_check.obj" "tx_thread_system_resume.obj" "tx_thread_system_return.obj" "tx_thread_system_suspend.obj" "tx_thread_terminate.obj" "tx_thread_time_slice.obj" "tx_thread_time_slice_change.obj" "tx_thread_timeout.obj" "tx_thread_wait_abort.obj" "tx_time_get.obj" "tx_time_set.obj"
- -$(RM) "tx_timer_activate.obj" "tx_timer_change.obj" "tx_timer_create.obj" "tx_timer_deactivate.obj" "tx_timer_delete.obj" "tx_timer_expiration_process.obj" "tx_timer_info_get.obj" "tx_timer_initialize.obj" "tx_timer_interrupt.obj" "tx_timer_performance_info_get.obj" "tx_timer_performance_system_info_get.obj" "tx_timer_system_activate.obj" "tx_timer_system_deactivate.obj" "tx_timer_thread_entry.obj" "tx_trace_buffer_full_notify.obj" "tx_trace_disable.obj" "tx_trace_enable.obj" "tx_trace_event_filter.obj" "tx_trace_event_unfilter.obj" "tx_trace_initialize.obj" "tx_trace_interrupt_control.obj" "tx_trace_isr_enter_insert.obj" "tx_trace_isr_exit_insert.obj" "tx_trace_object_register.obj" "tx_trace_object_unregister.obj" "tx_trace_user_event_insert.obj" "txe_block_allocate.obj" "txe_block_pool_create.obj" "txe_block_pool_delete.obj" "txe_block_pool_info_get.obj" "txe_block_pool_prioritize.obj" "txe_block_release.obj" "txe_byte_allocate.obj" "txe_byte_pool_create.obj" "txe_byte_pool_delete.obj" "txe_byte_pool_info_get.obj"
- -$(RM) "txe_byte_pool_prioritize.obj" "txe_byte_release.obj" "txe_event_flags_create.obj" "txe_event_flags_delete.obj" "txe_event_flags_get.obj" "txe_event_flags_info_get.obj" "txe_event_flags_set.obj" "txe_event_flags_set_notify.obj" "txe_mutex_create.obj" "txe_mutex_delete.obj" "txe_mutex_get.obj" "txe_mutex_info_get.obj" "txe_mutex_prioritize.obj" "txe_mutex_put.obj" "txe_queue_create.obj" "txe_queue_delete.obj" "txe_queue_flush.obj" "txe_queue_front_send.obj" "txe_queue_info_get.obj" "txe_queue_prioritize.obj" "txe_queue_receive.obj" "txe_queue_send.obj" "txe_queue_send_notify.obj" "txe_semaphore_ceiling_put.obj" "txe_semaphore_create.obj" "txe_semaphore_delete.obj" "txe_semaphore_get.obj" "txe_semaphore_info_get.obj" "txe_semaphore_prioritize.obj" "txe_semaphore_put.obj" "txe_semaphore_put_notify.obj" "txe_thread_create.obj" "txe_thread_delete.obj" "txe_thread_entry_exit_notify.obj" "txe_thread_info_get.obj" "txe_thread_preemption_change.obj" "txe_thread_priority_change.obj" "txe_thread_relinquish.obj"
- -$(RM) "txe_thread_reset.obj" "txe_thread_resume.obj" "txe_thread_suspend.obj" "txe_thread_terminate.obj" "txe_thread_time_slice_change.obj" "txe_thread_wait_abort.obj" "txe_timer_activate.obj" "txe_timer_change.obj" "txe_timer_create.obj" "txe_timer_deactivate.obj" "txe_timer_delete.obj" "txe_timer_info_get.obj"
- -$(RM) "tx_block_allocate.d" "tx_block_pool_cleanup.d" "tx_block_pool_create.d" "tx_block_pool_delete.d" "tx_block_pool_info_get.d" "tx_block_pool_initialize.d" "tx_block_pool_performance_info_get.d" "tx_block_pool_performance_system_info_get.d" "tx_block_pool_prioritize.d" "tx_block_release.d" "tx_byte_allocate.d" "tx_byte_pool_cleanup.d" "tx_byte_pool_create.d" "tx_byte_pool_delete.d" "tx_byte_pool_info_get.d" "tx_byte_pool_initialize.d" "tx_byte_pool_performance_info_get.d" "tx_byte_pool_performance_system_info_get.d" "tx_byte_pool_prioritize.d" "tx_byte_pool_search.d" "tx_byte_release.d" "tx_event_flags_cleanup.d" "tx_event_flags_create.d" "tx_event_flags_delete.d" "tx_event_flags_get.d" "tx_event_flags_info_get.d" "tx_event_flags_initialize.d" "tx_event_flags_performance_info_get.d" "tx_event_flags_performance_system_info_get.d" "tx_event_flags_set.d" "tx_event_flags_set_notify.d" "tx_initialize_high_level.d" "tx_initialize_kernel_enter.d" "tx_initialize_kernel_setup.d" "tx_mutex_cleanup.d"
- -$(RM) "tx_mutex_create.d" "tx_mutex_delete.d" "tx_mutex_get.d" "tx_mutex_info_get.d" "tx_mutex_initialize.d" "tx_mutex_performance_info_get.d" "tx_mutex_performance_system_info_get.d" "tx_mutex_prioritize.d" "tx_mutex_priority_change.d" "tx_mutex_put.d" "tx_queue_cleanup.d" "tx_queue_create.d" "tx_queue_delete.d" "tx_queue_flush.d" "tx_queue_front_send.d" "tx_queue_info_get.d" "tx_queue_initialize.d" "tx_queue_performance_info_get.d" "tx_queue_performance_system_info_get.d" "tx_queue_prioritize.d" "tx_queue_receive.d" "tx_queue_send.d" "tx_queue_send_notify.d" "tx_semaphore_ceiling_put.d" "tx_semaphore_cleanup.d" "tx_semaphore_create.d" "tx_semaphore_delete.d" "tx_semaphore_get.d" "tx_semaphore_info_get.d" "tx_semaphore_initialize.d" "tx_semaphore_performance_info_get.d" "tx_semaphore_performance_system_info_get.d" "tx_semaphore_prioritize.d" "tx_semaphore_put.d" "tx_semaphore_put_notify.d" "tx_thread_create.d" "tx_thread_delete.d" "tx_thread_entry_exit_notify.d" "tx_thread_identify.d" "tx_thread_info_get.d"
- -$(RM) "tx_thread_initialize.d" "tx_thread_performance_info_get.d" "tx_thread_performance_system_info_get.d" "tx_thread_preemption_change.d" "tx_thread_priority_change.d" "tx_thread_relinquish.d" "tx_thread_reset.d" "tx_thread_resume.d" "tx_thread_shell_entry.d" "tx_thread_sleep.d" "tx_thread_stack_analyze.d" "tx_thread_stack_error_handler.d" "tx_thread_stack_error_notify.d" "tx_thread_suspend.d" "tx_thread_system_preempt_check.d" "tx_thread_system_resume.d" "tx_thread_system_suspend.d" "tx_thread_terminate.d" "tx_thread_time_slice.d" "tx_thread_time_slice_change.d" "tx_thread_timeout.d" "tx_thread_wait_abort.d" "tx_time_get.d" "tx_time_set.d" "tx_timer_activate.d" "tx_timer_change.d" "tx_timer_create.d" "tx_timer_deactivate.d" "tx_timer_delete.d" "tx_timer_expiration_process.d" "tx_timer_info_get.d" "tx_timer_initialize.d" "tx_timer_performance_info_get.d" "tx_timer_performance_system_info_get.d" "tx_timer_system_activate.d" "tx_timer_system_deactivate.d" "tx_timer_thread_entry.d" "tx_trace_buffer_full_notify.d"
- -$(RM) "tx_trace_disable.d" "tx_trace_enable.d" "tx_trace_event_filter.d" "tx_trace_event_unfilter.d" "tx_trace_initialize.d" "tx_trace_interrupt_control.d" "tx_trace_isr_enter_insert.d" "tx_trace_isr_exit_insert.d" "tx_trace_object_register.d" "tx_trace_object_unregister.d" "tx_trace_user_event_insert.d" "txe_block_allocate.d" "txe_block_pool_create.d" "txe_block_pool_delete.d" "txe_block_pool_info_get.d" "txe_block_pool_prioritize.d" "txe_block_release.d" "txe_byte_allocate.d" "txe_byte_pool_create.d" "txe_byte_pool_delete.d" "txe_byte_pool_info_get.d" "txe_byte_pool_prioritize.d" "txe_byte_release.d" "txe_event_flags_create.d" "txe_event_flags_delete.d" "txe_event_flags_get.d" "txe_event_flags_info_get.d" "txe_event_flags_set.d" "txe_event_flags_set_notify.d" "txe_mutex_create.d" "txe_mutex_delete.d" "txe_mutex_get.d" "txe_mutex_info_get.d" "txe_mutex_prioritize.d" "txe_mutex_put.d" "txe_queue_create.d" "txe_queue_delete.d" "txe_queue_flush.d" "txe_queue_front_send.d" "txe_queue_info_get.d"
- -$(RM) "txe_queue_prioritize.d" "txe_queue_receive.d" "txe_queue_send.d" "txe_queue_send_notify.d" "txe_semaphore_ceiling_put.d" "txe_semaphore_create.d" "txe_semaphore_delete.d" "txe_semaphore_get.d" "txe_semaphore_info_get.d" "txe_semaphore_prioritize.d" "txe_semaphore_put.d" "txe_semaphore_put_notify.d" "txe_thread_create.d" "txe_thread_delete.d" "txe_thread_entry_exit_notify.d" "txe_thread_info_get.d" "txe_thread_preemption_change.d" "txe_thread_priority_change.d" "txe_thread_relinquish.d" "txe_thread_reset.d" "txe_thread_resume.d" "txe_thread_suspend.d" "txe_thread_terminate.d" "txe_thread_time_slice_change.d" "txe_thread_wait_abort.d" "txe_timer_activate.d" "txe_timer_change.d" "txe_timer_create.d" "txe_timer_deactivate.d" "txe_timer_delete.d" "txe_timer_info_get.d"
- -$(RM) "tx_thread_context_restore.d" "tx_thread_context_save.d" "tx_thread_interrupt_control.d" "tx_thread_schedule.d" "tx_thread_stack_build.d" "tx_thread_system_return.d" "tx_timer_interrupt.d"
+ -$(RM) "tx_block_allocate.obj" "tx_block_pool_cleanup.obj" "tx_block_pool_create.obj" "tx_block_pool_delete.obj" "tx_block_pool_info_get.obj" "tx_block_pool_initialize.obj" "tx_block_pool_performance_info_get.obj" "tx_block_pool_performance_system_info_get.obj" "tx_block_pool_prioritize.obj" "tx_block_release.obj" "tx_byte_allocate.obj" "tx_byte_pool_cleanup.obj" "tx_byte_pool_create.obj" "tx_byte_pool_delete.obj" "tx_byte_pool_info_get.obj" "tx_byte_pool_initialize.obj" "tx_byte_pool_performance_info_get.obj" "tx_byte_pool_performance_system_info_get.obj" "tx_byte_pool_prioritize.obj" "tx_byte_pool_search.obj" "tx_byte_release.obj" "tx_event_flags_cleanup.obj" "tx_event_flags_create.obj" "tx_event_flags_delete.obj" "tx_event_flags_get.obj" "tx_event_flags_info_get.obj" "tx_event_flags_initialize.obj" "tx_event_flags_performance_info_get.obj" "tx_event_flags_performance_system_info_get.obj" "tx_event_flags_set.obj" "tx_event_flags_set_notify.obj" "tx_initialize_high_level.obj" "tx_initialize_kernel_enter.obj"
+ -$(RM) "tx_initialize_kernel_setup.obj" "tx_mutex_cleanup.obj" "tx_mutex_create.obj" "tx_mutex_delete.obj" "tx_mutex_get.obj" "tx_mutex_info_get.obj" "tx_mutex_initialize.obj" "tx_mutex_performance_info_get.obj" "tx_mutex_performance_system_info_get.obj" "tx_mutex_prioritize.obj" "tx_mutex_priority_change.obj" "tx_mutex_put.obj" "tx_queue_cleanup.obj" "tx_queue_create.obj" "tx_queue_delete.obj" "tx_queue_flush.obj" "tx_queue_front_send.obj" "tx_queue_info_get.obj" "tx_queue_initialize.obj" "tx_queue_performance_info_get.obj" "tx_queue_performance_system_info_get.obj" "tx_queue_prioritize.obj" "tx_queue_receive.obj" "tx_queue_send.obj" "tx_queue_send_notify.obj" "tx_semaphore_ceiling_put.obj" "tx_semaphore_cleanup.obj" "tx_semaphore_create.obj" "tx_semaphore_delete.obj" "tx_semaphore_get.obj" "tx_semaphore_info_get.obj" "tx_semaphore_initialize.obj" "tx_semaphore_performance_info_get.obj" "tx_semaphore_performance_system_info_get.obj" "tx_semaphore_prioritize.obj" "tx_semaphore_put.obj" "tx_semaphore_put_notify.obj"
+ -$(RM) "tx_thread_context_restore.obj" "tx_thread_context_save.obj" "tx_thread_create.obj" "tx_thread_delete.obj" "tx_thread_entry_exit_notify.obj" "tx_thread_identify.obj" "tx_thread_info_get.obj" "tx_thread_initialize.obj" "tx_thread_interrupt_control.obj" "tx_thread_performance_info_get.obj" "tx_thread_performance_system_info_get.obj" "tx_thread_preemption_change.obj" "tx_thread_priority_change.obj" "tx_thread_relinquish.obj" "tx_thread_reset.obj" "tx_thread_resume.obj" "tx_thread_schedule.obj" "tx_thread_shell_entry.obj" "tx_thread_sleep.obj" "tx_thread_stack_analyze.obj" "tx_thread_stack_build.obj" "tx_thread_stack_error_handler.obj" "tx_thread_stack_error_notify.obj" "tx_thread_suspend.obj" "tx_thread_system_preempt_check.obj" "tx_thread_system_resume.obj" "tx_thread_system_return.obj" "tx_thread_system_suspend.obj" "tx_thread_terminate.obj" "tx_thread_time_slice.obj" "tx_thread_time_slice_change.obj" "tx_thread_timeout.obj" "tx_thread_wait_abort.obj" "tx_time_get.obj" "tx_time_set.obj"
+ -$(RM) "tx_timer_activate.obj" "tx_timer_change.obj" "tx_timer_create.obj" "tx_timer_deactivate.obj" "tx_timer_delete.obj" "tx_timer_expiration_process.obj" "tx_timer_info_get.obj" "tx_timer_initialize.obj" "tx_timer_interrupt.obj" "tx_timer_performance_info_get.obj" "tx_timer_performance_system_info_get.obj" "tx_timer_system_activate.obj" "tx_timer_system_deactivate.obj" "tx_timer_thread_entry.obj" "tx_trace_buffer_full_notify.obj" "tx_trace_disable.obj" "tx_trace_enable.obj" "tx_trace_event_filter.obj" "tx_trace_event_unfilter.obj" "tx_trace_initialize.obj" "tx_trace_interrupt_control.obj" "tx_trace_isr_enter_insert.obj" "tx_trace_isr_exit_insert.obj" "tx_trace_object_register.obj" "tx_trace_object_unregister.obj" "tx_trace_user_event_insert.obj" "txe_block_allocate.obj" "txe_block_pool_create.obj" "txe_block_pool_delete.obj" "txe_block_pool_info_get.obj" "txe_block_pool_prioritize.obj" "txe_block_release.obj" "txe_byte_allocate.obj" "txe_byte_pool_create.obj" "txe_byte_pool_delete.obj" "txe_byte_pool_info_get.obj"
+ -$(RM) "txe_byte_pool_prioritize.obj" "txe_byte_release.obj" "txe_event_flags_create.obj" "txe_event_flags_delete.obj" "txe_event_flags_get.obj" "txe_event_flags_info_get.obj" "txe_event_flags_set.obj" "txe_event_flags_set_notify.obj" "txe_mutex_create.obj" "txe_mutex_delete.obj" "txe_mutex_get.obj" "txe_mutex_info_get.obj" "txe_mutex_prioritize.obj" "txe_mutex_put.obj" "txe_queue_create.obj" "txe_queue_delete.obj" "txe_queue_flush.obj" "txe_queue_front_send.obj" "txe_queue_info_get.obj" "txe_queue_prioritize.obj" "txe_queue_receive.obj" "txe_queue_send.obj" "txe_queue_send_notify.obj" "txe_semaphore_ceiling_put.obj" "txe_semaphore_create.obj" "txe_semaphore_delete.obj" "txe_semaphore_get.obj" "txe_semaphore_info_get.obj" "txe_semaphore_prioritize.obj" "txe_semaphore_put.obj" "txe_semaphore_put_notify.obj" "txe_thread_create.obj" "txe_thread_delete.obj" "txe_thread_entry_exit_notify.obj" "txe_thread_info_get.obj" "txe_thread_preemption_change.obj" "txe_thread_priority_change.obj" "txe_thread_relinquish.obj"
+ -$(RM) "txe_thread_reset.obj" "txe_thread_resume.obj" "txe_thread_suspend.obj" "txe_thread_terminate.obj" "txe_thread_time_slice_change.obj" "txe_thread_wait_abort.obj" "txe_timer_activate.obj" "txe_timer_change.obj" "txe_timer_create.obj" "txe_timer_deactivate.obj" "txe_timer_delete.obj" "txe_timer_info_get.obj"
+ -$(RM) "tx_block_allocate.d" "tx_block_pool_cleanup.d" "tx_block_pool_create.d" "tx_block_pool_delete.d" "tx_block_pool_info_get.d" "tx_block_pool_initialize.d" "tx_block_pool_performance_info_get.d" "tx_block_pool_performance_system_info_get.d" "tx_block_pool_prioritize.d" "tx_block_release.d" "tx_byte_allocate.d" "tx_byte_pool_cleanup.d" "tx_byte_pool_create.d" "tx_byte_pool_delete.d" "tx_byte_pool_info_get.d" "tx_byte_pool_initialize.d" "tx_byte_pool_performance_info_get.d" "tx_byte_pool_performance_system_info_get.d" "tx_byte_pool_prioritize.d" "tx_byte_pool_search.d" "tx_byte_release.d" "tx_event_flags_cleanup.d" "tx_event_flags_create.d" "tx_event_flags_delete.d" "tx_event_flags_get.d" "tx_event_flags_info_get.d" "tx_event_flags_initialize.d" "tx_event_flags_performance_info_get.d" "tx_event_flags_performance_system_info_get.d" "tx_event_flags_set.d" "tx_event_flags_set_notify.d" "tx_initialize_high_level.d" "tx_initialize_kernel_enter.d" "tx_initialize_kernel_setup.d" "tx_mutex_cleanup.d"
+ -$(RM) "tx_mutex_create.d" "tx_mutex_delete.d" "tx_mutex_get.d" "tx_mutex_info_get.d" "tx_mutex_initialize.d" "tx_mutex_performance_info_get.d" "tx_mutex_performance_system_info_get.d" "tx_mutex_prioritize.d" "tx_mutex_priority_change.d" "tx_mutex_put.d" "tx_queue_cleanup.d" "tx_queue_create.d" "tx_queue_delete.d" "tx_queue_flush.d" "tx_queue_front_send.d" "tx_queue_info_get.d" "tx_queue_initialize.d" "tx_queue_performance_info_get.d" "tx_queue_performance_system_info_get.d" "tx_queue_prioritize.d" "tx_queue_receive.d" "tx_queue_send.d" "tx_queue_send_notify.d" "tx_semaphore_ceiling_put.d" "tx_semaphore_cleanup.d" "tx_semaphore_create.d" "tx_semaphore_delete.d" "tx_semaphore_get.d" "tx_semaphore_info_get.d" "tx_semaphore_initialize.d" "tx_semaphore_performance_info_get.d" "tx_semaphore_performance_system_info_get.d" "tx_semaphore_prioritize.d" "tx_semaphore_put.d" "tx_semaphore_put_notify.d" "tx_thread_create.d" "tx_thread_delete.d" "tx_thread_entry_exit_notify.d" "tx_thread_identify.d" "tx_thread_info_get.d"
+ -$(RM) "tx_thread_initialize.d" "tx_thread_performance_info_get.d" "tx_thread_performance_system_info_get.d" "tx_thread_preemption_change.d" "tx_thread_priority_change.d" "tx_thread_relinquish.d" "tx_thread_reset.d" "tx_thread_resume.d" "tx_thread_shell_entry.d" "tx_thread_sleep.d" "tx_thread_stack_analyze.d" "tx_thread_stack_error_handler.d" "tx_thread_stack_error_notify.d" "tx_thread_suspend.d" "tx_thread_system_preempt_check.d" "tx_thread_system_resume.d" "tx_thread_system_suspend.d" "tx_thread_terminate.d" "tx_thread_time_slice.d" "tx_thread_time_slice_change.d" "tx_thread_timeout.d" "tx_thread_wait_abort.d" "tx_time_get.d" "tx_time_set.d" "tx_timer_activate.d" "tx_timer_change.d" "tx_timer_create.d" "tx_timer_deactivate.d" "tx_timer_delete.d" "tx_timer_expiration_process.d" "tx_timer_info_get.d" "tx_timer_initialize.d" "tx_timer_performance_info_get.d" "tx_timer_performance_system_info_get.d" "tx_timer_system_activate.d" "tx_timer_system_deactivate.d" "tx_timer_thread_entry.d" "tx_trace_buffer_full_notify.d"
+ -$(RM) "tx_trace_disable.d" "tx_trace_enable.d" "tx_trace_event_filter.d" "tx_trace_event_unfilter.d" "tx_trace_initialize.d" "tx_trace_interrupt_control.d" "tx_trace_isr_enter_insert.d" "tx_trace_isr_exit_insert.d" "tx_trace_object_register.d" "tx_trace_object_unregister.d" "tx_trace_user_event_insert.d" "txe_block_allocate.d" "txe_block_pool_create.d" "txe_block_pool_delete.d" "txe_block_pool_info_get.d" "txe_block_pool_prioritize.d" "txe_block_release.d" "txe_byte_allocate.d" "txe_byte_pool_create.d" "txe_byte_pool_delete.d" "txe_byte_pool_info_get.d" "txe_byte_pool_prioritize.d" "txe_byte_release.d" "txe_event_flags_create.d" "txe_event_flags_delete.d" "txe_event_flags_get.d" "txe_event_flags_info_get.d" "txe_event_flags_set.d" "txe_event_flags_set_notify.d" "txe_mutex_create.d" "txe_mutex_delete.d" "txe_mutex_get.d" "txe_mutex_info_get.d" "txe_mutex_prioritize.d" "txe_mutex_put.d" "txe_queue_create.d" "txe_queue_delete.d" "txe_queue_flush.d" "txe_queue_front_send.d" "txe_queue_info_get.d"
+ -$(RM) "txe_queue_prioritize.d" "txe_queue_receive.d" "txe_queue_send.d" "txe_queue_send_notify.d" "txe_semaphore_ceiling_put.d" "txe_semaphore_create.d" "txe_semaphore_delete.d" "txe_semaphore_get.d" "txe_semaphore_info_get.d" "txe_semaphore_prioritize.d" "txe_semaphore_put.d" "txe_semaphore_put_notify.d" "txe_thread_create.d" "txe_thread_delete.d" "txe_thread_entry_exit_notify.d" "txe_thread_info_get.d" "txe_thread_preemption_change.d" "txe_thread_priority_change.d" "txe_thread_relinquish.d" "txe_thread_reset.d" "txe_thread_resume.d" "txe_thread_suspend.d" "txe_thread_terminate.d" "txe_thread_time_slice_change.d" "txe_thread_wait_abort.d" "txe_timer_activate.d" "txe_timer_change.d" "txe_timer_create.d" "txe_timer_deactivate.d" "txe_timer_delete.d" "txe_timer_info_get.d"
+ -$(RM) "tx_thread_context_restore.d" "tx_thread_context_save.d" "tx_thread_interrupt_control.d" "tx_thread_schedule.d" "tx_thread_stack_build.d" "tx_thread_system_return.d" "tx_timer_interrupt.d"
-@echo 'Finished clean'
-@echo ' '
diff --git a/ports/c667x/ccs/example_build/tx/Release/sources.mk b/ports/c667x/ccs/example_build/tx/Release/sources.mk
index 9cbc2a26..95c7e8c3 100644
--- a/ports/c667x/ccs/example_build/tx/Release/sources.mk
+++ b/ports/c667x/ccs/example_build/tx/Release/sources.mk
@@ -2,107 +2,107 @@
# Automatically-generated file. Do not edit!
################################################################################
-C55_SRCS :=
-A_SRCS :=
-ASM_UPPER_SRCS :=
-LDS_UPPER_SRCS :=
-CPP_SRCS :=
-CMD_SRCS :=
-O_SRCS :=
-C??_SRCS :=
-C64_SRCS :=
-C67_SRCS :=
-SA_SRCS :=
-S64_SRCS :=
-OPT_SRCS :=
-CXX_SRCS :=
-S67_SRCS :=
-S??_SRCS :=
-PDE_SRCS :=
-SV7A_SRCS :=
-K_SRCS :=
-CLA_SRCS :=
-S55_SRCS :=
-LD_UPPER_SRCS :=
-INO_SRCS :=
-LIB_SRCS :=
-ASM_SRCS :=
-S_UPPER_SRCS :=
-S43_SRCS :=
-LD_SRCS :=
-CMD_UPPER_SRCS :=
-C_UPPER_SRCS :=
-C++_SRCS :=
-C43_SRCS :=
-OBJ_SRCS :=
-LDS_SRCS :=
-S_SRCS :=
-CC_SRCS :=
-S62_SRCS :=
-C62_SRCS :=
-C_SRCS :=
-C55_DEPS :=
-C_UPPER_DEPS :=
-S67_DEPS :=
-S62_DEPS :=
-S_DEPS :=
-OPT_DEPS :=
-C??_DEPS :=
-ASM_UPPER_DEPS :=
-S??_DEPS :=
-C64_DEPS :=
-CXX_DEPS :=
-S64_DEPS :=
-INO_DEPS :=
-CLA_DEPS :=
-S55_DEPS :=
-SV7A_DEPS :=
-C62_DEPS :=
-C67_DEPS :=
-PDE_DEPS :=
-K_DEPS :=
-C_DEPS :=
-LIB_OUTPUTS :=
-CC_DEPS :=
-C++_DEPS :=
-C43_DEPS :=
-S43_DEPS :=
-OBJS :=
-ASM_DEPS :=
-S_UPPER_DEPS :=
-CPP_DEPS :=
-SA_DEPS :=
-C++_DEPS__QUOTED :=
-OPT_DEPS__QUOTED :=
-S_UPPER_DEPS__QUOTED :=
-SA_DEPS__QUOTED :=
-C??_DEPS__QUOTED :=
-S67_DEPS__QUOTED :=
-C55_DEPS__QUOTED :=
-CC_DEPS__QUOTED :=
-ASM_UPPER_DEPS__QUOTED :=
-SV7A_DEPS__QUOTED :=
-S??_DEPS__QUOTED :=
-OBJS__QUOTED :=
-C67_DEPS__QUOTED :=
-LIB_OUTPUTS__QUOTED :=
-K_DEPS__QUOTED :=
-S55_DEPS__QUOTED :=
-INO_DEPS__QUOTED :=
-C62_DEPS__QUOTED :=
-C_DEPS__QUOTED :=
-C_UPPER_DEPS__QUOTED :=
-C43_DEPS__QUOTED :=
-CPP_DEPS__QUOTED :=
-C64_DEPS__QUOTED :=
-CXX_DEPS__QUOTED :=
-CLA_DEPS__QUOTED :=
-S_DEPS__QUOTED :=
-ASM_DEPS__QUOTED :=
-S43_DEPS__QUOTED :=
-S64_DEPS__QUOTED :=
-S62_DEPS__QUOTED :=
-PDE_DEPS__QUOTED :=
+C55_SRCS :=
+A_SRCS :=
+ASM_UPPER_SRCS :=
+LDS_UPPER_SRCS :=
+CPP_SRCS :=
+CMD_SRCS :=
+O_SRCS :=
+C??_SRCS :=
+C64_SRCS :=
+C67_SRCS :=
+SA_SRCS :=
+S64_SRCS :=
+OPT_SRCS :=
+CXX_SRCS :=
+S67_SRCS :=
+S??_SRCS :=
+PDE_SRCS :=
+SV7A_SRCS :=
+K_SRCS :=
+CLA_SRCS :=
+S55_SRCS :=
+LD_UPPER_SRCS :=
+INO_SRCS :=
+LIB_SRCS :=
+ASM_SRCS :=
+S_UPPER_SRCS :=
+S43_SRCS :=
+LD_SRCS :=
+CMD_UPPER_SRCS :=
+C_UPPER_SRCS :=
+C++_SRCS :=
+C43_SRCS :=
+OBJ_SRCS :=
+LDS_SRCS :=
+S_SRCS :=
+CC_SRCS :=
+S62_SRCS :=
+C62_SRCS :=
+C_SRCS :=
+C55_DEPS :=
+C_UPPER_DEPS :=
+S67_DEPS :=
+S62_DEPS :=
+S_DEPS :=
+OPT_DEPS :=
+C??_DEPS :=
+ASM_UPPER_DEPS :=
+S??_DEPS :=
+C64_DEPS :=
+CXX_DEPS :=
+S64_DEPS :=
+INO_DEPS :=
+CLA_DEPS :=
+S55_DEPS :=
+SV7A_DEPS :=
+C62_DEPS :=
+C67_DEPS :=
+PDE_DEPS :=
+K_DEPS :=
+C_DEPS :=
+LIB_OUTPUTS :=
+CC_DEPS :=
+C++_DEPS :=
+C43_DEPS :=
+S43_DEPS :=
+OBJS :=
+ASM_DEPS :=
+S_UPPER_DEPS :=
+CPP_DEPS :=
+SA_DEPS :=
+C++_DEPS__QUOTED :=
+OPT_DEPS__QUOTED :=
+S_UPPER_DEPS__QUOTED :=
+SA_DEPS__QUOTED :=
+C??_DEPS__QUOTED :=
+S67_DEPS__QUOTED :=
+C55_DEPS__QUOTED :=
+CC_DEPS__QUOTED :=
+ASM_UPPER_DEPS__QUOTED :=
+SV7A_DEPS__QUOTED :=
+S??_DEPS__QUOTED :=
+OBJS__QUOTED :=
+C67_DEPS__QUOTED :=
+LIB_OUTPUTS__QUOTED :=
+K_DEPS__QUOTED :=
+S55_DEPS__QUOTED :=
+INO_DEPS__QUOTED :=
+C62_DEPS__QUOTED :=
+C_DEPS__QUOTED :=
+C_UPPER_DEPS__QUOTED :=
+C43_DEPS__QUOTED :=
+CPP_DEPS__QUOTED :=
+C64_DEPS__QUOTED :=
+CXX_DEPS__QUOTED :=
+CLA_DEPS__QUOTED :=
+S_DEPS__QUOTED :=
+ASM_DEPS__QUOTED :=
+S43_DEPS__QUOTED :=
+S64_DEPS__QUOTED :=
+S62_DEPS__QUOTED :=
+PDE_DEPS__QUOTED :=
# Every subdirectory with source files must be described here
SUBDIRS := \
diff --git a/ports/c667x/ccs/example_build/tx/Release/subdir_vars.mk b/ports/c667x/ccs/example_build/tx/Release/subdir_vars.mk
index 6a6a3ffd..70ef8b01 100644
--- a/ports/c667x/ccs/example_build/tx/Release/subdir_vars.mk
+++ b/ports/c667x/ccs/example_build/tx/Release/subdir_vars.mk
@@ -4,7 +4,7 @@
SHELL = cmd.exe
-# Add inputs and outputs from these tool invocations to the build variables
+# Add inputs and outputs from these tool invocations to the build variables
ASM_SRCS += \
../tx_thread_context_restore.asm \
../tx_thread_context_save.asm \
@@ -12,7 +12,7 @@ ASM_SRCS += \
../tx_thread_schedule.asm \
../tx_thread_stack_build.asm \
../tx_thread_system_return.asm \
-../tx_timer_interrupt.asm
+../tx_timer_interrupt.asm
C_SRCS += \
../tx_block_allocate.c \
@@ -198,7 +198,7 @@ C_SRCS += \
../txe_timer_create.c \
../txe_timer_deactivate.c \
../txe_timer_delete.c \
-../txe_timer_info_get.c
+../txe_timer_info_get.c
C_DEPS += \
./tx_block_allocate.d \
@@ -384,7 +384,7 @@ C_DEPS += \
./txe_timer_create.d \
./txe_timer_deactivate.d \
./txe_timer_delete.d \
-./txe_timer_info_get.d
+./txe_timer_info_get.d
OBJS += \
./tx_block_allocate.obj \
@@ -577,7 +577,7 @@ OBJS += \
./txe_timer_create.obj \
./txe_timer_deactivate.obj \
./txe_timer_delete.obj \
-./txe_timer_info_get.obj
+./txe_timer_info_get.obj
ASM_DEPS += \
./tx_thread_context_restore.d \
@@ -586,7 +586,7 @@ ASM_DEPS += \
./tx_thread_schedule.d \
./tx_thread_stack_build.d \
./tx_thread_system_return.d \
-./tx_timer_interrupt.d
+./tx_timer_interrupt.d
OBJS__QUOTED += \
"tx_block_allocate.obj" \
@@ -779,7 +779,7 @@ OBJS__QUOTED += \
"txe_timer_create.obj" \
"txe_timer_deactivate.obj" \
"txe_timer_delete.obj" \
-"txe_timer_info_get.obj"
+"txe_timer_info_get.obj"
C_DEPS__QUOTED += \
"tx_block_allocate.d" \
@@ -965,7 +965,7 @@ C_DEPS__QUOTED += \
"txe_timer_create.d" \
"txe_timer_deactivate.d" \
"txe_timer_delete.d" \
-"txe_timer_info_get.d"
+"txe_timer_info_get.d"
ASM_DEPS__QUOTED += \
"tx_thread_context_restore.d" \
@@ -974,7 +974,7 @@ ASM_DEPS__QUOTED += \
"tx_thread_schedule.d" \
"tx_thread_stack_build.d" \
"tx_thread_system_return.d" \
-"tx_timer_interrupt.d"
+"tx_timer_interrupt.d"
C_SRCS__QUOTED += \
"../tx_block_allocate.c" \
@@ -1160,7 +1160,7 @@ C_SRCS__QUOTED += \
"../txe_timer_create.c" \
"../txe_timer_deactivate.c" \
"../txe_timer_delete.c" \
-"../txe_timer_info_get.c"
+"../txe_timer_info_get.c"
ASM_SRCS__QUOTED += \
"../tx_thread_context_restore.asm" \
@@ -1169,6 +1169,6 @@ ASM_SRCS__QUOTED += \
"../tx_thread_schedule.asm" \
"../tx_thread_stack_build.asm" \
"../tx_thread_system_return.asm" \
-"../tx_timer_interrupt.asm"
+"../tx_timer_interrupt.asm"
diff --git a/ports/c667x/ccs/inc/tx_port.h b/ports/c667x/ccs/inc/tx_port.h
index 2cec57d3..6f5a9838 100644
--- a/ports/c667x/ccs/inc/tx_port.h
+++ b/ports/c667x/ccs/inc/tx_port.h
@@ -1,17 +1,18 @@
/***************************************************************************
- * Copyright (c) 2024 Microsoft Corporation
- *
+ * Copyright (c) 2024 Microsoft Corporation
+ * Copyright (c) 2026-present Eclipse ThreadX contributors
+ *
* This program and the accompanying materials are made available under the
* terms of the MIT License which is available at
* https://opensource.org/licenses/MIT.
- *
+ *
* SPDX-License-Identifier: MIT
**************************************************************************/
/**************************************************************************/
/**************************************************************************/
-/** */
+/** */
/** ThreadX Component */
/** */
/** Port Specific */
@@ -20,10 +21,10 @@
/**************************************************************************/
-/**************************************************************************/
-/* */
-/* PORT SPECIFIC C INFORMATION RELEASE */
-/* */
+/**************************************************************************/
+/* */
+/* PORT SPECIFIC C INFORMATION RELEASE */
+/* */
/* tx_port.h C667x/TI */
/* 6.1.11 */
/* */
@@ -32,28 +33,15 @@
/* William E. Lamie, Microsoft Corporation */
/* */
/* DESCRIPTION */
-/* */
-/* This file contains data type definitions that make the ThreadX */
-/* real-time kernel function identically on a variety of different */
-/* processor architectures. For example, the size or number of bits */
-/* in an "int" data type vary between microprocessor architectures and */
-/* even C compilers for the same microprocessor. ThreadX does not */
-/* directly use native C data types. Instead, ThreadX creates its */
-/* own special types that can be mapped to actual data types by this */
-/* file to guarantee consistency in the interface and functionality. */
-/* */
-/* RELEASE HISTORY */
-/* */
-/* DATE NAME DESCRIPTION */
/* */
-/* 09-30-2020 William E. Lamie Initial Version 6.1 */
-/* 04-02-2021 Bhupendra Naphade Modified comment(s),updated */
-/* macro definition, */
-/* resulting in version 6.1.6 */
-/* 04-25-2022 Wenhui Xie Modified comment(s), */
-/* optimized the definition of */
-/* TX_TIMER_TICKS_PER_SECOND, */
-/* resulting in version 6.1.11 */
+/* This file contains data type definitions that make the ThreadX */
+/* real-time kernel function identically on a variety of different */
+/* processor architectures. For example, the size or number of bits */
+/* in an "int" data type vary between microprocessor architectures and */
+/* even C compilers for the same microprocessor. ThreadX does not */
+/* directly use native C data types. Instead, ThreadX creates its */
+/* own special types that can be mapped to actual data types by this */
+/* file to guarantee consistency in the interface and functionality. */
/* */
/**************************************************************************/
@@ -66,7 +54,7 @@
#ifdef TX_INCLUDE_USER_DEFINE_FILE
-/* Yes, include the user defines in tx_user.h. The defines in this file may
+/* Yes, include the user defines in tx_user.h. The defines in this file may
alternately be defined on the command line. */
#include "tx_user.h"
@@ -80,7 +68,7 @@
#include <c6x.h>
-/* Define ThreadX basic types for this port. */
+/* Define ThreadX basic types for this port. */
#define VOID void
typedef char CHAR;
@@ -116,12 +104,12 @@ typedef unsigned short USHORT;
#define TX_TIMER_THREAD_STACK_SIZE 2048 /* Default timer thread stack size */
#endif
-#ifndef TX_TIMER_THREAD_PRIORITY
-#define TX_TIMER_THREAD_PRIORITY 0 /* Default timer thread priority */
+#ifndef TX_TIMER_THREAD_PRIORITY
+#define TX_TIMER_THREAD_PRIORITY 0 /* Default timer thread priority */
#endif
-/* Define various constants for the ThreadX C6xxx port. */
+/* Define various constants for the ThreadX C6xxx port. */
#define TX_INT_DISABLE 0x00 /* Disable interrupts */
#define TX_INT_ENABLE 0x01 /* Enable interrupts */
@@ -132,8 +120,8 @@ typedef unsigned short USHORT;
#endif
-/* Define the clock source for trace event entry time stamp. The following two item are port specific.
- For example, if the time source is at the address 0x0a800024 and is 16-bits in size, the clock
+/* Define the clock source for trace event entry time stamp. The following two item are port specific.
+ For example, if the time source is at the address 0x0a800024 and is 16-bits in size, the clock
source constants would be:
#define TX_TRACE_TIME_SOURCE *((ULONG *) 0x0a800024)
@@ -162,7 +150,7 @@ typedef unsigned short USHORT;
#define TX_INLINE_INITIALIZATION
-/* Determine whether or not stack checking is enabled. By default, ThreadX stack checking is
+/* Determine whether or not stack checking is enabled. By default, ThreadX stack checking is
disabled. When the following is defined, ThreadX thread stack checking is enabled. If stack
checking is enabled (TX_ENABLE_STACK_CHECKING is defined), the TX_DISABLE_STACK_FILLING
define is negated, thereby forcing the stack fill which is necessary for the stack checking
@@ -174,13 +162,13 @@ typedef unsigned short USHORT;
/* Define the TX_THREAD control block extensions for this port. The main reason
- for the multiple macros is so that backward compatibility can be maintained with
+ for the multiple macros is so that backward compatibility can be maintained with
existing ThreadX kernel awareness modules. */
-#define TX_THREAD_EXTENSION_0
-#define TX_THREAD_EXTENSION_1
-#define TX_THREAD_EXTENSION_2
-#define TX_THREAD_EXTENSION_3
+#define TX_THREAD_EXTENSION_0
+#define TX_THREAD_EXTENSION_1
+#define TX_THREAD_EXTENSION_2
+#define TX_THREAD_EXTENSION_3
/* Define the port extensions of the remaining ThreadX objects. */
@@ -196,11 +184,11 @@ typedef unsigned short USHORT;
#define TX_TIMER_INTERNAL_EXTENSION ULONG tx_timer_internal_padding;
*/
-/* Define the user extension field of the thread control block. Nothing
+/* Define the user extension field of the thread control block. Nothing
additional is needed for this port so it is defined as white space. */
#ifndef TX_THREAD_USER_EXTENSION
-#define TX_THREAD_USER_EXTENSION
+#define TX_THREAD_USER_EXTENSION
#endif
@@ -208,8 +196,8 @@ typedef unsigned short USHORT;
tx_thread_shell_entry, and tx_thread_terminate. */
-#define TX_THREAD_CREATE_EXTENSION(thread_ptr)
-#define TX_THREAD_DELETE_EXTENSION(thread_ptr)
+#define TX_THREAD_CREATE_EXTENSION(thread_ptr)
+#define TX_THREAD_DELETE_EXTENSION(thread_ptr)
#define TX_THREAD_COMPLETED_EXTENSION(thread_ptr)
#define TX_THREAD_TERMINATED_EXTENSION(thread_ptr)
@@ -236,9 +224,9 @@ typedef unsigned short USHORT;
#define TX_TIMER_DELETE_EXTENSION(timer_ptr)
-/* Define ThreadX interrupt lockout and restore macros for protection on
- access of critical kernel information. The restore interrupt macro must
- restore the interrupt posture of the running thread prior to the value
+/* Define ThreadX interrupt lockout and restore macros for protection on
+ access of critical kernel information. The restore interrupt macro must
+ restore the interrupt posture of the running thread prior to the value
present prior to the disable macro. In most cases, the save area macro
is used to define a local function save area for the disable and restore
macros. */
@@ -269,8 +257,8 @@ unsigned int _tx_thread_interrupt_control(unsigned int);
/* Define the version ID of ThreadX. This may be utilized by the application. */
#ifdef TX_THREAD_INIT
-CHAR _tx_version_id[] =
- "Copyright (c) 2024 Microsoft Corporation. * ThreadX C667x/TI Version 6.4.2 *";
+CHAR _tx_version_id[] =
+ "(c) 2024 Microsoft Corp. (c) 2026-present Eclipse ThreadX contributors. * ThreadX C667x/TI Version 6.5.0.202601 *";
#else
extern CHAR _tx_version_id[];
#endif
diff --git a/ports/c667x/ccs/readme_threadx.txt b/ports/c667x/ccs/readme_threadx.txt
index 8826de45..989f0b49 100644
--- a/ports/c667x/ccs/readme_threadx.txt
+++ b/ports/c667x/ccs/readme_threadx.txt
@@ -1,4 +1,4 @@
- Microsoft's Azure RTOS ThreadX for TMS320C667x
+ Microsoft's Azure RTOS ThreadX for TMS320C667x
Using the TI Code Composer Tools
@@ -17,73 +17,73 @@ It is assumed the tools are installed in the default directories:
CCS path by default - c:\ti\ccsv(version number)
MCSDK path by default - c:\ti
-If the packages are installed in different directories, the ThreadX project
+If the packages are installed in different directories, the ThreadX project
settings must be adjusted.
-2. Open the Azure RTOS Workspace
+2. Open the Azure RTOS Workspace
-In order to build the ThreadX library and the ThreadX demonstration first open
-the Azure RTOS Workspace inside your ThreadX installation directory.
+In order to build the ThreadX library and the ThreadX demonstration first open
+the Azure RTOS Workspace inside your ThreadX installation directory.
3. Building the ThreadX run-time Library
-Building the ThreadX library is easy; simply import the CCS project file
-"tx" and then select the build button. You should now observe the compilation
-and assembly of the ThreadX library. This project build produces the ThreadX
+Building the ThreadX library is easy; simply import the CCS project file
+"tx" and then select the build button. You should now observe the compilation
+and assembly of the ThreadX library. This project build produces the ThreadX
library file tx.lib.
4. Demonstration System
-The ThreadX demonstration is designed to execute on the C6678EVM evaluation board.
+The ThreadX demonstration is designed to execute on the C6678EVM evaluation board.
Building the demonstration is easy; simply import the "sample_threadx_c6678evm" project.
-Now select "Project -> Build Active Project" to build the ThreadX demonstration,
-which produces the sample_threadx.out file in the "Debug" directory. You are now
+Now select "Project -> Build Active Project" to build the ThreadX demonstration,
+which produces the sample_threadx.out file in the "Debug" directory. You are now
ready to run the ThreadX demonstration on the C6678EVM evaluation board.
-Please refer to Chapter 6 of the ThreadX User Guide for a complete description
-of this demonstration.
+Please refer to Chapter 6 of the ThreadX User Guide for a complete description
+of this demonstration.
5. System Initialization
-The entry point in ThreadX for the TMS320C667x using the TI tools is at label
-_c_int00. This is defined within the TI library. In addition, this is
-where all static and global pre-set C variable initialization processing
+The entry point in ThreadX for the TMS320C667x using the TI tools is at label
+_c_int00. This is defined within the TI library. In addition, this is
+where all static and global pre-set C variable initialization processing
takes place.
-The ThreadX initialization file tx_initialize_low_level.asm is responsible
-for setting up various system data structures, the vector area, and a periodic
-timer interrupt source. By default, the vector area is defined to be located in
-the "vectors" section, which is defined at the top of tx_initialize_low_level.asm.
-This area is located at address 0 for the demonstration.
+The ThreadX initialization file tx_initialize_low_level.asm is responsible
+for setting up various system data structures, the vector area, and a periodic
+timer interrupt source. By default, the vector area is defined to be located in
+the "vectors" section, which is defined at the top of tx_initialize_low_level.asm.
+This area is located at address 0 for the demonstration.
-tx_initialize_low_level.asm is also where initialization of a periodic timer
+tx_initialize_low_level.asm is also where initialization of a periodic timer
interrupt source should take place.
-In addition, _tx_initialize_low_level determines the first available address
-for use by the application. By default, free memory is assumed to start after
+In addition, _tx_initialize_low_level determines the first available address
+for use by the application. By default, free memory is assumed to start after
the .zend section in RAM (defined in tx_initialize_low_level). This section
must be placed at the end of your other RAM sections. Please see sample_threadx.cmd
-for an example. The address of this section is passed to the application definition
+for an example. The address of this section is passed to the application definition
function, tx_application_define.
6. Register Usage and Stack Frames
-The TI TMS320C667x compiler assumes that registers A0-A9, A16-A31, B0-B9, and
-B16-B31 are scratch registers for each function. All other registers used by
-a C function must be preserved by the function. ThreadX takes advantage of this
-in situations where a context switch happens as a result of making a ThreadX
-service call (which is itself a C function). In such cases, the saved context
+The TI TMS320C667x compiler assumes that registers A0-A9, A16-A31, B0-B9, and
+B16-B31 are scratch registers for each function. All other registers used by
+a C function must be preserved by the function. ThreadX takes advantage of this
+in situations where a context switch happens as a result of making a ThreadX
+service call (which is itself a C function). In such cases, the saved context
of a thread is only the non-scratch registers.
The following defines the saved context stack frames for context switches
that occur as a result of interrupt handling or from thread-level API calls.
All suspended threads have one of these two types of stack frames. The top
-of the suspended thread's stack is pointed to by tx_thread_stack_ptr in the
+of the suspended thread's stack is pointed to by tx_thread_stack_ptr in the
associated thread control block TX_THREAD.
@@ -101,10 +101,10 @@ associated thread control block TX_THREAD.
0x24 A4 A14
0x28 A5 A15
0x2C A6 B10
- 0x30 A7 B11
- 0x34 A8 B12
- 0x38 A9 B13
- 0x3C A10 ILC
+ 0x30 A7 B11
+ 0x34 A8 B12
+ 0x38 A9 B13
+ 0x3C A10 ILC
0x40 A11 RILC
0x44 A12
0x48 A13
@@ -159,38 +159,38 @@ associated thread control block TX_THREAD.
0x10C ILC
0x110 RILC
0x114 ITSR
-
+
7. Improving Performance
-The distribution version of ThreadX is built without any compiler
-optimizations. This makes it easy to debug because you can trace or set
-breakpoints inside of ThreadX itself. Of course, this costs some performance.
+The distribution version of ThreadX is built without any compiler
+optimizations. This makes it easy to debug because you can trace or set
+breakpoints inside of ThreadX itself. Of course, this costs some performance.
To make it run faster, you can replace the -g compiler option
-to a -O3 in the ThreadX project file to enable all compiler optimizations.
+to a -O3 in the ThreadX project file to enable all compiler optimizations.
-In addition, you can eliminate the ThreadX basic API error checking by
-compiling your application code with the symbol TX_DISABLE_ERROR_CHECKING
-defined.
+In addition, you can eliminate the ThreadX basic API error checking by
+compiling your application code with the symbol TX_DISABLE_ERROR_CHECKING
+defined.
8. Interrupt Handling
-ThreadX provides complete and high-performance interrupt handling for
-TMS320C667x targets. There are a certain set of requirements that are
+ThreadX provides complete and high-performance interrupt handling for
+TMS320C667x targets. There are a certain set of requirements that are
defined in the following sub-sections:
8.1 Vector Area
-The TMS320C667x interrupt vectors at in the section "vectors" and is defined at
-the top of tx_initialize_low_level.asm. Each interrupt vector entry contains
-a jump to a template interrupt processing shell.
+The TMS320C667x interrupt vectors at in the section "vectors" and is defined at
+the top of tx_initialize_low_level.asm. Each interrupt vector entry contains
+a jump to a template interrupt processing shell.
8.2 Interrupt Service Routine Shells
-The following interrupt processing shells are defined at the bottom of
+The following interrupt processing shells are defined at the bottom of
tx_initialize_low_level.asm:
@@ -207,18 +207,18 @@ tx_initialize_low_level.asm:
__tx_int14_ISR
__tx_int15_ISR
-Each interrupt ISR is entered with B3, A0-A4 is available (these registers are
-saved in the initial vector processing). The default interrupt handling
+Each interrupt ISR is entered with B3, A0-A4 is available (these registers are
+saved in the initial vector processing). The default interrupt handling
includes calls to __tx_thread_context_save and __tx_thread_context_restore.
-Application ISR processing can be added between the context save/restore
+Application ISR processing can be added between the context save/restore
calls. Note that only the compiler scratch registers are available for use
after context save return to the ISR.
-High-frequency interrupt handlers might not want to perform context
-save/restore processing on each interrupt. If this is the case, any
+High-frequency interrupt handlers might not want to perform context
+save/restore processing on each interrupt. If this is the case, any
additional registers used must be saved and restored by the ISR and
the interrupt return processing must restore the registers saved by the
-initial vector processing. This can be accomplished by adding the
+initial vector processing. This can be accomplished by adding the
following code to the end of the custom ISR handling:
LDW *+SP(20),A0 ; Recover A0
diff --git a/ports/c667x/ccs/src/tx_thread_context_restore.asm b/ports/c667x/ccs/src/tx_thread_context_restore.asm
index 593881ba..496e413e 100644
--- a/ports/c667x/ccs/src/tx_thread_context_restore.asm
+++ b/ports/c667x/ccs/src/tx_thread_context_restore.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Thread */
;/** */
@@ -43,41 +43,41 @@ SP .set B15
;
;
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_thread_context_restore C667x/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_thread_context_restore C667x/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
-;/* This function restores the interrupt context if it is processing a */
-;/* nested interrupt. If not, it returns to the interrupt thread if no */
-;/* preemption is necessary. Otherwise, if preemption is necessary or */
-;/* if no thread was running, the function returns to the scheduler. */
-;/* */
-;/* INPUT */
-;/* */
-;/* None */
-;/* */
-;/* OUTPUT */
-;/* */
-;/* None */
-;/* */
-;/* CALLS */
-;/* */
-;/* _tx_thread_schedule Thread scheduling routine */
-;/* */
-;/* CALLED BY */
-;/* */
-;/* ISRs Interrupt Service Routines */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* This function restores the interrupt context if it is processing a */
+;/* nested interrupt. If not, it returns to the interrupt thread if no */
+;/* preemption is necessary. Otherwise, if preemption is necessary or */
+;/* if no thread was running, the function returns to the scheduler. */
+;/* */
+;/* INPUT */
+;/* */
+;/* None */
+;/* */
+;/* OUTPUT */
+;/* */
+;/* None */
+;/* */
+;/* CALLS */
+;/* */
+;/* _tx_thread_schedule Thread scheduling routine */
+;/* */
+;/* CALLED BY */
+;/* */
+;/* ISRs Interrupt Service Routines */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
@@ -99,20 +99,20 @@ _tx_thread_context_restore:
; {
;
MVKL _tx_thread_system_state,A0 ; Build address of system state
- MVKH _tx_thread_system_state,A0 ;
+ MVKH _tx_thread_system_state,A0 ;
LDW *A0,A1 ; Pickup system state variable
MVKL _tx_thread_current_ptr,A2 ; Build address of current thread ptr
NOP 3 ; Delay slots
SUB A1,1,A1 ; Decrement system state
[!A1] B _tx_thread_not_nested_restore ; If 0, not a nested restore
- MVKH _tx_thread_current_ptr,A2 ;
+ MVKH _tx_thread_current_ptr,A2 ;
LDW *A2,A3 ; Pickup current thread pointer
STW A1,*A0 ; Store system state
NOP 2 ; Delay slots
;
; /* Interrupts are nested. */
;
-; /* Just recover the saved registers and return to the point of
+; /* Just recover the saved registers and return to the point of
; interrupt. */
;
LDW *+SP(8),B0 ; Recover saved CSR
@@ -196,19 +196,19 @@ _tx_thread_not_nested_restore:
MV A3,A1 ; Move thread pointer into A1
[!A1] B _tx_thread_schedule ; If null, idle system restore
MVKL _tx_thread_preempt_disable,A0 ; Build preempt disable flag address
- MVKH _tx_thread_preempt_disable,A0 ;
+ MVKH _tx_thread_preempt_disable,A0 ;
MVKL _tx_thread_execute_ptr,A4 ; Build execute thread pointer
- MVKH _tx_thread_execute_ptr,A4 ;
+ MVKH _tx_thread_execute_ptr,A4 ;
LDW *A0,B1 ; Pickup preempt disable flag
- LDW *A4,A6 ; Pickup next thread to execute
+ LDW *A4,A6 ; Pickup next thread to execute
NOP 4 ; Delay slot
CMPEQ A6,A1,A7 ; Determine if threads are the same?
ADD A7,B1,B1 ; Add results together
[B1] B _tx_thread_no_preempt_restore ; If set, skip preeemption
LDW *+A1(8),A6 ; Recover thread's stack pointer
MVKL _tx_timer_time_slice,A5 ; Build time slice address
- MVKH _tx_timer_time_slice,A5 ;
+ MVKH _tx_timer_time_slice,A5 ;
LDW *A5,B1 ; Pickup current time-slice
NOP ; Delay slot
;
diff --git a/ports/c667x/ccs/src/tx_thread_context_save.asm b/ports/c667x/ccs/src/tx_thread_context_save.asm
index 795f720e..c6a6c307 100644
--- a/ports/c667x/ccs/src/tx_thread_context_save.asm
+++ b/ports/c667x/ccs/src/tx_thread_context_save.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Thread */
;/** */
@@ -39,40 +39,40 @@ SP .set B15
;
;
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_thread_context_save C667x/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_thread_context_save C667x/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
-;/* This function saves the context of an executing thread in the */
-;/* beginning of interrupt processing. The function also ensures that */
-;/* the system stack is used upon return to the calling ISR. */
-;/* */
-;/* INPUT */
-;/* */
-;/* None */
-;/* */
-;/* OUTPUT */
-;/* */
-;/* None */
-;/* */
-;/* CALLS */
-;/* */
-;/* None */
-;/* */
-;/* CALLED BY */
-;/* */
-;/* ISRs */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* This function saves the context of an executing thread in the */
+;/* beginning of interrupt processing. The function also ensures that */
+;/* the system stack is used upon return to the calling ISR. */
+;/* */
+;/* INPUT */
+;/* */
+;/* None */
+;/* */
+;/* OUTPUT */
+;/* */
+;/* None */
+;/* */
+;/* CALLS */
+;/* */
+;/* None */
+;/* */
+;/* CALLED BY */
+;/* */
+;/* ISRs */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
@@ -93,7 +93,7 @@ _tx_thread_context_save:
; {
;
MVKL _tx_thread_system_state,A0 ; Build address of system state
- MVKH _tx_thread_system_state,A0 ;
+ MVKH _tx_thread_system_state,A0 ;
LDW *A0,A1 ; Pickup current system state
STW A5,*+SP(40) ; Save A5
STW A6,*+SP(44) ; Save A6
@@ -101,7 +101,7 @@ _tx_thread_context_save:
STW A8,*+SP(52) ; Save A8
[!A1] B _tx_thread_not_nested_save ; If 0, not a nested save condition
MVKL _tx_thread_current_ptr,A3 ; Build address of current thread ptr
- MVKH _tx_thread_current_ptr,A3 ;
+ MVKH _tx_thread_current_ptr,A3 ;
LDW *A3,A2 ; Pickup current thread pointer
ADD 1,A1,A1 ; Increment the system state (nested) counter
STW A1,*A0 ; Store system state
@@ -261,7 +261,7 @@ _tx_thread_idle_system_save:
;
; /* Interrupt occurred in the scheduling loop. */
;
-; /* Not much to do here, just adjust the stack pointer, and return to ISR
+; /* Not much to do here, just adjust the stack pointer, and return to ISR
; processing. */
;
B B3 ; Return to ISR
diff --git a/ports/c667x/ccs/src/tx_thread_interrupt_control.asm b/ports/c667x/ccs/src/tx_thread_interrupt_control.asm
index ff39fe91..f43aee94 100644
--- a/ports/c667x/ccs/src/tx_thread_interrupt_control.asm
+++ b/ports/c667x/ccs/src/tx_thread_interrupt_control.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Thread */
;/** */
@@ -34,39 +34,39 @@ SP .set B15
;
;
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_thread_interrupt_control C667x/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_thread_interrupt_control C667x/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
-;/* This function is responsible for changing the interrupt lockout */
-;/* posture of the system. */
-;/* */
-;/* INPUT */
-;/* */
-;/* new_posture New interrupt lockout posture */
-;/* */
-;/* OUTPUT */
-;/* */
-;/* old_posture Old interrupt lockout posture */
-;/* */
-;/* CALLS */
-;/* */
-;/* None */
-;/* */
-;/* CALLED BY */
-;/* */
-;/* Application Code */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* This function is responsible for changing the interrupt lockout */
+;/* posture of the system. */
+;/* */
+;/* INPUT */
+;/* */
+;/* new_posture New interrupt lockout posture */
+;/* */
+;/* OUTPUT */
+;/* */
+;/* old_posture Old interrupt lockout posture */
+;/* */
+;/* CALLS */
+;/* */
+;/* None */
+;/* */
+;/* CALLED BY */
+;/* */
+;/* Application Code */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
diff --git a/ports/c667x/ccs/src/tx_thread_schedule.asm b/ports/c667x/ccs/src/tx_thread_schedule.asm
index 2b40fec1..10d0b3ad 100644
--- a/ports/c667x/ccs/src/tx_thread_schedule.asm
+++ b/ports/c667x/ccs/src/tx_thread_schedule.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Thread */
;/** */
@@ -40,42 +40,42 @@ SP .set B15
;
;
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_thread_schedule C667x/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_thread_schedule C667x/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
-;/* This function waits for a thread control block pointer to appear in */
-;/* the _tx_thread_execute_ptr variable. Once a thread pointer appears */
-;/* in the variable, the corresponding thread is resumed. */
-;/* */
-;/* INPUT */
-;/* */
-;/* None */
-;/* */
-;/* OUTPUT */
-;/* */
+;/* */
+;/* This function waits for a thread control block pointer to appear in */
+;/* the _tx_thread_execute_ptr variable. Once a thread pointer appears */
+;/* in the variable, the corresponding thread is resumed. */
+;/* */
+;/* INPUT */
+;/* */
;/* None */
-;/* */
-;/* CALLS */
-;/* */
+;/* */
+;/* OUTPUT */
+;/* */
;/* None */
-;/* */
-;/* CALLED BY */
-;/* */
-;/* _tx_initialize_kernel_enter ThreadX entry function */
-;/* _tx_thread_system_return Return to system from thread */
-;/* _tx_thread_context_restore Restore thread's context */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* CALLS */
+;/* */
+;/* None */
+;/* */
+;/* CALLED BY */
+;/* */
+;/* _tx_initialize_kernel_enter ThreadX entry function */
+;/* _tx_thread_system_return Return to system from thread */
+;/* _tx_thread_context_restore Restore thread's context */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
@@ -92,7 +92,7 @@ _tx_thread_schedule
OR 1,B0,B0 ; Build interrupt enable value
MVC B0,CSR ; Enable interrupts
MVKL _tx_thread_execute_ptr,A0 ; Build address of execute pointer
- MVKH _tx_thread_execute_ptr,A0 ;
+ MVKH _tx_thread_execute_ptr,A0 ;
;
; /* Wait for a thread to execute. */
; do
@@ -106,13 +106,13 @@ _tx_thread_schedule_loop:
; to become ready
MV A1,A4 ; Move thread pointer to A4
MVKL _tx_thread_current_ptr,A1 ; Build address of current thread ptr
- MVKH _tx_thread_current_ptr,A1 ;
+ MVKH _tx_thread_current_ptr,A1 ;
MVKL _tx_timer_time_slice,A2 ; Build address of time-slice
- MVKH _tx_timer_time_slice,A2 ;
+ MVKH _tx_timer_time_slice,A2 ;
;
; }
; while(_tx_thread_execute_ptr == TX_NULL);
-;
+;
; /* Yes! We have a thread to execute. Lockout interrupts and
; transfer control to it. */
;
diff --git a/ports/c667x/ccs/src/tx_thread_stack_build.asm b/ports/c667x/ccs/src/tx_thread_stack_build.asm
index dabfea41..d6521d09 100644
--- a/ports/c667x/ccs/src/tx_thread_stack_build.asm
+++ b/ports/c667x/ccs/src/tx_thread_stack_build.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Thread */
;/** */
@@ -34,41 +34,41 @@ SP .set B15
ADDRESS_MSK .set 0xFFFFFFF0
;
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_thread_stack_build C667x/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_thread_stack_build C667x/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
+;/* */
;/* This function builds a stack frame on the supplied thread's stack. */
;/* The stack frame results in a fake interrupt return to the supplied */
-;/* function pointer. */
-;/* */
-;/* INPUT */
-;/* */
+;/* function pointer. */
+;/* */
+;/* INPUT */
+;/* */
;/* thread_ptr Pointer to thread control blk */
;/* function_ptr Pointer to return function */
-;/* */
-;/* OUTPUT */
-;/* */
+;/* */
+;/* OUTPUT */
+;/* */
;/* None */
-;/* */
-;/* CALLS */
-;/* */
+;/* */
+;/* CALLS */
+;/* */
;/* None */
-;/* */
-;/* CALLED BY */
-;/* */
+;/* */
+;/* CALLED BY */
+;/* */
;/* _tx_thread_create Create thread service */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
@@ -79,10 +79,10 @@ ADDRESS_MSK .set 0xFFFFFFF0
.global _tx_thread_stack_build
_tx_thread_stack_build:
;
-;
+;
; /* Build a fake interrupt frame. The form of the fake interrupt stack
; on the C667x should look like the following after it is built:
-;
+;
; Stack Top: N/A Available for use
; 1 Interrupt stack frame type 4
; CSR Initial value for CSR 8
@@ -160,7 +160,7 @@ _tx_thread_stack_build:
;
LDW *+A4(16),A0 ; Pickup end of stack area
MVKL ADDRESS_MSK,A1 ; Build address mask
- MVKH ADDRESS_MSK,A1 ;
+ MVKH ADDRESS_MSK,A1 ;
MVC CSR,B0 ; Pickup current CSR
AND -2,B0,B0 ; Clear GIE bit
OR 2,B0,B0 ; Set PGIE bit for interrupt return
@@ -171,7 +171,7 @@ _tx_thread_stack_build:
; /* Actually build the stack frame. */
;
MVKL 1,A2 ; Build stack type
- ZERO A3 ; Clear value
+ ZERO A3 ; Clear value
STW A2,*+A0(4) ; Interrupt stack type
STW B0,*+A0(8) ; Initial CSR
STW B4,*+A0(12) ; Thread shell entry point
diff --git a/ports/c667x/ccs/src/tx_thread_system_return.asm b/ports/c667x/ccs/src/tx_thread_system_return.asm
index bf4c5caf..5123958b 100644
--- a/ports/c667x/ccs/src/tx_thread_system_return.asm
+++ b/ports/c667x/ccs/src/tx_thread_system_return.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Thread */
;/** */
@@ -40,41 +40,41 @@ SP .set B15
;
;
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_thread_system_return C667x/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_thread_system_return C667x/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
-;/* This function is target processor specific. It is used to transfer */
-;/* control from a thread back to the ThreadX system. Only a */
-;/* minimal context is saved since the compiler assumes temp registers */
-;/* are going to get slicked by a function call anyway. */
-;/* */
-;/* INPUT */
-;/* */
-;/* None */
-;/* */
-;/* OUTPUT */
-;/* */
-;/* None */
-;/* */
-;/* CALLS */
-;/* */
-;/* _tx_thread_schedule Thread scheduling loop */
-;/* */
-;/* CALLED BY */
-;/* */
-;/* ThreadX components */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* This function is target processor specific. It is used to transfer */
+;/* control from a thread back to the ThreadX system. Only a */
+;/* minimal context is saved since the compiler assumes temp registers */
+;/* are going to get slicked by a function call anyway. */
+;/* */
+;/* INPUT */
+;/* */
+;/* None */
+;/* */
+;/* OUTPUT */
+;/* */
+;/* None */
+;/* */
+;/* CALLS */
+;/* */
+;/* _tx_thread_schedule Thread scheduling loop */
+;/* */
+;/* CALLED BY */
+;/* */
+;/* ThreadX components */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
@@ -109,7 +109,7 @@ _tx_thread_system_return:
MVC RILC,B1 ; Pickup RILC
STW B0,*+SP(60) ; Save ILC
STW B1,*+SP(64) ; Save RILC
-;
+;
; /* Lockout interrupts. */
;
AND -2,B0,B0 ; Build interrupt disable value
@@ -120,13 +120,13 @@ _tx_thread_system_return:
; SP = _tx_thread_system_stack_ptr;
;
MVKL _tx_timer_time_slice,A2 ; Pickup address of time slice
- MVKH _tx_timer_time_slice,A2 ;
+ MVKH _tx_timer_time_slice,A2 ;
LDW *A2,B0 ; Pickup time slice
MVKL _tx_thread_current_ptr,A1 ; Pickup address of current thread
- MVKH _tx_thread_current_ptr,A1 ;
+ MVKH _tx_thread_current_ptr,A1 ;
LDW *A1,A4 ; Pickup current thread pointer
MVKL _tx_thread_system_stack_ptr,A3 ; Pickup address of system stack
- MVKH _tx_thread_system_stack_ptr,A3 ;
+ MVKH _tx_thread_system_stack_ptr,A3 ;
;
; /* Determine if the time-slice is active. */
; if (_tx_timer_time_slice)
@@ -134,14 +134,14 @@ _tx_thread_system_return:
;
[!B0] B _tx_thread_dont_save_ts ; If no-time slice, skip save
NOP ; Delay slot
- STW SP,*+A4(8) ; Save thread's stack pointer
+ STW SP,*+A4(8) ; Save thread's stack pointer
LDW *A3,SP ; Switch to system stack pointer
NOP ; Delay slot
;
; /* Save time-slice for the thread and clear the current time-slice. */
; _tx_thread_current_ptr -> tx_thread_time_slice = _tx_timer_time_slice;
; _tx_timer_time_slice = 0;
- NOP ;
+ NOP ;
STW B2,*A2 ; Clear time-slice
NOP 2 ; Delay slots
STW B0,*+A4(24) ; Save time-slice
diff --git a/ports/c667x/ccs/src/tx_timer_interrupt.asm b/ports/c667x/ccs/src/tx_timer_interrupt.asm
index 60dd91b6..48df12d7 100644
--- a/ports/c667x/ccs/src/tx_timer_interrupt.asm
+++ b/ports/c667x/ccs/src/tx_timer_interrupt.asm
@@ -1,18 +1,18 @@
;/***************************************************************************
-; * Copyright (c) 2024 Microsoft Corporation
-; *
+; * Copyright (c) 2024 Microsoft Corporation
+; *
; * This program and the accompanying materials are made available under the
; * terms of the MIT License which is available at
; * https://opensource.org/licenses/MIT.
-; *
+; *
; * SPDX-License-Identifier: MIT
; **************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
-;/** */
-;/** ThreadX Component */
+;/** */
+;/** ThreadX Component */
;/** */
;/** Timer */
;/** */
@@ -48,45 +48,45 @@ SP .set B15
;
;
.sect ".text"
-;/**************************************************************************/
-;/* */
-;/* FUNCTION RELEASE */
-;/* */
-;/* _tx_timer_interrupt C667x/TI */
+;/**************************************************************************/
+;/* */
+;/* FUNCTION RELEASE */
+;/* */
+;/* _tx_timer_interrupt C667x/TI */
;/* 6.1 */
;/* AUTHOR */
;/* */
;/* William E. Lamie, Microsoft Corporation */
;/* */
;/* DESCRIPTION */
-;/* */
-;/* This function processes the hardware timer interrupt. This */
-;/* processing includes incrementing the system clock and checking for */
-;/* time slice and/or timer expiration. If either is found, the */
-;/* interrupt context save/restore functions are called along with the */
-;/* expiration functions. */
-;/* */
-;/* INPUT */
-;/* */
-;/* None */
-;/* */
-;/* OUTPUT */
-;/* */
-;/* None */
-;/* */
-;/* CALLS */
-;/* */
-;/* _tx_thread_context_save Context save */
-;/* _tx_thread_context_restore Context restore */
-;/* _tx_thread_time_slice Time slice interrupted thread */
-;/* _tx_timer_expiration_process Timer expiration processing */
-;/* */
-;/* CALLED BY */
-;/* */
-;/* interrupt vector */
-;/* */
-;/* RELEASE HISTORY */
-;/* */
+;/* */
+;/* This function processes the hardware timer interrupt. This */
+;/* processing includes incrementing the system clock and checking for */
+;/* time slice and/or timer expiration. If either is found, the */
+;/* interrupt context save/restore functions are called along with the */
+;/* expiration functions. */
+;/* */
+;/* INPUT */
+;/* */
+;/* None */
+;/* */
+;/* OUTPUT */
+;/* */
+;/* None */
+;/* */
+;/* CALLS */
+;/* */
+;/* _tx_thread_context_save Context save */
+;/* _tx_thread_context_restore Context restore */
+;/* _tx_thread_time_slice Time slice interrupted thread */
+;/* _tx_timer_expiration_process Timer expiration processing */
+;/* */
+;/* CALLED BY */
+;/* */
+;/* interrupt vector */
+;/* */
+;/* RELEASE HISTORY */
+;/* */
;/* DATE NAME DESCRIPTION */
;/* */
;/* 09-30-2020 William E. Lamie Initial Version 6.1 */
@@ -106,10 +106,10 @@ _tx_timer_interrupt:
; _tx_timer_system_clock++;
;
MVKL _tx_timer_system_clock,A0 ; Build address of system clock
- MVKH _tx_timer_system_clock,A0 ;
+ MVKH _tx_timer_system_clock,A0 ;
LDW *A0,A2 ; Pickup system clock
MVKL _tx_timer_time_slice,A3 ; Build address of time slice
- MVKH _tx_timer_time_slice,A3 ;
+ MVKH _tx_timer_time_slice,A3 ;
LDW *A3,A1 ; Pickup time slice
NOP 2 ; Delay
ADD 1,A2,A2 ; Increment the system clock
@@ -120,7 +120,7 @@ _tx_timer_interrupt:
; {
;
[!A1] B _tx_timer_no_time_slice ; If 0, skip time slice processing
- SUB A1,1,A1 ; Decrement time-slice value
+ SUB A1,1,A1 ; Decrement time-slice value
NOP 4 ; Delay slots
;
; /* Decrement the time_slice. */
@@ -130,9 +130,9 @@ _tx_timer_interrupt:
; if (_tx_timer_time_slice == 0)
;
[A1] B _tx_timer_no_time_slice ; If non-zero, not expired yet
- STW A1,*A3 ; Store new time-slice
+ STW A1,*A3 ; Store new time-slice
MVKL _tx_timer_expired_time_slice,A0 ; Build address of expired flag
- MVKH _tx_timer_expired_time_slice,A0 ;
+ MVKH _tx_timer_expired_time_slice,A0 ;
MVKL 1,A4 ; Expired flag
NOP ; Delay
;
@@ -149,10 +149,10 @@ _tx_timer_no_time_slice:
; {
;
MVKL _tx_timer_current_ptr,A2 ; Build address of current timer pointer
- MVKH _tx_timer_current_ptr,A2 ;
+ MVKH _tx_timer_current_ptr,A2 ;
LDW *A2,A0 ; Pickup timer list address
MVKL _tx_timer_expired,A3 ; Build address of expired flag
- MVKH _tx_timer_expired,A3 ;
+ MVKH _tx_timer_expired,A3 ;
NOP 2 ; Delay slots
LDW *A0,A1 ; Pickup current timer entry
ADD 4,A0,A0 ; Increment the current pointer
@@ -179,10 +179,10 @@ _tx_timer_no_timer:
; if (_tx_timer_current_ptr == _tx_timer_list_end)
;
MVKL _tx_timer_list_end,A3 ; Build timer list end address
- MVKH _tx_timer_list_end,A3 ;
+ MVKH _tx_timer_list_end,A3 ;
LDW *A3,A4 ; Pickup list end address
MVKL _tx_timer_list_start,A3 ; Build timer list start address
- MVKH _tx_timer_list_start,A3 ;
+ MVKH _tx_timer_list_start,A3 ;
NOP 2 ; Delay slots
CMPEQ A4,A0,A1 ; Compare current pointer with end
[A1] LDW *A3,A0 ; If at the end, pickup timer list start
@@ -205,10 +205,10 @@ _tx_timer_done:
; {
;
MVKL _tx_timer_expired_time_slice,A3 ; Build time-slice expired flag
- MVKH _tx_timer_expired_time_slice,A3 ;
+ MVKH _tx_timer_expired_time_slice,A3 ;
LDW *A3,A4 ; Pickup time-slice expired flag
MVKL _tx_timer_expired,A0 ; Build timer expired flag
- MVKH _tx_timer_expired,A0 ;
+ MVKH _tx_timer_expired,A0 ;
LDW *A0,A2 ; Pickup timer expired flag
NOP 4 ; Delay slots
OR A2,A4,A1 ; Combine expired flags
@@ -223,8 +223,8 @@ _tx_something_expired:
;
B _tx_thread_context_save ; Call context save routine
MVKL _tx_timer_ISR_return,B3 ; Build return address
- MVKH _tx_timer_ISR_return,B3 ;
- NOP 3 ; Delay slots
+ MVKH _tx_timer_ISR_return,B3 ;
+ NOP 3 ; Delay slots
_tx_timer_ISR_return:
;
; /* Did a timer expire? */
@@ -232,7 +232,7 @@ _tx_timer_ISR_return:
; {
;
MVKL _tx_timer_expired,A0 ; Build timer expired address
- MVKH _tx_timer_expired,A0 ;
+ MVKH _tx_timer_expired,A0 ;
LDW *A0,A1 ; Pickup expired flag
NOP 4 ; Delay slots
[!A1] B _tx_timer_dont_activate ; If not set, skip timer activation
@@ -243,7 +243,7 @@ _tx_timer_ISR_return:
;
B _tx_timer_expiration_process ; Process timer expiration
MVKL _tx_timer_ISR_return_1,B3 ; Build return address
- MVKH _tx_timer_ISR_return_1,B3 ;
+ MVKH _tx_timer_ISR_return_1,B3 ;
NOP 3 ; Delay slots
_tx_timer_ISR_return_1:
;
@@ -255,7 +255,7 @@ _tx_timer_dont_activate:
; {
;
MVKL _tx_timer_expired_time_slice,A0 ; Build address of expired flag
- MVKH _tx_timer_expired_time_slice,A0 ;
+ MVKH _tx_timer_expired_time_slice,A0 ;
LDW *A0,A1 ; Pickup expired flag
NOP 4 ; Delay slots
[!A1] B _tx_timer_not_ts_expiration ; If not set, skip time-slice processing
@@ -266,7 +266,7 @@ _tx_timer_dont_activate:
;
B _tx_thread_time_slice ; Call time-slice processing
MVKL _tx_timer_ISR_return_2,B3 ; Build return address
- MVKH _tx_timer_ISR_return_2,B3 ;
+ MVKH _tx_timer_ISR_return_2,B3 ;
NOP 3 ; Delay slots
_tx_timer_ISR_return_2:
;