2016-12-17 39 views
1

Cortex m3ガイド(赤い本)に2つのステートメントがあります 1. Cortex m3は、リトルエンディアンとビッグエンディアンの両方をサポートしています。 2.リセット後、エンドエンティティを動的に変更することはできません。cortex m3のエンディアン設定を変更するには?

間接的に、リセットハンドラのエンディアン設定の変更を通知していますか?

「はい」の場合、エンディアンを変更する方法。私が構成する必要がある手段と構成する場所(リセットまたは例外ハンドラで)

endianessを変更することは実際には良い考えではありません しかし、私は、cortex m3が本当にendianessか否か?

答えて

3

Cortex-M アーキテクチャは、ビッグエンディアンまたはリトルエンディアンのいずれかの動作をサポートするように設定できます。

しかし、特定のCortex-M の実装は、1つのエンディアンのみをサポートできます。これはシリコンにハード配線されており、変更できません。私が知っているすべての実装は、リトルエンディアンを選択しました。

+0

私はLPC1769マイクロコントローラのcortex m3ベースを持っていますので、どのレジスタをエンディアン設定を変更する必要がありますか –

+0

@KalidasTateこれもまた、実行時に変更できるものではありません。登録はありません。 LPC1769はリトルエンディアンのデバイスです。 – duskwuff

+1

リトルエンディアンのスティック。これはCortex-Mの業界標準です。 –

0

ARMのマニュアルを直接読んでおく必要があります。テクニカルリファレンスマニュアルでは、このようなことについて触れています。実際にチップに組み込むときにcortex-m3のソースがある場合は、手で触れることができる外側のレイヤーや設定オプションが表示されます。いつものCortex-M3のTRMから

SETEND障害。コンフィギュレーションピンはCortex-M3 エンディアンを選択します。

そして、我々は別のヒットでそれを持っている:

プロセッサは、あなた が選択でき、設定ピン、BIGENDが、含まれているいずれかリトルエンディアンまたはBE-8ビッグエンディアン形式。この コンフィギュレーションピンはリセット時にサンプリングされます。リセット時にendimanness を変更することはできません。

技術的には、BIGENDに接続された外部ストラップを使用して設計することができます。ヒューズやその他の不揮発性のものを触れることができますARMコアのリセット、ARMコアのブートを管理する他のプロセッサまたはロジックを持ち、ARMコアのリセットを解除する前にそれを話したりプログラミングしたりすることができます。

一般に、アーキテクチャーのデフォルトエンディアンでグレインに反するのは悪い考えです。特に2つのフレーバーがあり、後者(BE-8)が(BE-32よりも)痛みを伴うようになりました。 gcc以外のツールチェーンがあることは認められていますが、大多数のユーザでさえ、間接テストの大部分はネイティブ(リトルエンディアン)モードです。本当にロジックをテストしたのか疑問に思うでしょう、ARMの設計検証の外にいる人は、実際にそのモードを押しますか?彼らはそれを十分にテストしましたか?

実際にビッグエンディアンのcortex-m3コードを作成しようとしましたか? cortex-mは16ビットの命令セット(サム2拡張付き)なので、どのようにBE-8に影響しますか? ARM命令を含むフルサイズのARMにBE-8を使用すると、32ビットのデータはスワップされますが、32ビットの命令はスワップしません。おそらくこれはTRMにあり、私はもっと読むべきですが、それは皮質に同じように働きますか? 16ビット命令はスワップしませんが、データはどうなりますか?親指で指示されたフルサイズの腕はどうですか?また、ツールチェーンは、ハードウェアが期待するものと一致しますか?

ところで、これは、cortex-m3の周りにチップを構築するときにインターフェイスするロジックにBIGENDという信号があり、そのロジックに入り、BIGENDのデフォルト設定を変更できることを意味します1つを提供しています)、または上記のように、チップにロジックを追加して、コンパイル時ではなくランタイムオプションにすることができます。

+0

私はこれをマーケティング機能と呼んでいます。これは、cortex-m3といくつかの競合相手を比較する際に使用できるチェックリスト項目です。競合製品(この場合プロセッサコア)がこの機能を持っていると主張している場合、またはこれはプレゼンテーションの右のスライドに競合製品が持っていない機能として表示できます。マーケティングやその他の印刷やプレゼンテーションの目的以外で使用することのない機能。 –

関連する問題