So-net無料ブログ作成

Renesas Synergyの備忘録 APSのお題編 [ARM&Cortex-M3]

2015-12-22 14.42.57.jpg


この書き込みで作成したプロジェクトはここ
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評価基板に適応化させます。

synergy100.png

ファイルメニューからインポート

synergy101.png

「既存プロジェクトをワークスペースへ」

synergy102.png

「ルートディレクトリの選択」から参照を使って先の解凍先の指定

synergy103.png

読み込まれると左のプロジェクトペインに先のプロジェクト名が表示される。図は内容を展開表示したもの。

synergy104.png

プロジェクトペインのプロジェクトをクリックして選択状態にして右クリックで表示される一覧の「プロパティ」をクリックする。

synergy105.png

C/C++ 一般を展開してSynergy Lisenceをクリック、ライセンスファイルがインストール編と同一の物で有る事を確認。違ったら...で再設定する。

synergy106.png

プロジェクトペインのプロジェクトをクリックして選択状態にして右クリックで表示される一覧の「プロジェクトをクリーンにする」をクリックする。※DK-S7G2のバイナリーが残っている可能性が有る為。

ここまでで取り込みが完了。次は適応化になります。

synergy107.png

真ん中の画面に「System configuration」が開いていない場合は、プロジェクトペインの「configuration.xml」をクリックします。

synergy108.png

BSPタブで評価基板はS7G2 SKを選択する。

synergy109.png

左下のプロパティでMain stackのサイズを0x4000にしておく。※必要は無いかもしれない。

synergy110.png

RTOS being usedはThreadXを選択する。

synergy111.png

PinsのタブでPortsのP6の0、1、2を、Mode:output、GPIOとしておく。

synergy112.png

PeripheralsのタブでETHER_RMIIのEthernet_controler_1_RMIIを、Mode:Enabled、全てのpinをNONEからP403等ポート端子へ割り付けを行う。

synergy113.png

Threadsタブを開く

synergy114.png

Threadの欄にNew Threadの項目が登録されていない時、Newボタンを押すとNew Thread項目が追加される。もちろんRemoveでそれを削除できる。

synergy115.png

New Thread Modulesの欄でも、やはりNewボタンを押してg_nx_NetX_nx_onと、g_sf_el_NetX Port Etherの項目を追加する。

synergy116.png

g_sf_el_NetX Port Etherの項目をクリックし、そのプロパティを設定する。
Moduleのチャネルは1.※SK-S7G2はチャネル1のみ実装

synergy117.png

ICUのEDMAC1EINTの優先度をDisableから適当な優先度に変更する。

synergy118.png

CommonのChannel 1 PHY Reset pinのポート定義をポート8の6に変更する。

synergy119.png

ThreadsのHAL/CommonをクリックしてHAL/Common Modulesのg_cgc_CGC Driver onなんとかを選択し、プロパティを表示する。

synergy120.png

Main Oscillator Cock SourceをCrystal or Resonatorにする。

さて、ここからが問題。
synergy121.png

環境によってはComponentsのWebserverに警告マークが付いているかもしれない。
インストール編で行った手順でインストールするとこのコンポーネントが入っていないからだと思う。その場合はこの先の「面倒な手順」を行う

synergy130.png

もし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ファイルを解凍すると実行ファイルが展開されますので、この実行ファイルを実行します。
なんかよく判らない内に終わっています。

synergy131.png

さて、うまく行かなかったプロジェクトは閉じておきます。

先にダウンロードしたPDFの手順でWebserverのデモプロジェクトの生成、ビルドまで行います。
synergy132.png

無事ビルドが完了しました。また、多分この時点でwebserverコンポーネンツに付いていた警告マークが消えていると思う。
しかし今生成したのは異なる評価基板用なので、先のDK-S7G2をSK-S7G2に変更した手順で、このプロジェクトも変更を加えます。












できましたでしょうか!



synergy133.png

IPアドレスはsrc以下のdemo_nx_http_application.cのこの辺りで変更できます。

synergy134.png

PCと評価基板をUSBケーブルで接続、LANケーブルを接続し、虫マークの横の矢印をクリックしてデバッグの構成から今回のロードモジュールを選択し、デバッグを開始します。

synergy135.png

2回レジュームボタンを押したところでpingを打ってみたところです。無事応答が返ってきています。

synergy136.png

WEBブラウザでアクセスした様子です。

APSのお題
APSのお題はWEBブラウザからチカチカしているLEDの点滅周期を変更できる!ってものなので、それを実現してみます。
先にビルドに失敗したプロジェクトの、src以下のフォルダーを除くソースファイル(C及びh)一切を、新しく作成したプロジェクトのsrc以下にコピーしてしまいます。
クリーンしてからビルドし、成功したらデバッガーを起動して動かしてみましょう。
synergy138.png

ページはこの様になりますので、適当な数字を入れてLEDの点滅周期が変更される事を確認します。

これでお題は完成です。

ところでビルド中に凄い量の警告が出ています。こんな奴です。
synergy137.png

src以下のdemo_nx_http_graphics.cを開いてみると、index.htmlや画像などがCソースの配列になっていますが、型がchar型となっており、しかしデータの一部は0x80を超えてしまうので、代入した場合に範囲を超えてしまうよ!ってコンパイラが警告しています。
なのでchar型はunsigned char型にする事で、まぁ一部の警告は減ります(笑)。

なんだかなぁー、、、
nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

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

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

トラックバック 0

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