![]() I will be testing more so I’ll post updates if I come across anything strange. Right now I’m just happy it works so far. I have not tried attribute ((naked)) or looked at the generated assembly to see if it can be slimmed down. Then using the GCC syntax for assembly, for example, in ulPortRaiseBASEPRI: _asm( "mrs %, basepri msr basepri, % dsb isb" : "=r" (ulReturn) : "r" (ulNewBASEPRI) ) #define portFORCE_INLINE _attribute_((always_inline)) So far the only thing tricky I did was to make changes in portmacro.h. I have not been able to test everything yet but the basic tasks seem to be running with their expected timing, including interrupt handling with yielding from ISRs. ![]() That required setting “Enum Containers always int” and adding the compiler flag “–wchar32” in order to make a library that would link with the armclag-built code. I did have trouble building the FreeRTOS source itself, so I built that as a library with the old compiler. ![]() I have good news – my whole project is up and running using armclang! Maybe not, as that won’t help with functions that are really macros. One possibility that occurred to me: could I build FreeRTOS as a static library, with the old compiler, and drop it into a project built with ARMCLANG? Is anyone else using this new compiler? Anyone else attempting a port? FreeRTOS is working great for me with the older ARMCC compiler. ![]() My target is a SAM4E16E (Cortex-M4) chip. I’m willing to try, but if it is going to be extremely hairy I’ll probably have to give up and use the old compiler. I’m not sure I’m up to the task of porting FreeRTOS myself. However, it supports a different syntax for inline assembly, and Keil’s docs don’t describe it well. I would love to use this compiler for my project as it has support for a much more modern version of C++, a lot better static analysis, more warnings, compiles faster, does the dishes and mops the floor, etc. Product: MDK-ARM Standard Cortex-M only 5.20 Licenses include a year's support and maintenance as well as upgrades to the latest implementations as and when they are released.Keil/ARM dropped an updated MDK that comes with a version of ARMCLANG:Ĭ:\Keil_v5\ARM\ARMCLANG\bin>armclang -version The full feature set of MDK-Professional is available for less than the cost of a single component available from some vendors. Source code is not required for porting purposes or retargeting to new hardware. It is also useful where source code is needed for product certification. Access to the source code allows you to rebuild libraries or extend their feature set. Middleware source code is available as a separate product. Once licensed you can ship products created using MDK-Professional with no further fees.įull source code for RTX is included in all MDK-ARM Editions. There are no run-time royalty payments or other hidden charges. This allows you to purchase MDK-Professional once and use it in all current and future products without additional payments.Īll engineers using MDK-Professional must have a valid license.Īll middleware components are supplied Royalty-Free. The MDK-Professional End User License entitles a single engineer to use the middleware components in multiple projects. Each license entitles a single engineer to use the middleware libraries in multiple projects. Keil Middleware components are supplied royalty-free as part of MDK-Professional Edition. Home / ARM Development Tools Keil RTX and Middleware Licensing
0 Comments
Leave a Reply. |
Details
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |