Extended inline assembly with GCC in CodeWarrior

Document created by Jorge_Gonzalez Employee on Sep 30, 2014Last modified by ebiz_ws_prod on Dec 13, 2017
Version 7Show Document
  • View in full screen mode

Hello community!


Nowadays assembly language is being eradicated for embedded systems, and other alternatives such as C/C++ are widely used.


However we know sometimes it becomes necessary to get to "the bones" of our MCU, even from a C project, and play directly with its registers and status flags. Some use cases are:


- Startup code

- Bootloaders

- Time critical routines

- Benchmarking


It is common to include assembly code using the "asm()" style. But what if I want to use my C variables in the assembly code? or if I want to call an assembly subroutine from a C project? The GCC toolchain integrated with CodeWarrior brings this flexibility.


In the attached pdf document you can find an overview and explanation of this extended assembly feature. Also attached a pair of example projects tested with CW v10.6 using KL25Z128 and K60DN512.


Thanks to Abigail Inzunza Lopez for helping with this.


I hope you like it !

Original Attachment has been moved to: CW_KL25_ASM_C.zip

Original Attachment has been moved to: CW_K60D100_ASM_C.zip

1 person found this helpful