How can I obtain 802.15.4 protocol stack gcc library or source for MCR20A and KW2x?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How can I obtain 802.15.4 protocol stack gcc library or source for MCR20A and KW2x?

Jump to solution
2,154 Views
aaronledger
Contributor I

I have downloaded the 802.15.4 protocol stack software for MCR20A​ and KW2x​. The projects only come in IAR EWARM form. I can migrate most of the project into KDS using gcc, but the required library file for 802.15.4 is only in an IAR compatible form. I either need a gcc compatible library or source code to compile it myself.

0 Kudos
1 Solution
1,578 Views
EarlOrlando
Senior Contributor II

Hello Aaron,

Since the stack comes in a library compiled with IAR, I think that migrate the code and have complete compatibility will be impossible.

The EABI is a standard that defines the mapping between low level concepts in high level languages. The purpose of this EABI is to allow interoperability between objects built in different tools. However, IAR doesn't have a public EABI. Each build tools provider provides its own EABI, allowing interoperability between objects built with the same build tools. Making the mentioned libraries interoperable could be possible only if the EABIs are compatible.

However, the thread in the link below could be useful for you.

MCR20A source migration from IAR to KDS

The reason our stacks are only supported for IAR is that it is a compiler more efficient than GCC and as you may know these are very complex stacks where the footprint would be considerably impacted.

Best regards,

Earl.

View solution in original post

0 Kudos
5 Replies
1,579 Views
EarlOrlando
Senior Contributor II

Hello Aaron,

Since the stack comes in a library compiled with IAR, I think that migrate the code and have complete compatibility will be impossible.

The EABI is a standard that defines the mapping between low level concepts in high level languages. The purpose of this EABI is to allow interoperability between objects built in different tools. However, IAR doesn't have a public EABI. Each build tools provider provides its own EABI, allowing interoperability between objects built with the same build tools. Making the mentioned libraries interoperable could be possible only if the EABIs are compatible.

However, the thread in the link below could be useful for you.

MCR20A source migration from IAR to KDS

The reason our stacks are only supported for IAR is that it is a compiler more efficient than GCC and as you may know these are very complex stacks where the footprint would be considerably impacted.

Best regards,

Earl.

0 Kudos
1,578 Views
lixn_paulian
Contributor II

"The reason our stacks are only supported for IAR is that it is a compiler more efficient than GCC and as you may know these are very complex stacks where the footprint would be considerably impacted."

Do you have any proof to this affirmation? This is really FUD.

0 Kudos
1,578 Views
aaronledger
Contributor I

Thanks Earl.

It's not really the answer I wanted, but at least I know that it isn't possible to compile with gcc using the 802.15.4 stack. Even if the code is a bigger footprint with gcc, it would be great if we at least had the option to have a choice.

0 Kudos
1,578 Views
ignisuti_
Contributor IV

Aaron,

Sorry for the late response, but just noticed your follow-up to one of my posts that I started 9 months ago when looking for the same thing. What you want IS possible, but it requires a pretty intricate knowledge of how the data is passed back and forth between the MCU and transceiver. Also requires a lot of knowledge about the IAR and GCC compilers to weed through all the compiler-specific directives.

Instead of purchasing the costly IAR license, I ported that code over to CodeWarrior 10.6 (GCC) and have since ported again to KDS. I haven't looked at the specific footprint size of the RF code, but my entire project is currently 71KB and it includes a lot of peripheral support and a very robust wireless (OTA) Bootloader that allows our production team to perform mass-programming. Considering the KW2x we're using has 256KB which can easily be upgraded to 512KB, code optimization efficiency is much lower on our priority list than time to market and ease of maintainability (which we felt would be best in CodeWarrior/KDS due to our expertise with those IDEs).

0 Kudos
1,578 Views
aaronledger
Contributor I

That's interesting. So you have managed to take the 802.15.4 IAR library and transform it into gcc compatible library?

0 Kudos