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型にする事で、まぁ一部の警告は減ります(笑)。
なんだかなぁー、、、
Renesas Synergyの備忘録 LEDチカチカ編 [ARM&Cortex-M3]
前回はSynergyのインストールまで進みましたので、今回はLEDチカチカまでやってみたいと思います。
e2studioを起動するとまずプロジェクトのフォルダーを何処に設定するのかを聞かれますので、標準でもイイですが自分の好きな位置でも設定できます。
どのツールチェインを使用するのかを聞かれています。先ほどインストールした方を選んでおきます。
「ようこそ」画面は閉じておきましょう。
Synergyプロジェクトをウイザードを使って生成します。
プロジェクト名の入力とライセンスファイルの登録画面です。
ライセンスファイルは図の位置に入っています。※この位置に無い場合はインストール失敗していますので、インストールのやり直しした方がいいかもしれません。
ライセンスファイルを登録するとこの様になります。
ボードを選びます。
Blinkyを選びます。
Generate project contentを押します。
プロジェクトをビルドします。
右下のコンソールにビルドの終了が表示されています。
デバッガーを使います。
評価基板とPCを付属のUSBケーブルで接続します。USBコネクタへの接続は写真を参照してください。
デバイスマネージャーからはJ-Linkとして見えています。
虫マークの右の三角をクリックして「デバッグの構成」をクリックします。
Renesas GDB hardwareなんとかの左の何かをクリックして「Blinky_SK_S7G2 Debug」を選択し、右下の「デバッグ」をクリックします。
デバッガーが起動しました。一旦Reset_Handlerで停止します。
赤丸のレジュームボタンを押すとmainに入ったところで停止します。
もう一回レジュームボタンを押すとLED1からLED3でLEDチカチカが始まります。
hal_entry.cを開いて変数freq_in_hzを書き換えれば任意の周波数で点滅します。
Renesas Synergyの備忘録 インストール編 [ARM&Cortex-M3]
Renesas Synergyの評価基板は、マルツかChip One Stopで購入できるようです。
マルツ
http://www.marutsu.co.jp/GoodsListNavi.jsp?path=&q=Synergy&searchbox=1
Chip One Stop
http://www.chip1stop.com/dispDetail.do?partId=RENE-0065086&mpn=YSSKS7G2E20PWS2
上記評価基板を購入すると、基板、USBケーブル、それに紙で数枚の簡単マニュアルが梱包されています。
回路図、基板のマニュアルは入っていませんorz。どゆこと?
回路図等の資料は、以下のSynergyに関するサイトに登録後に見れるようになります。
https://synergygallery.renesas.com/auth/login
はい、例によって個人情報を登録しちゃって下さい。最初の鬼門ですね。
回路図、基板のマニュアルはログイン後、サポートのページのナレッジベースから取り出す事ができます。
何故か別の英文ページに飛ばされてしまいますので、以下のリンクのアイコンを次々にクリックして行ってください。
このページが表示されてようやくドキュメントを取得できます。まぁ普通に考えれば評価キットに必要なドキュメントを同梱しておいてくれよ!と思ってしまいますが。
まぁ結局のところドキュメントの入手は以下のリンクのページですが、
http://knowledgebase.renesas.com/Renesas_Synergy_Platform/Renesas_Synergy_Kits_and_Tools
上記の評価基板の名前はSK-S7G2です。
さて、開発キットなのに必要ドキュメントを集めるところから始めると言うのもなんですが、次から開発環境を集めて行きます。
それはそれとして、PC側に要求されるリソースが以下の様になっています。
色々と必要要件は最近のPCであれば大丈夫だと思いますが、ハードディスクの最低容量が250GBって一体なんでしょう?SSDの場合は絶望的?
250GBってbyte?bit?、、、本当にそこまで必要なのか実際にインストールしてみます。
入れる前のハードディスクの状況
e2studioを入れますので、以下のページに移動し、
https://synergygallery.renesas.com/isde
e2studioのパッケージをダウンロードします。
「ダウンロード」をクリックして進んだページの青文字のバージョン番号をクリックする事でe2studioとかGnu Cなど開発環境がパッケージ化されたインストーラがダウンロードされます。まわりくどいし、解り難いですね。
809Mbyteのzipファイルをダウンロード、解凍すると何故か一つの809Mbyteの実行ファイルが表れてます。圧縮する意味が有ったのでしょうか?
インストール中に選択項目が有るのですが、よくわからないので最低の選択としています。なにか判ったら教えて下さい。
標準のフォルダーです。
Synergy Deviceのみ選びました。
日本語パックのみ選びました。
ここでは標準の選択です。
GNU TOOLのみ選んでいます。しかしこのバージョンはちょっと古いですね。
標準の選択です。
時間が掛かるので、お茶でも飲んで待ちましょう。
途中からGNU TOOLSのインストールが始まりますので、基本的に「はい、はい」で進みます。
ソフトウエアパッケージ(SSP)のインストール
Synergy Software Packegeのページから「ダウンロード」をクリックして、
https://synergygallery.renesas.com/ssp
例によってバージョン番号をクリックする事でダウンロードが開始されます。
以降、標準の選択です。
結局ハードディスクに必要な容量は?
心配するほど増えていません。オプションの選択次第だと思いますが。
Cortex M4 Kinetis情報 [ARM&Cortex-M3]
ぼちぼちとFTF2010で仕入れた情報を書いて行こうと思っていましたが、既にフリースケールの方でFTF2010のセッション内で配布された資料がダウンロードできますので、私がうっかり間違ったことを書くより、こちらをごらんください。なお、資料を入手する為にはフリースケールフリークへの登録が必要です。
http://www.freescale.co.jp/
Kinetisではありませんが、D-3のMMA9550Lの資料もお勧めです。
プログラマブルXBeeなんかもそうですが、最近の流行は機能モジュールのインテリジェント化なんですかね。
http://www.freescale.co.jp/
Kinetisではありませんが、D-3のMMA9550Lの資料もお勧めです。
プログラマブルXBeeなんかもそうですが、最近の流行は機能モジュールのインテリジェント化なんですかね。
ARM Cortex‐M3システム開発ガイド―最新アーキテクチャの理解からソフトウェア開発までを詳解 (Design Wave Advance)
- 作者: Joseph Yiu
- 出版社/メーカー: CQ出版
- 発売日: 2009/05
- メディア: 単行本
トランジスタ技術 SPECIAL (スペシャル) 2010年 07月号 [雑誌]
- 作者:
- 出版社/メーカー: CQ出版
- 発売日: 2010/06/29
- メディア: 雑誌
ST-Linkを使いたい、、、Windows2000は諦めた。 [ARM&Cortex-M3]
IDEのインストール直後にSt-Linkのファームウエアバージョンを上げておけば、流石に純正ツールだけあって、すんなり開発環境の構築は終了します。
起動すれば、もう見慣れてしまった感じのあるエクリプスが起動します。
デバッカーだって、いつも通り。
えーっと、あのお店で購入すると2500円ですか、、、やれやれ。
これと言ったネタも無いので、St-Linkのケースを開けた写真でもどうぞ。非常にシンプルな基板で、使っているのはSTM32F103Cのなんとかです。
起動すれば、もう見慣れてしまった感じのあるエクリプスが起動します。
デバッカーだって、いつも通り。
えーっと、あのお店で購入すると2500円ですか、、、やれやれ。
これと言ったネタも無いので、St-Linkのケースを開けた写真でもどうぞ。非常にシンプルな基板で、使っているのはSTM32F103Cのなんとかです。
ARM Cortex‐M3システム開発ガイド―最新アーキテクチャの理解からソフトウェア開発までを詳解 (Design Wave Advance)
- 作者: Joseph Yiu
- 出版社/メーカー: CQ出版
- 発売日: 2009/05
- メディア: 単行本
ITRONプログラミング入門―H8マイコンとHOSで始める組み込み開発
- 作者: 濱原 和明
- 出版社/メーカー: オーム社
- 発売日: 2005/04/25
- メディア: 単行本
ST-Linkを使いたい、、、Windows2000にインストールは可能か?。 [ARM&Cortex-M3]
stm32fの開発にSt-Linkを使いたいのでatollicのTrueSTUDIOのLite版をインストールするのだけれど、PCの条件としてOSはXP以降、メモリは1Gbyteとか。全然条件に届いていない。
一応XPのノートはあるのだが、しかしこのDELLのノートはキーボードがイマイチで、コーディング等打ち込みする時はやはりThinkPadでやりたいんだよね。でもこのThinkPadはOSが2000でメモリが640Mbyteしか無い。
一応インストール作業は進むのでIDEを起動してみた、、、。
なんかXML文章が展開されないと言うか、本来はこうなるらしいのだが、、、
あとちょっとの様な気がするけれど、何かが足りない気がするけれど、やっぱり駄目なのかなぁ。
一応XPのノートはあるのだが、しかしこのDELLのノートはキーボードがイマイチで、コーディング等打ち込みする時はやはりThinkPadでやりたいんだよね。でもこのThinkPadはOSが2000でメモリが640Mbyteしか無い。
一応インストール作業は進むのでIDEを起動してみた、、、。
なんかXML文章が展開されないと言うか、本来はこうなるらしいのだが、、、
あとちょっとの様な気がするけれど、何かが足りない気がするけれど、やっぱり駄目なのかなぁ。
ARM Cortex‐M3システム開発ガイド―最新アーキテクチャの理解からソフトウェア開発までを詳解 (Design Wave Advance)
- 作者: Joseph Yiu
- 出版社/メーカー: CQ出版
- 発売日: 2009/05
- メディア: 単行本
ARM組み込みソフトウェア入門―記述例で学ぶ組み込み機器設計のためのシステム開発 (Design Wave Advanceシリーズ)
- 作者: Andrew N. Sloss
- 出版社/メーカー: CQ出版
- 発売日: 2007/08
- メディア: 単行本
iなんとかばかりに負けていられないから、、、オリジナルタッチパネル付き液晶の開発 [ARM&Cortex-M3]
OpenOCDフリスクJTAG ”hp?” デバッカー [ARM&Cortex-M3]
これ、hpのノベリティなんだそうです。思いっきりhpの宣伝ですが、でもセンス良いですね。
ターゲットはInterface誌の付録のARMだそうです。
そのInterface誌5月号の記事に間違いがあるそうです。
----以下連絡をもらった内容の抜粋----
ピンアサイン表に間違いがあります。(回路図の方が正しいです。)
P41-表3 コネクタCN1
〔誤〕
ピン番号17: FGPIO P1_28
ピン番号18: FGPIO P1_29
〔誤〕
ピン番号17: FGPIO P1_29
ピン番号18: FGPIO P1_28
-----------------------
LPCをお使いの皆さん、お気を付け!と言う事で。
ARM Cortex‐M3システム開発ガイド―最新アーキテクチャの理解からソフトウェア開発までを詳解 (Design Wave Advance)
- 作者: Joseph Yiu
- 出版社/メーカー: CQ出版
- 発売日: 2009/05
- メディア: 単行本
OpenOCDフリスクJTAGデバッカーのリセットスイッチ [ARM&Cortex-M3]
bird.dip.jpさん情報により、設定しているキーマップが異なっている事が判明しました。正しくはjtagkeyとなります。
上記変更は、デバッカーのコンフィギュレーション情報の内、interface項目をjtagkeyに変更するのですが、そのままではOpenOCDフリスクデバッカー上のリセットスイッチが使えなくなってしまいました。
やはりbird.dip.jpさん情報によりSRSTの有効/無効の設定方法が挙げられています。
と、その前に、このOpenOCDフリスクデバッカーのリセットスイッチの入っている位置は、nSRSTをドライブしているVHC125の入力側に挿入しています。その為ドライブ側のスリーステートバッファのイネーブルが有効でないとこのリセットスイッチその物が無効となってしまいますので、目的としてはこのイネーブル端子を有効とする事となります。
コンフィギュレーション情報のtarget側設定ファイルの中、この前参考として挙げたのはstm32.cfgですが、この中の以下の一文を探してコメントアウトし、
reset_config trst_and_srst
以下の分を追加してください。
reset_config srst_push_pull
パラメータとしてはsrst_open_drainなんてものあって、「そっちかな?」と試したのですが、こちらは駄目でした。
ARIESやTAURUSと言ったCortex M3ボード上には勿論リセットスイッチを用意しているのですが、デバック中は必ずしもリセットスイッチが都合の良い方向を向いているとは限らず、その為ボードの向きにあまり影響されないOpenOCDフリスクデバッカー上にリセットスイッチを設けたのですが、やっぱりここでリセットできるのは便利なのです。
上記変更は、デバッカーのコンフィギュレーション情報の内、interface項目をjtagkeyに変更するのですが、そのままではOpenOCDフリスクデバッカー上のリセットスイッチが使えなくなってしまいました。
やはりbird.dip.jpさん情報によりSRSTの有効/無効の設定方法が挙げられています。
と、その前に、このOpenOCDフリスクデバッカーのリセットスイッチの入っている位置は、nSRSTをドライブしているVHC125の入力側に挿入しています。その為ドライブ側のスリーステートバッファのイネーブルが有効でないとこのリセットスイッチその物が無効となってしまいますので、目的としてはこのイネーブル端子を有効とする事となります。
コンフィギュレーション情報のtarget側設定ファイルの中、この前参考として挙げたのはstm32.cfgですが、この中の以下の一文を探してコメントアウトし、
reset_config trst_and_srst
以下の分を追加してください。
reset_config srst_push_pull
パラメータとしてはsrst_open_drainなんてものあって、「そっちかな?」と試したのですが、こちらは駄目でした。
ARIESやTAURUSと言ったCortex M3ボード上には勿論リセットスイッチを用意しているのですが、デバック中は必ずしもリセットスイッチが都合の良い方向を向いているとは限らず、その為ボードの向きにあまり影響されないOpenOCDフリスクデバッカー上にリセットスイッチを設けたのですが、やっぱりここでリセットできるのは便利なのです。
ARM組み込みソフトウェア入門―記述例で学ぶ組み込み機器設計のためのシステム開発 (Design Wave Advanceシリーズ)
- 作者: Andrew N. Sloss
- 出版社/メーカー: CQ出版
- 発売日: 2007/08
- メディア: 単行本
改訂 ARMプロセッサ―32ビットRISCのシステム・アーキテクチャ (Design Wave BOOKS)
- 作者: Steve Furber
- 出版社/メーカー: CQ出版
- 発売日: 2001/11
- メディア: 単行本
OpenOCDフリスクJTAGデバッカーの作成例 bird.dip.jpさんの場合 [ARM&Cortex-M3]
bird.dip.jpさんでも完成したようです。
http://bird.dip.jp/mt/archives/2009/11/04/2303.html
ボード上のLEDをケース外部に引き出す工夫をされていて、凝った創りになっています。
※JTAGのキーマップを私はoocdlinkとしてしまいましたが、実際はjtagkeyが正しいようです。
コンフィギュレーションを修正してください。
MTM04にこのデバッカーを持って行きます。
見たい方はお立寄りください。
http://bird.dip.jp/mt/archives/2009/11/04/2303.html
ボード上のLEDをケース外部に引き出す工夫をされていて、凝った創りになっています。
※JTAGのキーマップを私はoocdlinkとしてしまいましたが、実際はjtagkeyが正しいようです。
コンフィギュレーションを修正してください。
MTM04にこのデバッカーを持って行きます。
見たい方はお立寄りください。