Processor Expert insists on using undefined pragmas

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Processor Expert insists on using undefined pragmas

跳至解决方案
2,725 次查看
GaryOlmstead
Senior Contributor I

Same project as my last message.  Processor Expert generates a "#pragma interrupt alignsp saveall" line, which leads to a Link Error: Undefined: INTERRUPT_SAVEALL" and also "Undefined: INTERRUPT_RESTOREALL" errors.  I can't find saveall or restoreall documented, and when I type "#pragma" and then Alt ., saveall and restoreall don't show in the pop up window.  Deleting the saveall gets rid of the error, but PE restores it the next time it runs.

 

How can I either 1) tell CW that saveall and restoreall are legit, or 2) persuade PE to stop adding them every time it runs?

标签 (1)
标记 (1)
0 项奖励
回复
1 解答
1,128 次查看
GaryOlmstead
Senior Contributor I

Hi Pascal --

 

I stumbled across the answer.  There is a file called save_reg.asm that contains two routines.  One is INTERRUPT_SAVEALL and the other is INTERRUPT_RESTOREALL.  As you've probably guessed, it's out in the middle of nowhere.  Specifically: "C:\Program Files\Metrowerks\CW for 56800\M56800E Support\runtime_56800E\save_reg"  at least on my computer; yours will be identical after CW for 56800.

 

Thanks for your help and support.


Gary

在原帖中查看解决方案

0 项奖励
回复
4 回复数
1,128 次查看
trytohelp
NXP Employee
NXP Employee

Hi,

 

If you're using Processor Expert, your application should contains a Generated Code folder.

All files listed in this folder are re-generated  when you re-build the project by Processor Expert.

By default the user mus not change code for all these files.

If you need to adapt the generated code you can freeze Processor Expert with the option Processor Expert ¦ Frezze Generated code.

By this way Processor Expert will freeze the code and you can modify the source files in Generated code Folder.

However if you need to change something in Processor Expert for instance adapt a bean or add another one, all your modification will disappear if your re-generate the Processor Expert Code.

 

Now Regarding the problem with Interrupt.

I can not explain why the code generated by Processor Expert introduces linker error.

I suspect a problem with the project configuration.

Can you check your project ?

 

If you don't find what is the trouble, we could try on our side.

To do that we need your project.

 

Regards

Pascal

0 项奖励
回复
1,128 次查看
GaryOlmstead
Senior Contributor I

Hi Pascal --

 

"Now Regarding the problem with Interrupt.

I can not explain why the code generated by Processor Expert introduces linker error.

I suspect a problem with the project configuration.

Can you check your project ?"

 

Well, yes, but check it for what?

 

Gary

 

0 项奖励
回复
1,128 次查看
trytohelp
NXP Employee
NXP Employee

Hi,

 

I think something must be wrong in your project but I can not provide you more info.

May be it's related to the previous question you posted.

I don't know.

 

Pascal

0 项奖励
回复
1,129 次查看
GaryOlmstead
Senior Contributor I

Hi Pascal --

 

I stumbled across the answer.  There is a file called save_reg.asm that contains two routines.  One is INTERRUPT_SAVEALL and the other is INTERRUPT_RESTOREALL.  As you've probably guessed, it's out in the middle of nowhere.  Specifically: "C:\Program Files\Metrowerks\CW for 56800\M56800E Support\runtime_56800E\save_reg"  at least on my computer; yours will be identical after CW for 56800.

 

Thanks for your help and support.


Gary

0 项奖励
回复