#pragma パック(1)と同じ効果をTriCore 6.3r2v以降のバージョンに適用する方法

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは

私は #pragma pack(1)に似たものを使って1バイト境界で割り当てられたbifフィールドのメンバーを持つ構造体を割り当てる CAN かどうかを確認しようとしていますが CANコンパイラディレクティブに何かが見つかりませんそうするのを助けるために。

 

TLDR:私は #pragma パック(1)と同じ機能を持ちたい

 

ありがとうございました 😄

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

TriCore v6.3r1 のタスク以降、新しいアライメント関連のキーワードが導入されました。 あなたは CAN 章を見てください:

1.1.4. アラインメントの変更: __unaligned, __パック__ and __アライン()

の TASKINGTriCoreツールユーザーガイド。 これにより、コンパイラは常にバイトアクセス命令を発行し、偶数アドレスを必要とするワードアクセスなどのTriCore CPUアライメント制限の影響を受けないため、バイト境界上の構造体メンバーを見つけることができます。

ただし、packedを使用すると、高いパフォーマンスの低下とコードサイズの増加価格を支払うことに注意してください。 たとえば、int型の変数またはパックされたデータ型の構造体メンバーにアクセスするために、コンパイラは、アライメント要件が満たされている場合に可能な1つのワードアクセス命令を使用する代わりに、4バイトのアクセス命令を出力します。

 

アプリケーションノート

アライメント要件 - トライコアアーキテクチャの制限事項

で入手可能:

https://resources.tasking.com/tasking-whitepapers/alignment-requirements-restrictions-for-the-tricor...

あまりにも役立つかもしれません。

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

ウルリッヒ・クロイド
タスキングツールのサポート

 

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @User13836

 

ここで手伝ってくれませんか?

 

よろしくお願いいたします
アヌパマ。

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

TriCore v6.3r1 のタスク以降、新しいアライメント関連のキーワードが導入されました。 あなたは CAN 章を見てください:

1.1.4. アラインメントの変更: __unaligned, __パック__ and __アライン()

の TASKINGTriCoreツールユーザーガイド。 これにより、コンパイラは常にバイトアクセス命令を発行し、偶数アドレスを必要とするワードアクセスなどのTriCore CPUアライメント制限の影響を受けないため、バイト境界上の構造体メンバーを見つけることができます。

ただし、packedを使用すると、高いパフォーマンスの低下とコードサイズの増加価格を支払うことに注意してください。 たとえば、int型の変数またはパックされたデータ型の構造体メンバーにアクセスするために、コンパイラは、アライメント要件が満たされている場合に可能な1つのワードアクセス命令を使用する代わりに、4バイトのアクセス命令を出力します。

 

アプリケーションノート

アライメント要件 - トライコアアーキテクチャの制限事項

で入手可能:

https://resources.tasking.com/tasking-whitepapers/alignment-requirements-restrictions-for-the-tricor...

あまりにも役立つかもしれません。

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

ウルリッヒ・クロイド
タスキングツールのサポート

 

0 件の賞賛