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.org> On Behalf Of Thomas Törnblom via TF-M
Sent: Tuesday, October 19, 2021 4:53 PM
To: 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,
ThomasDen 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.com Website: www.iar.com
Twitter: 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.com Website:
www.iar.com
Twitter: www.twitter.com/iarsystems