Vx-toolset Tricore Link ✔
; myasm.s .section .text, "x" .global _my_func _my_func: movh.a %a4, #hi(my_data) lea %a4, [%a4] #lo(my_data) ld.w %d2, [%a4] ret Compile with:
memory mem_dspr0 mau = 8; size = 64k; type = ram; map (dest=bus:local, dest_offset=0x60000000, size=64k); vx-toolset tricore
section_layout :tc:linear group (ordered, run_addr=mem:dspr0) select ".data.bss"; select ".zbss"; ; myasm
// Use TASKING's __task specifier to place task control block in .task section Inline assembly int add_with_carry(int a, int b) int res; __asm(" addc %0, %1, %2" : "=d"(res) : "d"(a), "d"(b)); return res; myasm.s .section .text
The TriCore architecture has Harvard-like separated buses, and the toolset defines special sections: