Hi Thomas,
Yeah, we just noticed quite some ASM problems, creating patches…
/Ken
From: TF-M tf-m-bounces@lists.trustedfirmware.org On Behalf Of Thomas Törnblom via TF-M Sent: Wednesday, October 27, 2021 4:41 PM To: tf-m@lists.trustedfirmware.org Subject: Re: [TF-M] Inline asm syntax unified and symbol reference in IAR toolchain
Hi Ken,
I see you implemented this change anyway in psa_interface_thread.c and other places. This breaks IAR builds unfortunately: --- ... :: "i" (spm_interface_thread_dispatcher) ^ "C:\Users\thomasto\Projects\tf-m13\trusted-firmware-m\secure_fw\spm\cmsis_psa\psa_interface_thread.c",29 Error[Ta094]: Operand modifier a is not valid for operand #spm_interface_thread_dispatcher
:: "i" (tfm_spm_client_psa_framework_version), ^ "C:\Users\thomasto\Projects\tf-m13\trusted-firmware-m\secure_fw\spm\cmsis_psa\psa_interface_thread.c",43 Error[Ta094]: Operand modifier a is not valid for operand #tfm_spm_client_psa_framework_version ... ---
For IAR we need to use the #pragma required method previously used.
/Thomas Den 2021-10-19 kl. 11:11, skrev Ken Liu via TF-M: Hi Thomas,
Thanks for the confirm 😉
Let’s see if we can refine this part from a coding perspective.
/Ken
From: TF-M tf-m-bounces@lists.trustedfirmware.orgmailto:tf-m-bounces@lists.trustedfirmware.org On Behalf Of Thomas Törnblom via TF-M Sent: Tuesday, October 19, 2021 4:53 PM To: tf-m@lists.trustedfirmware.orgmailto:tf-m@lists.trustedfirmware.org Subject: Re: [TF-M] Inline asm syntax unified and symbol reference in IAR toolchain
Hi Ken,
We have an open ticket for just consuming the ".syntax unified", which is set to be fixed in a future update.
I've tested your suggestion for "#pragma required" and it doesn't seem to work.
Cheers, Thomas Den 2021-10-19 kl. 09:22, skrev Ken Liu via TF-M: Hi Thomas and all,
I noticed there are some
#if !defined(__ICCARM__) ".syntax unified \n" #endif
In source code, looks like �.syntax unified� is not support in IAR, is that true? If it could not be supported in a short term, we can define some wrapper such as:
#ifdef __ICCARM__ #define CLAIM_SYNTAX_UNIFIED �\n� #else #define CLAIM_SYNTAX_UNIFIED ".syntax unified \n" #endif
Another question is about the: #if defined(__ICCARM__) #pragma required = do_schedule #endif
If we claim do_schedule in the constraints, is the above �#pragma required� still needed?
__asm (��. :: �i�(do_schedule));
We can create a patch to test this � using a constraint looks more proper.
Thanks.
/Ken
--
Thomas T�rnblom, Product Engineer IAR Systems AB Box 23051, Strandbodgatan 1 SE-750 23 Uppsala, SWEDEN Mobile: +46 76 180 17 80 Fax: +46 18 16 78 01 E-mail: thomas.tornblom@iar.commailto:thomas.tornblom@iar.com Website: www.iar.comhttp://www.iar.com Twitter: www.twitter.com/iarsystemshttp://www.twitter.com/iarsystems
--
Thomas Törnblom, Product Engineer IAR Systems AB Box 23051, Strandbodgatan 1 SE-750 23 Uppsala, SWEDEN Mobile: +46 76 180 17 80 Fax: +46 18 16 78 01 E-mail: thomas.tornblom@iar.commailto:thomas.tornblom@iar.com Website: www.iar.comhttp://www.iar.com Twitter: www.twitter.com/iarsystemshttp://www.twitter.com/iarsystems