The ITM has a lock register that you need to unlock before programming the ITM.After setting TRCENA, could you add#define ITM_LOCK_ACCESS_REGISTER (*((volatile unsigned long *)(0xE0000FB0)))ITM_LOCK_ACCESS_REGISTER = 0xC5ACCE55;
Yes, if the debug interface is in JTAG mode, there is a switching sequence to switch it to Serial Wire model.(http://infocenter.ar...d/Chdhfbhc.html)
May I ask you why do you want to use the ITM without a debugger? :-)(I suppose you could use a UART for text output?)
From memory the Cortex-M3 has additional packets (for DWT) and the protocol details are documented in the ARMv7-M Architecture Referenence Manual.(ARM DDI 0403). Please note that the ARMv7-M Application Level Architecture Referenence Manual (ARM DDI 0405) does not include this information.You'll need to register on ARM website to get this docment.