Porting

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Porting

463件の閲覧回数
Aswin_5232
Contributor II

I am trying to port code from cosmic compiler to code warrior 5.2 for HCS12 controller, when I am calling a function which is inside another function , the value passed to the first function is not updated correctly,

 

eg. void Update_Display(uint8_t update)
{

LCD_srWriteToDisplay(string1,SCREEN_LINE_WIDTH,20,0);

}

inside  LCD_srWriteToDisplay function, the arguments are not having the same value which I have passed. 

0 件の賞賛
返信
1 返信

426件の閲覧回数
danielmartynek
NXP TechSupport
NXP TechSupport

Hi @Aswin_5232,

TN234, https://www.nxp.com/docs/en/application-note/TN234.pdf

explains this issue in the section “Porting non‑ANSI‑C Keywords”, where it shows that Cosmic’s @near/@far must be replaced with CodeWarrior’s __near/__far, including for functions, because CW uses different calling conventions for near vs. far calls.
If a function ends up in banked code but is not declared __far, CW will generate a near call, causing the function to read wrong parameters.

 

Regards,

Daniel

 

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2314588%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E7%A7%BB%E6%A4%8D%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2314588%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E7%A7%81%E3%81%AFHCS12%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E7%94%A8%E3%81%AECosmic%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%A9%E3%83%BC%E3%81%8B%E3%82%89Code%20Warrior%205.2%E3%81%AB%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E7%A7%BB%E6%A4%8D%E3%81%97%E3%82%88%E3%81%86%E3%81%A8%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8C%E3%80%81%E5%88%A5%E3%81%AE%E9%96%A2%E6%95%B0%E5%86%85%E3%81%AB%E3%81%82%E3%82%8B%E9%96%A2%E6%95%B0%E3%82%92%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%E3%81%A8%E3%80%81%E6%9C%80%E5%88%9D%E3%81%AE%E9%96%A2%E6%95%B0%E3%81%AB%E6%B8%A1%E3%81%95%E3%82%8C%E3%82%8B%E5%80%A4%E3%81%8C%E6%AD%A3%E3%81%97%E3%81%8F%E6%9B%B4%E6%96%B0%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E4%BE%8B%3A%20void%20Update_Display(uint8_t%20update)%3CBR%20%2F%3E%20%7B%3C%2FP%3E%3CP%3E%3CSPAN%3ELCD_srWriteToDisplay(%E6%96%87%E5%AD%97%E5%88%971%E3%80%81SCREEN_LINE_WIDTH%E3%80%8120%E3%80%810)%3B%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%7D%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3ELCD_srWriteToDisplay%20%E9%96%A2%E6%95%B0%E5%86%85%E3%81%A7%E3%80%81%E5%BC%95%E6%95%B0%E3%81%AF%E6%B8%A1%E3%81%97%E3%81%9F%E5%80%A4%E3%81%A8%E5%90%8C%E3%81%98%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2316144%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20Porting%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2316144%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F259706%22%20target%3D%22_blank%22%3E%40Aswin_5232%E3%81%95%E3%82%93%3C%2FA%3E%E3%80%81%3C%2FP%3E%0A%3CP%3ETN234%E3%80%81%20%3CA%20href%3D%22https%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FTN234.pdf%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttps%3A%2F%2Fwww.nxp.com%2Fdocs%2Fen%2Fapplication-note%2FTN234.pdf%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E3%80%8CANSI-C%20%E4%BB%A5%E5%A4%96%E3%81%AE%E3%82%AD%E3%83%BC%E3%83%AF%E3%83%BC%E3%83%89%E3%81%AE%E7%A7%BB%E6%A4%8D%E3%80%8D%E3%82%BB%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%A7%E3%81%93%E3%81%AE%E5%95%8F%E9%A1%8C%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6%E8%AA%AC%E6%98%8E%E3%81%97%E3%81%A6%E3%81%8A%E3%82%8A%E3%80%81CW%20%E3%81%A7%E3%81%AF%20near%20%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A8%20far%20%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%81%A7%E7%95%B0%E3%81%AA%E3%82%8B%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E8%A6%8F%E7%B4%84%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E9%96%A2%E6%95%B0%E3%82%82%E5%90%AB%E3%82%81%E3%81%A6%E3%80%81Cosmic%20%E3%81%AE%20%40near%2F%40far%20%E3%82%92%20CodeWarrior%20%E3%81%AE__near%2F__%20far%20%E3%81%AB%E7%BD%AE%E3%81%8D%E6%8F%9B%E3%81%88%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E7%A4%BA%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E9%96%A2%E6%95%B0%E3%81%8C%E3%83%90%E3%83%B3%E3%82%AF%20%E3%82%B3%E3%83%BC%E3%83%89%E5%86%85%E3%81%AB%E3%81%82%E3%81%A3%E3%81%A6%E3%82%82%20__far%20%E3%81%A8%E3%81%97%E3%81%A6%E5%AE%A3%E8%A8%80%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88%E3%80%81CW%20%E3%81%AF%20near%20%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%97%E3%82%92%E7%94%9F%E6%88%90%E3%81%97%E3%80%81%E9%96%A2%E6%95%B0%E3%81%8C%E9%96%93%E9%81%95%E3%81%A3%E3%81%9F%E3%83%91%E3%83%A9%E3%83%A1%E3%83%BC%E3%82%BF%E3%82%92%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8B%E5%8E%9F%E5%9B%A0%E3%81%AB%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CBR%20%2F%3E%0A%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%0A%3CP%3E%E3%83%80%E3%83%8B%E3%82%A8%E3%83%AB%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E