2013/10/16

MPLAB X+XC8で__delay_ms関数にエラーマークが表示される問題の解決方法

追記 2014/11/25

匿名コメントにて「MPLAB X IDE v2.25を再インストールしたら解決した」との情報をいただきましたので,検証してみました. 情報をご提供いただき,ありがとうございました.

私の検証環境は,本投稿の解決方法が未適用の,Windows Server 2008 + MPLAB X IDE v2.15 + MPLAB XC8 Compiler v1.32という構成です. 検証環境においてMPLAB X IDE v2.15のみアンインストールし,2014年11月25日現在の最新バージョン,MPLAB X IDE v2.26をインストールしました. この結果,いただいた情報のとおり,エラー(警告)マークが表示されなくなりました.

問題が解決されたMPLAB X IDEのバージョンや,どのバージョンのMPLAB XC8 Compilerをインストールしていても同様に解決するのかについては未確認です. 詳細については,リリースノートなどを確認する必要があるでしょう. とりあえず,エラー(警告)マークの表示でお悩み方は,最新バージョンのMPLAB X IDEの導入をお試しください.

問題の概要,既存情報

Microchip Technology社のPIC16Fマイコン向けのプログラム開発を,MPLAB X IDEMPLAB XC8 C Compilerの組み合わせで行っています.ここで気になるのが,__delay_ms関数と__delay_us関数を使用した際に表示されるエラー(警告)マークです.テキストエディタの該当箇所にオンマウスすると,「Unable to resolve identifier __delay_ms」などとメッセージが表示されます.しかしながら,文法や関数の利用方法には問題はなく,コンパイルを試行すると成功しますし,PIC上でも意図した動作を再現してくれます.


__delay_ms関数にエラー(警告)マークが表示される

ということで,無視すれば良いものといえばそうなのですが,やはり気になります.そこで,このエラーが表示されなくなる方法がないか調べてみました.

Googleで検索すると,下記のように,同じ症状は1年以上前から報告されていることがわかりました.

しかしながら,本記事投稿現在の最新版のXC8 v1.21でも,この問題は解決されていません. さらに調べてみると,解決方法はYahoo! 知恵袋の下記のQ&Aで紹介されていました.

解決方法

上記によれば,XC8のインストールディレクトリ内の「include」ディレクトリ内にある「pic.h」の146行目を編集すると良いとのことです.具体的には下記の記述を,

次のように変更し,MPLAB X IDEを再起動すれば解決するというものでした.

結果,見事に問題が解決しました.気になる表示が消えてスッキリしました.


問題の解決後のテキストエディタ

XC8が登場してから1年以上経過しましたが,まだまだHi-TECH CやCCS-Cのユーザの方が多い気がします. XC8は結構頻繁にアップデートされているようですので,レガシー・デバイス脱却とともに開発環境も更新してみてはいかがでしょうか.

製品紹介
8ピンPICマイコンの使い方がよくわかる本 (基礎入門)
後閑 哲也
技術評論社
売り上げランキング: 119,862
2013/10/02

Windows Server 2012のウィルス対策ソフトウェア

はじめに…

DreamSparkで取得したWindows Server 2012を,デスクトップPCのOSとして使用しています.サーバ向けOSですが,そのPCの使用用途といえばネットサーフィンくらいです.本稿では,Windows Server 2012のウィルス対策について書いてみようと思います.

Windows Server 2008 R2以前であれば,Windows 7と同様にMicrosoftが提供しているセキュリティソフトウェア,Microsoft Security Essentials (MSE)をインストールすることでウィルス対策が出来ました.しかし,Windows Server 2012はMSEをインストール出来なくなっているようです.仕方がないのでノーガード戦法で乗り切ってきましたが,さすがに少々不安が残っていました.

わからないなりに調べてみると,Microsoft System Center 2012 Endpoint Protectionというソフトウェアを使用すると,MSEと同等のサービスを利用できるようになるらしいことがわかり,試してみることにしました.以降では,私の試した手順について記しておきます.

設定メモ
必要なファイルをダウンロードする
Microsoft System Center Configuration Manager 2012 SP1 および Endpoint Protection 2012 SP1 のダウンロード」のページを開き,「今すぐダウンロードする」からファイルのダウンロードを開始します.Microsoftアカウント(旧Windows Liveアカウント)でログインを求められます.
ファイルを展開する
自己解凍形式の圧縮ファイルがダウンロードされるので,圧縮ファイルを任意のフォルダに解凍します.
インストーラを実行する
管理者権限を持つユーザでログインし,解凍して出来たフォルダ内のインストーラ「SMSSETUP\CLIENT\SCEPInstall.exe」を実行して,Microsoft System Center 2012 Endpoint Protectionのインストールを開始します.

SCEPInstall.exe
インストール完了
ユーザ・インタフェースはMSEそのもの.動作にも特に違いは見受けられません.ウィルス対策ソフトウェアとして機能してくれそうです.インストール後に,「更新」タブで最新の定義ファイルへの更新と,フルスキャンを実行しておくと良いでしょう.

Microsoft System Center 2012 Endpoint Protection
定義ファイルを更新できないときは…
定義ファイルが更新できないときはWindows Updateの設定を確認してください.「取得する更新プログラム」の項目が「Microsoft UpdateからのWindowsと他の製品」となっていない場合は,ウィンドウ左側の「設定の変更」から,これを有効にしてください.

Windows Update

なんだか大丈夫そうなので,またしばらくはこの状態で様子を見たいと思います.

製品紹介