= TOPPERS/ASP3版ECNL = TOPPERS/ASP3版のECHONET Liteミドルウェア「TOPPERS/ECNL」です。Ruby版コンフィギュレータに対応しました。 ターゲットは、[http://gadget.renesas.com/ja/product/sakura.html GR-SAKURA]と[http://gadget.renesas.com/ja/product/citrus.html GR-CITRUS]、[http://gadget.renesas.com/ja/product/peach.html GR-PEACH]で、EthernetかBluetooth PANで通信します。 == ダウンロード == GR-SAKURAとGR-CITRUSのソースコードは[https://dev.toppers.jp/trac_user/contrib/browser/asp3_tinet_ecnl_rx/trunk こちら]にあります。 GR-PEACHのソースコードは[https://dev.toppers.jp/trac_user/contrib/browser/asp3_tinet_ecnl_arm/trunk こちら]にあります。 リストの下にある「Download in other formats:」の「Zip Archive」をクリックすると、zipファイルでダウンロードできます。 == 開発環境 == ビルドはGCC+Makefileで行います。RX向けGCCは[https://gcc-renesas.com/ja/rx-download-toolchains/ こちら]から入手できます。arm向けGCCはe2studioのインストーラで入れた「GNU Tools ARM Embedded 5.4 2016q3」を使用しました。 IDEとして[https://www.renesas.com/ja-jp/products/software-tools/tools/ide/e2studio.html e² studio]V6.2.0を使用しました。 Rubyの実行環境が必要なので、​[https://www.ruby-lang.org/ja/downloads/ こちら]からダウンロードして、コマンドプロントから実行できるよう、環境変数でパスを通してください。 e² studio V6.2.0のプロジェクトファイルも含まれているので、展開したフォルダをワークスペースとして開き、プロジェクトのインポートをこのフォルダに対して行うことで、取り込むことができます。 == フォルダ構成 == ||||app1_usb_watt_meter||サンプルプログラム USB充電器電力計|| ||||app2_light||サンプルプログラム 一般照明|| ||||app3_human_detec||サンプルプログラム 人体検知センサ|| ||||app4_aircon||サンプルプログラム エアコン|| ||||app5_temp_sensor||サンプルプログラム 温度センサ|| ||||app6_hot_water_pot||サンプルプログラム 電気ポット|| ||||app7_buzzer||サンプルプログラム ブザー|| ||||bnep_bridge||サンプルプログラム Ethernet⇔Bluetooth PAN ブリッジ|| ||||asp3_dcre||RTOS [http://www.toppers.jp/asp3-kernel.html TOPPERS/ASP3]|| ||asp3_dcre||tinet||[http://www.toppers.jp/tinet.html TINET 1.7]をRuby版CFG対応し、IGMPを追加したもの|| ||||btstack||Bluetoothプロトコルスタック[https://github.com/bluekitchen/btstack/ btstak]|| ||||curl-7.57.0||HTTPクライアント[https://curl.haxx.se/ cURL]|| ||||musl-1.1.18||標準Cライブラリ[http://www.musl-libc.org/ musl]|| ||ntshell||echonet||ECHONET Liteミドルウェア [https://www.toppers.jp/ecnl.html TOPPERS/ECNL]|| ||ntshell||fatfs||FATファイルシステム [http://elm-chan.org/fsw/ff/00index_e.html FatFs]|| ||ntshell||ntshell||仮想ターミナル[https://www.cubeatsystems.com/ntshell/ NT-Shell]|| ||ntshell||tlsf||メモリアロケータ[https://github.com/mattconte/tlsf tlsf]|| ||||usbhost||Renesasで提供していたUSB HOSTのCDCをBluetoothに対応したもの|| ||||wolfssl-3.12.2||SSL/TLS ライブラリ[https://www.wolfssl.com/ wolfSSL]|| ||||zlib-1.2.11||圧縮・伸張ライブラリ[https://www.zlib.net/ zlib]|| == 標準Cライブラリ == GCC付属の標準Cライブラリnewlibではなく、muslを使用しています。 付属のnewlibでは、dirent.hやsocket.hがないので、curlのコンパイルに向いていません。 Linux向けのmuslを使用することで、POSIX向けのソースコードのコンパイルが難無く行えます。 ただし、未実装のAPIがあってもリンクが通ってしまいます。 このソフトでは、ntshell/srcに実装がありますが、curlを動作させる最小限の実装を行っています。