4

組み込みのブートローダーとユーザーが作成したカーネルを使用して、PIC マイクロコントローラー用のオペレーティング システムを作成できると聞きました。また、RTOS でなければならないと聞きました。

  1. これは本当ですか?実際に PIC 用のオペレーティング システム カーネル (C/C++ を使用) を作成できますか?
  2. 1に「はい」の場合、これの例はありますか?
  3. 1 に「はい」の場合、カーネルを作成するために何らかの種類のソフトウェアが必要ですか?
  4. PIC マイクロコントローラを製造しているのは Microchip 社だけですか?
  5. PIC マイクロコントローラは Mac でプログラムできますか?

ありがとう!

4

5 に答える 5

7
  1. はい、独自のカーネルを作成できます (私は独自に 2 つ作成しました)。はい、PIC用にCで書くことができます。プリエンプティブなスケジューリングが必要な場合は、コンテキスト スイッチを記述するときにアセンブリを完全に回避するのに非常に苦労することになります。一方、純粋に C だけで協調カーネルを簡単に作成できます (私はこれを自分で行いました)。(オペレーティング システムの作成は簡単な作業ではないことに注意してください。最初に純粋な C に慣れてから、1 つまたは 2 つの OS を使用してから、1 つを作成してみます。)

  2. その好例が FreeRTOS です。PIC24F、PIC33F、および PIC32MX 用の既存のポート (つまり、Explorer16 デモ ボードで変更なしで実行される MPLAB プロジェクト) があります (他のベンダーのデバイス用の 20 の奇妙な公式ポートと同様)。PIC18Fはサポートされていますが、きれいではありません...

  3. MPLAB だけでカーネルを作成できます (Microchip から無料)。C およびアセンブリと相互交換可能に動作します。プロセッサによっては、MPLAB に対応する C30 および C32 コンパイラの無料バージョンがあります。

  4. PIC はマイクロコントローラの一種で、Microchip 社の商標です。他の多くの企業がマイクロコントローラーを製造し、それらを別の名前で呼んでいます (例: AVR、LPC、STM32)。

  5. はい、MPLAB X の新しいバージョンは、Mac、Linux、および Windows でサポートされています。

于 2012-05-02T01:07:45.537 に答える
4

FreeRTOSをチェックすることをお勧めします。

于 2012-05-01T20:56:42.070 に答える
2

私は FreeRTOS に賛成票を投じます。これは PIC24 設計で常に使用しています。ポートはうまく機能し、大量のメモリを使用しません。

Microchip 社は多くのサード パーティ製 RTOS をサポートしています。

ほとんどの製品には無料のデモ プロジェクトがあり、ダウンロードして MPLAB でビルドし、Explorer16 ボードに簡単にプログラムできます。その後、心ゆくまで実験できます。

于 2012-05-02T12:29:58.423 に答える
1

PIC は単一のアーキテクチャではありません。PIC10 は PIC24 とはかなり異なりますが、それらとその間のすべての PIC にはいくつかの共通点があります。一方、MIPS ベースの PIC32 はまったく異なるアーキテクチャです。したがって、参照している PIC について明確にする必要があります。

PIC 上の OS は RTOS である必要はありません、RTOS はデバイスが使用されるアプリケーション ドメインに理想的に適しているため、リアルタイムに対応していないものはあまり役に立ちません。

PIC にはすでに多くのRTOS ポートがあります。

カーネル スケジューラについては、開発方法に関して特別なことは何もありません。C とほとんどの場合、必要なのは小さなアセンブラだけです。特別なツールは必要ありません。必要に応じて 100% アセンブラーを使用することもできます。これは、最小/最速のコードを取得するために必要になる場合がありますが、それはあなたのアセンブラーの知識がコンパイラーの知識よりも優れている場合に限られます。

Parallax SXは多かれ少なかれクローンですが、PIC は Microchip に固有のものです。たとえば ARM とは異なり、Microchip はサードパーティのチップ メーカーや IP プロバイダーにアーキテクチャのライセンスを供与していません。いずれにせよ、誰もそれを望んでいないでしょう。はるかに優れたアーキテクチャがあります。ARM Cortex-M は RTOS カーネルの実装に特に適しており、AVR の命令は C ソース コードから効率的に変換できるように設計されています。由緒ある 8051 でさえ、RTOS の実装に適しています。その 8 つのレジスタ バンクにより、コンテキスト スイッチが非常に高速になり (最大 8 つのスレッド)、ARM と同様に、8051 アーキテクチャ デバイスが複数のメーカーから入手できます。

于 2012-05-08T20:42:57.097 に答える