Release 6.1.9

This commit is contained in:
Yuxin Zhou
2021-10-14 00:51:26 +00:00
parent 215df45d4b
commit 1af8404c54
1812 changed files with 60698 additions and 249862 deletions

View File

@@ -1,35 +0,0 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="com.arc.cdt.toolchain.av2hs.exeDebugConfig.585788724" name="Debug">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider copy-of="extension" id="com.arc.cdt.toolchain.arc.language.settings.providers.MccBuildCommandParser"/>
<provider class="com.arc.cdt.toolchain.arc.language.settings.providers.MccBuiltinSpecsDetector" console="false" env-hash="1734832501520030440" id="com.arc.cdt.toolchain.arc.language.settings.providers.MccBuiltinSpecsDetector" keep-relative-paths="false" name="MetaWare MCC Built-in Compiler Settings" parameter="mcc ${FLAGS} -Hbatchnotmp -Hnoobj &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider class="com.arc.cdt.toolchain.arc.language.settings.providers.ClangBuildCommandParser" id="com.arc.cdt.toolchain.arc.language.settings.providers.ClangBuildCommandParser" keep-relative-paths="false" name="MetaWare CCAC Build Output Parser" parameter="ccac" prefer-non-shared="true"/>
<provider class="com.arc.cdt.toolchain.arc.language.settings.providers.ClangBuiltinSpecsDetector" console="false" env-hash="1673674853901204072" id="com.arc.cdt.toolchain.arc.language.settings.providers.ClangBuiltinSpecsDetector" keep-relative-paths="false" name="MetaWare CCAC Built-in Compiler Settings" parameter="ccac ${FLAGS} -v -dM -E &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
<configuration id="com.arc.cdt.toolchain.av2hs.exeReleaseConfig.2024992869" name="Release">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider copy-of="extension" id="com.arc.cdt.toolchain.arc.language.settings.providers.MccBuildCommandParser"/>
<provider class="com.arc.cdt.toolchain.arc.language.settings.providers.MccBuiltinSpecsDetector" console="false" env-hash="1684062019059214440" id="com.arc.cdt.toolchain.arc.language.settings.providers.MccBuiltinSpecsDetector" keep-relative-paths="false" name="MetaWare MCC Built-in Compiler Settings" parameter="mcc ${FLAGS} -Hbatchnotmp -Hnoobj &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider copy-of="extension" id="com.arc.cdt.toolchain.arc.language.settings.providers.ClangBuildCommandParser"/>
<provider class="com.arc.cdt.toolchain.arc.language.settings.providers.ClangBuiltinSpecsDetector" console="false" env-hash="1673550871635467816" id="com.arc.cdt.toolchain.arc.language.settings.providers.ClangBuiltinSpecsDetector" keep-relative-paths="false" name="MetaWare CCAC Built-in Compiler Settings" parameter="ccac ${FLAGS} -v -dM -E &quot;${INPUTS}&quot;" prefer-non-shared="true">
<language-scope id="org.eclipse.cdt.core.gcc"/>
<language-scope id="org.eclipse.cdt.core.g++"/>
</provider>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
</project>

View File

@@ -14,9 +14,8 @@ IVT_SIZE_BYTES = IVT_SIZE_ITEMS * 4;//in bytes
//define ICCM and DCCM locations
MEMORY {
ICCM: ORIGIN = 0x00000000, LENGTH = 128K
DCCM: ORIGIN = 0x80000000, LENGTH = 128K
ICCM: ORIGIN = 0x00000000, LENGTH = 128K
DCCM: ORIGIN = 0x80000000, LENGTH = 128K
}
//define sections and groups
@@ -24,11 +23,11 @@ SECTIONS {
GROUP: {
.ivt (TEXT) : # Interrupt table
{
___ivt1 = .;
* (.ivt)
___ivt2 = .;
// Make the IVT at least IVT_SIZE_BYTES
. += (___ivt2 - ___ivt1 < IVT_SIZE_BYTES) ? (IVT_SIZE_BYTES - (___ivt2 - ___ivt1)) : 0;
___ivt1 = .;
* (.ivt)
___ivt2 = .;
// Make the IVT at least IVT_SIZE_BYTES
. += (___ivt2 - ___ivt1 < IVT_SIZE_BYTES) ? (IVT_SIZE_BYTES - (___ivt2 - ___ivt1)) : 0;
}
.ivh (TEXT) : // Interrupt handlers
@@ -46,7 +45,9 @@ SECTIONS {
*(DATA): {}
*(BSS): {}
//stack
.stack_top: {}
.stack ALIGN(4) SIZE(DEFINED _STACKSIZE?_STACKSIZE:4096): {}
.stack_base: {}
//heap (empty)
.heap? ALIGN(4) SIZE(DEFINED _HEAPSIZE?_HEAPSIZE:0): {}
.free_memory: {}

View File

@@ -8,86 +8,88 @@
;/* and in the root directory of this software. */
;/* */
;/**************************************************************************/
;
;
;/**************************************************************************/
;/**************************************************************************/
;/** */
;/** ThreadX Component */
;/** */
;/** ThreadX Component */
;/** */
;/** Initialize */
;/** */
;/**************************************************************************/
;/**************************************************************************/
;
.equ IRQ_SELECT, 0x40B
;
;
; /* Define section for placement after all linker allocated RAM memory. This
; is used to calculate the first free address that is passed to
; is used to calculate the first free address that is passed to
; tx_appication_define, soley for the ThreadX application's use. */
;
.section ".free_memory","aw"
.align 4
.global _tx_first_free_address
_tx_first_free_address:
.space 4
.space 4
;
;
.text
;/**************************************************************************/
;/* */
;/* FUNCTION RELEASE */
;/* */
;/**************************************************************************/
;/* */
;/* FUNCTION RELEASE */
;/* */
;/* _tx_initialize_low_level ARC_HS/MetaWare */
;/* 6.1 */
;/* 6.1.9 */
;/* 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 */
;/* 10-15-2021 Andres Mlinar Modified comment(s), optimized*/
;/* system stack usage, */
;/* resulting in version 6.1.9 */
;/* */
;/**************************************************************************/
;VOID _tx_initialize_low_level(VOID)
;{
.global _tx_initialize_low_level
.type _tx_initialize_low_level, @function
.type _tx_initialize_low_level, @function
_tx_initialize_low_level:
;
; /* Save the system stack pointer. */
; _tx_thread_system_stack_ptr = (VOID_PTR) (sp);
;
st sp, [gp, _tx_thread_system_stack_ptr@sda] ; Save system stack pointer
mov r0, _estack ; Pickup the end of stack address
st r0, [gp, _tx_thread_system_stack_ptr@sda] ; Save system stack pointer
;
;
; /* Pickup the first available memory address. */
@@ -101,7 +103,7 @@ _tx_initialize_low_level:
;
;
; /* Setup Timer 0 for periodic interrupts at interrupt vector 16. */
;
;
mov r0, 0 ; Disable additional ISR reg saving/restoring
sr r0, [AUX_IRQ_CTRL] ;
@@ -142,7 +144,7 @@ _tx_initialize_low_level:
;
; /* Define default vector table entries. */
;
.global _tx_memory_error
.global _tx_memory_error
_tx_memory_error:
flag 1
nop
@@ -150,7 +152,7 @@ _tx_memory_error:
nop
b _tx_memory_error
.global _tx_instruction_error
.global _tx_instruction_error
_tx_instruction_error:
flag 1
nop
@@ -158,7 +160,7 @@ _tx_instruction_error:
nop
b _tx_instruction_error
.global _tx_ev_machine_check
.global _tx_ev_machine_check
_tx_ev_machine_check:
flag 1
nop
@@ -166,7 +168,7 @@ _tx_ev_machine_check:
nop
b _tx_ev_machine_check
.global _tx_ev_tblmiss_inst
.global _tx_ev_tblmiss_inst
_tx_ev_tblmiss_inst:
flag 1
nop
@@ -174,7 +176,7 @@ _tx_ev_tblmiss_inst:
nop
b _tx_ev_tblmiss_inst
.global _tx_ev_tblmiss_data
.global _tx_ev_tblmiss_data
_tx_ev_tblmiss_data:
flag 1
nop
@@ -182,7 +184,7 @@ _tx_ev_tblmiss_data:
nop
b _tx_ev_tblmiss_data
.global _tx_ev_protection_viol
.global _tx_ev_protection_viol
_tx_ev_protection_viol:
flag 1
nop
@@ -190,7 +192,7 @@ _tx_ev_protection_viol:
nop
b _tx_ev_protection_viol
.global _tx_ev_privilege_viol
.global _tx_ev_privilege_viol
_tx_ev_privilege_viol:
flag 1
nop
@@ -198,7 +200,7 @@ _tx_ev_privilege_viol:
nop
b _tx_ev_privilege_viol
.global _tx_ev_software_int
.global _tx_ev_software_int
_tx_ev_software_int:
flag 1
nop
@@ -206,7 +208,7 @@ _tx_ev_software_int:
nop
b _tx_ev_software_int
.global _tx_ev_trap
.global _tx_ev_trap
_tx_ev_trap:
flag 1
nop
@@ -214,7 +216,7 @@ _tx_ev_trap:
nop
b _tx_ev_trap
.global _tx_ev_extension
.global _tx_ev_extension
_tx_ev_extension:
flag 1
nop
@@ -222,7 +224,7 @@ _tx_ev_extension:
nop
b _tx_ev_extension
.global _tx_ev_divide_by_zero
.global _tx_ev_divide_by_zero
_tx_ev_divide_by_zero:
flag 1
nop
@@ -230,7 +232,7 @@ _tx_ev_divide_by_zero:
nop
b _tx_ev_divide_by_zero
.global _tx_ev_dc_error
.global _tx_ev_dc_error
_tx_ev_dc_error:
flag 1
nop
@@ -238,7 +240,7 @@ _tx_ev_dc_error:
nop
b _tx_ev_dc_error
.global _tx_ev_maligned
.global _tx_ev_maligned
_tx_ev_maligned:
flag 1
nop
@@ -246,7 +248,7 @@ _tx_ev_maligned:
nop
b _tx_ev_maligned
.global _tx_unsued_0
.global _tx_unsued_0
_tx_unsued_0:
flag 1
nop
@@ -254,7 +256,7 @@ _tx_unsued_0:
nop
b _tx_unsued_0
.global _tx_unused_1
.global _tx_unused_1
_tx_unused_1:
flag 1
nop
@@ -262,7 +264,7 @@ _tx_unused_1:
nop
b _tx_unused_1
.global _tx_timer_0
.global _tx_timer_0
_tx_timer_0:
;
; /* By default, setup Timer 0 as the ThreadX timer interrupt. */
@@ -282,7 +284,7 @@ _tx_timer_0:
; nop
; b _tx_timer_0
.global _tx_timer_1
.global _tx_timer_1
_tx_timer_1:
flag 1
nop
@@ -301,7 +303,7 @@ _tx_timer_1:
;
; b _tx_thread_context_fast_restore
.global _tx_undefined_0
.global _tx_undefined_0
_tx_undefined_0:
flag 1
nop
@@ -309,7 +311,7 @@ _tx_undefined_0:
nop
b _tx_undefined_0
.global _tx_undefined_1
.global _tx_undefined_1
_tx_undefined_1:
flag 1
nop
@@ -317,7 +319,7 @@ _tx_undefined_1:
nop
b _tx_undefined_1
.global _tx_undefined_2
.global _tx_undefined_2
_tx_undefined_2:
flag 1
nop