2314588_ja-JP

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

2314588_ja-JP

2314588_ja-JP

移植

私はHCS12コントローラ用のCosmicコンパイラーからCode Warrior 5.2にコードを移植しようとしていますが、別の関数内にある関数を呼び出すと、最初の関数に渡される値が正しく更新されません。


例: void Update_Display(uint8_t update)
{

LCD_srWriteToDisplay(文字列1、SCREEN_LINE_WIDTH、20、0);

}

LCD_srWriteToDisplay 関数内で、引数は渡した値と同じではありません。

Re: Porting

こんにちは@Aswin_5232さん

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

「ANSI-C 以外のキーワードの移植」セクションでこの問題について説明しており、CW では near 呼び出しと far 呼び出しで異なる呼び出し規約を使用するため、関数も含めて、Cosmic の @near/@far を CodeWarrior の__near/__ far に置き換える必要があることが示されています。
関数がバンク コード内にあっても __far として宣言されていない場合、CW は near 呼び出しを生成し、関数が間違ったパラメータを読み取る原因になります。


よろしくお願いいたします。

ダニエル


标记 (1)
无评分
版本历史
最后更新:
‎02-12-2026 02:31 AM
更新人: