eclipse-threadx / threadx

Eclipse ThreadX is an advanced real-time operating system (RTOS) designed specifically for deeply embedded applications.
https://github.com/eclipse-threadx/rtos-docs/blob/main/rtos-docs/threadx/index.md
MIT License
2.87k stars 782 forks source link

__attribute__( ( always_inline ) ) gives error in tx_port.h file #225

Closed kaushaleinfo closed 1 year ago

kaushaleinfo commented 1 year ago

Describe the bug while compiling threadX project in IAR IDE V 6.5 gives error attribute( ( always_inline ) ) in tx_port.h file.

Please also mention any information which could help others to understand the problem you're facing:

To Reproduce Steps to reproduce the behavior:

  1. Build my project in IAR Workbench.
  2. See error

Expected behavior It shouldn't give error

Impact Not able to compile threadX project

Logs and console output attribute( ( always_inline ) ) static inline unsigned int __disable_interrupts(void) { unsigned int int_posture;

int_posture = __get_interrupt_posture();

ifdef TX_PORT_USE_BASEPRI

__set_basepri_value(TX_PORT_BASEPRI);

else

__asm__ volatile ("CPSID i" : : : "memory");

endif

return(int_posture);

}

Additional context

goldscott commented 1 year ago

Perhaps this is due to a very old version of IAR. Can you please update to a newer version of EWARM?

kaushaleinfo commented 1 year ago

Yes It is working in latest version of EWARM but it is necessary to work with IAR IDE 6.5 only. Please give us some solutions on that.

Thanks & Regards, Kaushal Panchal From: Scott @.> Sent: 20 January 2023 01:25 AM To: azure-rtos/threadx @.> Cc: Kaushal Panchal @.>; Author @.> Subject: [External] Re: [azure-rtos/threadx] attribute( ( always_inline ) ) gives error in tx_port.h file (Issue #225)

CAUTION: This email originated from outside of the organization. This message might not be safe, use caution in opening it. If in doubt, do not open the attachment nor links in the message.

Perhaps this is due to a very old version of IAR. Can you please update to a newer version of EWARM?

- Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fazure-rtos%2Fthreadx%2Fissues%2F225%23issuecomment-1397521293&data=05%7C01%7Ckaushal.panchal%40einfochips.com%7C616732c7d998498897d308dafa56fbdd%7C0beb0c359cbb4feb99e5589e415c7944%7C1%7C0%7C638097548750438921%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=EHfuHFaOSkd9X3m5uiaHczcS4S1yIdPdqfi%2F8D11%2FO8%3D&reserved=0, or unsubscribehttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWAIOX7SSLBUL3XUUUSG4BDWTGLXRANCNFSM6AAAAAAT62F5DE&data=05%7C01%7Ckaushal.panchal%40einfochips.com%7C616732c7d998498897d308dafa56fbdd%7C0beb0c359cbb4feb99e5589e415c7944%7C1%7C0%7C638097548750438921%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=NrhjGx7KwubE%2FEcBu2HGMD9uf9PcNxLKk1kRN3V0Uh4%3D&reserved=0. You are receiving this because you authored the thread.Message ID: @.**@.>>

goldscott commented 1 year ago

It sounds like you've already found a solution - remove the attribute.

kaushaleinfo commented 1 year ago

Is it okay to remove the attribute? I mean does it give any negative impact on performance or functionality?

From: Scott @.> Sent: 20 January 2023 11:07 PM To: azure-rtos/threadx @.> Cc: Kaushal Panchal @.>; Author @.> Subject: [External] Re: [azure-rtos/threadx] attribute( ( always_inline ) ) gives error in tx_port.h file (Issue #225)

CAUTION: This email originated from outside of the organization. This message might not be safe, use caution in opening it. If in doubt, do not open the attachment nor links in the message.

It sounds like you've already found a solution - remove the attribute.

- Reply to this email directly, view it on GitHubhttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fazure-rtos%2Fthreadx%2Fissues%2F225%23issuecomment-1398726482&data=05%7C01%7Ckaushal.panchal%40einfochips.com%7C7b05f7a07fa74c968b7d08dafb0cfb94%7C0beb0c359cbb4feb99e5589e415c7944%7C1%7C0%7C638098330440071231%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=D0GgS0dhFp6ESHcItgjbimdgV8jP3%2FnJjLS6IWJj674%3D&reserved=0, or unsubscribehttps://nam04.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAWAIOX4QSNGZKWODUMT2DILWTLEM7ANCNFSM6AAAAAAT62F5DE&data=05%7C01%7Ckaushal.panchal%40einfochips.com%7C7b05f7a07fa74c968b7d08dafb0cfb94%7C0beb0c359cbb4feb99e5589e415c7944%7C1%7C0%7C638098330440071231%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C3000%7C%7C%7C&sdata=aeermqpWrz8DS22smsiSXqim7hcgmiHlihoL1ZEUDvU%3D&reserved=0. You are receiving this because you authored the thread.Message ID: @.**@.>>

kaushaleinfo commented 1 year ago

Please answer as soon as possible. Is it okay to remove the attribute? I mean does it give any negative impact on performance or functionality?

goldscott commented 1 year ago

The compiler is probably smart enough to inline the function call anyway, though it likely depends on your optimization settings. To be absolutely sure, you should look at the generated assembly code to see if it in-lines the functions or not.