Hi!
Could you please continue with your book?
We need to use a Tasking compiler, which means we need to rewrite all the assembly parts, at least.
It would be very nice to have a guideline that you indicated by the chapters "The ARM Cortex-M Port" and "CMSIS RTOS Implementation".
We would need that in very near future.
Kind regards,
Klaus
Port to Tasking on Cortex-M3
- Giovanni
- Site Admin
- Posts: 14444
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1074 times
- Been thanked: 921 times
- Contact:
Re: Port to Tasking on Cortex-M3
Hi,
You don't need to wait for the book for that, the Cortex-M port already supports 3 compilers and the 3 versions are basically the same, just follow the pattern. The book would guide you to porting to new architectures, your problem is only compiler-related, the port for Cortex-M already exists.
The hardest parts are rewriting the file rules.mk and the linker files.
Giovanni
You don't need to wait for the book for that, the Cortex-M port already supports 3 compilers and the 3 versions are basically the same, just follow the pattern. The book would guide you to porting to new architectures, your problem is only compiler-related, the port for Cortex-M already exists.
The hardest parts are rewriting the file rules.mk and the linker files.
Giovanni
- Giovanni
- Site Admin
- Posts: 14444
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1074 times
- Been thanked: 921 times
- Contact:
Re: Port to Tasking on Cortex-M3
Just a note, you don't need to rewrite assembly parts, you just need to translate the .S files to the syntax of the tasking compiler, the asm code itself should be equal 1:1.
Most of differences are handled by the CMSIS headers, so there is little work to do in the port itself.
I have requested a free trial of the compiler.
Giovanni
Most of differences are handled by the CMSIS headers, so there is little work to do in the port itself.
I have requested a free trial of the compiler.
Giovanni
Re: Port to Tasking on Cortex-M3
Hi!
Thanks for the advice, but since I am neither familiar with the Cortex M3 nor with the OS, it would be nice to have the basics of the OS with respect to the CPU in a form that is easyly understandable. Finding faults is easier if you know what can be expected.
I have already done tried to port, and it does mostly what I would expect, but I am not sure.
Most problematic was that the assembler does not recognize #define or #include.
Also I missed out on stuff in startup code.
Kind regards,
Klaus Dums
Thanks for the advice, but since I am neither familiar with the Cortex M3 nor with the OS, it would be nice to have the basics of the OS with respect to the CPU in a form that is easyly understandable. Finding faults is easier if you know what can be expected.
I have already done tried to port, and it does mostly what I would expect, but I am not sure.
Most problematic was that the assembler does not recognize #define or #include.
Also I missed out on stuff in startup code.
Kind regards,
Klaus Dums
Re: Port to Tasking on Cortex-M3
Hi!
Since the assembler from TASKING cannot preprocess, I had to build c-functions with inline assembler.
But I am therefore dependent on the compiler not to mess up the stack scheme (which it does ).
Do you think it's possible to split assambler and c-functions cleanly in order not to depend on preprocessor in assembler files?
How can I send files to you for review?
Kind regards,
Klaus Dums
Since the assembler from TASKING cannot preprocess, I had to build c-functions with inline assembler.
But I am therefore dependent on the compiler not to mess up the stack scheme (which it does ).
Do you think it's possible to split assambler and c-functions cleanly in order not to depend on preprocessor in assembler files?
How can I send files to you for review?
Kind regards,
Klaus Dums
- Giovanni
- Site Admin
- Posts: 14444
- Joined: Wed May 27, 2009 8:48 am
- Location: Salerno, Italy
- Has thanked: 1074 times
- Been thanked: 921 times
- Contact:
Re: Port to Tasking on Cortex-M3
Hi,
There is a strong assumption about preprocessing of assembler files because dependencies on chconf.h.
Using inline asm is a bad idea because the prologue/epilogue code added by the compiler that cannot be predicted. Have you considered using the GCC preprocessor on Tasking asm modules? you need to add one step to your build process.
Giovanni
There is a strong assumption about preprocessing of assembler files because dependencies on chconf.h.
Using inline asm is a bad idea because the prologue/epilogue code added by the compiler that cannot be predicted. Have you considered using the GCC preprocessor on Tasking asm modules? you need to add one step to your build process.
Giovanni
Return to “Development and Feedback”
Who is online
Users browsing this forum: No registered users and 19 guests