When compiling a project with CW PA, I get this error: illegal use of frame pointer (r31) in statement level assembler / mingw32-make: ***. In fact, in a C-file, there are parts in Assembly. In those parts, we manipulate the registers. And it seems that CodeWarrior doesn't accept such manipulations on r31. It there a way to bypass this verification?
Just to clarify the situation, I started the project with source code for WindRiver compiler. We are looking to switch with CodeWarrior. Our current processor is P1020, which is at the end of life. We target to replace it with T1024 (Power Architecture). In the WindRiver documentation, there is a whole chapiter for the calling conventions. There isn't such chapiter in this document "CodeWarrior Development Studio for Power Architecture Processors Build Tools Reference Manual". Is there a document giving details for the CW PA Calling Conventions?
Thanks in advance for your help,
Hi yipingwang,
A work colleague had already worked on this problem before me and he took the initiative to replace r31 by r29 and r30 by r28. That's what I did myself. However, I would like to know which registers I can use for future reference.
Please refer to the attached c-file for the single C function with assembly parts