SSブログ

MPLABX IDEでconfig設定を行う技を習得した [MPLABXとXC8]

(2012.12.27)
MPLABX IDEの導入から三日経って、新しいウィンドウにも少しずつ慣れてきました。開発をサポートする様々な改善・工夫が盛り込まれているので、最初のハードル(開発環境の変化)さえ飛び越えてしまえば、そのあとは”へー”とか”ふ~ん”とか感心しながら先に進めます。

以前”お試し”で触ったときは、何をどうしたらMPLAB IDE(V8)と同じことが出来るのか判らず、メニューを探し回るのにうんざりして、投げ出してしまいました。そのときと何が変わったのか判りませんが、”違いを受け入れられれば難しくは無い”のだと思います。

親族SNS管理人がMPLABX IDE(とXC8)を導入したのは、PIC18F45K50の試作環境を整備するためでした。サンプル・プロジェクトを立ち上げ、最初にXC8のconfig設定情報を探しました。

しかし、Help==>Help Content==>XC8 Toolchainと辿って、丹念に探しましたが見つかりません!

”どうなってるんだ(怒)”

MPLABX IDEのユーザーズ・ガイド”Chapter 12. コンフィグレーション設定の要約”にもXC8のコンフィグレーション設定については何も記述が有りません。

”どうなってるんだ(怒々)”

XC8コンパイラのユーザー・ガイドを調べて、漸く以下の文書に辿りつきました。
C:\Program Files (x86)\Microchip\xc8\v1.12\docs\chips\18f45k50.html

何とかconfig設定情報を手にしましたが、”MPLABX IDEからアクセス出来ないのは何か変”と思い直し、右上にある検索ウィンドウに”PIC18F45K50”を入力するとあっさり、この情報に辿り着きました
2012_1225_5.png検索すれば直ぐに見つかる

よく見るとC18 Toolchainの情報です。
”XC8の方に一言書いておいて欲しいな~”とぶつくさ文句を垂れながら、ふと思いついてCompiler ToolchainをC18(v3.44)に替えてみると・・・

ビンゴ~!

何のことはない、XC8にしなくてもC18(v3.44)でコンパイルできるのです。あのリリース・ノートのDevice Support.htmの記述は一体何だったのでしょうか?まぁ、そのお陰でMPLABX IDEへの移行が成し遂げられたのですから、良しとしましょう。

---------------------------
ここまでは前ふりです
---------------------------

で、肝心の”MPLABX IDEのconfig設定技”ですが、Configuration Bitsを表示(Window==>PIC Memory View==>Configuration Bits)して、設定項目(例えばFOSCとか)ごとに(Option欄に示される)選択肢を一つを選び、(Setting欄に表示される)設定結果を確認します。一通り設定が済んだら、直ぐ下にある『Generate Source Code to Output』ボタンを押すと、指定したconfig設定を実現する、#pragma configのコードが表示されます。

例えばこんな感じ
// PIC18F45K50 Configuration Bit Settings

#include <p18F45K50.h>

// CONFIG1L
#pragma config PLLSEL = PLL4X   // PLL Selection (4x clock multiplier)
#pragma config CFGPLLEN = OFF   // PLL Enable Configuration bit (PLL Disabled (firmware controlled))
#pragma config CPUDIV = NOCLKDIV// CPU System Clock Postscaler (CPU uses system clock (no divide))
#pragma config LS48MHZ = SYS48X8// Low Speed USB mode with 48 MHz system clock (System clock at 48 MHz, USB clock divider is set to 8)

// CONFIG1H
#pragma config FOSC = INTOSCIO  // Oscillator Selection (Internal oscillator)
#pragma config PCLKEN = ON      // Primary Oscillator Shutdown (Primary oscillator enabled)
#pragma config FCMEN = OFF      // Fail-Safe Clock Monitor (Fail-Safe Clock Monitor disabled)
#pragma config IESO = OFF       // Internal/External Oscillator Switchover (Oscillator Switchover mode disabled)
(この後もずらずら続く)


これをソースにコピペすれば”config設定の出来上がり”と言うわけです。Toolに頼っぱなしになるのも問題ですが、親族SNS管理人はconfig設定情報ファイルを探してうろうろすることはもう無い(PIC18F45K50が多分最後になる)と思います。config設定はこれで決まりだ!

にほんブログ村 IT技術ブログへ
に

ほんブログ村 ネットブログ コミュニティサイトへ
にほんブログ村 IT技術ブログ オープンソースへ


nice!(1)  コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

nice! 1

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。