MPLAB_XC32_UG_EE.fm

Size: px
Start display at page:

Download "MPLAB_XC32_UG_EE.fm"

Transcription

1 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います 組み込みエンジニア向け MPLAB XC32 ユーザガイド 組み込みエンジニア向け MPLAB XC32 ユーザガイド はじめに 本書には 32 ビットデバイスと MPLAB XC32 C コンパイラ向けの 7 つのサンプルコードを掲載しています 読者にはマイクロコントローラと C 言語プログラミングに関するある程度の知識が必要です 1. LED を点灯 / 消灯させる 2. 遅延関数を使って LED を点滅させる 3. 遅延用に割り込みを使って LED を点滅させる 4. ADC を使ってポテンショメータの値を LED で表示する (MPLAB Harmony を使用 ) 5. ADC を使ってポテンショメータの値を LED で表示する (MCC を使用 ) 6. フラッシュメモリへの書き込みステータスを LED で表示する (MPLAB Harmony を使用 ) 7. フラッシュメモリの値を LED で表示する (MCC を使用 ) 補遺 A 補遺 B MPLAB X IDE 内でのコード実行ソフトウェアとハードウェアの入手先 2018 Microchip Technology Inc. DS B_JP - p. 1

2 1. LED を点灯 / 消灯させる 以下のサンプルコードは PIC32MX470F512L プラグインモジュール (PIM) を挿した Explorer 16/32 開発ボード上の LED を点灯 / 消灯します 詳細は B. ソフトウェアとハードウェアの入手先 を参照してください // PIC32MX470F512L Configuration Bit Settings // 'C' source line config statements 1.1 参照 // DEVCFG3 // USERID = No Setting #pragma config FSRSSEL = PRIORITY_7 // Shadow Register Set Priority 7 #pragma config PMDL1WAY = ON // Peripheral Module - One Reconfig #pragma config IOL1WAY = ON // Peripheral Pin Select - One Reconfig #pragma config FUSBIDIO = ON // USB USID Selection - Port Function #pragma config FVBUSONIO = ON // USB VBUS ON Selection - Port Function // DEVCFG2 #pragma config FPLLIDIV = DIV_12 // PLL Input Divider - 12x #pragma config FPLLMUL = MUL_24 // PLL Multiplier - 24x #pragma config UPLLIDIV = DIV_12 // USB PLL Input Divider - 12x #pragma config UPLLEN = OFF // USB PLL Disabled and Bypassed #pragma config FPLLODIV = DIV_256 // Sys PLL Output Divide by 256 // DEVCFG1 #pragma config FNOSC = FRCDIV // Oscillator - Fast RC Osc w/div-by-n #pragma config FSOSCEN = ON // Secondary Oscillator Enabled #pragma config IESO = OFF // Internal/External Switch Over Disabled #pragma config POSCMOD = OFF // Primary Oscillator Disabled #pragma config OSCIOFNC = OFF // CLKO on OSCO Pin Disabled #pragma config FPBDIV = DIV_8 // Peripheral Clock Divisor:Sys_Clk/8 #pragma config FCKSM = CSDCMD // Clock Switch Disable, FSCM Disabled #pragma config WDTPS = PS // WDT Postscaler 1: #pragma config WINDIS = OFF // Watchdog Timer is in Non-Window Mode #pragma config FWDTEN = OFF // WDT Disabled (SWDTEN Control) #pragma config FWDTWINSZ = WINSZ_25 // Watchdog Timer Window 25% // DEVCFG0 #pragma config DEBUG = OFF // Background Debugger Disabled #pragma config JTAGEN = OFF // JTAG Disabled #pragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel PGEC2/PGED2 #pragma config PWP = OFF // Program Flash Write Protect Disabled #pragma config BWP = OFF // Boot Flash Write Protect Disabled #pragma config CP = OFF // Code Protect Disabled // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> 1.2 参照 #define LEDS_ON_OFF 0x 参照 int main(void) { // Port A access TRISA = 0x0000; LATA = LEDS_ON_OFF; 1.4 参照 // set all port bits to be output // write to port latch return 0; DS B_JP - p Microchip Technology Inc.

3 1.1 コンフィグレーションビット Microchip 社製デバイスは 各種デバイス機能の動作を設定する ( または有効 / 無効にする ) ためのビットを格納したコンフィグレーションレジスタを備えています Note: コンフィグレーションビットを正しく設定しないと デバイスは期待通りに ( あるいは全く ) 機能しません 設定が必要なコンフィグレーションビット特に以下の設定が必要です オシレータの選択 - ハードウェアのオシレータ回路に適合させる必要があります 正しく選択しないとデバイスクロックは動作しません 一般的に 開発ボードは高速水晶振動子を使います 以下はサンプルコードからの抜粋です #pragma config FNOSC = PRI #pragma config POSCMOD = HS ウォッチドッグタイマ - このタイマは 必要になるまで無効にしておく事を推奨します そうする事で 予期せぬリセットを防ぎます 以下はサンプルコードからの抜粋です #pragma config FWDTEN = OFF コード保護 - コード保護は 必要になるまで無効にしておきます そうする事で デバイスメモリへのフルアクセスを確保します 以下はサンプルコードからの抜粋です #pragma config CP = OFF 本書のサンプルコードとは異なる 32 ビットデバイスを使う場合 上記とは異なるコンフィグレーションビットの設定が必要になる場合があります 対応するコンフィグレーションビットの番号と機能は 各デバイスのデータシートを参照してください データシートは で製品番号を使って検索できます 各デバイスが備えるコンフィグレーションビットの詳細は MPLAB XC32 インストールディレクトリに保存されている以下のファイルを参照してください MPLAB XC32 Installation Directory/docs/PIC32ConfigSet.html コンフィグレーションビットの設定方法 MPLAB X IDE では [Configuration Bits] ウィンドウを使ってコンフィグレーションビットを表示 / 設定できます このウィンドウは メニューを Window > PIC Memory Views > Configuration Bits と選択すると開きます 図 1: [Configuration Bits] ウィンドウ 必要な設定を済ませたら コード内で pragma ディレクティブを挿入する位置 (main() より前 ) をクリックしてから [Insert Source Code in Editor] アイコンをクリックします または [Generate Source Code to Output] をクリックした後に [Output] ウィンドウ内の pragma ディレクティブをコードにコピーする事もできます 2018 Microchip Technology Inc. DS B_JP - p. 3

4 1.2 ヘッダファイル <xc.h> このヘッダファイルは ソースファイル内のコードからコンパイラ固有またはデバイス固有の機能を使えるようにします xc.h とその他のヘッダファイルは MPLAB XC32 インストールディレクトリ内の pic32mx/include サブディレクトリに保存されています ユーザが選択したデバイスに基づき コンパイラは xc.h が適切なデバイス固有ヘッダファイルを指定できるようにマクロを設定します デバイス固有ヘッダは ユーザコード内でインクルードしない事が必要です ( コードの移植性が失われるため ) 1.3 LED 値マクロの定義 LED に書き込む値は マクロ記述 (LEDS_ON_OFF) に割り当て済みです (LED D3/D5/D7/D9 は ON LED D4/D6/D8/D10 は OFF) Explorer 16/32 開発ボード関連の文書 ( 回路図を含む ) は B.5 Explorer 16/32 開発ボードの入手先と設定方法 に記載したリンクから入手できます 1.4 ポートアクセスデジタル I/O デバイスピンは周辺モジュール I/O ピンと多重化されている場合があります デジタル I/O のみを使うため 多重化されている周辺モジュールは無効にします これには 周辺モジュールレジスタ内のビット値を定義済みの C 変数を使います これらの変数は デバイス固有ヘッダファイル ( コンパイラインストールディレクトリ内のpic32mx/include/proc,) に書かれています どの周辺モジュールがどのピンを共有しているかは 各デバイスのデータシートを参照してください 1. LED を点灯または消灯させる サンプルコードのデバイスでは ポート A ピンが周辺モジュール ( 既定値では無効 ) と多重化されています また ポート A はアナログ I/O 機能を備えないため 全てのポート A ピンは既定値によりデジタル I/O として動作します ポートがアナログ I/O 機能を備えている場合 ピンをデジタル I/O として動作させるには ADxPCFT レジスタを使ってアナログ機能を無効にする必要があります デバイスピンは デジタル I/O ポート (PORT) またはデバイス内のラッチ (LAT) レジスタのどちらかに接続します このサンプルコードでは LATA を使います 変数 portvalue に代入された値がラッチに代入されます LATA = portvalue; // write to port latch さらに ピン方向 ( 入力または出力 ) を指定するために TRIS レジスタを使います サンプルコードでは TRISA を使います このレジスタ内のビットを 0 にクリアすると対応するピンは出力として設定され 1 にセットすると入力として設定されます 以下に例を示します TRISA = 0x0000; // set all port bits to be output DS B_JP - p Microchip Technology Inc.

5 2. 遅延関数を使って LED を点滅させる 以下のサンプルコードでは 前のサンプルコードの一部を変更しています このサンプルコードは LED を単純に点灯するのではなく 自動的に点滅させます 追加したコードを赤字で示しています // PIC32MX470F512L Configuration Bit Settings // 'C' source line config statements // DEVCFG3 // USERID = No Setting #pragma config FSRSSEL = PRIORITY_7 // Shadow Register Set Priority 7 #pragma config PMDL1WAY = ON // Peripheral Module - One Reconfig #pragma config IOL1WAY = ON // Peripheral Pin Select - One Reconfig #pragma config FUSBIDIO = ON // USB USID Selection - Port Function #pragma config FVBUSONIO = ON // USB VBUS ON Selection - Port Function // DEVCFG2 #pragma config FPLLIDIV = DIV_12 // PLL Input Divider - 12x #pragma config FPLLMUL = MUL_24 // PLL Multiplier - 24x #pragma config UPLLIDIV = DIV_12 // USB PLL Input Divider - 12x #pragma config UPLLEN = OFF // USB PLL Disabled and Bypassed #pragma config FPLLODIV = DIV_256 // Sys PLL Output Divide by 256 // DEVCFG1 #pragma config FNOSC = FRCDIV // Oscillator - Fast RC Osc w/div-by-n #pragma config FSOSCEN = ON // Secondary Oscillator Enabled #pragma config IESO = OFF // Internal/External Switch Over Disabled #pragma config POSCMOD = OFF // Primary Oscillator Disabled #pragma config OSCIOFNC = OFF // CLKO on OSCO Pin Disabled #pragma config FPBDIV = DIV_8 // Peripheral Clock Divisor:Sys_Clk/8 #pragma config FCKSM = CSDCMD // Clock Switch Disable, FSCM Disabled #pragma config WDTPS = PS // WDT Postscaler 1: #pragma config WINDIS = OFF // Watchdog Timer is in Non-Window Mode #pragma config FWDTEN = OFF // WDT Disabled (SWDTEN Control) #pragma config FWDTWINSZ = WINSZ_25 // Watchdog Timer Window 25% // DEVCFG0 #pragma config DEBUG = OFF // Background Debugger Disabled #pragma config JTAGEN = OFF // JTAG Disabled #pragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel PGEC2/PGED2 #pragma config PWP = OFF // Program Flash Write Protect Disabled #pragma config BWP = OFF // Boot Flash Write Protect Disabled #pragma config CP = OFF // Code Protect Disabled // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> #define LEDS_ON_OFF 0x55 #define LEDS_OFF_ON 0xAA void delay (void) { int n = 50000; while(n>0) {n--; 2018 Microchip Technology Inc. DS B_JP - p. 5

6 int main(void) { // Port A access TRISA = 0x0; // set all port bits to be output while(1) { 2.1 参照 LATA = LEDS_ON_OFF; // write to port latch // delay value change delay(); 2.2 参照 LATA = LEDS_OFF_ON; // write to port latch // delay value change delay(); return -1; 2.1 while() ループと変数値 ループ内で最初に portvalue に値を代入し 次にその相補値を代入する事で ポート A の LED の状態 ( 点灯 / 消灯 ) を変更します このループは while(1) { を使って実行します 正常に動作している限り この while ループは終了しません エラーが発生すると main 関数は -1 を返します 2.2 delay() 関数 実行速度が速いため LED は点滅しているように見えません このため実行速度を遅くする必要があります このため 関数 delay() を main() の前で宣言および定義し main() コード内で 2 度呼び出します Note: コンパイル時は コードを最適化しない事が必要です ( 最適化オプションは -O0 を指定 ) 最適化すると遅延ループは削除されます 次のサンプルコードでは 別の方法でコード実行を遅延させます DS B_JP - p Microchip Technology Inc.

7 3. 遅延用に割り込みを使って LED を点滅させる 以下のサンプルコードでは 前のサンプルコードの一部を変更しています 前のサンプルコードでは ループの実行を遅らせるために遅延関数を使いましたが それによってプログラムにデッドタイムが生じました これを防ぐため 以下のサンプルコードではタイマ割り込みを使います 割り込みが発生するたびに変数値をインクリメントし この値を LED で表示します このサンプルコードでは コアタイマを使います プリスケーラ / ポストスケーラを設定しない場合 このタイマは 2 システムクロック周期でインクリメントします ( この動作は全ての PIC32 MCU で一貫しています ) その他のデバイスタイマも遅延用に使えますが 他のモジュールもそのタイマを使っている場合 注意が必要です 追加したコードを赤字で示しています // PIC32MX470F512L Configuration Bit Settings // 'C' source line config statements // DEVCFG3 // USERID = No Setting #pragma config FSRSSEL = PRIORITY_7 // Shadow Register Set Priority 7 #pragma config PMDL1WAY = ON // Peripheral Module - One Reconfig #pragma config IOL1WAY = ON // Peripheral Pin Select - One Reconfig #pragma config FUSBIDIO = ON // USB USID Selection - Port Function #pragma config FVBUSONIO = ON // USB VBUS ON Selection - Port Function // DEVCFG2 #pragma config FPLLIDIV = DIV_12 // PLL Input Divider - 12x #pragma config FPLLMUL = MUL_24 // PLL Multiplier - 24x #pragma config UPLLIDIV = DIV_12 // USB PLL Input Divider - 12x #pragma config UPLLEN = OFF // USB PLL Disabled and Bypassed #pragma config FPLLODIV = DIV_256 // Sys PLL Output Divide by 256 // DEVCFG1 #pragma config FNOSC = FRCDIV // Oscillator - Fast RC Osc w/div-by-n #pragma config FSOSCEN = ON // Secondary Oscillator Enabled #pragma config IESO = OFF // Internal/External Switch Over Disabled #pragma config POSCMOD = OFF // Primary Oscillator Disabled #pragma config OSCIOFNC = OFF // CLKO on OSCO Pin Disabled #pragma config FPBDIV = DIV_8 // Peripheral Clock Divisor:Sys_Clk/8 #pragma config FCKSM = CSDCMD // Clock Switch Disable, FSCM Disabled #pragma config WDTPS = PS // WDT Postscaler 1: #pragma config WINDIS = OFF // Watchdog Timer is in Non-Window Mode #pragma config FWDTEN = OFF // WDT Disabled (SWDTEN Control) #pragma config FWDTWINSZ = WINSZ_25 // Watchdog Timer Window 25% // DEVCFG0 #pragma config DEBUG = OFF // Background Debugger Disabled #pragma config JTAGEN = OFF // JTAG Disabled #pragma config ICESEL = ICS_PGx2 // ICE/ICD Comm Channel PGEC2/PGED2 #pragma config PWP = OFF // Program Flash Write Protect Disabled #pragma config BWP = OFF // Boot Flash Write Protect Disabled #pragma config CP = OFF // Code Protect Disabled // #pragma config statements should precede project file includes. // Use project enums instead of #define for ON and OFF. #include <xc.h> #include <cp0defs.h> #include <sys/attribs.h> 3.1 参照 2018 Microchip Technology Inc. DS B_JP - p. 7

8 // CORE_TICK_RATE = FOSC/2/TOGGLES_PER_SEC // FOSC/2 = Core timer clock frequency = 8MHz/2=4MHz // TOGGLES_PER_SEC = Toggle LED x times per second; x=5 #define CORE_TICK_RATE u // Interrupt function 3.2 参照 void ISR(_CORE_TIMER_VECTOR, IPL2SOFT) CTInterruptHandler(void) { // static variable for permanent storage duration static unsigned char portvalue = 0; // variables for Compare period unsigned long ct_count = _CP0_GET_COUNT(); unsigned long period = CORE_TICK_RATE; // write to port latch LATA = portvalue++; // update the Compare period period += ct_count; _CP0_SET_COMPARE(period); // clear the interrupt flag IFS0CLR = _IFS0_CTIF_MASK; int main(void) { unsigned int stat_gie, cause_val; // Disables interrupts by clearing the global interrupt enable bit // in the STATUS register. stat_gie = builtin_disable_interrupts(); // Port A access TRISA = 0x0; // set all port bits to be output LATA = 0x0; // clear all bits // Configure the core timer 3.3 参照 // clear the CP0 Count register _CP0_SET_COUNT(0); // set up the period in the CP0 Compare register _CP0_SET_COMPARE(CORE_TICK_RATE); // halt core timer and program at a debug breakpoint _CP0_BIC_DEBUG(_CP0_DEBUG_COUNTDM_MASK); // Set up core timer interrupt 3.4 参照 // clear core timer interrupt flag IFS0CLR = _IFS0_CTIF_MASK; // set core time interrupt priority of 2 IPC0CLR = _IPC0_CTIP_MASK; IPC0SET = (2 << _IPC0_CTIP_POSITION); // set core time interrupt subpriority of 0 IPC0CLR = _IPC0_CTIS_MASK; IPC0SET = (0 << _IPC0_CTIS_POSITION); // enable core timer interrupt IEC0CLR = _IEC0_CTIE_MASK; IEC0SET = (1 << _IEC0_CTIE_POSITION); DS B_JP - p Microchip Technology Inc.

9 // set the CP0 Cause register Interrupt Vector bit cause_val = _CP0_GET_CAUSE(); cause_val = _CP0_CAUSE_IV_MASK; _CP0_SET_CAUSE(cause_val); // enable multi-vector interrupts INTCONSET = _INTCON_MVEC_MASK; // enable global interrupts builtin_enable_interrupts(); while(1); return -1; 2018 Microchip Technology Inc. DS B_JP - p. 9

10 3.1 追加のヘッダファイル xc.h に加えて 2 つのヘッダファイル (CP0 マクロ用の cp0defs.h と ISR マクロ用の sys/attribs.h) をインクルードする必要があります 3.2 割り込み関数このサンプルコードでは ISR マクロ ISR(v,IPL) を使って CTInterruptHandler() を割り込み関数にします (v: コアタイマの割り込みベクタ IPL: 割り込み優先度 (2) とソフトウェアによるコンテクスト保存方法を IPL2SOFT として指定 ) ISR の詳細は MPLAB XC32 C/C++ コンパイラユーザガイド (DS ) 内の 割り込み を参照してください 割り込み関数内でカウンタ portvalue がインクリメントし LED で表示されます 割り込みをクリアするには CP0 コンペアレジスタに値を書き込む必要があります その後 コンペアレジスタ内の値とコアタイマの値が比較され 次の割り込みが生成されます コアタイマの現在の値は _CP0_GET_COUNT() により取得します 最終的に割り込みフラグがクリアされます 3.3 コアタイマの設定 32 ビットコアタイマは 0 に初期設定します コンペアレジスタは 初期値 CORE_TICK_RATE に設定します コアタイマ値がコンペアレジスタ値に達した時に割り込みがトリガされます 加えて デバッグを支援するため ブレークポイントでコアタイマが停止するよう設定します コアタイマの詳細は PIC32 ファミリリファレンスマニュアル セクション 2. M4K コア搭載デバイス用 CPU (DS61113) を参照してください 3.4 コアタイマ割り込みコアタイマ割り込みは以下の手順で設定します main コードの最初で builtin_disable_interrupts() を使ってグローバル割り込みを無効にします while(1) ループへジャンプする前に builtin_enable_interrupts() を使ってグローバル割り込みを有効にします デバイスヘッダファイル内のマクロを使ってコアタイマ割り込みフラグをクリアします (xc.h からアクセス ) デバイスマクロを使って割り込みの優先度と副優先度を設定します この優先度は 割り込み関数の優先度 (= 2) と一致する必要があります デバイスマクロを使ってコアタイマとマルチベクタ割り込みを有効にします デバイスマクロと CP0 マクロを使って CP0 Cause レジスタ内の割り込みベクタビットをセットします DS B_JP - p Microchip Technology Inc.

11 4. ADC を使ってポテンショメータの値を LED で表示する (MPLAB Harmony を使用 ) このサンプルコードは 3. 遅延用に割り込みを使って LED を点滅させる と同じデバイスとポート A LED を使います ただし このサンプルコードでは デモボード上のポテンショメータからの値をポート B (RB2/AN2) 経由でアナログ / デジタルコンバータ (ADC) に入力し その変換結果を LED で表示します また コードは手書きではなく MPLAB Harmony を使って生成します MPLAB Harmony 統合ソフトウェアフレームワークは以下からダウンロードできます MPLAB Harmony Configurator (MHC) は MPLAB Harmony の GUI をセットアップするための MPLAB X IDE プラグインです このプラグインは MPLAB X IDE の [Available Plugins] タブ (Tools > Plugins で開く ) を使ってインストールできます プラグインのインストール方法は MPLAB X IDE のヘルプを参照してください このサンプルコードは adc_pot サンプルコードに基づきます Windows PC の場合 このコードは以下に格納されています : C:\microchip\harmony\v1_10\apps\examples\peripheral\adc\adc_pot 4.1 MPLAB X IDE 内で MPLAB Harmony プロジェクトを作成する 以下のダイアログにより このサンプルコード向けに MPLAB Harmony プロジェクトを設定します MPLAB X IDE で メニューから File > New Project を選択します 図 2: 新しい MPLAB Harmony プロジェクト - ステップ Microchip Technology Inc. DS B_JP - p. 11

12 [Harmony Path] が MPLAB Harmony の実際のインストール先を指している事を確認します 図 3: 新しい MPLAB Harmony プロジェクト - ステップ 2 DS B_JP - p Microchip Technology Inc.

13 4.2 MPLAB Harmony プロジェクトの設定 プロジェクトの設定に従い MHC は実装済みクロックの情報を表示します 青でハイライト表示されたテキストは変更を示します このサンプルコードでは クロック設定を一切変更しません ADC ドライバを図 6 の通りに設定し BSP (Board Support Packages) を図 7 の通りに設定します 図 4: MPLAB Harmony プロジェクトと MHC 図 5: Harmony フレームワークの設定 - クロック 2018 Microchip Technology Inc. DS B_JP - p. 13

14 図 6: Harmony フレームワークの設定 - ADC ドライバ 図 7: ADC プロジェクトのリソース設定 DS B_JP - p Microchip Technology Inc.

15 図 8: ADC プロジェクトのピン設定 2018 Microchip Technology Inc. DS B_JP - p. 15

16 4.3 コードを生成してアプリケーションファイルを編集する 以上の図の通りに MHC を設定した後に [MPLAB Harmony Configurator] タブ上の [Generate Code] ボタンをクリックします 設定を保存し ( 図 9 参照 ) プロジェクトコードを生成します ( 図 10 参照 ) 図 9: 設定の保存 図 10: プロジェクトコードの生成 DS B_JP - p Microchip Technology Inc.

17 図 11 に示す通り MPLAB Harmony が生成するコードはモジュール化されています アプリケーションファイル (app.h と app.c) は 本サンプルコード向けに編集します フラッシュメモリの使い方の詳細は PIC32 ファミリリファレンスマニュアル セクション ビットアナログ / デジタルコンバータ (ADC) (DS61104) を参照してください 図 11: MHC が生成したコードの ADC プロジェクトツリー 2018 Microchip Technology Inc. DS B_JP - p. 17

18 4.4 編集後の app.h コード 編集後の app.h テンプレートファイルを以下に示します 一部のコメントは省略しました ( 省略箇所には < > で囲んだ注釈を記入しています ) 追加したコードを赤字で示しています /******************************************************************** MPLAB Harmony Application Header File <See generated app.h file for file information.> ******************************************************************* //DOM-IGNORE-BEGIN /******************************************************************** Copyright (c) released Microchip Technology Inc. All rights reserved. <See generated app.h file for copyright information.> ******************************************************************* //DOM-IGNORE-END #ifndef _APP_H #define _APP_H #define ADC_NUM_SAMPLE_PER_AVERAGE 16 // Section:Included Files #include <stdint.h> #include <stdbool.h> #include <stddef.h> #include <stdlib.h> #include "system_config.h" #include "system_definitions.h" // DOM-IGNORE-BEGIN #ifdef cplusplus // Provide C++ Compatibility extern "C" { #endif // DOM-IGNORE-END // Section:Type Definitions /* Application states Summary: Application states enumeration Description: DS B_JP - p Microchip Technology Inc.

19 This enumeration defines the valid application states.these states determine the behavior of the application at various times. typedef enum { /* Application's state machine's initial state. APP_STATE_INIT=0, APP_ADC_WAIT, APP_ADC_DISPLAY APP_STATES; /* Application Data Summary: Holds application data Description: This structure holds the application's data. Remarks: Application strings and buffers are be defined outside this structure. typedef struct { /* The application's current state APP_STATES state; /* Values for the conversions int potvalue; int ledmask; APP_DATA; // Section:Application Callback Routines /* These routines are called by drivers when certain events occur. // Section:Application Initialization and State Machine Functions /******************************************************************** Function: void APP_Initialize ( void ) Summary: MPLAB Harmony application initialization routine. <See generated app.h file for app init information.> 2018 Microchip Technology Inc. DS B_JP - p. 19

20 void APP_Initialize ( void ); /******************************************************************** Function: void APP_Tasks ( void ) Summary: MPLAB Harmony Demo application tasks function <See generated app.h file for app tasks information.> void APP_Tasks( void ); #endif /* _APP_H //DOM-IGNORE-BEGIN #ifdef cplusplus #endif //DOM-IGNORE-END /******************************************************************** End of File DS B_JP - p Microchip Technology Inc.

21 4.5 編集後の app.c コード 編集後の app.c テンプレートファイルを以下に示します 一部のコメントは省略しました ( 省略箇所には < > で囲んだ注釈を記入しています ) 追加したコードを赤字で示しています 一部の長いコード行は次のページにまたがっています これは 本書のコードをそのままエディタへカット & ペーストできるように配慮したためです /******************************************************************** MPLAB Harmony Application Source File <See generated app.c file for file information.> ******************************************************************* // DOM-IGNORE-BEGIN /******************************************************************** Copyright (c) released Microchip Technology Inc. All rights reserved. <See generated app.c file for copyright information.> ******************************************************************* // DOM-IGNORE-END // Section:Included Files #include "app.h" // Section:Global Data Definitions /* Application Data Summary: Holds application data Description: This structure holds the application's data. Remarks: This structure should be initialized by the APP_Initialize function. Application strings and buffers are be defined outside this structure. APP_DATA appdata; // Section:Application Callback Functions 2018 Microchip Technology Inc. DS B_JP - p. 21

22 /* TODO:Add any necessary callback functions. // Section:Application Local Functions /******************************************************************** Function: void Set_LED_Status ( void ) Description: Set LEDs to display the ADC average result. void Set_LED_Status(void) { int i; appdata.ledmask = 0; /* Creates a mask for the LEDs, corresponding to the value read * from the potentiometer appdata.potvalue >>= 7; /* 10-bit value to 3-bit value for (i = 0; i <= appdata.potvalue; i++) { appdata.ledmask = 1<<(i); /* Write the mask to the LEDs SYS_PORTS_Write( PORTS_ID_0, PORT_CHANNEL_A, (PORTS_DATA_MASK)appData.ledMask ); // Section:Application Initialization and State Machine Functions /******************************************************************** Function: void APP_Initialize ( void ) Remarks: See prototype in app.h. void APP_Initialize ( void ) { /* Place the App state machine in its initial state. appdata.state = APP_STATE_INIT; /* TODO:Initialize your application's state machine and other * parameters. DS B_JP - p Microchip Technology Inc.

23 /******************************************************************** Function: void APP_Tasks ( void ) Remarks: See prototype in app.h. void APP_Tasks ( void ) { /* Check the application's current state. switch ( appdata.state ) { /* Application's initial state. case APP_STATE_INIT: 4.6 参照 { /* Enable ADC DRV_ADC_Open(); appdata.state = APP_ADC_WAIT; break; /* Display pot value on LEDs case APP_ADC_DISPLAY: 4.7 参照 { Set_LED_Status(); appdata.state = APP_ADC_WAIT; break; /* Wait for ADC case APP_ADC_WAIT: 4.8 参照 { /* Wait for conversion if (DRV_ADC_SamplesAvailable()) { int i; //Read data for(i=0;i<adc_num_sample_per_average;i++) appdata.potvalue += PLIB_ADC_ResultGetByIndex(ADC_ID_1, i); appdata.potvalue = appdata.potvalue / ADC_NUM_SAMPLE_PER_AVERAGE; appdata.state = APP_ADC_DISPLAY; break; /* The default state should never be executed. default: 2018 Microchip Technology Inc. DS B_JP - p. 23

24 { /* TODO:Handle error in application's state machine. break; /******************************************************************** End of File 4.6 アプリケーションステート - APP_STATE_INIT タスクループの開始時にアプリケーションは初期ステートです この場合 ADC は自動サンプリングモードで有効になります 次に アプリケーションは待機ステート (APP_ADC_WAIT) に移行します アプリケーションステートは app.h 内で定義されます 4.7 アプリケーションステート - APP_ADC_DISPLAY APP_ADC_WAIT 中に ADC 値がキャプチャされると Application Local Functions セクション内で関数 Set_LED_Status() を呼び出す事によって その値を表示します この関数は マスク (appdata.ledmask) を使って ポテンショメータからの ADC 値 (appdata.potvalue) を LED に表示します これらの変数は app.h 内で定義されます この関数が戻ると アプリケーションステートは APP_ADC_WAIT に戻り 次のサンプルを待機します 4.8 アプリケーションステート - APP_ADC_WAIT 初期化 (APP_STATE_INIT) 後に アプリケーションはポテンショメータ値が変換されるまで待機します ADC 値が変数 appdata.potvalue に代入されると ステート APP_ADC_DISPLAY でその値が LED に表示されます ADC_NUM_SAMPLE_PER_AVERAGE は app.h 内で定義されます DS B_JP - p Microchip Technology Inc.

25 5. ADC を使ってポテンショメータの値を LED で表示する (MCC を使用 ) このサンプルコードは 3. 遅延用に割り込みを使って LED を点滅させる と同じデバイスとポート A LED を使います ただし このサンプルコードでは デモボード上のポテンショメータからの値をポート B (RB2/AN2) 経由でアナログ / デジタルコンバータ (ADC) に入力し その変換結果を LED で表示します コードは手書きではなくMPLAB Code Configurator (MCC) を使って生成します MCC プラグインは MPLAB X IDE の [Available Plugins] タブ (Tools > Plugins で開く ) を使ってインストールできます プラグインのインストール方法は MPLAB X IDE のヘルプを参照してください MCC のインストール情報と MPLAB Code Configurator ユーザガイド (DS ) は 以下の MPLAB Code Configurator ウェブページで入手できます このサンプルコードを生成するために使った MCC の設定を以下の図に示します 図 12: ADC プロジェクト - リソース - システムモジュール 2018 Microchip Technology Inc. DS B_JP - p. 25

26 図 13: ADC プロジェクト - システムモジュール - Easy Setup DS B_JP - p Microchip Technology Inc.

27 図 14: ADC プロジェクト - システムモジュール - レジスタ 2018 Microchip Technology Inc. DS B_JP - p. 27

28 図 15: ADC プロジェクト - リソース - ADC1 DS B_JP - p Microchip Technology Inc.

29 図 16: ADC プロジェクト - ADC1 - Easy Setup 図 17 での選択後に RB2 から AN2 への割り当てが表示されます 図 17: ADC プロジェクト - ADC1 - ピンリソース 2018 Microchip Technology Inc. DS B_JP - p. 29

30 図 18: ADC プロジェクト - リソース - ピンモジュール 図 19: ADC プロジェクト - ピンモジュール - Easy Setup 図 20 でピン RA0:7 が選択されている場合 これらのピンは上図のウィンドウに表示されます RB2 は図 17 で選択済みです RB6 と RB7 は 図 13 で PGEC2/PGED2 向けに選択済みです ウィンドウ内にピン設定が表示されたら 各ピンの設定を表示および選択できます DS B_JP - p Microchip Technology Inc.

31 図 20: ADC プロジェクト - ピンリソース 2018 Microchip Technology Inc. DS B_JP - p. 31

32 以上のようにコードを設定した後に [Project Resources] ウィンドウの [Generate] ボタンをクリックします ( 図 12) MCC はモジュール形式のコードを生成します 従って main システム 周辺モジュールコードは全て別々のファイルとして生成されます 各周辺モジュールのヘッダファイルも別々です 潜在的なエラーを捉えるために割り込みマネージャファイルが生成されます このアプリケーションでは割り込みは使いませんが 将来用に割り込みマネージャファイルが生成されます プログラムに機能を追加する場合 必ず main.c を編集する必要があります また そのコードに必要な全ての関数またはマクロが生成されたファイル内に含まれているかどうか確認する必要があります フラッシュメモリの使い方の詳細は PIC32 ファミリリファレンスマニュアル セクション ビットアナログ / デジタルコンバータ (ADC) (DS61104) を参照してください 図 21: MCC が生成したコードの ADC プロジェクトツリー DS B_JP - p Microchip Technology Inc.

33 5.1 編集後の main.c コード 編集後の main.c テンプレートファイルを以下に示します 一部のコメントは省略しました ( 省略箇所には < > で囲んだ注釈を記入しています ) main() に追加したコードを赤字で示しています /** Generated Main Source File <See generated main.c file for file information.> /* (c) 2016 Microchip Technology Inc. and its subsidiaries.you may use this software and any derivatives exclusively with Microchip products. <See generated main.c file for additional copyright information.> #include "mcc_generated_files/mcc.h" unsigned int value = 0; /* Creates a mask for the LEDs, corresponding * to the value read from the potentiometer unsigned int Mask_Value(unsigned int pot_value){ int i; unsigned int mask_value = 0; pot_value >>= 7; /* 10-bit value to 3-bit value for (i = 0; i <= pot_value; i++) { mask_value = 1<<(i); return mask_value; /* Main application int main(void) { // initialize the device SYSTEM_Initialize(); while (1) { // Wait for conversion 5.2 参照 // and then get result while(!adc1_isconversioncomplete()); value = ADC1_ConversionResultGet(); // Mark value value = Mask_Value(value); // Write to Port Latch/LEDs LATA = value; 5.3 参照 5.4 参照 return -1; 2018 Microchip Technology Inc. DS B_JP - p. 33

34 /** End of File 5.2 ADC 変換および結果 MCC は AD1CON1 レジスタ内のビットを次の通りに設定します : ADC を有効にする 自動サンプリングを使う 内部カウンタを使ってサンプリングを終了 / 変換を開始する 従って main() コードは変換の終了を待機し 結果を取得するだけで済みます adc1.c モジュールから以下の関数を使います bool ADC1_IsConversionComplete(void) uint16_t ADC1_ConversionResultGet(void) その他の ADC 機能の設定の詳細は PIC32 ファミリリファレンスマニュアル セクション ビットアナログ / デジタルコンバータ (ADC) (DS61104) を参照してください 5.3 ADC 変換結果のマスク ADC 変換結果は 10 ビットであるのに対し LED は 8 個しかないため 関数 Mask_Value() を使って変数 value 内の変換結果をマスクする事により 最上位の 3 ビットだけを 3 個の LED で表示します 5.4 ポートラッチと LED への書き込み マスクした ADC 変換結果は ポート A の LED で表示します DS B_JP - p Microchip Technology Inc.

35 6. フラッシュメモリへの書き込みステータスを LED で表示する (MPLAB Harmony を使用 ) このサンプルコードは 4. ADC を使ってポテンショメータの値を LED で表示する (MPLAB Harmony を使用 ) と同じデバイスとポート A LED を使います ただし このサンプルコードでは フラッシュ ( 不揮発性 ) メモリに対して値を読み書きし それが成功した時に LED2 を点灯させ 失敗した時に LED0 を点灯させます コードは手書きではなく MPLAB Harmony を使って生成します MPLAB Harmony 統合ソフトウェアフレームワークと MPLAB Harmony Configurator (MHC) MPLAB X IDE プラグインのダウンロード / インストール方法は 4. ADC を使ってポテンショメータの値を LED で表示する (MPLAB Harmony を使用 ) を参照してください MPLAB X IDE における MPLAB Harmony プロジェクトの作成方法については 4.1 MPLAB X IDE 内で MPLAB Harmony プロジェクトを作成する を参照してください 以下のサンプルコードのプロジェクト名は Expample6 です このサンプルコードは 以下の場所にあるフラッシュドライバアプリケーションに基づきます (Windows OS の場合 ): C:\microchip\harmony\v1_10\apps\examples\peripheral\flash\flash_modify 6.1 MPLAB Harmony プロジェクトの設定 プロジェクトの設定に従い MPLAB Harmony Configurator (MHC) は実装済みクロックの情報を表示します 青のハイライトは変更を示します このサンプルコードでは クロック設定を一切変更しません フラッシュドライバを図 22 の通りに設定し BSP (Board Support Packages) を図 23 の通りに設定します 図 22: Harmony フレームワークの設定 - フラッシュドライバ 2018 Microchip Technology Inc. DS B_JP - p. 35

36 図 23: フラッシュプロジェクトのリソース設定 DS B_JP - p Microchip Technology Inc.

37 6.2 コードを生成してアプリケーションファイルを編集する 以上の図の通りに MHC を設定した後に [MPLAB Harmony Configurator] タブ上の [Generate Code] ボタンをクリックします 設定を保存し プロジェクトコードを生成します (4.3 コードを生成してアプリケーションファイルを編集する 参照 ) 図 24 に示す通り MPLAB Harmony が生成するコードはモジュール化されています アプリケーションファイル (app.h と app.c) は 本サンプルコード向けに編集します フラッシュメモリの使い方の詳細は PIC32 ファミリリファレンスマニュアル セクション ビットアナログ / デジタルコンバータ (ADC) (DS ) を参照してください 図 24: MHC が生成したコードのフラッシュプロジェクトツリー 2018 Microchip Technology Inc. DS B_JP - p. 37

38 6.3 編集後の app.h コード 編集後の app.h テンプレートファイルを以下に示します 一部のコメントは省略しました ( 省略箇所には < > で囲んだ注釈を記入しています ) 追加したコードを赤字で示しています /******************************************************************** MPLAB Harmony Application Header File <See generated app.h file for file information.> ******************************************************************* //DOM-IGNORE-BEGIN /******************************************************************** Copyright (c) released Microchip Technology Inc. All rights reserved. <See generated app.h file for copyright information.> ****************************************************************** //DOM-IGNORE-END #ifndef _APP_H #define _APP_H #define USERLED_SUCCESS LED_2 //D5 on Explorer 16/32 #define USERLED_ERROR LED_0 //D3 on Explorer 16/32 // Section:Included Files #include <stdint.h> #include <stdbool.h> #include <stddef.h> #include <stdlib.h> #include "system_config.h" #include "system_definitions.h" // DOM-IGNORE-BEGIN #ifdef cplusplus // Provide C++ Compatibility extern "C" { #endif // DOM-IGNORE-END // Section:Type Definitions #define APP_DATABUFF_SIZE (sizeof(databuff) / sizeof(uint32_t)) /* Row size for device is 2Kbytes #define APP_DEVICE_ROW_SIZE_DIVIDED_BY_4 (DRV_FLASH_ROW_SIZE/4) DS B_JP - p Microchip Technology Inc.

39 /* Page size for device is 16Kbytes #define APP_DEVICE_PAGE_SIZE_DIVIDED_BY_4 (DRV_FLASH_PAGE_SIZE/4) #define APP_PROGRAM_FLASH_BASE_ADDRESS_VALUE (unsigned int) 0x9D #define APP_PROGRAM_FLASH_BASE_ADDRESS (unsigned int *) APP_PROGRAM_FLASH_BASE_ADDRESS_VALUE /* Application states Summary: Application states enumeration Description: This enumeration defines the valid application states.these states determine the behavior of the application at various times. typedef enum { /* Application's state machine's initial state. APP_STATE_INIT=0, APP_STATE_NVM_FILL_DATABUF_AND_ERASE_STATE, APP_STATE_NVM_ERASE_COMPLETION_CHECK, APP_STATE_NVM_WRITE_START, APP_STATE_NVM_WRITE_COMPLETION_CHECK_AND_VERIFY_CHECK, APP_STATE_NVM_ERROR_STATE, APP_STATE_NVM_SUCCESS_STATE, APP_STATES; /* Application Data Summary: Holds application data Description: This structure holds the application's data. Remarks: Application strings and buffers are be defined outside this structure. typedef struct { /* The application's current state APP_STATES state; DRV_HANDLE flashhandle; APP_DATA; 2018 Microchip Technology Inc. DS B_JP - p. 39

40 // Section:Application Callback Routines /* These routines are called by drivers when certain events occur. // Section:Application Initialization and State Machine Functions /******************************************************************** Function: void APP_Initialize ( void ) Summary: MPLAB Harmony application initialization routine. <See generated app.h file for app init information.> void APP_Initialize ( void ); /******************************************************************** Function: void APP_Tasks ( void ) Summary: MPLAB Harmony Demo application tasks function <See generated app.h file for app tasks information.> void APP_Tasks( void ); #endif /* _APP_H //DOM-IGNORE-BEGIN #ifdef cplusplus #endif //DOM-IGNORE-END /******************************************************************** End of File DS B_JP - p Microchip Technology Inc.

41 6.4 編集後の app.c コード 編集後の app.c テンプレートファイルを以下に示します 一部のコメントは省略しました ( 省略箇所には < > で囲んだ注釈を記入しています ) 追加したコードを赤字で示しています 一部の長いコード行は次のページにまたがっています これは 本書のコードをそのままエディタへカット & ペーストできるように配慮したためです /******************************************************************** MPLAB Harmony Application Source File <See generated app.c file for file information.> ****************************************************************** // DOM-IGNORE-BEGIN /******************************************************************** Copyright (c) released Microchip Technology Inc. All rights reserved. <See generated app.c file for copyright information.> ****************************************************************** // DOM-IGNORE-END // Section:Included Files #include "app.h" // Section:Global Data Definitions /***************************************************** * Initialize the application data structure.all * application related variables are stored in this * data structure. **************************************************** /* Array in the KSEG1 RAM to store the data uint32_t databuff[app_device_row_size_divided_by_4] attribute ((coherent, aligned(16))); /* Application Data Summary: Holds application data Description: This structure holds the application's data. Remarks: 2018 Microchip Technology Inc. DS B_JP - p. 41

42 This structure should be initialized by the APP_Initialize function. Application strings and buffers are be defined outside this structure. APP_DATA appdata; // Section:Application Callback Functions /* TODO:Add any necessary callback functions. // Section:Application Local Functions /* TODO:Add any necessary local functions. // Section:Application Initialization and State Machine Functions /******************************************************************** Function: void APP_Initialize ( void ) Remarks: See prototype in app.h. void APP_Initialize ( void ) { /* Place the App state machine in its initial state. appdata.state = APP_STATE_INIT; /* TODO:Initialize your application's state machine and other * parameters. /******************************************************************** Function: void APP_Tasks ( void ) Remarks: DS B_JP - p Microchip Technology Inc.

43 See prototype in app.h. void APP_Tasks ( void ) { unsigned int x; /* Check the application's current state. switch ( appdata.state ) { /* Application's initial state. 6.5 参照 case APP_STATE_INIT: appdata.flashhandle = DRV_FLASH_Open(DRV_FLASH_INDEX_0, intent); appdata.state = APP_STATE_NVM_FILL_DATABUF_AND_ERASE_STATE; break; /* Fill data buffer, clear LEDs, 6.6 参照 * and begin erase page case APP_STATE_NVM_FILL_DATABUF_AND_ERASE_STATE: for (x = 0; x < APP_DATABUFF_SIZE; x++) { databuff[x] = x; BSP_LEDOff(USERLED_SUCCESS); BSP_LEDOff(USERLED_ERROR); /* Erase the page which consist of the row to be written DRV_FLASH_ErasePage(appData.flashHandle, APP_PROGRAM_FLASH_BASE_ADDRESS_VALUE); appdata.state = APP_STATE_NVM_ERASE_COMPLETION_CHECK; break; /* Check for erase complete 6.7 参照 case APP_STATE_NVM_ERASE_COMPLETION_CHECK: if(!drv_flash_isbusy(appdata.flashhandle)) { appdata.state = APP_STATE_NVM_WRITE_START; break; /* Write row of Flash 6.8 参照 case APP_STATE_NVM_WRITE_START: /* Erase Success /* Write a row of data to PROGRAM_FLASH_BASE_ADDRESS, * using databuff array as the source DRV_FLASH_WriteRow(appData.flashHandle, APP_PROGRAM_FLASH_BASE_ADDRESS_VALUE, databuff); appdata.state = APP_STATE_NVM_WRITE_COMPLETION_CHECK_AND_VERIFY_CHECK; break; /* Check for write complete 6.9 参照 * and verify write operation case APP_STATE_NVM_WRITE_COMPLETION_CHECK_AND_VERIFY_CHECK: if(!drv_flash_isbusy(appdata.flashhandle)) { /* Verify that data written to flash memory is valid * (databuff array read from kseg1) if (!memcmp(databuff, (void *)KVA0_TO_KVA1(APP_PROGRAM_FLASH_BASE_ADDRESS), 2018 Microchip Technology Inc. DS B_JP - p. 43

44 sizeof(databuff))) { appdata.state = APP_STATE_NVM_SUCCESS_STATE; else { appdata.state = APP_STATE_NVM_ERROR_STATE; break; /* Write Failure 6.10 参照 case APP_STATE_NVM_ERROR_STATE: /*stay here, nvm had a failure BSP_LEDOn(USERLED_ERROR); BSP_LEDOff(USERLED_SUCCESS); break; /* Write Success 6.11 参照 case APP_STATE_NVM_SUCCESS_STATE: BSP_LEDOn(USERLED_SUCCESS); BSP_LEDOff(USERLED_ERROR); break; /******************************************************************** End of File 6.5 アプリケーションステート - 初期ステート タスクループの開始時にアプリケーションは初期ステート (APP_STATE_INIT) です このステートではフラッシュドライバが初期化され アプリケーションは次のステート (APP_STATE_NVM_FILL_DATABUF_AND_ERASE_STATE) に移行します アプリケーションステートは app.h 内で定義されます 6.6 アプリケーションステート - データバッファの書き込みとページ消去 初期化が完了すると 書き込みの準備を実行します 最初に フラッシュメモリに書き込むデータをデータバッファに書き込みます ( データバッファは Section: Global Data Definitions 内で定義されます ) 次に 動作の成功 / 失敗を示す LED をクリアします ( これらの値は app.h 内で設定されます ) その後 フラッシュメモリ (NVM) ページの消去を開始します 最後に アプリケーションはページ消去の完了を待機するためのステート (APP_STATE_NVM_ERASE_COMPLETION_CHECK) に移行します 6.7 アプリケーションステート - ページ消去の完了 このステートは 前のステートで開始したページ消去が完了するまで待機します ページ消去が完了すると アプリケーションはフラッシュメモリ (NVM) への書き込みを開始するためのステート (APP_STATE_NVM_WRITE_START) に移行します 6.8 アプリケーションステートフラッシュメモリの行書き込み フラッシュメモリ内の消去済みページへの行書き込みを開始します この行には データバッファ内の値を書き込みます その後 アプリケーションステートは書き込みの終了と検証のためのステート (APP_STATE_NVM_WRITE_COMPLETION_CHECK_AND_VERIFY_CHECK) に移行します DS B_JP - p Microchip Technology Inc.

45 6.9 アプリケーションステート行書き込みの完了と検証 このステートは 前のステートで開始した行書き込みが完了するまで待機します 完了すると 書き込んだ値とデータバッファ内の値を照合します 書き込みが成功していた場合 アプリケーションステートは APP_STATE_NVM_SUCCESS_STATE に移行します 失敗していた場合 アプリケーションステートは APP_STATE_NVM_ERROR_STATE に移行します 6.10 アプリケーションステート - エラーステート フラッシュメモリの書き込みに失敗した場合 エラーステートに移行します デモボード上の LED 3 (D3) を点灯させる事でエラーの発生を示します 6.11 アプリケーションステート - 成功ステート フラッシュメモリの消去 / 書き込みに成功した場合 成功ステートに移行します デモボード上の LED 5 (D5) を点灯させる事でアプリケーションの実行が成功した事を示します 2018 Microchip Technology Inc. DS B_JP - p. 45

46 7. フラッシュメモリの値を LED で表示する (MCC を使用 ) このサンプルコードは 5. ADC を使ってポテンショメータの値を LED で表示する (MCC を使用 ) と同じデバイスとポート A LED を使います ただし このサンプルコードでは フラッシュ ( 不揮発性 ) メモリに対して値を読み書きし それが成功した時に LED2 を点灯させ 失敗した時に LED0 を点灯させます コードの一部は MPLAB Code Configurator (MCC) で生成します MCC のインストール方法とユーザガイドの入手方法は 5. ADC を使ってポテンショメータの値を LED で表示する (MCC を使用 ) を参照してください このサンプルコードを生成するために使った MCC の設定を以下の図に示します 図 25: フラッシュプロジェクト - リソース - システムモジュール DS B_JP - p Microchip Technology Inc.

47 図 26: フラッシュプロジェクト - システムモジュール - Easy Setup 2018 Microchip Technology Inc. DS B_JP - p. 47

48 図 27: フラッシュプロジェクト - システムモジュール - レジスタ DS B_JP - p Microchip Technology Inc.

49 図 28: フラッシュプロジェクト - リソース - NVM 2018 Microchip Technology Inc. DS B_JP - p. 49

50 図 29: フラッシュプロジェクト - NVM - レジスタ DS B_JP - p Microchip Technology Inc.

51 図 30: フラッシュプロジェクト - リソース - ピンモジュール 図 31: フラッシュプロジェクト -I/O ピン設定 図 32 でピン RA0 と RA2 が選択されている場合 これらのピンは上図のウィンドウに表示されます RB6 と RB7 は 図 26 で PGEC2/PGED2 向けに選択済みです ウィンドウ内にピン設定が表示されたら 各ピンに対してピン設定を表示および選択できます 図 32: フラッシュプロジェクト - I/O ピンリソース 2018 Microchip Technology Inc. DS B_JP - p. 51

52 以上のようにコードを設定した後に [Project Resources] ウィンドウの [Generate] ボタンをクリックします ( 図 12) MCC はモジュール形式でコードを生成します 従って main システム 周辺モジュールコードは全て別々のファイルとして生成されます 各周辺モジュールのヘッダファイルも別々です 潜在的なエラーを捉えるために割り込みマネージャファイルが生成されます このアプリケーションでは割り込みは使いませんが 将来用に割り込みマネージャファイルが生成されます プログラムに機能を追加する場合 必ず main.c を編集する必要があります また そのコードに必要な全ての関数またはマクロが生成されたファイル内に含まれているかどうか確認する必要があります フラッシュメモリの使い方の詳細は PIC32 ファミリリファレンスマニュアル セクション ビットアナログ / デジタルコンバータ (ADC) (DS ) を参照してください 図 33: MCC が生成したコードのフラッシュプロジェクトツリー DS B_JP - p Microchip Technology Inc.

53 7.1 編集後の main.c コード 編集後の main.c テンプレートファイルを以下に示します 一部のコメントは省略しました ( 省略箇所には < > で囲んだ注釈を記入しています ) 追加済みコードは赤字で示しています /** Generated Main Source File <See generated main.c for file information.> /* (c) 2016 Microchip Technology Inc. and its subsidiaries.you may use this software and any derivatives exclusively with Microchip products. <See generated main.c for additional copyright information.> #include "mcc_generated_files/mcc.h" // Program Flash Physical Addresses:0x1D00_0000?0x1D07_FFFF // Program Flash Virtual Addresses:KSEG0:0x9D00_0000?0x9D07_FFFF // KSEG1:0xBD00_0000?0xBD07_FFFF #define NVM_PROGRAM_PAGE 0xbd unsigned int databuff[128]; /* int main(void) { Main application unsigned int x; // initialize the device SYSTEM_Initialize(); // Fill databuff with some data for(x =0; x < sizeof(databuff); x++) databuff[x] = x; // Erase second page of Program Flash NVM_ErasePage((void *)NVM_PROGRAM_PAGE); 7.2 参照 // Write 128 words starting at 7.3 参照 // Row Address NVM_PROGRAM_PAGE NVM_WriteRow((void *)NVM_PROGRAM_PAGE, (void*)databuff); // Verify data matches 7.4 参照 if(memcmp(databuff, (void *)NVM_PROGRAM_PAGE, sizeof(databuff))) { // If not turn led0 on to indicate an error IO_RA0_SetHigh(); else { // If true turn led2 on to indicate success IO_RA2_SetHigh(); 2018 Microchip Technology Inc. DS B_JP - p. 53

54 while (1) { // End of program return -1; /** End of File 7.2 フラッシュメモリのページ消去 フラッシュメモリの消去可能な最小領域は 1 ページです これには nvm.c ファイル内の NVM_ErasePage() 関数を使います 7.3 フラッシュメモリの行書き込みデータバッファの内容は フラッシュメモリ内の 1 行に書き込みます これには nvm.c ファイル内の NVM_WriteRow() 関数を使います 7.4 書き込みの検証と LED でのデータ表示 フラッシュメモリに書き込まれたデータとデータバッファの内容を比較します 両者が一致しない場合 LED0/D3 を点灯させてエラーが発生した事を示します 一致する場合 LED2/D5 を点灯させて書き込みが成功した事を示します DS B_JP - p Microchip Technology Inc.

55 補遺 A. MPLAB X IDE 内でのコード実行 サンプルコード のプロジェクトの作成手順は以下の通りです 1. MPLAB X IDE を起動します 2. IDE から [New Project] ウィザードを起動します (File > New Project) 3. 画面の指示に従って以下の手順で新しいプロジェクトを作成します a) プロジェクトの選択 : Microchip Embedded を選択し 次に Standalone Project を選択します b) デバイスの選択 : サンプルコードのデバイスを選択します c) ヘッダの選択 : 何も選択しません d) ツールの選択 : 使用するハードウェアデバッグツールのシリアル番号 (SNxxxxxx) を選択します デバッグツール名の下にシリアル番号 (SN) が表示されない場合 そのデバッグツールが正しくインストールされているか確認します 詳細はデバッグツールのマニュアルを参照してください e) プラグインボードの選択 : 何も選択しません f) コンパイラの選択 : XC32 ( 最新バージョン番号 ) を選択します ([bin location]) XC32 の下にコンパイラが表示されない場合 コンパイラが正しくインストールされているか および MPLAB X IDE がコンパイラを検出できているかを確認します Tools > Options を選択し [Build Tools] タブの [Embedded] ボタンをクリックして使用中のコンパイラを確認します 詳細は MPLAB XC32 と MPLAB X IDE のマニュアルを参照してください g) プロジェクト名とフォルダの選択 : プロジェクト名を指定します 4. [Projects] ウィンドウ内でプロジェクト名を右クリックし New > Empty FIle を選択します [New Empty File] ダイアログが開きます 5. File name に名前を入力します 6. [Finish] をクリックします 7. 本書のサンプルコードを空白のエディタウィンドウにコピー / ペーストし File > Save を選択します サンプルコード 4 および 6 のプロジェクトの作成手順は 4.1 MPLAB X IDE 内で MPLAB Harmony プロジェクトを作成する に記載した通りです プロジェクトを作成した後 MHC を設定してコードを生成し 本書に記載した通りに編集します サンプルコード 5 および 7 の場合 上記のステップ 1 ~ 3 を実行します その後 MCC を設定してコードを生成し 本書に記載した通りに編集します 最後に [Debug Run] を選択します これによりコードをビルドしてデバイスにダウンロードし 実行します そしてコードの出力を LED で確認します 実行を終了するには [Halt] をクリックします 図 34: ツールバーアイコン DEBUG RUN HALT 2018 Microchip Technology Inc. DS B_JP - p. 55

56 補遺 B. ソフトウェアとハードウェアの入手先 本書の MPLAB XC32 プロジェクトには PIC32 PIM を実装した Explorer 16/32 開発ボードを使います ボードには外部電源から 9 V を供給し 標準の (ICSP ) 通信を使います 開発には MPLAB X IDE を使いました B.1 MPLAB X IDE と MPLAB XC32 C コンパイラの入手先 MPLAB X IDE (v3.55 ~ ) は以下で入手できます MPLAB XC32 C コンパイラ (v1.42 ~ ) は以下で入手できます B.2 MPLAB Harmony および Configurator プラグインの入手先 MPLAB Harmony Configurator (v xx ~ ) は MPLAB X IDE の [Available Plugins] タブ (Tools > Plugins で開く ) で選択できます MPLAB Harmony (v1.10 ~ ) は以下で入手できます B.3 MPLAB Code Configurator (MCC) の入手先 MCC (v3.26 ~ ) は以下で入手できます B.4 PIC MCU プラグインモジュール (PIM) の入手先本書のサンプルコードで使う PIC MCU PIM は以下の Microchip 社ウェブページで入手できます PIC32MX470F512L: B.5 Explorer 16/32 開発ボードの入手先と設定方法 Explorer 16/32 開発ボードと回路図 マニュアルは以下のウェブページで入手できます ジャンパとスイッチは下表の通りに設定します 表 1-1: プロジェクト向けのジャンパ / スイッチの選択 ジャンパ / スイッチ 選択 ジャンパ / スイッチ 選択 JP2 ショート J37 オープン J19 オープン J38 オープン J22 オープン J39 既定値 J23 既定値 J41 オープン J25 ショート J42 オープン J26 ショート J43 既定値 J27 オープン J44 既定値 J28 オープン J45 既定値 J29 オープン J50 ショート J33 オープン DS B_JP - p Microchip Technology Inc.

57 B.6 Microchip 社製デバッグツールの入手先 エミュレータとデバッガは以下の開発ツールウェブページで入手できます B.7 サンプルコードの入手先本書に記載したサンプルコードは にアクセスし [Documentation] タブからダウンロードできます これらの MPLAB Harmony サンプルコードは 以下のフォルダに格納します C:\microchip\harmony\v1_10\apps 2018 Microchip Technology Inc. DS B_JP - p. 57

58 NOTE: DS B_JP - p Microchip Technology Inc.

59 Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください Microchip 社製品は 該当する Microchip 社データシートに記載の仕様を満たしています Microchip 社では 通常の条件ならびに仕様に従って使用した場合 Microchip 社製品のセキュリティレベルは 現在市場に流通している同種製品の中でも最も高度であると考えています しかし コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です 弊社の理解ではこうした手法は Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります このような行為は知的所有権の侵害に該当する可能性が非常に高いと言えます Microchip 社は コードの保全性に懸念を抱くお客様と連携し 対応策に取り組んでいきます Microchip 社を含む全ての半導体メーカーで 自社のコードのセキュリティを完全に保証できる企業はありません コード保護機能とは Microchip 社が製品を 解読不能 として保証するものではありません コード保護機能は常に進歩しています Microchip 社では 常に製品のコード保護機能の改善に取り組んでいます Microchip 社のコード保護機能の侵害は デジタルミレニアム著作権法に違反します そのような行為によってソフトウェアまたはその他の著 本書に記載されているデバイスアプリケーション等に関する情報は ユーザの便宜のためにのみ提供されているものであり 更新によって無効とされる事があります お客様のアプリケーションが仕様を満たす事を保証する責任は お客様にあります Microchip 社は 明示的 暗黙的 書面 口頭 法定のいずれであるかを問わず 本書に記載されている情報に関して 状態 品質 性能 商品性 特定目的への適合性をはじめとする いかなる類の表明も保証も行いません Microchip 社は 本書の情報およびその使用に起因する一切の責任を否認します Microchip 社の明示的な書面による承認なしに 生命維持装置あるいは生命安全用途に Microchip 社の製品を使用する事は全て購入者のリスクとし また購入者はこれによって発生したあらゆる損害 クレーム 訴訟 費用に関して Microchip 社は擁護され 免責され 損害をうけない事に同意するものとします 暗黙的あるいは明示的を問わず Microchip 社が知的財産権を保有しているライセンスは一切譲渡されません 商標 Microchip 社の名称と Microchip ロゴ dspic FlashFlex KEELOQ KEELOQ ロゴ MPLAB PIC PICmicro PICSTART PIC 32 ロゴ rfpic SST SST ロゴ SuperFlash UNI/O は 米国およびその他の国における Microchip Technology Incorporated の登録商標です FilterLab Hampshire HI-TECH C Linear Active Thermistor MTP SEEVAL Embedded Control Solutions Company は 米国における Microchip Technology Incorporated の登録商標です Silicon Storage Technology は その他の国における Microchip Technology Incorporated の登録商標です Analog-for-the-Digital Age Application Maestro BodyCom chipkit chipkit ロゴ CodeGuard dspicdem dspicdem.net dspicworks dsspeak ECAN ECONOMONITOR FanSense HI-TIDE In-Circuit Serial Programming ICSP Mindi MiWi MPASM MPF MPLAB 認証ロゴ MPLIB MPLINK mtouch Omniscient Code Generation PICC PICC-18 PICDEM PICDEM.net PICkit PICtail REAL ICE rflab Select Mode SQI Serial Quad I/O Total Endurance TSHARC UniWinDriver WiperLock ZENA Z-Scale は 米国およびその他の国における Microchip Technology Incorporated の登録商標です SQTP は 米国における Microchip Technology Incorporated のサービスマークです GestICとULPPは その他の国におけるMicrochip Technology Germany II GmbH & Co. & KG (Microchip Technology Incorporated の子会社 ) の登録商標です その他 本書に記載されている商標は各社に帰属します 2013, Microchip Technology Incorporated, Printed in the U.S.A., All Rights Reserved. ISBN: QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV == ISO/TS == Microchip 社では Chandler および Tempe ( アリゾナ州 ) Gresham ( オレゴン州 ) の本部 設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を取得しています Microchip 社の品質システムプロセスおよび手順は PIC MCU および dspic DSC KEELOQ コードホッピングデバイス シリアル EEPROM マイクロペリフェラル 不揮発性メモリ アナログ製品に採用されています さらに 開発システムの設計と製造に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得しています 2018 Microchip Technology Inc. DS B_JP - p. 59

60 各国の営業所とサービス 北米本社 2355 West Chandler Blvd. Chandler, AZ Tel: Fax: 技術サポート : support URL: アトランタ Duluth, GA Tel: Fax: オースティン (TX) Tel: ボストン Westborough, MA Tel: Fax: シカゴ Itasca, IL Tel: Fax: クリーブランド Independence, OH Tel: Fax: ダラス Addison, TX Tel: Fax: デトロイト Novi, MI Tel: ヒューストン (TX) Tel: インディアナポリス Noblesville, IN Tel: Fax: ロサンゼルス Mission Viejo, CA Tel: Fax: ニューヨーク (NY) Tel: サンノゼ (CA) Tel: カナダ - トロント Tel: Fax: アジア / 太平洋アジア太平洋支社 Suites , 37th Floor Tower 6, The Gateway Harbour City, Kowloon Hong Kong Tel: Fax: オーストラリア - シドニー Tel: Fax: 中国 - 北京 Tel: Fax: 中国 - 成都 Tel: Fax: 中国 - 重慶 Tel: Fax: 中国 - 東莞 Tel: 中国 - 杭州 Tel: Fax: 中国 - 香港 SAR Tel: Fax: 中国 - 南京 Tel: Fax: 中国 - 青島 Tel: Fax: 中国 - 上海 Tel: Fax: 中国 - 瀋陽 Tel: Fax: 中国 - 深圳 Tel: Fax: 中国 - 武漢 Tel: Fax: 中国 - 西安 Tel: Fax: アジア / 太平洋中国 - 厦門 Tel: Fax: 中国 - 珠海 Tel: Fax: インド - バンガロール Tel: Fax: インド - ニューデリー Tel: Fax: インド - プネ Tel: 日本 - 大阪 Tel: Fax: 日本 - 東京 Tel: Fax: 韓国 - 大邱 Tel: Fax: 韓国 - ソウル Tel: Fax: または マレーシア - クアラルンプール Tel: Fax: マレーシア - ペナン Tel: Fax: フィリピン - マニラ Tel: Fax: シンガポール Tel: Fax: 台湾 - 新竹 Tel: Fax: 台湾 - 高雄 Tel: 台湾 - 台北 Tel: Fax: タイ - バンコク Tel: Fax: ヨーロッパオーストリア - ヴェルス Tel: Fax: デンマーク - コペンハーゲン Tel: Fax: フランス - パリ Tel: Fax: ドイツ - デュッセルドルフ Tel: ドイツ - ミュンヘン Tel: Fax: ドイツ - プフォルツハイム Tel: イタリア - ミラノ Tel: Fax: イタリア - ベニス Tel: オランダ - ドリューネン Tel: Fax: ポーランド - ワルシャワ Tel: スペイン - マドリッド Tel: Fax: スウェーデン - ストックホルム Tel: イギリス - ウォーキンガム Tel: Fax: /27/15 DS B_JP - p Microchip Technology Inc.

PIC10(L)F320/322 Product Brief

PIC10(L)F320/322 Product Brief 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います PIC10(L)F320/322 PIC10(L)F320/322 製品概要 高性能 RISC CPU: 命令は 35 しかなく習得が容易 : - 分岐命令を除き 全てシングルサイクル命令 動作速度 : - DC 16 MHz クロック入力 - DC 250 ns 命令サイクル 最大 1 K

More information

PIC24F Family Reference Manual, Section 9 Watchdog Timer (WDT)

PIC24F Family Reference Manual, Section 9 Watchdog Timer (WDT) 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います セクション 9. ウォッチドッグタイマ (WDT) ハイライト 本セクションには以下の主要項目を記載しています 9.1 はじめに... 9-2 9.2 WDT の動作... 9-3 9.3 レジスタマップ... 9-7 9.4 設計のヒント... 9-8 9.5 関連アプリケーションノート...

More information

SMSC LAN8700 Datasheet

SMSC LAN8700 Datasheet 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います Microchip 社 LAN9252 SDK と Beckhoff 社 EtherCAT SSC の統合 Author: Kansal Mariam Banu Shaick Ibrahim Microchip Technology Inc. 概要 Microchip 社の LAN9252 は

More information

ヒント 2: CWG を使ったハーフブリッジまたはフルブリッジ回路の駆動 ハーフブリッジまたはフルブリッジモータ回路を駆動するために多ピンマイクロコントローラは必ずしも必要ではありません PWM モジュールと CWG モジュールを組み合わせると 少ピンデバイスでも駆動できます 図 2: CWG によ

ヒント 2: CWG を使ったハーフブリッジまたはフルブリッジ回路の駆動 ハーフブリッジまたはフルブリッジモータ回路を駆動するために多ピンマイクロコントローラは必ずしも必要ではありません PWM モジュールと CWG モジュールを組み合わせると 少ピンデバイスでも駆動できます 図 2: CWG によ 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います 新周辺モジュール活用のヒントとコツ 相補波形ジェネレータ (CWG) 構成可能なロジックセル (CLC) 数値制御オシレータ (NCO) 周辺モジュール活用のヒントとコツ はじめに マイクロチップ社は 小型化と高性能化ならびに使いやすさと信頼性の向上を目指して常に先進的な製品を提供しています

More information

AN1019 そのような配慮として 下記の基本的ガイドラインに沿って 可能な限り 環境条件または動作条件を制限する必要があります アプリケーションの温度を可能な限り下げる アプリケーションの電圧 ( または EEPROM の VCC 電圧 ) を可能な限り下げる 書き込みバイト数を可能な限り少なくす

AN1019 そのような配慮として 下記の基本的ガイドラインに沿って 可能な限り 環境条件または動作条件を制限する必要があります アプリケーションの温度を可能な限り下げる アプリケーションの電圧 ( または EEPROM の VCC 電圧 ) を可能な限り下げる 書き込みバイト数を可能な限り少なくす 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います EEPROM 書き込み耐性の基礎 AN1019 Author: 基礎 David Wilkie Microchip Technology Inc. EEPROM の 書き込み耐性 を一言で明確に定義して理解する事はできません 以下で説明するように メーカーごとに定義が異なります 全てのメーカー

More information

実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し

実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3 ずつインクリメントします MPLAB を使って MPASM アセンブラのソース ファイルをアセンブルします MPLAB とソース ファイルは配布し エンベデッド コントロール セミナー 2000 2000 Microchip Technology Incorporated. All Rights Reserved. S9002A Embedded Control Seminar 2000 1 実習内容 PIC18C242 のポート B に接続した LED を点滅させます ( 他の実習と同じ内容です ) 8 個の LED に表示される値が +3

More information

a.fm

a.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います TB3129 PIC マイクロコントローラの信号計測タイマ (SMT) モジュール Author: Ashutosh Tiwari Microchip Technology Inc. 要約本書には 柔軟で便利な信号計測タイマ (SMT) モジュールの技術概要を記載しています 幅広い PIC マイクロコントローラが内蔵する

More information

Manchester Decoder Using the CLC and NCO

Manchester Decoder Using the CLC and NCO 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います AN1470 CLC と NCO を使ったマンチェスタデコーダ 著者 : 概要 PIC16F150x が内蔵する CLC( 構成可能なロジックセル ) と NCO ( 数値制御オシレータ ) を使うと マンチェスタデコーダを構築できます PIC16F150x は 低消費電力 XLP 技術に対応したエンハンストコアを実装したデバイスです

More information

SMSC LAN8700 Datasheet

SMSC LAN8700 Datasheet 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います Microchip 社 Ethernet コントローラ スイッチ EtherCAT コントローラのトランスレスアプリケーション Author: Kansal Mariam Banu Shaick Ibrahim Microchip Technology Inc. はじめに Microchip

More information

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x

CoIDE 用 F4D_VCP の説明 V /07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x CoIDE 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです Free の開発ツール CoIDE で作成した STM32F4 Discovery 用のプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です 目次 1. USB の VCP( 仮想 COM ポート )

More information

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl

1. 新規プロジェクト作成の準備新規プロジェクトのためのフォルダを用意して そこにプロジェクトを作成します [ 新しいフォルダー ] をクリックして希望のフォルダに新しいフォルダを作成します この例では TrST_F401N_BlinkLD2 というフォルダを作成しました TrST_F401N_Bl NUCLEO-F401RE の TrueSTUDIO プロジェクト構築方法 V001 2014/09/24 Atollic TrueSTUDIO for ARM Lite を使用して NUCLEO-F401RE のプロジェクトを新規に作成する方法について説明します また ビルドとデバッグについても説明しています 目次 1. 新規プロジェクト作成の準備... 2 2. 新規プロジェクトの作成... 3

More information

MPLAB XC16 User’s Guide for Embedded Engineers

MPLAB XC16 User’s Guide for Embedded Engineers 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います 組み込み技術者のための MPLAB XC16 ユーザガイド 組み込み技術者のための MPLAB XC16 ユーザガイド はじめに 本書には 16 ビットデバイスおよび MPLAB XC16 C コンパイラ向けの 5 つのサンプ ルコードを掲載しています これらを使うにはマイクロコントローラと

More information

XC8 quick start guide.fm

XC8 quick start guide.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います MPLAB XC8 入門ガイド MPLAB XC8 入門ガイド 本書は MPLAB XC8 C コンパイラをこれから使い始めるプログラマー向けの入門書であり 特に組み込みプログラミングまたは Microchip 社製デバイスに慣れていない読者に配慮しています 本書の主な内容は以下の通りです (

More information

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x

1. 概念 STM32F4 Discovery 基板は Mini USB を接続して デバッグやプログラムの書き込みができるようになっています 通常は CPU の 0x 番地からプログラムを実行します では なぜわざわざこのプロジェクトの雛形を使用して CPU の 0x Base_STM32F4_Discovery の説明 2013/09/05 STM32F4 Discovery 基板の CPU STM32F407VG の FlashMemory 0x08010000 番地に書き込んで実行させる ユーザープログラムのためのプロジェクトの雛形です 本プロジェクトを元にユーザープログラムを作成して USB 経由で CPU に書き込みます USB 経由で CPU にプログラムを書き込むためには

More information

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート )

1. USB の VCP( 仮想 COM ポート ) について USB の VCP( 仮想 COM ポート ) は USB を非同期シリアル通信として使用するための USB のドライバです PC には VCP ドライバをインストールする必要があります USB の VCP( 仮想 COM ポート ) TrueSTUDIO 用 F4D_VCP の説明 V001 2014/07/05 USB の VCP( 仮想 COM ポート ) による非同期シリアル通信を行うプログラムです 無料の試用版開発ツール Atollic TrueSTUDIO for ARM Lite で作成したプロジェクトです ビルド可能なプログラムのコードサイズが 32Kbyte 以内の制限があります プログラムの開始番地は 0x08000000

More information

PICF/LF1847 表 1: デバイス PICF/LF1847 ファミリの各製品 プログラムメモリフラッシュ ( ワード ) データ EEPROM ( バイト ) SRAM ( バイト ) I/O 10 ビット A/D (ch) タイマ 8/ ビット EUSART MSSP CCP/ ECCP

PICF/LF1847 表 1: デバイス PICF/LF1847 ファミリの各製品 プログラムメモリフラッシュ ( ワード ) データ EEPROM ( バイト ) SRAM ( バイト ) I/O 10 ビット A/D (ch) タイマ 8/ ビット EUSART MSSP CCP/ ECCP ご注意 : この日本語版ドキュメントは 参考資料としてご使用の上 最新情報につきましては 必ず英語版オリジナルをご参照いただきますようお願いします PICF/LF1847 18/20/28 ピン 8 ビットフラッシュマイクロコントローラ製品概要 高性能 RISC CPU: 命令数は 49 で習得が容易 動作速度 : - DC 32 MHz クロック入力 - DC 12 ns 命令サイクル 割り込み機能

More information

MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev: PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を

MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev: PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を MSP430 CCSv5 を使い Flash Memory 内容と version 情報を確認する方法 ( テクニック編 ) Rev:01 10.4.2013 PIC Trout 今回は 下記の2 件について説明します 1) CCSv5 を使用して MSP430 の Flash Memory 内容を確認する方法 JTAG アクセスができるデバイス ( セキュリティ Fuse 断ではできません ) に対して

More information

Notes and Points for TMPR454 Flash memory

Notes and Points for TMPR454 Flash memory 表紙 TMPR454 内蔵 Flash メモリ対応版手順書 株式会社 DTS インサイト ご注意 (1) 本書の内容の一部または 全部を無断転載することは禁止されています (2) 本書の内容については 改良のため予告なしに変更することがあります (3) 本書の内容について ご不明な点やお気付きの点がありましたら ご連絡ください (4) 本製品を運用した結果の影響については (3) 項にかかわらず責任を負いかねますのでご了承ください

More information

RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM

RX600 & RX200シリーズ アプリケーションノート RX用仮想EEPROM R01AN0724JU0170 Rev.1.70 MCU EEPROM RX MCU 1 RX MCU EEPROM VEE VEE API MCU MCU API RX621 RX62N RX62T RX62G RX630 RX631 RX63N RX63T RX210 R01AN0724JU0170 Rev.1.70 Page 1 of 33 1.... 3 1.1... 3 1.2... 3

More information

B MPLAB XC HPA Renewal Instructions.book

B MPLAB XC HPA Renewal Instructions.book 優先アクセス (HPA) の概要 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います MPLAB XC HPA の更新方法 MPLAB XC C コンパイラ優先アクセス MPLAB XC PRO C コンパイラをご購入頂くと 1 年間の優先アクセス (HPA) サポートを無償で受けられます その後は年間契約で HPA を購入できます HPA はいつでも購入できます

More information

AN424 Modbus/TCP クイックスタートガイド CIE-H14

AN424 Modbus/TCP クイックスタートガイド CIE-H14 Modbus/TCP クイックスタートガイド (CIE-H14) 第 1 版 2014 年 3 月 25 日 動作確認 本アプリケーションノートは 弊社取り扱いの以下の機器 ソフトウェアにて動作確認を行っています 動作確認を行った機器 ソフトウェア OS Windows7 ハードウェア CIE-H14 2 台 ソフトウェア ezmanager v3.3a 本製品の内容及び仕様は予告なしに変更されることがありますのでご了承ください

More information

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for

Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for Introduction Purpose This training course demonstrates the use of the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that use microcontrollers (MCUs)

More information

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+)

RL78開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行(統合開発環境編)(High-performance Embedded Workshop→CS+) RL78 開発環境移行ガイド R8C/M16C, H8S/H8SXからRL78への移行 ( 統合開発環境編 ) (High-performance Embedded Workshop CS+) 2017/4/7 R20UT2087JJ0103 ソフトウェア事業部ソフトウエア技術部ルネサスシステムデザイン株式会社 はじめに 本資料は 統合開発環境 High-performance Embedded Workshop

More information

Lab GPIO_35 GPIO

Lab GPIO_35 GPIO 6,GPIO, PSoC 3/5 GPIO HW Polling and Interrupt PSoC Experiment Lab PSoC 3/5 GPIO Experiment Course Material 6 V2.02 October 15th. 2012 GPIO_35.PPT (65 Slides) Renji Mikami [email protected] Lab GPIO_35

More information

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for

RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for RTC_STM32F4 の説明 2013/10/20 STM32F4 内蔵 RTC の日付 時刻の設定および読み込みを行うプログラムです UART2( 非同期シリアル通信ポート 2) を使用して RTC の設定および読み込みを行います 無料の開発ツール Atollic TrueSTUDIO for ARM Lite 4.2.0 で作成した STM32F4 Discovery 基板用のプロジェクトです

More information

DALI App. Note

DALI App. Note 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います AN465 DALI (Digitally Addressable Lighting Interface) 通信 著者 : Shaima Husain Microchip Technology Inc. DALI (Digitally Addressable Lighting Interface)

More information

スライド 1

スライド 1 RX62N 周辺機能紹介データフラッシュ データ格納用フラッシュメモリ ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ データフラッシュの概要 プログラムサンプル 消去方法 書き込み方法 読み出し方法 FCUのリセット プログラムサンプルのカスタマイズ 2 データフラッシュの概要 3 データフラッシュとは フラッシュメモリ

More information

AN2754 USB-to-I2C Bridging with USB7002, USB7050, USB7051, and USB7052 Hubs

AN2754 USB-to-I2C Bridging with USB7002, USB7050, USB7051, and USB7052 Hubs 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います Microchip 社製 USB7002/USB7050/USB7051/USB7052 ハブの USB-to-I 2 C ブリッジ機能 Author: Mick Davis Microchip Technology, Inc. はじめに USB-to-I 2 C ブリッジ機能は Microchip

More information

Microsoft Word - DWR-S01D_Updater_取扱説明書_120514A.doc

Microsoft Word - DWR-S01D_Updater_取扱説明書_120514A.doc DWR-S01D Updater 取扱説明書 発行日 :2012/5/14 目次 概要...3 機能...3 準備するもの...3 本ソフトウェアについて...3 インストール手順...4 USBドライバーのインストール手順...8 デバイスマネージャーからのUSBドライバーのインストール手順...11 アップデート手順...16 アップデート後の確認...17 アップデートに失敗した場合...17

More information

Notes and Points for ADuCM320 Internal Flash memory

Notes and Points for ADuCM320 Internal Flash memory 表紙 ANALOG DEVICES 社製 ADuCM320 内蔵 Flash メモリ対応手順書 株式会社 DTS インサイト ご注意 (1) 本書の内容の一部または 全部を無断転載することは禁止されています (2) 本書の内容については 改良のため予告なしに変更することがあります (3) 本書の内容について ご不明な点やお気付きの点がありましたら ご連絡ください (4) 本製品を運用した結果の影響については

More information

USB.mif

USB.mif 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います AN1142 組み込み USB ホストにおけるマスストレージクラス Author: はじめに Microchip 社の USB OTG モジュール内蔵マイクロコントローラを使うと マイクロコントローラアプリケーションで USB 組み込みホスト機能を容易にサポートできます この機能の代表的な用途の

More information

Eclipse&gcc install and tutorial

Eclipse&gcc install and tutorial Eclipse & Blackfin Toolchain(gcc) インストール & チュートリアル 第 1 版 ご注意 : このドキュメントは旧版となりました 下記 URL から最新版を参照ください http://kaneko-sys.co.jp/support/ 金子システム株式会社 1 ご注意 1. 本資料に記載されている内容は本資料発行時点のものであり 予告なく変更することがあります 当社製品のご購入およびご使用にあたりましては

More information

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一

内容 1. 仕様 動作確認条件 ハードウェア説明 使用端子一覧 ソフトウェア説明 動作概要 ファイル構成 オプション設定メモリ 定数一覧 変数一 RX210 グループ IRQ 割り込みを使用したパルス出力 要旨 本サンプルコードでは IRQ 割り込みが発生すると 一定期間タイマでパルスを出力する 方法について説明します 対象デバイス RX210 1 / 25 内容 1. 仕様... 3 2. 動作確認条件... 3 3. ハードウェア説明... 3 3.1 使用端子一覧... 3 4. ソフトウェア説明... 4 4.1 動作概要... 4

More information

[DS50-N A] BIOS マニュアル BIOS セットアップユーティリティとは BIOS セットアップユーティリティとは BIOS の設定を確認 変更するためのツールです セットアップユーティリティは 本体に内蔵されているマザーボード上のフラッシュメモリーに格納されています このユ

[DS50-N A] BIOS マニュアル BIOS セットアップユーティリティとは BIOS セットアップユーティリティとは BIOS の設定を確認 変更するためのツールです セットアップユーティリティは 本体に内蔵されているマザーボード上のフラッシュメモリーに格納されています このユ BIOS マニュアル BIOS セットアップユーティリティとは BIOS セットアップユーティリティとは BIOS の設定を確認 変更するためのツールです セットアップユーティリティは 本体に内蔵されているマザーボード上のフラッシュメモリーに格納されています このユーティリティで定義される設定情報は チップセット上の CMOS RAM と呼ばれる特殊な領域に格納 されます この設定情報は マザーボードに搭載されているバックアップ電池により保存されます

More information

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A

1. A/D 入力について分解能 12bit の A/D コンバータ入力です A/D 入力電圧とディジタル値との対応は理論上 入力電圧 0V : 0 入力電圧 +3V : 4095 です 実際はオフセットと傾きがあり ぴったりこの数値にはなりません 2. A/D 入力に使用する信号 STM32L_A STM32L_ADC の説明 V003 2014/03/30 STM32L-Discovery の A/D 入力を行うプログラムです A/D CH0 ~ A/D CH3 の 4 本の入力が可能です 提供する PC のアプリケーション Access_SerialPort を使用して UART( 非同期シリアル通信 ) により A/D 入力の表示を行うことができます 無料の開発ツール Atollic TrueSTUDIO

More information

始める スタート > 全てのプログラム > Cypress > PSoC Creator 2.0 > PSoC Creator 2.0 をクリックします プロジェクトを作成する / 開く Start Page の "Create New Project" をクリックし 要求されたプロジェクト情報を入

始める スタート > 全てのプログラム > Cypress > PSoC Creator 2.0 > PSoC Creator 2.0 をクリックします プロジェクトを作成する / 開く Start Page の Create New Project をクリックし 要求されたプロジェクト情報を入 PSoC Creator クイックスタートガイド インストール http://www.cypress.com/go/creator から PSoC Creator をダウンロードするか キット CD からインストールします 支援が必要な場合は Cypress Support 1-800-541-4736 へ電話して 8 を選択してください 機能 システム要件およびインストールの注意事項については http://www.cypress.com/go/creatordownloads

More information

MPLAB Code Configurator User’s Guide

MPLAB Code Configurator User’s Guide MPLAB Code Configurator ユーザガイド 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います 2015 Microchip Technology Inc. DS40001725B_JP Microchip 社製デバイスのコード保護機能に関して以下の点にご注意ください Microchip 社製品は 該当する Microchip

More information

ここをクリックしてダウンロードする ダウンロードした zip ファイルを解凍する とインストーラが現れます インストーラを 起動してインストールを開始しましょう イ ンストーラの [ Next > ] ボタンを押してい けばインストールできます ライセンスの画面では I accept the ter

ここをクリックしてダウンロードする ダウンロードした zip ファイルを解凍する とインストーラが現れます インストーラを 起動してインストールを開始しましょう イ ンストーラの [ Next > ] ボタンを押してい けばインストールできます ライセンスの画面では I accept the ter mikroc PRO for PIC の使用法 入門編 この文書は PIC マイコンの C 言語開発環境である MikroElektronika 社の mikroc PRO for PIC のインストー ル方法と使い方の概要を説明したものです 評価版の mikroc は MikroElektronika 社のホームページからダウ ンロードできます この文書は 2010 年 12 月 25 日現在の情報に基づいて書かれてます

More information

Microchip Capacitive Proximity Design Guide

Microchip Capacitive Proximity Design Guide 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います マイクロチップ社の静電容量式近接検出設計ガイド 著者 : はじめに Xiang Gao Microchip Technology Inc. 近接検出を使うと 物理的接触なしに電子装置を操作できます この技術は製品の見た目と使いやすさを向上させ 消費電力を低減します 近接検出機能の実装には 磁気

More information

MPLAB XC8 User’s Guide for Embedded Engineers

MPLAB XC8 User’s Guide for Embedded Engineers 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います 組み込み技術者のための MPLAB XC8 ユーザガイド 組み込み技術者のための MPLAB XC8 ユーザガイド はじめに 本書には 8 ビットデバイスおよび MPLAB XC8 C コンパイラ向けの 5 つのサンプル コードを掲載しています 読者にはマイクロコントローラと C 言語プログラミングに

More information

PIC

PIC PIC - 1 ページ 2 週目 UBW を使用してみる 2010 年 5 月 23 日 15:28 前回の Gainer mini はあくまでも PC 側にプログラムがあり PIC は IO ボックス的な使用しかできなかった 入出力デバイスとして PIC を使う場合は 簡易で便利であるが それ以上の事 (PC なしでの動作 PC と対等の動作 ) は出来ない 今週からは 本来の PIC としての使い方を学ぶ

More information

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0

S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0 S1C17 Family Application Note S1C17 シリーズ PORT 多重割り込みアプリケーションノート Rev.1.0 評価ボード キット 開発ツールご使用上の注意事項 1. 本評価ボード キット 開発ツールは お客様での技術的評価 動作の確認および開発のみに用いられることを想定し設計されています それらの技術評価 開発等の目的以外には使用しないで下さい 本品は 完成品に対する設計品質に適合していません

More information

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000

CoIDE 用 STM32F4_UART2 の説明 V /03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000 CoIDE 用 STM32F4_UART2 の説明 V002 2014/03/30 STM32F4 Discovery の非同期シリアル通信ポート UART2 の送受信を行うプログラムです Free の開発ツール CoIDE で作成したプロジェクトサンプルです プログラムの開始番地は 0x08000000 です デバッグが可能です 提供する PC のアプリケーションの Access_SerialPort

More information

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ

arduino プログラミング課題集 ( Ver /06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイ arduino プログラミング課題集 ( Ver.5.0 2017/06/01 ) arduino と各種ボードを組み合わせ 制御するためのプログラミングを学 ぼう! 1 入出力ポートの設定と利用方法 (1) 制御( コントロール ) する とは 外部装置( ペリフェラル ) が必要とする信号をマイコンから伝える 外部装置の状態をマイコンで確認する 信号の授受は 入出力ポート 経由で行う (2) 入出力ポートとは?

More information

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル

WAGO PROFIBUS バスカプラ/コントローラと、QJ71PB92Dとのコンフィグレーションマニュアル < 概要 > WAGO-I/O-SYSTEM750 シリーズ PROFIBUS バスカプラ / コントローラと 三菱電機 製 PROFIBUS ユニット QJ71PB92D とのコンフィグレーション手順を説明しております < 使用機器接続図 > 下記機器を準備し 図の通り接続しました WAGO-I/O-SYSTEM PROFIBUS バスカプラ / コントローラ 750-xxx および I/O モジュール

More information

DWR-S01D Updater 取扱説明書 発行日 :2011/2/28

DWR-S01D Updater 取扱説明書 発行日 :2011/2/28 DWR-S01D Updater 取扱説明書 発行日 :2011/2/28 目次 概要概要...3 機能機能...3 準備準備するものするもの...3 本ソフトウェアソフトウェアについてについて...3 インストールインストール手順手順...4 USB ドライバーのインストールインストール手順手順...8 デバイスマネージャーデバイスマネージャーからの USB ドライバーのインストールインストール手順手順...11

More information

FT-450D シリーズ MAIN ファームウェアアップデートマニュアル 本ソフトウェアは FT-450D/FT-450DM/FT-450DS の アップデートファームウェアです FT-450 シリーズのアップデートには使用できません 八重洲無線株式会社

FT-450D シリーズ MAIN ファームウェアアップデートマニュアル 本ソフトウェアは FT-450D/FT-450DM/FT-450DS の アップデートファームウェアです FT-450 シリーズのアップデートには使用できません 八重洲無線株式会社 FT-450D シリーズ MAIN ファームウェアアップデートマニュアル 本ソフトウェアは FT-450D/FT-450DM/FT-450DS の アップデートファームウェアです FT-450 シリーズのアップデートには使用できません 八重洲無線株式会社 重要 本ソフトウェアは FT-450D/FT-450DM/FT-450DS の日本国内向け仕様のアップデートファームウェアです 日本国内向け仕様の

More information

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し

1. プログラム実行時の動作プログラムを実行すると以下のように動作します 1) NUCLEO-F401RE 上の LED LD2( 緑 ) が 200mSec 間隔で点滅します 2. プロジェクトの構成 2.1. プロジェクト F401N_BlinkLD2 の起動画面 TrueSTUDIO で作成し TrueSTUDIO 用 F401N_BlinkLD2 の説明 V003 2014/10/01 TIM11 の割り込みを使用して LED 点滅を行う NUCLEO-F401RE のプロジェクトサンプルです NUCLEO-F401RE は STMicroelectronics 社製の Cortex-M4 ARM CPU である STM32F401RET6 を搭載した基板です 試用版の開発ツール Atollic

More information

HP ThinUpdateを使用したWESシンクライアントイメージリストア手順書

HP ThinUpdateを使用したWESシンクライアントイメージリストア手順書 Technical white paper HP ThinUpdate を使用した Windows Embedded シンクライアント OS のイメージリカバリ手順 2015 年 11 月 目次 HP ThinUpdate とは? 2 対応する機種と OS イメージ 2 HP ThinUpdate のインストール 3 HP ThinUpdate を使用した OS リカバリ用 USB メモリの作成 9

More information

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O)

SOPC Builder ペリフェラル 簡易ユーザ・ガイド - PIO (Parallel I/O) ALTIMA Corp. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) ver.1.0 2010 年 8 月 ELSENA,Inc. SOPC Builder ペリフェラル簡易ユーザ マニュアル PIO (Parallel I/O) 目次 1. はじめに... 3 2. PIO 概要... 3 2-1. PIO 概要... 3 2-2. PIO

More information

TB3179 メモリ保護ユニット (MPU) の設定方法 はじめに メモリ保護ユニット (MPU) は Cortex -M7 コアがメモリ保護のために備えているオプションのコンポーネントです MPU はメモリマップを分割し それぞれにアクセス権とルールを設定します 本書では Cortex-M7 ベー

TB3179 メモリ保護ユニット (MPU) の設定方法 はじめに メモリ保護ユニット (MPU) は Cortex -M7 コアがメモリ保護のために備えているオプションのコンポーネントです MPU はメモリマップを分割し それぞれにアクセス権とルールを設定します 本書では Cortex-M7 ベー メモリ保護ユニット (MPU) の設定方法 はじめに メモリ保護ユニット (MPU) は Cortex -M7 コアがメモリ保護のために備えているオプションのコンポーネントです MPU はメモリマップを分割し それぞれにアクセス権とルールを設定します 本書では Cortex-M7 ベースの Microchip 社製 MCU で MPU メモリ領域を設定する方法を説明します MPU の特長は以下の通りです

More information

Welcome-Kit ~STM32L4-Nucleo~

Welcome-Kit ~STM32L4-Nucleo~ STM32CubeMX の使い方 0 STM32CubeMX ダウンロード 1 1 ST マイクロ社 HP より STM32CubeMX インストーラーをダウンロードし インストーラーの表示に沿ってインストールします URL : http://www.st.com/content/st_com/ja/products/development-tools/software-development-tools/stm32-

More information

Multi-Tool Design Advisory

Multi-Tool Design Advisory 注 意 : この 日 本 語 版 文 書 は 参 考 資 料 としてご 利 用 ください 最 新 情 報 は 必 ずオリジナルの 英 語 版 をご 参 照 願 います 開 発 ツールの 設 計 注 意 書 各 種 ツールの 設 計 注 意 書 (DS51764) この 注 意 書 は 以 下 の 開 発 ツールに 適 用 します MPLAB REAL ICE インサーキット エミュレータ MPLAB

More information

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です

本書は INpMac v2.20(intime 5.2 INplc 3 Windows7/8/8.1に対応 ) の内容を元に記載しています Microsoft Windows Visual Studio は 米国 Microsoft Corporation の米国及びその他の国における登録商標です ACTIVE TOUCH 拡張部品取扱説明書 - 共有メモリアクセスコンポーネント - 1. はじめに 1 (1) 概要... 1 (2) INpMac のインストール... 1 2. Windows アプリケーションとの連携 2 (1) コントロール ( 部品 ) の登録... 2 (2) データの関連付け... 3 3. INtime アプリケーションとの連携 4 (1) 部品 ( コンポーネント

More information

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー

SLCONFIG の操作 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストー SLCONFIG の操作 2011.03.02 JF1PYE Ⅰ. PC と slconfig の通信設定 Ⅱ. Slconfig の操作 Ⅲ. 端末ソフトによる Command 機能 Ⅳ. slconfig 実行形式プログラムの作成 Ⅴ. 端末ソフト Tera Term のダウンロード インストール 設定 Soliloc-10G Slconfig の開発 提供ならびに本書を作成するに当たり情報提供を頂いた

More information

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは?

QuartusII SOPC_Builderで利用できるGPIF-AVALONブリッジとは? アルテラ FPGA 向け PLL リコンフィグの応用回路 1. PLL リコンフィグとは アルテラ FPGA は PLL 機能を内蔵しています PLL を利用して基本周波数を逓倍 分周したクロックを利用することができます 通常 FPGA 開発ツール Quartus2( 以下 Q2) の MegaWizard プラグインマネージャを利用して PLL を設定し 希望のクロック周波数を得ることができます

More information

Flash Loader

Flash Loader J MA1309-A プロジェクターファームウェア更新ガイド 本書はお読みになった後も大切に保管してください 本書の最新版は下記ウェブサイトに公開されております http://world.casio.com/manual/projector/ Microsoft Windows Windows Vistaは米国 Microsoft Corporationの米国およびその他の国における登録商標または商標です

More information

インテル(R) Visual Fortran コンパイラ 10.0

インテル(R) Visual Fortran コンパイラ 10.0 インテル (R) Visual Fortran コンパイラー 10.0 日本語版スペシャル エディション 入門ガイド 目次 概要インテル (R) Visual Fortran コンパイラーの設定はじめに検証用ソースファイル適切なインストールの確認コンパイラーの起動 ( コマンドライン ) コンパイル ( 最適化オプションなし ) 実行 / プログラムの検証コンパイル ( 最適化オプションあり ) 実行

More information

Nios II Flash Programmer ユーザ・ガイド

Nios II Flash Programmer ユーザ・ガイド ver. 8.0 2009 年 4 月 1. はじめに 本資料は Nios II 開発環境においてフラッシュメモリ または EPCS へのプログラミングを行う際の参考マニュアルです このマニュアルでは フラッシュメモリの書き込みの際に最低限必要となる情報を提供し さらに詳しい情報はアルテラ社資料 Nios II Flash Programmer User Guide( ファイル名 :ug_nios2_flash_programmer.pdf)

More information

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R

1. 使用する信号 1.1. UART 信号 UART 通信に使用する信号と接続相手との接続は以下の通りです UART 信号表 番号 CPU 機能名 CPU 信号名 基板コネクタピン番号 方向 接続相手の信号名 1 USART1_TX PA9 CN > RxD 2 USART1_R TrueSTUDIO 用 L152CD_UART1 の説明 V001 2014/10/22 UART( 非同期シリアル通信 ) で送受信を行う STM32L152C-DISCO のプロジェクトサンプルです STM32L152C-DISCO は STMicroelectronics 社製の Cortex-M3 ARM CPU である STM32L152RCT6 を搭載した基板です 試用版の開発ツール

More information

Microsoft Word - CBSNet-It連携ガイドver8.2.doc

Microsoft Word - CBSNet-It連携ガイドver8.2.doc (Net-It Central 8.2) 本ガイドでは ConceptBase Search Lite.1.1 と Net-It Central 8.2 の連携手順について説明します 目次 1 はじめに...2 1.1 本書について...2 1.2 前提条件...2 1.3 システム構成...2 2 ConceptBase のインストール...3 2.1 インストールと初期設定...3 2.2 動作確認...3

More information

AN1609 GNUコンパイラ導入ガイド

AN1609 GNUコンパイラ導入ガイド GNU コンパイラ導入ガイド 2 版 2017 年 04 月 20 日 1. GNU コンパイラの導入... 2 1.1 はじめに... 2 1.2 必要なプログラムとダウンロード... 3 1.2.1 GNU ツールチェインのダウンロード... 3 1.2.2 e 2 studio のダウンロード... 5 1.3 GNU ツールチェインのインストール... 7 1.4 e 2 studio のインストール...

More information

PowerPoint Presentation

PowerPoint Presentation VME Embedded System ユーザーズマニュアル ~ Slim VME Embedded ~ Tecstar Page: 1 Agenda 1. VME Embedded System 概要 2. VME Embedded の特徴 3. Embedded Overview 4. VMEファイルとHEXファイルについて 5. Slim VME について 6. Deployment Toolの起動方法について

More information

AN1526 RX開発環境の使用方法(CS+、Renesas Flash Programmer)

AN1526 RX開発環境の使用方法(CS+、Renesas Flash Programmer) RX 開発環境の使用方法 (CS+ Renesas Flash Programmer) 第 2 版 2018 年 03 月 13 日 1. 概要 1.1 概要 本アプリケーションノートでは RX シリーズで使用する開発環境についての解説を行います 解説を行う開発環境は以下の 3 つです 1.RX ファミリ用 C/C++ コンパイラパッケージ 2.Renesas Flash Programmer(RFP)

More information

スライド 1

スライド 1 RX ファミリ用コンパイラスタートアップの紹介 ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ スタートアップの概要 スタートアッププログラム例 外部メモリを利用する場合の設定 2 スタートアップの概要 3 処理の流れとファイル構成例 パワーオン リセット Fixed_Vectors ( 固定ベクタテーブル )

More information

AMT機能セットアップガイド

AMT機能セットアップガイド Intel AMT 機能セットアップガイド C79860000 AMT ME BIOS 目次 AMT 機能とは...2 AMT 機能を使うための準備...2 AMT Local Manageability Service のインストール...3 ME BIOS の操作...4 ME BIOS の設定項目...6 ME BIOS の初期化...8 AMT 機能とは AMT 機能でできること AMT AMT

More information

Using L1 Cache on PIC32MZ Devices.recover.fm

Using L1 Cache on PIC32MZ Devices.recover.fm 注意 : この日本語版文書は参考資料としてご利用ください 最新情報は必ずオリジナルの英語版をご参照願います PIC32MZ の L1 キャッシュの使い方 AN1600 本書は PIC32MZ デバイスファミリにおけるレベル 1 (L1) CPU キャッシュの実装に関する情報を提供します また キャッシュシステムに関連するリスクと それらへの対処法についても解説します さらに 熟練ユーザ向けに MPLAB

More information

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C

SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 C SDC_SDIO_STM32F4 の説明 2013/09/17 SDIO インターフェースで SD カードをアクセスするプログラムのプロジェクトサンプルです FAT でファイルアクセスするために FatFs( 汎用 FAT ファイルシステム モジュール ) を使用しています VCP(USB 仮想 COM ポート : 非同期シリアル通信 ) を使用して SD カードのアクセスを試験することができます

More information

スライド 1

スライド 1 RX62N 周辺機能紹介 MTU2 マルチファンクションタイマパルスユニット 2 ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ MTU2 の概要 プログラムサンプル (1) インプットキャプチャ機能 プログラムサンプル (2) PWM モード プログラムサンプル (3) 相補 PWM モード プログラムサンプルのカスタマイズ

More information

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受

1. UART について UART は Universal Asynchronous Receiver Transmitter の頭文字をとったもので 非同期シリアル通信と呼ばれます シリアル通信とは 一本の信号線でデータをやりとりするために 1bit ずつデータを送出することをいいます データを受 STM32L_UART1 の説明 V004 2014/03/30 STM32L-Discovery の UART 1 の送受信を行うプログラムです 無料の開発ツール Atollic TrueSTUDIO for ARM Lite( 試用版 ) で作成したプロジェクトです プログラムの開始番地は 0x08000000 です デバッグが可能です PC アプリケーションの Access_SerialPort

More information

Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool

Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool Introduction Purpose This training course describes the configuration and session features of the High-performance Embedded Workshop (HEW), a key tool for developing software for embedded systems that

More information

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ

割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれ 第 2 回 本日の内容割り込みとは タイマー 割り込み 今までのプログラムは 順番にそって命令を実行していくのみ それはそれで良いが 不便な場合もある 例えば 時間のかかる周辺機器を使う場合 その周辺機器が動作を終了するまで CPU は待たなければいけない 方法 1( ポーリング ) 一定時間毎に 周辺機器の動作が終了したか調べる 終了していれば 次の動作に移るし そうでなければ また少し待ってから同じことを繰り返す

More information

Visual DSP++ install and tutorial

Visual DSP++ install and tutorial Visual DSP++ インストール & チュートリアル 第 4 版 金子システム株式会社 1 ご注意 1. 本資料に記載されている内容は本資料発行時点のものであり 予告なく変更することがあります 当社製品のご購入およびご使用にあたりましては 当社ホームページを通じて公開される情報を参照ください 2. 当社から提供する情報の正確性と信頼性には万全を尽くしていますが 誤りがないことを保証するものではありません

More information

Eclipse&gcc install and tutorial

Eclipse&gcc install and tutorial Eclipse & Blackfin Toolchain(gcc) インストール & チュートリアル 第 8 版 金子システム株式会社 1 ご注意 1. 本資料に記載されている内容は本資料発行時点のものであり 予告なく変更することがあります 当社製品のご購入およびご使用にあたりましては 当社ホームページを通じて公開される情報を参照ください 2. 当社から提供する情報の正確性と信頼性には万全を尽くしていますが

More information

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド

WAGO / / Modbus/RTU対応 バスカプラ クイックスタートガイド クイックスタート WAGO-I/O-SYSTEM 750 750-315/300-000 750-316/300-000 通信設定手順書 Ver 1.0.0 136-0071 東京都江東区亀戸 1-5-7 ワゴジャパン株式会社オートメーション TEL: Web: 03-5627-2059 FAX:03-5627-2055 http://www.wago.co.jp/io WAGO Kontakttechnik

More information

Microsoft Word - AW-SF100導入手順書(スタンドアローン版)_ doc

Microsoft Word - AW-SF100導入手順書(スタンドアローン版)_ doc AW-SF100 スタンドアローン版 導入手順書 Revision 0.06 2015.11.24 Professional AV Systems Business Unit Panasonic AVC Networks Company Panasonic Co., Ltd. 1. はじめに... 3 2. リモートカメラの設定... 4 2.1. AW-HE130 の設定... 4 2.2. AW-UE70/AW-HE40

More information

スライド 1

スライド 1 RX62N 周辺機能紹介 RTC リアルタイムクロック ルネサスエレクトロニクス株式会社ルネサス半導体トレーニングセンター 2013/08/02 Rev. 1.00 00000-A コンテンツ RTC の概要 プログラムサンプル プログラムサンプルのカスタマイズ 2 RTC の概要 3 RTC の仕様 32.768KHz メイン発振 サブ発振 CPG RTC システムクロック (ICLK) 周辺モジュールクロック

More information

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社

RW-4040 導入説明書 Windows 7 用 2017 年 7 月 シャープ株式会社 Windows 7 用 2017 年 7 月 シャープ株式会社 はじめに 本書は IC カードリーダライタ RW-4040 を使用するため お使いのパソコンにデバイスドライバソフトウェア ( 以下 ドライバソフト と記載 ) をインストールする方法について記述しています このドライバソフトは Windows 7 SP1 で動作します 本書では ドライバソフトバージョン 2.27 のインストールについて説明します

More information

Microsoft Word - バーチャルクラス(Blackboard)ログイン方法ガイド.docx

Microsoft Word - バーチャルクラス(Blackboard)ログイン方法ガイド.docx 最終更新日 :2017 年 8 月 23 日 バーチャルクラス (ILO) ログイン方法 (Blackboard) 株式会社アイ ラーニング 1 1. 受講環境の確認手順バーチャルクラスにログインする前に 以下の URL にアクセスして お使いの環境がバーチャルクラスを受講できる OS であるかどうか JavaVM がインストールされているかどうか確認してください 動作環境 OS:Windows7

More information

Visual DSP++ install and tutorial

Visual DSP++ install and tutorial Visual DSP++ インストール & チュートリアル 第 3 版 金子システム株式会社 1 ご注意 1. 本資料に記載されている内容は本資料発行時点のものであり 予告なく変更することがあります 当社製品のご購入およびご使用にあたりましては 当社ホームページを通じて公開される情報を参照ください 2. 当社から提供する情報の正確性と信頼性には万全を尽くしていますが 誤りがないことを保証するものではありません

More information

DWT-B01 Updater 取扱説明書 発行日 :2011/3/23

DWT-B01 Updater 取扱説明書 発行日 :2011/3/23 DWT-B01 Updater 取扱説明書 発行日 :2011/3/23 目次 概要概要...3 機能機能...3 準備準備するものするもの...4 本ソフトウェアソフトウェアについてについて...4 インストールインストール手順手順...5 USB ドライバーのインストールンストール手順手順...9 デバイスマネージャーデバイスマネージャーからの USB ドライバーのインストールインストール手順手順...12

More information

Microsoft Word - 補足説明_Win7_Server2008R2__R1.doc

Microsoft Word - 補足説明_Win7_Server2008R2__R1.doc 補足取扱説明書 (Windows 7/Windows Server 2008R2 向け ) (PC-PL2660/PL2640/3530/3540/3550/PK4510) もくじ はじめに...2 1. 印刷するための準備...3 2. プリンタードライバー画面と設定方法...5 3. 機器の監視...9 4. 付録...12 1 はじめに このたびは 日立ページプリンターをお買い上げいただき まことにありがとうございます

More information

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社

RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社 RW-5100 導入説明書 Windows7 用 2017 年 7 月 シャープ株式会社 はじめに 本書は Windows 7 環境において IC カードリーダライタ RW-5100 を使用するため お使いのパソコンにデバイスドライバソフトウェア ( 以下 ドライバソフト と記載 ) をインストールする方法について記述しています 本書で説明するドライバソフトは Windows 7 SP1 で動作するものです

More information

FTDI Driver Error and Recovery Procedure Check FTDI driver operation Rev :OK, Rev :NG, Rev :NG May 11, 2017 CHECK FTDI DRIVER

FTDI Driver Error and Recovery Procedure Check FTDI driver operation Rev :OK, Rev :NG, Rev :NG May 11, 2017 CHECK FTDI DRIVER FTDI Driver Error and Recovery Procedure Check FTDI driver operation Rev. 2.08.02:OK, Rev. 2.08.24:NG, Rev. 2.12.06:NG May 11, 2017 CHECK FTDI DRIVER VERSION 1. Connect FTDI device to PC FTDI デバイスを PC

More information

スクールCOBOL2002

スクールCOBOL2002 (h) 登録集原文の指定方法 . 登録集原文の指定方法 複数の COBOL プログラムに共通の記述を別のソースファイルとしておき COPY 文で取り込むことができます 登録集原文の概念図を下欄に示します このようにすると コーディング量を削減でき 記述ミスもなくなるため 開発効率を高めることができます ここでは 第 章で実習した reidai.cbl というソースファイルの DATA0 と YYMMDD

More information

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ)

Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ) Pirates Buster Series Secure Viewer セットアップマニュアル (Web インストーラ ) Pirates Buster for Document Pirates Buster for WebDocument 本書の利用方法 目的と概要本書は Web インストーラを利用した Secure Viewer のインストールについて説明します 利用対象者本書は 暗号化されたファイルの利用者を対象としています

More information