summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYunjie Gu <[email protected]>2022-10-20 04:41:13 +0100
committerGitHub <[email protected]>2022-10-19 23:41:13 -0400
commit8fa9fde43a2e9cb978b52c0eb536fe2bafcc6e73 (patch)
tree467394dde2b65c1ab6274059a1c475e72eefdb1d
parent65baa8b697ab77e24c9d3f510e601893526e33e2 (diff)
[bsp][c28x] add support to not disable global interrupt in context-switch to enable zero-latency isr for critical interrupts.
-rw-r--r--bsp/ti/c28x/libraries/tms320f28379d/common/source/F2837xD_usDelay.asm24
-rw-r--r--bsp/ti/c28x/tms320f28379d/.config313
-rw-r--r--bsp/ti/c28x/tms320f28379d/.cproject168
-rw-r--r--bsp/ti/c28x/tms320f28379d/2837x_FLASH_lnk_cpu1.cmd58
-rw-r--r--bsp/ti/c28x/tms320f28379d/2837x_RAM_lnk_cpu1.cmd24
-rw-r--r--bsp/ti/c28x/tms320f28379d/board/board.c29
-rw-r--r--bsp/ti/c28x/tms320f28379d/rtconfig.h36
-rw-r--r--bsp/ti/c28x/tms320f28379d/rtconfig_project.h3
-rw-r--r--components/finsh/finsh.h8
-rw-r--r--include/rtdef.h8
-rw-r--r--libcpu/ti-dsp/c28x/context.s338
-rw-r--r--libcpu/ti-dsp/c28x/cpuport.c69
-rw-r--r--src/irq.c4
13 files changed, 463 insertions, 619 deletions
diff --git a/bsp/ti/c28x/libraries/tms320f28379d/common/source/F2837xD_usDelay.asm b/bsp/ti/c28x/libraries/tms320f28379d/common/source/F2837xD_usDelay.asm
index 71d3606fd0..f306769ebe 100644
--- a/bsp/ti/c28x/libraries/tms320f28379d/common/source/F2837xD_usDelay.asm
+++ b/bsp/ti/c28x/libraries/tms320f28379d/common/source/F2837xD_usDelay.asm
@@ -71,12 +71,21 @@
;// $
;//###########################################################################
- .def _F28x_usDelay
-
.cdecls LIST ;;Used to populate __TI_COMPILER_VERSION__ macro
%{
+ #ifdef __TI_EABI__
+ #define __EABI__ 1
+ #else
+ #define __EABI__ 0
+ #endif
%}
+ .if __EABI__
+ .def F28x_usDelay
+ .else
+ .def _F28x_usDelay
+ .endif
+
.if __TI_COMPILER_VERSION__
.if __TI_COMPILER_VERSION__ >= 15009000
.sect ".TI.ramfunc" ;;Used with compiler v15.9.0 and newer
@@ -86,9 +95,20 @@
.endif
.global __F28x_usDelay
+
+ .if __EABI__
+F28x_usDelay:
+ .else
_F28x_usDelay:
+ .endif
+
SUB ACC,#1
+ .if __EABI__
+ BF F28x_usDelay,GEQ ;; Loop if ACC >= 0
+ .else
BF _F28x_usDelay,GEQ ;; Loop if ACC >= 0
+ .endif
+
LRETR
;There is a 9/10 cycle overhead and each loop
diff --git a/bsp/ti/c28x/tms320f28379d/.config b/bsp/ti/c28x/tms320f28379d/.config
index 670b11aaff..47742f867e 100644
--- a/bsp/ti/c28x/tms320f28379d/.config
+++ b/bsp/ti/c28x/tms320f28379d/.config
@@ -17,8 +17,7 @@ CONFIG_RT_THREAD_PRIORITY_8=y
CONFIG_RT_THREAD_PRIORITY_MAX=8
CONFIG_RT_TICK_PER_SECOND=100
# CONFIG_RT_USING_OVERFLOW_CHECK is not set
-CONFIG_RT_USING_HOOK=y
-CONFIG_RT_HOOK_USING_FUNC_PTR=y
+# CONFIG_RT_USING_HOOK is not set
CONFIG_RT_USING_IDLE_HOOK=y
CONFIG_RT_IDLE_HOOK_LIST_SIZE=4
CONFIG_IDLE_THREAD_STACK_SIZE=1024
@@ -209,19 +208,19 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
#
# IoT - internet of things
#
-# CONFIG_PKG_USING_LWIP is not set
-# CONFIG_PKG_USING_LORAWAN_DRIVER is not set
# CONFIG_PKG_USING_PAHOMQTT is not set
-# CONFIG_PKG_USING_UMQTT is not set
# CONFIG_PKG_USING_WEBCLIENT is not set
# CONFIG_PKG_USING_WEBNET is not set
# CONFIG_PKG_USING_MONGOOSE is not set
# CONFIG_PKG_USING_MYMQTT is not set
-# CONFIG_PKG_USING_KAWAII_MQTT is not set
-# CONFIG_PKG_USING_BC28_MQTT is not set
+# CONFIG_PKG_USING_MQTTCLIENT is not set
# CONFIG_PKG_USING_WEBTERMINAL is not set
+# CONFIG_PKG_USING_CJSON is not set
+# CONFIG_PKG_USING_JSMN is not set
# CONFIG_PKG_USING_LIBMODBUS is not set
# CONFIG_PKG_USING_FREEMODBUS is not set
+# CONFIG_PKG_USING_LJSON is not set
+# CONFIG_PKG_USING_EZXML is not set
# CONFIG_PKG_USING_NANOPB is not set
#
@@ -241,12 +240,10 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_COAP is not set
# CONFIG_PKG_USING_NOPOLL is not set
# CONFIG_PKG_USING_NETUTILS is not set
-# CONFIG_PKG_USING_CMUX is not set
# CONFIG_PKG_USING_PPP_DEVICE is not set
# CONFIG_PKG_USING_AT_DEVICE is not set
# CONFIG_PKG_USING_ATSRV_SOCKET is not set
# CONFIG_PKG_USING_WIZNET is not set
-# CONFIG_PKG_USING_ZB_COORDINATOR is not set
#
# IoT Cloud
@@ -255,14 +252,10 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_GAGENT_CLOUD is not set
# CONFIG_PKG_USING_ALI_IOTKIT is not set
# CONFIG_PKG_USING_AZURE is not set
-# CONFIG_PKG_USING_TENCENT_IOT_EXPLORER is not set
+# CONFIG_PKG_USING_TENCENT_IOTHUB is not set
# CONFIG_PKG_USING_JIOT-C-SDK is not set
# CONFIG_PKG_USING_UCLOUD_IOT_SDK is not set
-# CONFIG_PKG_USING_JOYLINK is not set
-# CONFIG_PKG_USING_EZ_IOT_OS is not set
-# CONFIG_PKG_USING_IOTSHARP_SDK is not set
# CONFIG_PKG_USING_NIMBLE is not set
-# CONFIG_PKG_USING_LLSYNC_SDK_ADAPTER is not set
# CONFIG_PKG_USING_OTA_DOWNLOADER is not set
# CONFIG_PKG_USING_IPMSG is not set
# CONFIG_PKG_USING_LSSDP is not set
@@ -270,110 +263,40 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_LIBRWS is not set
# CONFIG_PKG_USING_TCPSERVER is not set
# CONFIG_PKG_USING_PROTOBUF_C is not set
+# CONFIG_PKG_USING_ONNX_PARSER is not set
+# CONFIG_PKG_USING_ONNX_BACKEND is not set
# CONFIG_PKG_USING_DLT645 is not set
# CONFIG_PKG_USING_QXWZ is not set
# CONFIG_PKG_USING_SMTP_CLIENT is not set
# CONFIG_PKG_USING_ABUP_FOTA is not set
# CONFIG_PKG_USING_LIBCURL2RTT is not set
# CONFIG_PKG_USING_CAPNP is not set
+# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
# CONFIG_PKG_USING_AGILE_TELNET is not set
-# CONFIG_PKG_USING_NMEALIB is not set
-# CONFIG_PKG_USING_PDULIB is not set
-# CONFIG_PKG_USING_BTSTACK is not set
-# CONFIG_PKG_USING_LORAWAN_ED_STACK is not set
-# CONFIG_PKG_USING_WAYZ_IOTKIT is not set
-# CONFIG_PKG_USING_MAVLINK is not set
-# CONFIG_PKG_USING_BSAL is not set
-# CONFIG_PKG_USING_AGILE_MODBUS is not set
-# CONFIG_PKG_USING_AGILE_FTP is not set
-# CONFIG_PKG_USING_EMBEDDEDPROTO is not set
-# CONFIG_PKG_USING_RT_LINK_HW is not set
-# CONFIG_PKG_USING_LORA_PKT_FWD is not set
-# CONFIG_PKG_USING_LORA_GW_DRIVER_LIB is not set
-# CONFIG_PKG_USING_LORA_PKT_SNIFFER is not set
-# CONFIG_PKG_USING_HM is not set
-# CONFIG_PKG_USING_SMALL_MODBUS is not set
-# CONFIG_PKG_USING_NET_SERVER is not set
-# CONFIG_PKG_USING_ZFTP is not set
#
# security packages
#
# CONFIG_PKG_USING_MBEDTLS is not set
-# CONFIG_PKG_USING_LIBSODIUM is not set
-# CONFIG_PKG_USING_LIBHYDROGEN is not set
+# CONFIG_PKG_USING_libsodium is not set
# CONFIG_PKG_USING_TINYCRYPT is not set
# CONFIG_PKG_USING_TFM is not set
-# CONFIG_PKG_USING_YD_CRYPTO is not set
#
# language packages
#
-
-#
-# JSON: JavaScript Object Notation, a lightweight data-interchange format
-#
-# CONFIG_PKG_USING_CJSON is not set
-# CONFIG_PKG_USING_LJSON is not set
-# CONFIG_PKG_USING_RT_CJSON_TOOLS is not set
-# CONFIG_PKG_USING_RAPIDJSON is not set
-# CONFIG_PKG_USING_JSMN is not set
-# CONFIG_PKG_USING_AGILE_JSMN is not set
-# CONFIG_PKG_USING_PARSON is not set
-
-#
-# XML: Extensible Markup Language
-#
-# CONFIG_PKG_USING_SIMPLE_XML is not set
-# CONFIG_PKG_USING_EZXML is not set
-# CONFIG_PKG_USING_LUATOS_SOC is not set
# CONFIG_PKG_USING_LUA is not set
# CONFIG_PKG_USING_JERRYSCRIPT is not set
# CONFIG_PKG_USING_MICROPYTHON is not set
-# CONFIG_PKG_USING_PIKASCRIPT is not set
-# CONFIG_PKG_USING_RTT_RUST is not set
#
# multimedia packages
#
-
-#
-# LVGL: powerful and easy-to-use embedded GUI library
-#
-# CONFIG_PKG_USING_LVGL is not set
-# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
-# CONFIG_PKG_USING_LV_MUSIC_DEMO is not set
-# CONFIG_PKG_USING_GUI_GUIDER_DEMO is not set
-
-#
-# u8g2: a monochrome graphic library
-#
-# CONFIG_PKG_USING_U8G2_OFFICIAL is not set
-# CONFIG_PKG_USING_U8G2 is not set
# CONFIG_PKG_USING_OPENMV is not set
# CONFIG_PKG_USING_MUPDF is not set
# CONFIG_PKG_USING_STEMWIN is not set
# CONFIG_PKG_USING_WAVPLAYER is not set
# CONFIG_PKG_USING_TJPGD is not set
-# CONFIG_PKG_USING_PDFGEN is not set
-# CONFIG_PKG_USING_HELIX is not set
-# CONFIG_PKG_USING_AZUREGUIX is not set
-# CONFIG_PKG_USING_TOUCHGFX2RTT is not set
-# CONFIG_PKG_USING_NUEMWIN is not set
-# CONFIG_PKG_USING_MP3PLAYER is not set
-# CONFIG_PKG_USING_TINYJPEG is not set
-# CONFIG_PKG_USING_UGUI is not set
-
-#
-# PainterEngine: A cross-platform graphics application framework written in C language
-#
-# CONFIG_PKG_USING_PAINTERENGINE is not set
-# CONFIG_PKG_USING_PAINTERENGINE_AUX is not set
-# CONFIG_PKG_USING_MCURSES is not set
-# CONFIG_PKG_USING_TERMBOX is not set
-# CONFIG_PKG_USING_VT100 is not set
-# CONFIG_PKG_USING_QRCODE is not set
-# CONFIG_PKG_USING_GUIENGINE is not set
#
# tools packages
@@ -382,115 +305,36 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_EASYFLASH is not set
# CONFIG_PKG_USING_EASYLOGGER is not set
# CONFIG_PKG_USING_SYSTEMVIEW is not set
-# CONFIG_PKG_USING_SEGGER_RTT is not set
# CONFIG_PKG_USING_RDB is not set
+# CONFIG_PKG_USING_QRCODE is not set
# CONFIG_PKG_USING_ULOG_EASYFLASH is not set
-# CONFIG_PKG_USING_ULOG_FILE is not set
-# CONFIG_PKG_USING_LOGMGR is not set
# CONFIG_PKG_USING_ADBD is not set
# CONFIG_PKG_USING_COREMARK is not set
# CONFIG_PKG_USING_DHRYSTONE is not set
-# CONFIG_PKG_USING_MEMORYPERF is not set
# CONFIG_PKG_USING_NR_MICRO_SHELL is not set
# CONFIG_PKG_USING_CHINESE_FONT_LIBRARY is not set
# CONFIG_PKG_USING_LUNAR_CALENDAR is not set
# CONFIG_PKG_USING_BS8116A is not set
-# CONFIG_PKG_USING_GPS_RMC is not set
-# CONFIG_PKG_USING_URLENCODE is not set
-# CONFIG_PKG_USING_UMCN is not set
-# CONFIG_PKG_USING_LWRB2RTT is not set
-# CONFIG_PKG_USING_CPU_USAGE is not set
-# CONFIG_PKG_USING_GBK2UTF8 is not set
-# CONFIG_PKG_USING_VCONSOLE is not set
-# CONFIG_PKG_USING_KDB is not set
-# CONFIG_PKG_USING_WAMR is not set
-# CONFIG_PKG_USING_MICRO_XRCE_DDS_CLIENT is not set
-# CONFIG_PKG_USING_LWLOG is not set
-# CONFIG_PKG_USING_ANV_TRACE is not set
-# CONFIG_PKG_USING_ANV_MEMLEAK is not set
-# CONFIG_PKG_USING_ANV_TESTSUIT is not set
-# CONFIG_PKG_USING_ANV_BENCH is not set
-# CONFIG_PKG_USING_DEVMEM is not set
-# CONFIG_PKG_USING_REGEX is not set
-# CONFIG_PKG_USING_MEM_SANDBOX is not set
-# CONFIG_PKG_USING_SOLAR_TERMS is not set
-# CONFIG_PKG_USING_GAN_ZHI is not set
-# CONFIG_PKG_USING_FDT is not set
-# CONFIG_PKG_USING_CBOX is not set
-# CONFIG_PKG_USING_SNOWFLAKE is not set
-# CONFIG_PKG_USING_HASH_MATCH is not set
-# CONFIG_PKG_USING_FIRE_PID_CURVE is not set
-# CONFIG_PKG_USING_ARMV7M_DWT_TOOL is not set
#
# system packages
#
-
-#
-# enhanced kernel services
-#
-# CONFIG_PKG_USING_RT_MEMCPY_CM is not set
-# CONFIG_PKG_USING_RT_KPRINTF_THREADSAFE is not set
-# CONFIG_PKG_USING_RT_VSNPRINTF_FULL is not set
-
-#
-# acceleration: Assembly language or algorithmic acceleration packages
-#
-# CONFIG_PKG_USING_QFPLIB_M0_FULL is not set
-# CONFIG_PKG_USING_QFPLIB_M0_TINY is not set
-# CONFIG_PKG_USING_QFPLIB_M3 is not set
-
-#
-# CMSIS: ARM Cortex-M Microcontroller Software Interface Standard
-#
-# CONFIG_PKG_USING_CMSIS_5 is not set
-# CONFIG_PKG_USING_CMSIS_RTOS1 is not set
-# CONFIG_PKG_USING_CMSIS_RTOS2 is not set
-
-#
-# Micrium: Micrium software products porting for RT-Thread
-#
-# CONFIG_PKG_USING_UCOSIII_WRAPPER is not set
-# CONFIG_PKG_USING_UCOSII_WRAPPER is not set
-# CONFIG_PKG_USING_UC_CRC is not set
-# CONFIG_PKG_USING_UC_CLK is not set
-# CONFIG_PKG_USING_UC_COMMON is not set
-# CONFIG_PKG_USING_UC_MODBUS is not set
-# CONFIG_PKG_USING_RTDUINO is not set
-# CONFIG_PKG_USING_FREERTOS_WRAPPER is not set
+# CONFIG_PKG_USING_GUIENGINE is not set
# CONFIG_PKG_USING_CAIRO is not set
# CONFIG_PKG_USING_PIXMAN is not set
+# CONFIG_PKG_USING_LWEXT4 is not set
# CONFIG_PKG_USING_PARTITION is not set
-# CONFIG_PKG_USING_PERF_COUNTER is not set
-# CONFIG_PKG_USING_FLASHDB is not set
+# CONFIG_PKG_USING_FAL is not set
# CONFIG_PKG_USING_SQLITE is not set
# CONFIG_PKG_USING_RTI is not set
+# CONFIG_PKG_USING_LITTLEVGL2RTT is not set
+# CONFIG_PKG_USING_CMSIS is not set
# CONFIG_PKG_USING_DFS_YAFFS is not set
# CONFIG_PKG_USING_LITTLEFS is not set
-# CONFIG_PKG_USING_DFS_JFFS2 is not set
-# CONFIG_PKG_USING_DFS_UFFS is not set
-# CONFIG_PKG_USING_LWEXT4 is not set
# CONFIG_PKG_USING_THREAD_POOL is not set
# CONFIG_PKG_USING_ROBOTS is not set
# CONFIG_PKG_USING_EV is not set
# CONFIG_PKG_USING_SYSWATCH is not set
-# CONFIG_PKG_USING_SYS_LOAD_MONITOR is not set
-# CONFIG_PKG_USING_PLCCORE is not set
-# CONFIG_PKG_USING_RAMDISK is not set
-# CONFIG_PKG_USING_MININI is not set
-# CONFIG_PKG_USING_QBOOT is not set
-# CONFIG_PKG_USING_PPOOL is not set
-# CONFIG_PKG_USING_OPENAMP is not set
-# CONFIG_PKG_USING_LPM is not set
-# CONFIG_PKG_USING_TLSF is not set
-# CONFIG_PKG_USING_EVENT_RECORDER is not set
-# CONFIG_PKG_USING_ARM_2D is not set
-# CONFIG_PKG_USING_MCUBOOT is not set
-# CONFIG_PKG_USING_TINYUSB is not set
-# CONFIG_PKG_USING_CHERRYUSB is not set
-# CONFIG_PKG_USING_KMULTI_RTIMER is not set
-# CONFIG_PKG_USING_TFDB is not set
-# CONFIG_PKG_USING_QPC is not set
#
# peripheral libraries and drivers
@@ -499,29 +343,19 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_REALTEK_AMEBA is not set
# CONFIG_PKG_USING_SHT2X is not set
# CONFIG_PKG_USING_SHT3X is not set
-# CONFIG_PKG_USING_ADT74XX is not set
-# CONFIG_PKG_USING_AS7341 is not set
# CONFIG_PKG_USING_STM32_SDIO is not set
-# CONFIG_PKG_USING_RTT_ESP_IDF is not set
# CONFIG_PKG_USING_ICM20608 is not set
+# CONFIG_PKG_USING_U8G2 is not set
# CONFIG_PKG_USING_BUTTON is not set
# CONFIG_PKG_USING_PCF8574 is not set
# CONFIG_PKG_USING_SX12XX is not set
# CONFIG_PKG_USING_SIGNAL_LED is not set
# CONFIG_PKG_USING_LEDBLINK is not set
# CONFIG_PKG_USING_LITTLED is not set
-# CONFIG_PKG_USING_LKDGUI is not set
-# CONFIG_PKG_USING_NRF5X_SDK is not set
-# CONFIG_PKG_USING_NRFX is not set
# CONFIG_PKG_USING_WM_LIBRARIES is not set
-
-#
-# Kendryte SDK
-#
-# CONFIG_PKG_USING_K210_SDK is not set
# CONFIG_PKG_USING_KENDRYTE_SDK is not set
# CONFIG_PKG_USING_INFRARED is not set
-# CONFIG_PKG_USING_MULTI_INFRARED is not set
+# CONFIG_PKG_USING_ROSSERIAL is not set
# CONFIG_PKG_USING_AGILE_BUTTON is not set
# CONFIG_PKG_USING_AGILE_LED is not set
# CONFIG_PKG_USING_AT24CXX is not set
@@ -535,126 +369,43 @@ CONFIG_RT_LIBC_DEFAULT_TIMEZONE=8
# CONFIG_PKG_USING_RPLIDAR is not set
# CONFIG_PKG_USING_AS608 is not set
# CONFIG_PKG_USING_RC522 is not set
-# CONFIG_PKG_USING_WS2812B is not set
# CONFIG_PKG_USING_EMBARC_BSP is not set
-# CONFIG_PKG_USING_EXTERN_RTC_DRIVERS is not set
-# CONFIG_PKG_USING_MULTI_RTIMER is not set
-# CONFIG_PKG_USING_MAX7219 is not set
-# CONFIG_PKG_USING_BEEP is not set
-# CONFIG_PKG_USING_EASYBLINK is not set
-# CONFIG_PKG_USING_PMS_SERIES is not set
-# CONFIG_PKG_USING_CAN_YMODEM is not set
-# CONFIG_PKG_USING_LORA_RADIO_DRIVER is not set
-# CONFIG_PKG_USING_QLED is not set
-# CONFIG_PKG_USING_PAJ7620 is not set
-# CONFIG_PKG_USING_AGILE_CONSOLE is not set
-# CONFIG_PKG_USING_LD3320 is not set
-# CONFIG_PKG_USING_WK2124 is not set
-# CONFIG_PKG_USING_LY68L6400 is not set
-# CONFIG_PKG_USING_DM9051 is not set
-# CONFIG_PKG_USING_SSD1306 is not set
-# CONFIG_PKG_USING_QKEY is not set
-# CONFIG_PKG_USING_RS485 is not set
-# CONFIG_PKG_USING_RS232 is not set
-# CONFIG_PKG_USING_NES is not set
-# CONFIG_PKG_USING_VIRTUAL_SENSOR is not set
-# CONFIG_PKG_USING_VDEVICE is not set
-# CONFIG_PKG_USING_SGM706 is not set
-# CONFIG_PKG_USING_STM32WB55_SDK is not set
-# CONFIG_PKG_USING_RDA58XX is not set
-# CONFIG_PKG_USING_LIBNFC is not set
-# CONFIG_PKG_USING_MFOC is not set
-# CONFIG_PKG_USING_TMC51XX is not set
-# CONFIG_PKG_USING_TCA9534 is not set
-# CONFIG_PKG_USING_KOBUKI is not set
-# CONFIG_PKG_USING_ROSSERIAL is not set
-# CONFIG_PKG_USING_MICRO_ROS is not set
-# CONFIG_PKG_USING_MCP23008 is not set
-# CONFIG_PKG_USING_BLUETRUM_SDK is not set
-# CONFIG_PKG_USING_MISAKA_AT24CXX is not set
-# CONFIG_PKG_USING_MISAKA_RGB_BLING is not set
-# CONFIG_PKG_USING_LORA_MODEM_DRIVER is not set
-# CONFIG_PKG_USING_BL_MCU_SDK is not set
-# CONFIG_PKG_USING_SOFT_SERIAL is not set
-# CONFIG_PKG_USING_MB85RS16 is not set
-# CONFIG_PKG_USING_CW2015 is not set
-# CONFIG_PKG_USING_RFM300 is not set
-# CONFIG_PKG_USING_IO_INPUT_FILTER is not set
-
-#
-# AI packages
-#
-# CONFIG_PKG_USING_LIBANN is not set
-# CONFIG_PKG_USING_NNOM is not set
-# CONFIG_PKG_USING_ONNX_BACKEND is not set
-# CONFIG_PKG_USING_ONNX_PARSER is not set
-# CONFIG_PKG_USING_TENSORFLOWLITEMICRO is not set
-# CONFIG_PKG_USING_ELAPACK is not set
-# CONFIG_PKG_USING_ULAPACK is not set
-# CONFIG_PKG_USING_QUEST is not set
-# CONFIG_PKG_USING_NAXOS is not set
#
# miscellaneous packages
#
-
-#
-# project laboratory
-#
-
-#
-# samples: kernel and components samples
-#
-# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
-# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
-# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
-# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
-
-#
-# entertainment: terminal games and other interesting software packages
-#
-# CONFIG_PKG_USING_CMATRIX is not set
-# CONFIG_PKG_USING_SL is not set
-# CONFIG_PKG_USING_CAL is not set
-# CONFIG_PKG_USING_ACLOCK is not set
-# CONFIG_PKG_USING_THREES is not set
-# CONFIG_PKG_USING_2048 is not set
-# CONFIG_PKG_USING_SNAKE is not set
-# CONFIG_PKG_USING_TETRIS is not set
-# CONFIG_PKG_USING_DONUT is not set
-# CONFIG_PKG_USING_COWSAY is not set
# CONFIG_PKG_USING_LIBCSV is not set
# CONFIG_PKG_USING_OPTPARSE is not set
# CONFIG_PKG_USING_FASTLZ is not set
# CONFIG_PKG_USING_MINILZO is not set
# CONFIG_PKG_USING_QUICKLZ is not set
-# CONFIG_PKG_USING_LZMA is not set
# CONFIG_PKG_USING_MULTIBUTTON is not set
# CONFIG_PKG_USING_FLEXIBLE_BUTTON is not set
# CONFIG_PKG_USING_CANFESTIVAL is not set
# CONFIG_PKG_USING_ZLIB is not set
-# CONFIG_PKG_USING_MINIZIP is not set
-# CONFIG_PKG_USING_HEATSHRINK is not set
# CONFIG_PKG_USING_DSTR is not set
# CONFIG_PKG_USING_TINYFRAME is not set
# CONFIG_PKG_USING_KENDRYTE_DEMO is not set
# CONFIG_PKG_USING_DIGITALCTRL is not set
# CONFIG_PKG_USING_UPACKER is not set
# CONFIG_PKG_USING_UPARAM is not set
+
+#
+# samples: kernel and components samples
+#
+# CONFIG_PKG_USING_KERNEL_SAMPLES is not set
+# CONFIG_PKG_USING_FILESYSTEM_SAMPLES is not set
+# CONFIG_PKG_USING_NETWORK_SAMPLES is not set
+# CONFIG_PKG_USING_PERIPHERAL_SAMPLES is not set
# CONFIG_PKG_USING_HELLO is not set
# CONFIG_PKG_USING_VI is not set
-# CONFIG_PKG_USING_KI is not set
+# CONFIG_PKG_USING_NNOM is not set
+# CONFIG_PKG_USING_LIBANN is not set
+# CONFIG_PKG_USING_ELAPACK is not set
# CONFIG_PKG_USING_ARMv7M_DWT is not set
+# CONFIG_PKG_USING_VT100 is not set
+# CONFIG_PKG_USING_ULAPACK is not set
# CONFIG_PKG_USING_UKAL is not set
-# CONFIG_PKG_USING_CRCLIB is not set
-# CONFIG_PKG_USING_LWGPS is not set
-# CONFIG_PKG_USING_STATE_MACHINE is not set
-# CONFIG_PKG_USING_DESIGN_PATTERN is not set
-# CONFIG_PKG_USING_CONTROLLER is not set
-# CONFIG_PKG_USING_PHASE_LOCKED_LOOP is not set
-# CONFIG_PKG_USING_MFBD is not set
-# CONFIG_PKG_USING_SLCAN2RTT is not set
-# CONFIG_PKG_USING_SOEM is not set
#
# Hardware Drivers Config
diff --git a/bsp/ti/c28x/tms320f28379d/.cproject b/bsp/ti/c28x/tms320f28379d/.cproject
index d3421753e2..10ca7c720c 100644
--- a/bsp/ti/c28x/tms320f28379d/.cproject
+++ b/bsp/ti/c28x/tms320f28379d/.cproject
@@ -15,31 +15,31 @@
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.C2000.Debug.1821767246.778586462" name="FLASH" parent="com.ti.ccstudio.buildDefinitions.C2000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C2000.Debug.1821767246.778586462." name="/" resourcePath="">
- <toolChain id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.DebugToolchain.2044377796" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug.1259067527">
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.907629852" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.DebugToolchain.849704194" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug.142319676">
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.1542708035" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F28379D"/>
- <listOptionValue builtIn="false" value="DEVICE_CORE_ID="/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
- <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>
- <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=2837x_RAM_lnk_cpu1.cmd"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
+ <listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=2837x_FLASH_lnk_cpu1.cmd"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
<listOptionValue builtIn="false" value="PRODUCTS="/>
<listOptionValue builtIn="false" value="PRODUCT_MACRO_IMPORTS={}"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+ <listOptionValue builtIn="false" value="DEVICE_CORE_ID="/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1552953057" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="20.2.5.LTS" valueType="string"/>
- <targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.targetPlatformDebug.2050944283" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.targetPlatformDebug"/>
- <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.builderDebug.1111748461" name="GNU Make.FLASH" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.builderDebug"/>
- <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.compilerDebug.1700912152" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.compilerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.LARGE_MEMORY_MODEL.1042201530" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.UNIFIED_MEMORY.448196689" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION.1231731663" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION.28" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT.1065615623" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT.softlib" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT.469331775" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT.cla1" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT.1234731689" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT.vcu2" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT.193422151" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT.tmu0" valueType="enumerated"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.INCLUDE_PATH.2126563574" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.INCLUDE_PATH" valueType="includePath">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.1744465090" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="20.2.7.LTS" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.targetPlatformDebug.1574916446" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.targetPlatformDebug"/>
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.builderDebug.1313415835" name="GNU Make.FLASH" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.compilerDebug.87472552" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.LARGE_MEMORY_MODEL.1431503331" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.UNIFIED_MEMORY.1740013292" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION.2145022217" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION.28" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT.1197706648" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT.softlib" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT.1791235101" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT.cla1" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT.979262857" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT.vcu2" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT.929439957" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT.tmu0" valueType="enumerated"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.INCLUDE_PATH.341376928" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${PROJECT_ROOT}"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../../../../components/finsh"/>
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../../../../components/drivers/include"/>
@@ -52,47 +52,47 @@
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../libraries/HAL_Drivers/config"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ADVICE__PERFORMANCE.1010893294" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ADVICE__PERFORMANCE" value="--advice:performance=all" valueType="string"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEFINE.1502427633" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEFINE" valueType="definedSymbols">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ADVICE__PERFORMANCE.1377491695" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ADVICE__PERFORMANCE" value="--advice:performance=all" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEFINE.1651489263" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="CPU1"/>
<listOptionValue builtIn="false" value="_FLASH"/>
<listOptionValue builtIn="false" value="_LAUNCHXL_F28379D"/>
<listOptionValue builtIn="false" value="RT_USING_LIBC"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL.1872798069" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WARNING.857737305" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL.1749585847" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WARNING.917153758" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP.1299904459" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DISPLAY_ERROR_NUMBER.1711157967" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI.558396365" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI.coffabi" valueType="enumerated"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__C_SRCS.1112595076" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__C_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__CPP_SRCS.159997053" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__CPP_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM_SRCS.1088320457" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM2_SRCS.859912541" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM2_SRCS"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP.367188262" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DISPLAY_ERROR_NUMBER.496956990" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI.1527896698" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI.eabi" valueType="enumerated"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__C_SRCS.2136632562" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__CPP_SRCS.673572586" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM_SRCS.1466157815" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM2_SRCS.42100818" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM2_SRCS"/>
</tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug.1259067527" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.STACK_SIZE.1680037485" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.STACK_SIZE" value="0x100" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.MAP_FILE.1336908518" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.MAP_FILE" value="${ProjName}.map" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OUTPUT_FILE.138792315" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.LIBRARY.1616369464" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.LIBRARY" valueType="libs">
+ <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug.142319676" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.STACK_SIZE.2028265325" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.STACK_SIZE" value="0x100" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.MAP_FILE.1191073315" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.MAP_FILE" value="${ProjName}.map" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OUTPUT_FILE.868787653" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.LIBRARY.1575259848" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.LIBRARY" valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
</option>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.SEARCH_PATH.1205925932" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.SEARCH_PATH" valueType="libPaths">
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.SEARCH_PATH.1128623802" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.SEARCH_PATH" valueType="libPaths">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP.945425329" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DISPLAY_ERROR_NUMBER.773669389" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.XML_LINK_INFO.1871311927" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.XML_LINK_INFO" value="${ProjName}_linkInfo.xml" valueType="string"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OTHER_FLAGS.247879329" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OTHER_FLAGS" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP.1756500091" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DISPLAY_ERROR_NUMBER.1842868969" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.XML_LINK_INFO.1570517177" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.XML_LINK_INFO" value="${ProjName}_linkInfo.xml" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OTHER_FLAGS.2002945717" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OTHER_FLAGS" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD_SRCS.323866969" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD2_SRCS.1688694601" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD2_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__GEN_CMDS.1900797066" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__GEN_CMDS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD_SRCS.1246470232" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD2_SRCS.681608377" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD2_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__GEN_CMDS.932961869" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__GEN_CMDS"/>
</tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.hex.1911695373" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.hex"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.hex.1883144197" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.hex"/>
</toolChain>
</folderInfo>
<sourceEntries>
@@ -116,31 +116,31 @@
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="out" artifactName="${ProjName}" buildProperties="" cleanCommand="${CG_CLEAN_CMD}" description="" id="com.ti.ccstudio.buildDefinitions.C2000.Debug.1821767246.1625729396" name="RAM" parent="com.ti.ccstudio.buildDefinitions.C2000.Debug">
<folderInfo id="com.ti.ccstudio.buildDefinitions.C2000.Debug.1821767246.1625729396." name="/" resourcePath="">
- <toolChain id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.DebugToolchain.1894579497" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug.723836870">
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.28035281" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
+ <toolChain id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.DebugToolchain.422374197" name="TI Build Tools" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.DebugToolchain" targetTool="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug.141707934">
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS.2012120824" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_TAGS" valueType="stringList">
<listOptionValue builtIn="false" value="DEVICE_CONFIGURATION_ID=TMS320C28XX.TMS320F28379D"/>
- <listOptionValue builtIn="false" value="DEVICE_CORE_ID="/>
<listOptionValue builtIn="false" value="DEVICE_ENDIANNESS=little"/>
- <listOptionValue builtIn="false" value="OUTPUT_FORMAT=COFF"/>
+ <listOptionValue builtIn="false" value="OUTPUT_FORMAT=ELF"/>
<listOptionValue builtIn="false" value="LINKER_COMMAND_FILE=2837x_RAM_lnk_cpu1.cmd"/>
<listOptionValue builtIn="false" value="RUNTIME_SUPPORT_LIBRARY=libc.a"/>
<listOptionValue builtIn="false" value="CCS_MBS_VERSION=6.1.3"/>
<listOptionValue builtIn="false" value="PRODUCTS="/>
<listOptionValue builtIn="false" value="PRODUCT_MACRO_IMPORTS={}"/>
<listOptionValue builtIn="false" value="OUTPUT_TYPE=executable"/>
+ <listOptionValue builtIn="false" value="DEVICE_CORE_ID="/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2064551334" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="20.2.5.LTS" valueType="string"/>
- <targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.targetPlatformDebug.824785581" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.targetPlatformDebug"/>
- <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.builderDebug.1472806917" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.builderDebug"/>
- <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.compilerDebug.304346228" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.compilerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.LARGE_MEMORY_MODEL.1535045148" name="Option deprecated, set by default (--large_memory_model, -ml)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.UNIFIED_MEMORY.906261740" name="Unified memory (--unified_memory, -mt)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION.601611777" name="Processor version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION.28" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT.813293878" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT.softlib" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT.804303600" name="Specify CLA support (--cla_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT.cla1" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT.1139839682" name="Specify VCU support (--vcu_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT.vcu2" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT.2050172951" name="Specify TMU support (--tmu_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT.tmu0" valueType="enumerated"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.INCLUDE_PATH.1843203671" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.INCLUDE_PATH" valueType="includePath">
+ <option id="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION.2005906842" name="Compiler version" superClass="com.ti.ccstudio.buildDefinitions.core.OPT_CODEGEN_VERSION" value="20.2.7.LTS" valueType="string"/>
+ <targetPlatform id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.targetPlatformDebug.862563039" name="Platform" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.targetPlatformDebug"/>
+ <builder buildPath="${BuildDirectory}" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.builderDebug.1939252005" keepEnvironmentInBuildfile="false" name="GNU Make" parallelBuildOn="true" parallelizationNumber="optimal" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.builderDebug"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.compilerDebug.1912415751" name="C2000 Compiler" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.compilerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.LARGE_MEMORY_MODEL.450636362" name="Option deprecated, set by default (--large_memory_model, -ml)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.LARGE_MEMORY_MODEL" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.UNIFIED_MEMORY.1784592818" name="Unified memory (--unified_memory, -mt)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.UNIFIED_MEMORY" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION.67929190" name="Processor version (--silicon_version, -v)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.SILICON_VERSION.28" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT.1591138550" name="Specify floating point support (--float_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.FLOAT_SUPPORT.softlib" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT.952602232" name="Specify CLA support (--cla_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.CLA_SUPPORT.cla1" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT.1047595603" name="Specify VCU support (--vcu_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.VCU_SUPPORT.vcu2" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT.886419495" name="Specify TMU support (--tmu_support)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.TMU_SUPPORT.tmu0" valueType="enumerated"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.INCLUDE_PATH.52599811" name="Add dir to #include search path (--include_path, -I)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.INCLUDE_PATH" valueType="includePath">
<listOptionValue builtIn="false" value="${PROJECT_ROOT}"/>
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/../libraries/HAL_Drivers"/>
<listOptionValue builtIn="false" value="${PROJECT_ROOT}/board"/>
@@ -154,48 +154,48 @@
<listOptionValue builtIn="false" value="${PROJECT_LOC}/../libraries/HAL_Drivers"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ADVICE__PERFORMANCE.1493387349" name="Provide advice on optimization techniques (--advice:performance)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ADVICE__PERFORMANCE" value="--advice:performance=all" valueType="string"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEFINE.919278576" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEFINE" valueType="definedSymbols">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ADVICE__PERFORMANCE.1352786766" name="Provide advice on optimization techniques (--advice:performance)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ADVICE__PERFORMANCE" value="--advice:performance=all" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEFINE.1541262003" name="Pre-define NAME (--define, -D)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEFINE" valueType="definedSymbols">
<listOptionValue builtIn="false" value="CPU1"/>
<listOptionValue builtIn="false" value="_RAM"/>
<listOptionValue builtIn="false" value="_LAUNCHXL_F28379D"/>
<listOptionValue builtIn="false" value="RT_USING_LIBC"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL.693081276" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WARNING.786362056" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WARNING" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL.1423191744" name="Debugging model" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DEBUGGING_MODEL.SYMDEBUG__DWARF" valueType="enumerated"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WARNING.1840608528" name="Treat diagnostic &lt;id&gt; as warning (--diag_warning, -pdsw)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WARNING" valueType="stringList">
<listOptionValue builtIn="false" value="225"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP.1556568762" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DISPLAY_ERROR_NUMBER.1577631276" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI.2027726774" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI.coffabi" valueType="enumerated"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__C_SRCS.981846727" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__C_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__CPP_SRCS.1629306683" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__CPP_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM_SRCS.842081719" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM2_SRCS.766905856" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM2_SRCS"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP.1852455040" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DIAG_WRAP.off" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DISPLAY_ERROR_NUMBER.2066495142" name="Emit diagnostic identifier numbers (--display_error_number, -pden)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI.692692220" name="Application binary interface [See 'General' page to edit] (--abi)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.compilerID.ABI.eabi" valueType="enumerated"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__C_SRCS.1477923054" name="C Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__C_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__CPP_SRCS.1871147166" name="C++ Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__CPP_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM_SRCS.1514279895" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM2_SRCS.1020974336" name="Assembly Sources" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.compiler.inputType__ASM2_SRCS"/>
</tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug.723836870" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug">
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.STACK_SIZE.1596712579" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.STACK_SIZE" value="0x100" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.MAP_FILE.845861019" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.MAP_FILE" value="${ProjName}.map" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OUTPUT_FILE.1541688694" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.HEAP_SIZE.1545484419" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.HEAP_SIZE" value="0x100" valueType="string"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.LIBRARY.213017876" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.LIBRARY" valueType="libs">
+ <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug.141707934" name="C2000 Linker" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exe.linkerDebug">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.STACK_SIZE.782328928" name="Set C system stack size (--stack_size, -stack)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.STACK_SIZE" value="0x100" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.MAP_FILE.1413595505" name="Link information (map) listed into &lt;file&gt; (--map_file, -m)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.MAP_FILE" value="${ProjName}.map" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OUTPUT_FILE.307045250" name="Specify output file name (--output_file, -o)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OUTPUT_FILE" value="${ProjName}.out" valueType="string"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.HEAP_SIZE.1213465714" name="Heap size for C/C++ dynamic memory allocation (--heap_size, -heap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.HEAP_SIZE" value="0x100" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.LIBRARY.168172028" name="Include library file or command file as input (--library, -l)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.LIBRARY" valueType="libs">
<listOptionValue builtIn="false" value="libc.a"/>
</option>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.SEARCH_PATH.1435003304" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.SEARCH_PATH" valueType="libPaths">
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.SEARCH_PATH.1910081775" name="Add &lt;dir&gt; to library search path (--search_path, -i)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.SEARCH_PATH" valueType="libPaths">
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/lib"/>
<listOptionValue builtIn="false" value="${CG_TOOL_ROOT}/include"/>
</option>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP.1659796551" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DISPLAY_ERROR_NUMBER.2031339547" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
- <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.XML_LINK_INFO.1568286565" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.XML_LINK_INFO" value="${ProjName}_linkInfo.xml" valueType="string"/>
- <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OTHER_FLAGS.1380482368" name="Other flags" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OTHER_FLAGS" valueType="stringList">
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP.1915505336" name="Wrap diagnostic messages (--diag_wrap)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP" value="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DIAG_WRAP.off" valueType="enumerated"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DISPLAY_ERROR_NUMBER.1559534904" name="Emit diagnostic identifier numbers (--display_error_number)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.DISPLAY_ERROR_NUMBER" value="true" valueType="boolean"/>
+ <option id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.XML_LINK_INFO.1910530672" name="Detailed link information data-base into &lt;file&gt; (--xml_link_info, -xml_link_info)" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.XML_LINK_INFO" value="${ProjName}_linkInfo.xml" valueType="string"/>
+ <option IS_BUILTIN_EMPTY="false" IS_VALUE_EMPTY="false" id="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OTHER_FLAGS.513202260" name="Other flags" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.linkerID.OTHER_FLAGS" valueType="stringList">
<listOptionValue builtIn="false" value=""/>
</option>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD_SRCS.1170965277" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD2_SRCS.1115134067" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD2_SRCS"/>
- <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__GEN_CMDS.2069562709" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__GEN_CMDS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD_SRCS.1974422172" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD2_SRCS.643837524" name="Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__CMD2_SRCS"/>
+ <inputType id="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__GEN_CMDS.175083014" name="Generated Linker Command Files" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.exeLinker.inputType__GEN_CMDS"/>
</tool>
- <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.hex.1389940238" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.hex"/>
+ <tool id="com.ti.ccstudio.buildDefinitions.C2000_20.2.hex.2133579492" name="C2000 Hex Utility" superClass="com.ti.ccstudio.buildDefinitions.C2000_20.2.hex"/>
</toolChain>
</folderInfo>
<sourceEntries>
diff --git a/bsp/ti/c28x/tms320f28379d/2837x_FLASH_lnk_cpu1.cmd b/bsp/ti/c28x/tms320f28379d/2837x_FLASH_lnk_cpu1.cmd
index 9787987d30..3e880bc24b 100644
--- a/bsp/ti/c28x/tms320f28379d/2837x_FLASH_lnk_cpu1.cmd
+++ b/bsp/ti/c28x/tms320f28379d/2837x_FLASH_lnk_cpu1.cmd
@@ -1,4 +1,4 @@
-___heap_end = 0x010000;
+__heap_end = 0x010000;
MEMORY
{
PAGE 0 : /* Program Memory */
@@ -7,7 +7,7 @@ PAGE 0 : /* Program Memory */
BEGIN : origin = 0x080000, length = 0x000002
RESET : origin = 0x3FFFC0, length = 0x000002
- RAMGS8_15 : origin = 0x013000, length = 0x009000
+ RAMGS8_15 : origin = 0x013000, length = 0x009000
/* Flash sectors */
FLASHA : origin = 0x080002, length = 0x001FFE /* on-chip Flash */
@@ -30,7 +30,7 @@ PAGE 1 : /* Data Memory */
BOOT_RSVD : origin = 0x000002, length = 0x000120 /* Part of M0, BOOT rom will use this for stack */
RAMM0 : origin = 0x000122, length = 0x0002DE
RAMM1 : origin = 0x000400, length = 0x000400 /* on-chip RAM block M1 */
- EBSS : origin = 0x008000, length = 0x008000 /* RAMLS0-4, 5*0x0800 */
+ EBSS : origin = 0x008000, length = 0x008000 /* RAMLS0-4, 5*0x0800 */
CPU2TOCPU1RAM : origin = 0x03F800, length = 0x000400
CPU1TOCPU2RAM : origin = 0x03FC00, length = 0x000400
}
@@ -40,37 +40,37 @@ SECTIONS
{
/* Allocate program areas: */
.cinit : > FLASHF PAGE = 0, ALIGN(4)
- .pinit : > FLASHF, PAGE = 0, ALIGN(4)
- .text : >> FLASHE PAGE = 0, ALIGN(4)
+ .init_array : > FLASHF, PAGE = 0, ALIGN(4)
+ .text : > FLASHE PAGE = 0, ALIGN(4)
codestart : > BEGIN PAGE = 0, ALIGN(4)
#ifdef __TI_COMPILER_VERSION__
#if __TI_COMPILER_VERSION__ >= 15009000
.TI.ramfunc : {} LOAD = FLASHF,
RUN = RAMGS8_15,
- LOAD_START(_RamfuncsLoadStart),
- LOAD_SIZE(_RamfuncsLoadSize),
- LOAD_END(_RamfuncsLoadEnd),
- RUN_START(_RamfuncsRunStart),
- RUN_SIZE(_RamfuncsRunSize),
- RUN_END(_RamfuncsRunEnd),
+ LOAD_START(RamfuncsLoadStart),
+ LOAD_SIZE(RamfuncsLoadSize),
+ LOAD_END(RamfuncsLoadEnd),
+ RUN_START(RamfuncsRunStart),
+ RUN_SIZE(RamfuncsRunSize),
+ RUN_END(RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
#else
ramfuncs : LOAD = FLASHF,
RUN = RAMGS8_15,
- LOAD_START(_RamfuncsLoadStart),
- LOAD_SIZE(_RamfuncsLoadSize),
- LOAD_END(_RamfuncsLoadEnd),
- RUN_START(_RamfuncsRunStart),
- RUN_SIZE(_RamfuncsRunSize),
- RUN_END(_RamfuncsRunEnd),
+ LOAD_START(RamfuncsLoadStart),
+ LOAD_SIZE(RamfuncsLoadSize),
+ LOAD_END(RamfuncsLoadEnd),
+ RUN_START(RamfuncsRunStart),
+ RUN_SIZE(RamfuncsRunSize),
+ RUN_END(RamfuncsRunEnd),
PAGE = 0, ALIGN(4)
#endif
#endif
- FSymTab : > RAMM1, PAGE = 1, ALIGN(4)
- LOAD_START(___fsymtab_start)
- LOAD_END(___fsymtab_end)
+ FSymTab : > RAMM1, PAGE = 1
+ LOAD_START(__fsymtab_start)
+ LOAD_END(__fsymtab_end)
.rti_fn.0.end : > RAMM1, PAGE = 1
.rti_fn.0 : > RAMM1, PAGE = 1
.rti_fn.1 : > RAMM1, PAGE = 1
@@ -81,19 +81,19 @@ SECTIONS
.rti_fn.1.end : > RAMM1, PAGE = 1
.rti_fn.6.end : > RAMM1, PAGE = 1
.rti_fn.6 : > RAMM1, PAGE = 1
+
/* Allocate uninitalized data sections: */
- .stack : > RAMM1 PAGE = 1
- .ebss : > EBSS,
- LOAD_START(___ebss_start),
- LOAD_END(___ebss_end),
- PAGE = 1
- .esysmem : >> RAMM1 PAGE = 1
+ .stack : > RAMM1 PAGE = 1
+ .sysmem : > RAMM1 PAGE = 1
+ .bss : > EBSS, PAGE = 1
+ .data : > EBSS,
+ LOAD_END(__ebss_end),
+ PAGE = 1
/* Initalized sections go in Flash */
- .econst : >> FLASHF PAGE = 0, ALIGN(4)
+ .const : > FLASHF PAGE = 0, ALIGN(4)
.switch : > FLASHF PAGE = 0, ALIGN(4)
-
- .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
+ .reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
/* The following section definitions are required when using the IPC API Drivers */
GROUP : > CPU1TOCPU2RAM, PAGE = 1
diff --git a/bsp/ti/c28x/tms320f28379d/2837x_RAM_lnk_cpu1.cmd b/bsp/ti/c28x/tms320f28379d/2837x_RAM_lnk_cpu1.cmd
index 5eae476e44..e8f30706cd 100644
--- a/bsp/ti/c28x/tms320f28379d/2837x_RAM_lnk_cpu1.cmd
+++ b/bsp/ti/c28x/tms320f28379d/2837x_RAM_lnk_cpu1.cmd
@@ -1,4 +1,4 @@
-___heap_end = 0x00F000;
+__heap_end = 0x00F000;
MEMORY
{
@@ -32,7 +32,7 @@ SECTIONS
#endif
.text : > RAMGS8_15, PAGE = 0
.cinit : > RAMM0, PAGE = 0
- .pinit : > RAMM0, PAGE = 0
+ .init_array : > RAMM0, PAGE = 0
.switch : > RAMM0, PAGE = 0
.reset : > RESET, PAGE = 0, TYPE = DSECT /* not used, */
.rti_fn.0.end : > RAMM1, PAGE = 1
@@ -46,19 +46,17 @@ SECTIONS
.rti_fn.6.end : > RAMM1, PAGE = 1
.rti_fn.6 : > RAMM1, PAGE = 1
.stack : > RAMM1, PAGE = 1
- .esysmem : > RAMM1, PAGE = 1
-
- .ebss : > EBSS,
- LOAD_START(___ebss_start),
- LOAD_END(___ebss_end),
- PAGE = 1
-
- .econst : > ECONST, PAGE = 1
+ .sysmem : > RAMM1, PAGE = 1
+ .bss : > EBSS, PAGE = 1
+ .data : > EBSS,
+ LOAD_END(__ebss_end),
+ PAGE = 1
+ .const : > ECONST, PAGE = 1
/* finsh symbol table */
- FSymTab : > RAMM1, PAGE = 1, ALIGN(4)
- LOAD_START(___fsymtab_start)
- LOAD_END(___fsymtab_end)
+ FSymTab : > RAMM1, PAGE = 1
+ LOAD_START(__fsymtab_start)
+ LOAD_END(__fsymtab_end)
/* The following section definitions are required when using the IPC API Drivers */
GROUP : > CPU1TOCPU2RAM, PAGE = 1
diff --git a/bsp/ti/c28x/tms320f28379d/board/board.c b/bsp/ti/c28x/tms320f28379d/board/board.c
index c391a2589e..18f5b213bf 100644
--- a/bsp/ti/c28x/tms320f28379d/board/board.c
+++ b/bsp/ti/c28x/tms320f28379d/board/board.c
@@ -22,25 +22,7 @@ extern volatile rt_uint8_t rt_interrupt_nest;
extern rt_uint32_t rt_thread_switch_interrupt_flag;
-extern interrupt void RTOSINT_Handler();
-void trap_rtosint()
-{
- if(rt_thread_switch_interrupt_flag)
- {
- /* only do pendsv at the end of the last level of interrupt nesting,
- * so that threads do not preempt any isrs. */
- if(rt_interrupt_nest == 1)
- {
- /* rt_interrupt_leave_hook is called before rt_interrupt_nest --
- * in rt_interrupt_leave. We need to do this manually here to indicate
- * that all isrs have been cleared before we switch to thread. */
- rt_interrupt_nest --;
- asm(" trap #16");
- /* increment rt_interrupt_nest to compensate for the previous decrement. */
- rt_interrupt_nest ++;
- }
- }
-}
+extern interrupt void rtosint_handler();
/**
* This is the timer interrupt service routine.
@@ -50,13 +32,10 @@ interrupt void cpu_timer2_isr(void)
{
CpuTimer2Regs.TCR.all = 0xC000;
- ALLOW_ISR_PREEMPT();
-
- /* enter interrupt */
rt_interrupt_enter();
rt_tick_increase();
- /* leave interrupt */
+
rt_interrupt_leave();
}
@@ -84,7 +63,7 @@ void rt_hw_board_init()
#endif
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.TIMER2_INT = &cpu_timer2_isr;
- PieVectTable.RTOS_INT = &RTOSINT_Handler;
+ PieVectTable.RTOS_INT = &rtosint_handler;
#ifdef BSP_USING_XINT1
PieVectTable.XINT1_INT = &XINT1_Handler;
@@ -127,8 +106,6 @@ void rt_hw_board_init()
#if defined(RT_USING_CONSOLE) && defined(RT_USING_DEVICE)
rt_console_set_device(RT_CONSOLE_DEVICE_NAME);
#endif
-
- rt_interrupt_leave_sethook((void (*)(void))trap_rtosint);
}
int _args_main()
diff --git a/bsp/ti/c28x/tms320f28379d/rtconfig.h b/bsp/ti/c28x/tms320f28379d/rtconfig.h
index 12617588d5..9b79b43fa4 100644
--- a/bsp/ti/c28x/tms320f28379d/rtconfig.h
+++ b/bsp/ti/c28x/tms320f28379d/rtconfig.h
@@ -13,8 +13,6 @@
#define RT_THREAD_PRIORITY_8
#define RT_THREAD_PRIORITY_MAX 8
#define RT_TICK_PER_SECOND 100
-#define RT_USING_HOOK
-#define RT_HOOK_USING_FUNC_PTR
#define RT_USING_IDLE_HOOK
#define RT_IDLE_HOOK_LIST_SIZE 4
#define IDLE_THREAD_STACK_SIZE 1024
@@ -126,59 +124,25 @@
/* language packages */
-/* JSON: JavaScript Object Notation, a lightweight data-interchange format */
-
-
-/* XML: Extensible Markup Language */
-
/* multimedia packages */
-/* LVGL: powerful and easy-to-use embedded GUI library */
-
-
-/* u8g2: a monochrome graphic library */
-
-
-/* PainterEngine: A cross-platform graphics application framework written in C language */
-
/* tools packages */
/* system packages */
-/* enhanced kernel services */
-
-
-/* acceleration: Assembly language or algorithmic acceleration packages */
-
-
-/* CMSIS: ARM Cortex-M Microcontroller Software Interface Standard */
-
-
-/* Micrium: Micrium software products porting for RT-Thread */
-
/* peripheral libraries and drivers */
-/* Kendryte SDK */
-
-
-/* AI packages */
-
-
/* miscellaneous packages */
-/* project laboratory */
/* samples: kernel and components samples */
-/* entertainment: terminal games and other interesting software packages */
-
-
/* Hardware Drivers Config */
/* Onboard Peripheral Drivers */
diff --git a/bsp/ti/c28x/tms320f28379d/rtconfig_project.h b/bsp/ti/c28x/tms320f28379d/rtconfig_project.h
index fb6a3dffbb..2e811726a4 100644
--- a/bsp/ti/c28x/tms320f28379d/rtconfig_project.h
+++ b/bsp/ti/c28x/tms320f28379d/rtconfig_project.h
@@ -24,4 +24,7 @@ typedef unsigned char uint8_t; /**< 8bit unsigned integer type */
* this macro at the start of preemptible interrupt service routines*/
#define ALLOW_ISR_PREEMPT() __asm(" CLRC INTM")
+#define RT_USING_ZERO_LATENCY
+#define ZERO_LATENCY_INT_MASK 0x0000
+
#endif
diff --git a/components/finsh/finsh.h b/components/finsh/finsh.h
index a26b26fb7e..73c12b3c34 100644
--- a/components/finsh/finsh.h
+++ b/components/finsh/finsh.h
@@ -36,17 +36,21 @@ typedef long (*syscall_func)(void);
#pragma comment(linker, "/merge:FSymTab=mytext")
#elif defined(__TI_COMPILER_VERSION__)
+#ifdef __TMS320C28XX__
+#define RT_NOBLOCKED __attribute__((noblocked))
+#else
+#define RT_NOBLOCKED
+#endif
#define MSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \
__TI_FINSH_EXPORT_FUNCTION(__fsym_##cmd); \
const char __fsym_##cmd##_name[] = #cmd; \
const char __fsym_##cmd##_desc[] = #desc; \
- const struct finsh_syscall __fsym_##cmd = \
+ RT_USED RT_NOBLOCKED const struct finsh_syscall __fsym_##cmd = \
{ \
__fsym_##cmd##_name, \
__fsym_##cmd##_desc, \
(syscall_func)&name \
};
-
#else
#define MSH_FUNCTION_EXPORT_CMD(name, cmd, desc) \
const char __fsym_##cmd##_name[] RT_SECTION(".rodata.name") = #cmd; \
diff --git a/include/rtdef.h b/include/rtdef.h
index 89ac9edf6e..4a13c554a5 100644
--- a/include/rtdef.h
+++ b/include/rtdef.h
@@ -210,10 +210,18 @@ typedef __gnuc_va_list va_list;
* GCC and MDK) compilers. See ARM Optimizing C/C++ Compiler 5.9.3 for more
* details. */
#define RT_SECTION(x) __attribute__((section(x)))
+#ifdef __TI_EABI__
+#define RT_USED __attribute__((retain)) __attribute__((used))
+#else
#define RT_USED __attribute__((used))
+#endif
#define PRAGMA(x) _Pragma(#x)
#define ALIGN(n) __attribute__((aligned(n)))
+#ifdef __TI_EABI__
#define RT_WEAK __attribute__((weak))
+#else
+#define RT_WEAK
+#endif
#define rt_inline static inline
#define RTT_API
#elif defined (__TASKING__)
diff --git a/libcpu/ti-dsp/c28x/context.s b/libcpu/ti-dsp/c28x/context.s
index 297b3b2119..82207bce1b 100644
--- a/libcpu/ti-dsp/c28x/context.s
+++ b/libcpu/ti-dsp/c28x/context.s
@@ -11,95 +11,57 @@
; 2019-12-05 xiaolifan add support for hardware fpu32
; 2022-06-21 guyunjie trim pendsv (RTOSINT_Handler)
; 2022-08-24 guyunjie fix bugs in context switching
+; 2022-10-15 guyunjie add zero-latency interrupt
- .ref _rt_interrupt_to_thread
- .ref _rt_interrupt_from_thread
- .ref _rt_thread_switch_interrupt_flag
+ .ref rt_interrupt_to_thread
+ .ref rt_interrupt_from_thread
+ .ref rt_thread_switch_interrupt_flag
- .def _RTOSINT_Handler
- .def _rt_hw_get_st0
- .def _rt_hw_get_st1
- .def _rt_hw_calc_csb
- .def _rt_hw_context_switch_interrupt
- .def _rt_hw_context_switch
- .def _rt_hw_context_switch_to
- .def _rt_hw_interrupt_thread_switch
- .def _rt_hw_interrupt_disable
- .def _rt_hw_interrupt_enable
+ .def rtosint_handler
+ .def rt_hw_get_st0
+ .def rt_hw_get_st1
+ .def rt_hw_calc_csb
+ .def rt_hw_context_switch_interrupt
+ .def rt_hw_context_switch
+ .def rt_hw_context_switch_to
+ .def rt_hw_interrupt_thread_switch
+ .def rt_hw_interrupt_disable
+ .def rt_hw_interrupt_enable
-;workaround for importing fpu settings from the compiler
+ ;importing settings from compiler and config
.cdecls C,NOLIST
%{
+ #include <rtconfig.h>
+
#ifdef __TMS320C28XX_FPU32__
#define __FPU32__ 1
#else
#define __FPU32__ 0
#endif
- %}
-
-
-RT_CTX_SAVE .macro
-
- PUSH AR1H:AR0H
- PUSH XAR2
- PUSH XAR3
- PUSH XAR4
- PUSH XAR5
- PUSH XAR6
- PUSH XAR7
- PUSH XT
- PUSH RPC
-
- .if __FPU32__
- PUSH RB
- MOV32 *SP++, STF
- MOV32 *SP++, R0H
- MOV32 *SP++, R1H
- MOV32 *SP++, R2H
- MOV32 *SP++, R3H
- MOV32 *SP++, R4H
- MOV32 *SP++, R5H
- MOV32 *SP++, R6H
- MOV32 *SP++, R7H
- .endif
-
- .endm
-
-
-RT_CTX_RESTORE .macro
- .if __FPU32__
- MOV32 R7H, *--SP, UNCF
- MOV32 R6H, *--SP, UNCF
- MOV32 R5H, *--SP, UNCF
- MOV32 R4H, *--SP, UNCF
- MOV32 R3H, *--SP, UNCF
- MOV32 R2H, *--SP, UNCF
- MOV32 R1H, *--SP, UNCF
- MOV32 R0H, *--SP, UNCF
- MOV32 STF, *--SP
- POP RB
- .endif
-
- POP RPC
- POP XT
- POP XAR7
- POP XAR6
- POP XAR5
- POP XAR4
- POP XAR3
- POP XAR2
-
- MOVZ AR0 , @SP
- SUBB XAR0, #6
- MOVL ACC , *XAR0
- AND ACC, #0xFFFF << 16
- MOV AL, IER
- MOVL *XAR0, ACC
+ #ifdef __TMS320C28XX_FPU64__
+ #define __FPU64__ 1
+ #else
+ #define __FPU64__ 0
+ #endif
- POP AR1H:AR0H
+ #ifdef __TMS320C28XX_VCRC__
+ #define __VCRC__ 1
+ #else
+ #define __VCRC__ 0
+ #endif
- .endm
+ #ifdef RT_USING_ZERO_LATENCY
+ #define ZERO_LATENCY 1
+ #ifndef ZERO_LATENCY_INT_MASK
+ #error ZERO_LATENCY_INT_MASK must be defined for zero latency interrupt
+ #elif ZERO_LATENCY_INT_MASK & 0x8000
+ #error RTOS bit (0x8000) must not be set in ZERO_LATENCY_INT_MASK
+ #endif
+ #else
+ #define ZERO_LATENCY 0
+ #endif
+ %}
.text
@@ -109,10 +71,16 @@ RT_CTX_RESTORE .macro
; rt_base_t rt_hw_interrupt_disable();
;
.asmfunc
-_rt_hw_interrupt_disable:
+rt_hw_interrupt_disable:
+ .if ZERO_LATENCY
+ MOV AL, IER
+ AND IER, #ZERO_LATENCY_INT_MASK
+ .else
PUSH ST1
- SETC INTM,DBGM
- MOV AL, *--SP
+ SETC INTM
+ POP AL
+ .endif
+ MOV AH, #0
LRETR
.endasmfunc
@@ -120,9 +88,13 @@ _rt_hw_interrupt_disable:
; void rt_hw_interrupt_enable(rt_base_t level);
;
.asmfunc
-_rt_hw_interrupt_enable:
- MOV *SP++, AL
+rt_hw_interrupt_enable:
+ .if ZERO_LATENCY
+ MOV IER, AL
+ .else
+ PUSH AL
POP ST1
+ .endif
LRETR
.endasmfunc
@@ -132,23 +104,29 @@ _rt_hw_interrupt_enable:
; SP[4] --> to
;
.asmfunc
-_rt_hw_context_switch_interrupt:
- MOVL XAR0, ACC
+rt_hw_context_switch_interrupt:
+
+; ACC, XAR4-7 are "save on call" following TI C28x C/C++ compiler convention
+; and therefore can be used in a function without being saved on stack first
+; (the compiler has already saved it before the call).
+; Reference: TMS320C28x Optimizing CC++ Compiler
+; note this convention is only applicable to normal functions not to isrs
+
+ MOVL XAR6, ACC
MOVL XAR4, *-SP[4]
; set rt_thread_switch_interrupt_flag to 1
- MOVL XAR5, #_rt_thread_switch_interrupt_flag
+ MOVL XAR5, #rt_thread_switch_interrupt_flag
MOVL ACC, *XAR5
- BF _reswitch, NEQ ; ACC!=0
+ BF reswitch2, NEQ ; ACC!=0
MOVB ACC, #1
MOVL *XAR5, ACC
- MOVL XAR5, #_rt_interrupt_from_thread ; set rt_interrupt_from_thread
- MOVL *XAR5, XAR0
+ MOVL XAR5, #rt_interrupt_from_thread ; set rt_interrupt_from_thread
+ MOVL *XAR5, XAR6
-_reswitch:
- MOVL XAR5, #_rt_interrupt_to_thread ; set rt_interrupt_to_thread
+reswitch2:
+ MOVL XAR5, #rt_interrupt_to_thread ; set rt_interrupt_to_thread
MOVL *XAR5, XAR4
-
LRETR
.endasmfunc
@@ -158,102 +136,196 @@ _reswitch:
; SP[4] --> to
;
.asmfunc
-_rt_hw_context_switch:
- MOVL XAR0, ACC
+rt_hw_context_switch:
+
+ MOVL XAR6, ACC
MOVL XAR4, *-SP[4]
; set rt_thread_switch_interrupt_flag to 1
- MOVL XAR5, #_rt_thread_switch_interrupt_flag
+ MOVL XAR5, #rt_thread_switch_interrupt_flag
MOVL ACC, *XAR5
- BF _reswitch2, NEQ ; ACC!=0
+ BF reswitch1, NEQ ; ACC!=0
MOVB ACC, #1
MOVL *XAR5, ACC
- MOVL XAR5, #_rt_interrupt_from_thread ; set rt_interrupt_from_thread
- MOVL *XAR5, XAR0
+ MOVL XAR5, #rt_interrupt_from_thread ; set rt_interrupt_from_thread
+ MOVL *XAR5, XAR6
-_reswitch2:
- MOVL XAR5, #_rt_interrupt_to_thread ; set rt_interrupt_to_thread
+reswitch1:
+ MOVL XAR5, #rt_interrupt_to_thread ; set rt_interrupt_to_thread
MOVL *XAR5, XAR4
-
- TRAP #16
+ OR IFR, #0x8000
LRETR
.endasmfunc
-
;
; * void rt_hw_context_switch_to(rt_uint32 to);
; * ACC --> to
;
.asmfunc
-_rt_hw_context_switch_to:
+rt_hw_context_switch_to:
; get to thread
- MOVL XAR1, #_rt_interrupt_to_thread
- MOVL *XAR1, ACC
+ MOVL XAR5, #rt_interrupt_to_thread
+ MOVL *XAR5, ACC
; set from thread to 0
- MOVL XAR1, #_rt_interrupt_from_thread
- MOVL XAR0, #0
- MOVL *XAR1, XAR0
+ MOVL XAR5, #rt_interrupt_from_thread
+ MOVL XAR4, #0
+ MOVL *XAR5, XAR4
; set interrupt flag to 1
- MOVL XAR1, #_rt_thread_switch_interrupt_flag
- MOVL XAR0, #1
- MOVL *XAR1, XAR0
+ MOVL XAR5, #rt_thread_switch_interrupt_flag
+ MOVL XAR4, #1
+ MOVL *XAR5, XAR4
- TRAP #16
+ ; trigger rtos interrupt
+ OR IFR, #0x8000
+ OR IER, #0x8000
+ CLRC INTM
; never reach here!
.endasmfunc
.asmfunc
-_RTOSINT_Handler:
- ; disable interrupt to protect context switch
- ; DINT ;this is done by hardware so not needed
+rtosint_handler:
+
+ .if ZERO_LATENCY
+ ; mask out non-critical interrupts and enable global interrupt
+ ; so rtosint_handler won't block critical interrupts
+ AND IER, #ZERO_LATENCY_INT_MASK
+ CLRC INTM
+ .endif
+
+ MOVL ACC, *-SP[4]
+ MOV AR0, AL ; save original IER
+
+ PUSH AR1H:AR0H
+ PUSH XAR2
; get rt_thread_switch_interrupt_flag
- MOVL XAR0, #_rt_thread_switch_interrupt_flag
- MOVL ACC, *XAR0
- BF rtosint_exit, EQ ; pendsv already handled
+ MOVL XAR1, #rt_thread_switch_interrupt_flag
+ MOVL ACC, *XAR1
+ BF rtosint_exit, EQ ; rtos_int already handled
; clear rt_thread_switch_interrupt_flag to 0
- MOVL XAR1, #0
- MOVL *XAR0, XAR1
+ MOVL XAR2, #0
+ MOVL *XAR1, XAR2
- MOVL XAR0, #_rt_interrupt_from_thread
- MOVL ACC, *XAR0
+ MOVL XAR1, #rt_interrupt_from_thread
+ MOVL ACC, *XAR1
BF switch_to_thread, EQ ; skip register save at the first time
- RT_CTX_SAVE ; push cpu registers
+ PUSH XAR3
+ PUSH XAR4
+ PUSH XAR5
+ PUSH XAR6
+ PUSH XAR7
+ PUSH XT
+ PUSH RPC
- MOVL ACC, *XAR0
- MOVL XAR0, ACC
- MOVZ AR1, @SP ; get from thread stack pointer
- MOVL *XAR0, XAR1 ; update from thread stack pointer
+ .if __FPU32__
+ PUSH RB
+ MOV32 *SP++, STF
+ MOV32 *SP++, R0H
+ MOV32 *SP++, R1H
+ MOV32 *SP++, R2H
+ MOV32 *SP++, R3H
+ MOV32 *SP++, R4H
+ MOV32 *SP++, R5H
+ MOV32 *SP++, R6H
+ MOV32 *SP++, R7H
+ .endif
+
+ .if __FPU64__
+ MOV32 *SP++, R0L
+ MOV32 *SP++, R1L
+ MOV32 *SP++, R2L
+ MOV32 *SP++, R3L
+ MOV32 *SP++, R4L
+ MOV32 *SP++, R5L
+ MOV32 *SP++, R6L
+ MOV32 *SP++, R7L
+ .endif
+
+ .if __VCRC__
+ VMOV32 *SP++, VCRC
+ VMOV32 *SP++, VSTATUS
+ VMOV32 *SP++, VCRCPOLY
+ VMOV32 *SP++, VCRCSIZE
+ .endif
+
+ MOVL ACC, *XAR1
+ MOVL XAR1, ACC
+ MOVZ AR2, @SP ; get from thread stack pointer
+ MOVL *XAR1, XAR2 ; update from thread stack pointer
switch_to_thread:
- MOVL XAR1, #_rt_interrupt_to_thread
+ MOVL XAR1, #rt_interrupt_to_thread
MOVL ACC, *XAR1
MOVL XAR1, ACC
MOVL ACC, *XAR1
MOV @SP, AL ; load thread stack pointer
- RT_CTX_RESTORE ; pop cpu registers
+ .if __VCRC__
+ VMOV32 VCRCSIZE, *--SP
+ VMOV32 VCRCPOLY, *--SP
+ VMOV32 VSTATUS, *--SP
+ VMOV32 VCRC, *--SP
+ .endif
+
+ .if __FPU64__
+ MOV32 R7L, *--SP
+ MOV32 R6L, *--SP
+ MOV32 R5L, *--SP
+ MOV32 R4L, *--SP
+ MOV32 R3L, *--SP
+ MOV32 R2L, *--SP
+ MOV32 R1L, *--SP
+ MOV32 R0L, *--SP
+ .endif
+
+ .if __FPU32__
+ MOV32 R7H, *--SP
+ MOV32 R6H, *--SP
+ MOV32 R5H, *--SP
+ MOV32 R4H, *--SP
+ MOV32 R3H, *--SP
+ MOV32 R2H, *--SP
+ MOV32 R1H, *--SP
+ MOV32 R0H, *--SP
+ MOV32 STF, *--SP
+ POP RB
+ .endif
+
+ POP RPC
+ POP XT
+ POP XAR7
+ POP XAR6
+ POP XAR5
+ POP XAR4
+ POP XAR3
rtosint_exit:
; do not restore interrupt here: to be restored according to the
; switched-to context during IRET (automaticlly by hardware)
+ POP XAR2
+ POP AR1H:AR0H
+
+ MOVL ACC , *-SP[4]
+ MOV AL, AR0
+ MOVL *-SP[4], ACC
+
IRET
.endasmfunc
.asmfunc
-_rt_hw_get_st0:
+rt_hw_get_st0:
PUSH ST0
POP AL
LRETR
.endasmfunc
.asmfunc
-_rt_hw_get_st1:
+rt_hw_get_st1:
PUSH ST1
POP AL
LRETR
@@ -269,18 +341,18 @@ _rt_hw_get_st1:
; 0x000001FF 22 8
; 0x000001F0 22 8
.asmfunc
-_rt_hw_calc_csb:
+rt_hw_calc_csb:
MOV AH, #0
CSB ACC ; T = no. of sign bits - 1
MOVU ACC, T ; ACC = no. of sign bits - 1
SUBB ACC, #30 ; ACC = ACC - 30
ABS ACC ; ACC = |ACC|
- lretr
+ LRETR
.endasmfunc
; compatible with old version
.asmfunc
-_rt_hw_interrupt_thread_switch:
+rt_hw_interrupt_thread_switch:
LRETR
NOP
.endasmfunc
diff --git a/libcpu/ti-dsp/c28x/cpuport.c b/libcpu/ti-dsp/c28x/cpuport.c
index 9ffd96d4f7..e5ffbd3cc3 100644
--- a/libcpu/ti-dsp/c28x/cpuport.c
+++ b/libcpu/ti-dsp/c28x/cpuport.c
@@ -8,9 +8,12 @@
* 2018-09-01 xuzhuoyi the first version.
* 2019-07-03 zhaoxiaowei add support for __rt_ffs.
* 2019-12-05 xiaolifan add support for hardware fpu32
+ * 2022-10-17 guyunjie add support for hardware fpu64 and vcrc
*/
-#include <rtthread.h>
+#include <rthw.h>
+
+extern volatile rt_uint8_t rt_interrupt_nest;
/* exception and interrupt handler table */
rt_uint32_t rt_interrupt_from_thread;
@@ -64,6 +67,24 @@ struct stack_frame
rt_uint32_t r7h;
#endif
+#ifdef __TMS320C28XX_FPU64__
+ rt_uint32_t r0l;
+ rt_uint32_t r1l;
+ rt_uint32_t r2l;
+ rt_uint32_t r3l;
+ rt_uint32_t r4l;
+ rt_uint32_t r5l;
+ rt_uint32_t r6l;
+ rt_uint32_t r7l;
+#endif
+
+#ifdef __TMS320C28XX_VCRC__
+ rt_uint32_t vcrc;
+ rt_uint32_t vstatus;
+ rt_uint32_t vcrcpoly;
+ rt_uint32_t vcrcsize;
+#endif
+
};
rt_uint8_t *rt_hw_stack_init(void *tentry,
@@ -81,20 +102,17 @@ rt_uint8_t *rt_hw_stack_init(void *tentry,
stack_frame = (struct stack_frame *)stk;
- /* init all register */
+ /* zero all registers */
for (i = 0; i < sizeof(struct stack_frame) / sizeof(rt_uint32_t); i ++)
{
- ((rt_uint32_t *)stack_frame)[i] = 0xdeadbeef;
+ ((rt_uint32_t *)stack_frame)[i] = 0;
}
- stack_frame->exception_stack_frame.t_st0 = 0x11110000 | rt_hw_get_st0();
- stack_frame->exception_stack_frame.acc = 0x33332222;
- stack_frame->exception_stack_frame.ar1_ar0 = 0x00001111 & (unsigned long)parameter; /* ar0 : argument */
- stack_frame->exception_stack_frame.p = 0x55554444; /* p */
- stack_frame->exception_stack_frame.dp_st1 = (0x00000000) | rt_hw_get_st1() & 0xFFFFFFFE; /* dp_st1 */
- stack_frame->exception_stack_frame.dbgstat_ier = 0; /* dbgstat_ier */
- stack_frame->exception_stack_frame.return_address = (unsigned long)tentry; /* return_address */
- stack_frame->rpc = (unsigned long)texit;
+ /* configure special registers*/
+ stack_frame->exception_stack_frame.dp_st1 = 0x00000A08;
+ stack_frame->xar4 = (rt_uint32_t)parameter;
+ stack_frame->exception_stack_frame.return_address = (rt_uint32_t)tentry;
+ stack_frame->rpc = (rt_uint32_t)texit;
#ifdef __TMS320C28XX_FPU32__
stack_frame->stf = 0x00000200;
@@ -145,3 +163,32 @@ RT_WEAK void rt_hw_cpu_shutdown(void)
RT_ASSERT(0);
}
+
+void rt_interrupt_enter(void)
+{
+ rt_base_t level;
+
+ __asm(" EINT");
+ level = rt_hw_interrupt_disable();
+ rt_interrupt_nest ++;
+ RT_OBJECT_HOOK_CALL(rt_interrupt_enter_hook,());
+ rt_hw_interrupt_enable(level);
+
+ RT_DEBUG_LOG(RT_DEBUG_IRQ, ("irq has come..., irq current nest:%d\n",
+ (rt_int32_t)rt_interrupt_nest));
+}
+
+void rt_interrupt_leave(void)
+{
+ RT_DEBUG_LOG(RT_DEBUG_IRQ, ("irq is going to leave, irq current nest:%d\n",
+ (rt_int32_t)rt_interrupt_nest));
+
+ rt_hw_interrupt_disable();
+ RT_OBJECT_HOOK_CALL(rt_interrupt_leave_hook,());
+ rt_interrupt_nest --;
+ if(rt_thread_switch_interrupt_flag && !rt_interrupt_nest)
+ {
+ __asm(" OR IFR, #0x8000"); /* trigger rtos int */
+ }
+ /* rt_hw_interrupt_enable auto done by hardware on IRET */
+}
diff --git a/src/irq.c b/src/irq.c
index c417f253a6..e7465da305 100644
--- a/src/irq.c
+++ b/src/irq.c
@@ -78,7 +78,7 @@ volatile rt_uint8_t rt_interrupt_nest = 0;
*
* @see rt_interrupt_leave
*/
-void rt_interrupt_enter(void)
+RT_WEAK void rt_interrupt_enter(void)
{
rt_base_t level;
@@ -100,7 +100,7 @@ RTM_EXPORT(rt_interrupt_enter);
*
* @see rt_interrupt_enter
*/
-void rt_interrupt_leave(void)
+RT_WEAK void rt_interrupt_leave(void)
{
rt_base_t level;