Renesas Synergyの備忘録 APSのお題編 [ARM&Cortex-M3]
この書き込みで作成したプロジェクトはここ
https://dl.dropboxusercontent.com/u/60463387/Synergy/testWebServerForHMI.zip
APSのお題とは、このページです。
http://www.aps-web.jp/lab/renesas/201512/
SK-S7G2でもWEBサーバーをやってみるお題が有りますので、実際にやってみました。
まぁいろいろと問題が発生したのですが。
サクッとAPSに登録して、ページ右上のボタンからプロジェクトをダウンロードしましょう。
落としたのはZIPファイルです。解凍して適当なフォルダーに展開します。
e2studioを起動して上記プロジェクトを取り込みます。
手順は以下の通りです。
※プロジェクトはDK-S7G2評価基板向けに作成されていますので、SK-S7G2評価基板に適応化させます。
ファイルメニューからインポート
「既存プロジェクトをワークスペースへ」
「ルートディレクトリの選択」から参照を使って先の解凍先の指定
読み込まれると左のプロジェクトペインに先のプロジェクト名が表示される。図は内容を展開表示したもの。
プロジェクトペインのプロジェクトをクリックして選択状態にして右クリックで表示される一覧の「プロパティ」をクリックする。
C/C++ 一般を展開してSynergy Lisenceをクリック、ライセンスファイルがインストール編と同一の物で有る事を確認。違ったら...で再設定する。
プロジェクトペインのプロジェクトをクリックして選択状態にして右クリックで表示される一覧の「プロジェクトをクリーンにする」をクリックする。※DK-S7G2のバイナリーが残っている可能性が有る為。
ここまでで取り込みが完了。次は適応化になります。
真ん中の画面に「System configuration」が開いていない場合は、プロジェクトペインの「configuration.xml」をクリックします。
BSPタブで評価基板はS7G2 SKを選択する。
左下のプロパティでMain stackのサイズを0x4000にしておく。※必要は無いかもしれない。
RTOS being usedはThreadXを選択する。
PinsのタブでPortsのP6の0、1、2を、Mode:output、GPIOとしておく。
PeripheralsのタブでETHER_RMIIのEthernet_controler_1_RMIIを、Mode:Enabled、全てのpinをNONEからP403等ポート端子へ割り付けを行う。
Threadsタブを開く
Threadの欄にNew Threadの項目が登録されていない時、Newボタンを押すとNew Thread項目が追加される。もちろんRemoveでそれを削除できる。
New Thread Modulesの欄でも、やはりNewボタンを押してg_nx_NetX_nx_onと、g_sf_el_NetX Port Etherの項目を追加する。
g_sf_el_NetX Port Etherの項目をクリックし、そのプロパティを設定する。
Moduleのチャネルは1.※SK-S7G2はチャネル1のみ実装
ICUのEDMAC1EINTの優先度をDisableから適当な優先度に変更する。
CommonのChannel 1 PHY Reset pinのポート定義をポート8の6に変更する。
ThreadsのHAL/CommonをクリックしてHAL/Common Modulesのg_cgc_CGC Driver onなんとかを選択し、プロパティを表示する。
Main Oscillator Cock SourceをCrystal or Resonatorにする。
さて、ここからが問題。
環境によってはComponentsのWebserverに警告マークが付いているかもしれない。
インストール編で行った手順でインストールするとこのコンポーネントが入っていないからだと思う。その場合はこの先の「面倒な手順」を行う
もしwebserverに警告マークが付いていなければ、右上のGenerate project contentを押してモジュールを生成しておく。
次にビルドを行ってみる。もしビルドを行ってエラーが発生している時、特にコンソールのメッセージの中に
#error "Secure builder required to compile this file"
とか表示されている時、次の「面倒な手順」を取る事となる。
エラーが出ていなければ、多分このままデバッガーで動くと思う。
面倒な手順
ライセンスに関するエラーでビルドが完了しない事態に陥っています。
おそらくほとんどの人が最新のSSPバージョンをダウンロードして使っていると思われるが、このバージョンが異なることでライセンスに関するいちゃもんが付けられるらしい。
なので、使用しているSSPと同一バージョンと思われるコンポーネンツをもったデモプログラムをSK-S7G2に適応化して行きます。
以下のアドレスに進む。もちろんログインが必要になります。
https://synergygallery.renesas.com/ssp/demo#read
「Synergy ソフトウェアデモとアプリケーション」と書いてある通り、評価基板のデモプログラム等をここから入手できます。
この中のWebserverのデモプログラムをビルドすると、先のWebserverのコンポーネンツがインストールされるようです。具体的にはApplication Template Using NETX (Webserver)ですが、ターゲットがPE-HMI1ですので、またもやSK-S7G2への適応化が必要になります。
バージョン番号1.0の右の下矢印をクリックすると、同意を得た後にダウンロードが始まります。
※同時に説明が書かれているPDFもダウンロードしておきます。
ダウンロードしたzipファイルを解凍すると実行ファイルが展開されますので、この実行ファイルを実行します。
なんかよく判らない内に終わっています。
さて、うまく行かなかったプロジェクトは閉じておきます。
先にダウンロードしたPDFの手順でWebserverのデモプロジェクトの生成、ビルドまで行います。
無事ビルドが完了しました。また、多分この時点でwebserverコンポーネンツに付いていた警告マークが消えていると思う。
しかし今生成したのは異なる評価基板用なので、先のDK-S7G2をSK-S7G2に変更した手順で、このプロジェクトも変更を加えます。
できましたでしょうか!
IPアドレスはsrc以下のdemo_nx_http_application.cのこの辺りで変更できます。
PCと評価基板をUSBケーブルで接続、LANケーブルを接続し、虫マークの横の矢印をクリックしてデバッグの構成から今回のロードモジュールを選択し、デバッグを開始します。
2回レジュームボタンを押したところでpingを打ってみたところです。無事応答が返ってきています。
WEBブラウザでアクセスした様子です。
APSのお題
APSのお題はWEBブラウザからチカチカしているLEDの点滅周期を変更できる!ってものなので、それを実現してみます。
先にビルドに失敗したプロジェクトの、src以下のフォルダーを除くソースファイル(C及びh)一切を、新しく作成したプロジェクトのsrc以下にコピーしてしまいます。
クリーンしてからビルドし、成功したらデバッガーを起動して動かしてみましょう。
ページはこの様になりますので、適当な数字を入れてLEDの点滅周期が変更される事を確認します。
これでお題は完成です。
ところでビルド中に凄い量の警告が出ています。こんな奴です。
src以下のdemo_nx_http_graphics.cを開いてみると、index.htmlや画像などがCソースの配列になっていますが、型がchar型となっており、しかしデータの一部は0x80を超えてしまうので、代入した場合に範囲を超えてしまうよ!ってコンパイラが警告しています。
なのでchar型はunsigned char型にする事で、まぁ一部の警告は減ります(笑)。
なんだかなぁー、、、
2015-12-25 09:11
nice!(0)
コメント(0)
トラックバック(0)
コメント 0