Renesas Rulz - Japan
  • User
    Join or Sign In
  • Site
  • Search Japan.RenesasRulz.com
  • User
  • Renesas Rulz
  • FAQ
  • パートナー
  • 半導体セミナ
  • eラーニング
  • ヘルプ
  • More
  • Cancel
  • かふぇルネ
  • がじぇるね
  • Groups
  • English Community
  • More
  • Cancel
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-KAEDE ライブラリの不具合報告と改善要望
  • Forums
  • Blog
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 チャレンジプログラム

 GR-SAKURA

 GR-KURUMI

 SNShield

 Web Compiler

 IDE for GR

 その他

 

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他

  • Date fujita nozomu
    fujita nozomu
  • Date 2015/8/11 16:06
  • Replies 43 replies
  • Subscribers 437 subscribers
  • Views 40791 views
Options
  • Share
  • More
  • Cancel
Related Tags
  • GR-KAEDE
  • KAEDE
  • USB Renesas Flash Programmer RFP .mot usbfirm
Related

ライブラリの不具合報告と改善要望

GR-KAEDE_Sketch_V1.00.zip の Makefile 中のコンパイルオプション

CFLAGS :=-Wall -I"$(GNU_PATH)rx-elf/include" -I. -I"$(GNU_PATH)lib/gcc/rx-elf/$(GCC_VERSION)/include" -I"$(GNU_PATH)rx-elf/include/c++/$(GCC_VERSION)/" -I"$(GNU_PATH)rx-elf/include/c++/$(GCC_VERSION)/rx-elf/64-bit-double/" -ffunction-sections -fno-function-cse -fsigned-char -fdata-sections -mno-balign -DDEBUG -DGRKAEDE -DGRSAKURA -DARDUINO=144 -DCPPAPP -D__RX_LITTLE_ENDIAN__=1 -D__T4__ -g2 -g -flto -mlittle-endian-data -m64bit-doubles -mcpu=rx64m

最適化オプション `-O2' とかがないですね。なんか効率悪いコード吐くなと思ったらこれが原因か。`GRKAEDE' と `GRSAKURA' と `ARDUINO' がデファインされてるのもどうかという感じ。

参考: GR-SAKURA_Sketch_V2.02.zip の Makefile 中のコンパイルオプション

CFLAGS :=-Wall -I"$(GNU_PATH)rx-elf/include" -I. -I"$(GNU_PATH)lib/gcc/rx-elf/$(GCC_VERSION)/include" -I"$(GNU_PATH)rx-elf/include/c++/$(GCC_VERSION)/" -I"$(GNU_PATH)rx-elf/include/c++/$(GCC_VERSION)/rx-elf/64-bit-double/" -ffunction-sections -fno-function-cse -fsigned-char -fdata-sections -mno-balign -DTESTING=1 -DGRSAKURA -DARDUINO=100 -DCPPAPP -D__RX_LITTLE_ENDIAN__=1 -D__T4__ -O2 -flto -mlittle-endian-data -mcpu=rx600 -m64bit-doubles
  • Cancel
  • Reply
  • hamayan
    hamayan
    • 0
    • 2015/9/26 19:40

    In reply to Okamiya Yuuki:

    元々wireのA4、A5はArduinoに合わせる為にソフトウエアでエミュレートしているのでしょうから、いっその事オーバーライドで好きなPINを割り当てられる様に作っておいた方が便利なんじゃないかな?

  • matuura mituhiro
    matuura mituhiro
    • 0
    • 2015/9/27 1:04

    In reply to hamayan:

    Okamiyaさん,

    image.cpp 54~47行目で使用しているフラグのセットが何処にも無いようです.

    これを呼び出す gr_sketch.cpp 45~47行目のループが何故2回なのかよく分かりませんが.

    image.cpp 93行目のラベルは87行目(writeの前)に移動した方が良いと思います.

    SDカードとSPI(LCD)の問題は,SDのSSピンに他のピンを指定した際にもSPCRのSPMSが0である為のようです.

    こちらではとりあえずアプリ側でSDにアクセスする時レジスタを書き換えて両者を動かしているので大丈夫です.

  • Okamiya Yuuki
    Okamiya Yuuki
    • 0
    • 2015/9/27 8:11

    In reply to matuura mituhiro:

    hamayanさん、現在はSoftI2cMaster rtc(A4, A5);の引数を変えればできるため、APIとして用意するかどうかなのですが、ハードI2Cもたくさんあり、あまりニーズがなさそうだったので(せめてArduinoのSCL, SDAピンなのですがハードとしてN.C.になっている)、敢えて見せてない状況です。

    Matsuuraさん、コメントいただきありがとうございます。

    >image.cpp 54~47行目で使用しているフラグのセットが何処にも無いようです.

    g_flag_finished_image_beginですかね?上でfalseとして初期化していますが、私の勘違いでしょうか。

    >これを呼び出す gr_sketch.cpp 45~47行目のループが何故2回なのかよく分かりませんが.

    これ、完全に私の凡ミスで、本来は3回ですね。image[3]の初期化で、Mdl_IP_Init( detect_workaddr );をそれぞれのメモリ空間を初期化してます。

    >image.cpp 93行目のラベルは87行目(writeの前)に移動した方が良いと思います.

    そうですね。ありがとうございます。

    >SDカードとSPI(LCD)の問題は,SDのSSピンに他のピンを指定した際にもSPCRのSPMSが0である為のようです。

    >こちらではとりあえずアプリ側でSDにアクセスする時レジスタを書き換えて両者を動かしているので大丈夫です。

    SSLAの件も含めて、この初期値忘れは、ビンゴですね。大変助かりました。問題発生時はSSLAが設定禁止の4とかになってました。

  • matuura mituhiro
    matuura mituhiro
    • 0
    • 2015/9/27 9:25

    In reply to Okamiya Yuuki:

    Okamiyaさん,

    g_flag_finished_image_begin を48行目以降で true にして初期化を1度だけに制限したかったのかなと思いました.こうしないと初期化を何度も実行します.そのため起動時間が長く掛かっていますので,1度で良いならその方が嬉しいです.

  • Okamiya Yuuki
    Okamiya Yuuki
    • 0
    • 2015/9/27 10:46

    In reply to matuura mituhiro:

    Matsuuraさん、ありがとうございます。その通りです。基本的には一回でOKです。初期化を一度だけにしたかったので、荒いですが手っ取り早くグローバル変数で管理することにしました。ひとまずサンプルではbeginを一度だけのコードにしようかと思います。

    hamayanさん、CN17はfujitaさんの反映を適用させていただきます。確かにカメラを使わない方にはサービスピンになりますので。Fujitaさん、ありがとうございます!

    digipontaさんのWebサーバー、SDカード同時使用?でSDがfailする件は、Matsuuraさんご指摘の初期化漏れの修正でSDがfailすることがなくなりました。再現していた状態で、初期化コードを追加して改善を確認しています。ただ、Webサーバーで画像が崩れる件、jpegエンコード時に崩してしまっているようでした。SDカードの保存データも一緒に崩れていたことと、生の画像は問題ないためです。

    ですので、JPEGエンコードをもう少し調べた後にV版にしたいと思います。とりあえず、E1.12としてe2studioのプロジェクトだけ公開します。9月29日までにJpegエンコードが改善できるかを判断したいと思います。・・・インドコンテストも始まってますので一旦V版として制限付き公開させていただきます。

  • Okamiya Yuuki
    Okamiya Yuuki
    • 0
    • 2015/9/28 7:25

    In reply to Okamiya Yuuki:

    V1.13として公開させていただきました。

    ・server.writeのサイズがsint16になってしまっていたのをuint32_tにしました。

    ・jpegエンコードで失敗することがあるのを改善しました。

    ・RTCでhourが変な値になるのを修正し、またうるう年にも対応しました。

    これでおおよそdigipontaさんのサンプルも問題なく動くと思います。多くのご支援をいただきありがとうございました。

  • matuura mituhiro
    matuura mituhiro
    • 0
    • 2015/10/24 21:34

    In reply to Okamiya Yuuki:

    Okamiyaさん

    SPI.h にあるクラス「SPISettings」の変数「spcmd」の初期値として187行目に

    spcmd = 0x070d; // default value

    が追加されましたが,b3-b2の

    BRDV(ビットレート分周設定ビット)が8分周となり非常に遅いです.

    分周無しの

    spcmd = 0x0700;

    ではまずいのでしょうか?

  • matuura mituhiro
    matuura mituhiro
    • 0
    • 2015/10/25 2:51

    In reply to matuura mituhiro:

    KAEDE と SAKURA 両方

    SD.cpp のbegin で SPI のクロックを SPI_HALF_SPEED にしているが,

    SPI_FULL_SPEED にしていない?

  • Okamiya Yuuki
    Okamiya Yuuki
    • 0
    • 2015/10/25 8:36

    In reply to matuura mituhiro:

    matsuuraさん、ご指摘ありがとうございます。SPCMDの件、おっしゃるとおりです。前回の未初期化問題で、マニュアルに記載のリセット後初期値をそのまま入れていました。SDへのアクセスは(SPCMDを修正後は)、3MHzで動かしています。48MHzの16分周ですが、SPI_HALF_SPEEDだと本来は4MHzで設定されるプログラムですが、実際には12分周がないため、それ以下となる16分周が設定されます。

  • matuura mituhiro
    matuura mituhiro
    • 0
    • 2015/10/25 18:49

    In reply to Okamiya Yuuki:

    Okamiyaさん,

    SPCMD0のCPHAも0が良いようですね.

    SDカードは初期化時は低いクロックを使用し,カード認識後に高速クロックに切り替えて使用します.SPI_FULL_SPEEDだと最大速度の25MHzになります.

    実際は最初から高速でも問題ないらしいですが.

    elm-chan.org/.../mmc.html

    画像ファイルの読み書きやWAVファイル再生では早い方が嬉しいです.

    2件ともSAKURA,KAEDEの両方です.

  • Okamiya Yuuki
    Okamiya Yuuki
    • 0
    • 2015/10/25 20:36

    In reply to matuura mituhiro:

    昨日SPCMDを0x0700を初期値とするライブラリにしてSAKURA/KAEDE共にアップデートさせていただきました。

    確かに最大速度は25MHzですので、SAKURA/KAEDEは動作確認上問題なさそうならば48MHzの2分周の24MHzで動かしてもいいかもしれません。

    もともとArduinoライブラリから転用して、上位層はほとんど手を付けてないのでHALFの設定になってはいますが、折角の高性能CPUですからね。

  • matuura mituhiro
    matuura mituhiro
    • 0
    • 2015/10/25 21:03

    In reply to Okamiya Yuuki:

    Okamiyaさん,

    >動作確認上問題なさそうならば

    私の所ではFULLの24MHzで48kHzのWAVが再生出来ているので良さそうですが,biginの引数で使いたい周波数に設定出来るといいですね.

  • fujita nozomu
    fujita nozomu
    • 0
    • 2016/2/10 6:36

    In reply to matuura mituhiro:

    GR-KAEDE_Sketch_V1.17.zip の gr_common/core/pins_arduino.h の 331行目、

    331:	_offset(PORT5), /* PIN_IO48(PJ5) */
    

    は

    331:	_offset(PORTJ), /* PIN_IO48(PJ5) */
    

    の間違いでは?

<
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2019 Renesas Electronics Corporation. All rights reserved.