Renesas Rulz - Japan
Renesas Rulz - Japan
  • User
    Join or sign in
  • Site
  • Search Japan.RenesasRulz.com
  • User
  • Renesas Rulz
  • FAQ
  • パートナー
  • 半導体セミナ
  • eラーニング
  • ヘルプ
  • More
  • Cancel
  • かふぇルネ
  • がじぇるね
  • English Community
  • More
  • Cancel
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-MANGO CASHED_RAMでのoverflow発生を回避する方法
  • Forums
  • Blog
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 GR-SAKURA

 GR-KURUMI

 GR-COTTON

 GR-CITRUS

 GR-PEACH

 GR-KAEDE

 GR-ADZUKI

 GR-LYCHEE

 GR-ROSE

 GR-MANGO(*)

 SNShield

 Web Compiler

 IDE for GR

 TOPPERS関連

 女子美コラボ

 その他

 ※プロデューサミーティング中

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他・過去ファイル

  • State Not Answered
  • Replies 4 replies
  • Subscribers 13 subscribers
  • Views 130 views
  • Users 0 members are here
Options
  • Share
  • More
  • Cancel
Related Tags
  • AnalogIn
  • CAMERA
  • Deep Standby
  • DRP
  • e2studio
  • flash
  • GR-LYCHEE
  • GR-MANGO
  • HDMI
  • Mbed CLI
  • Mbed Studio
  • mbed-os
  • midi
  • MOSI
  • OMRONセンサ評価ボード
  • rtc
  • SD
  • spi
  • usb
  • WS2812
  • 加速度センサ
  • 取り付け穴
  • 拡張ボード
  • 画像
  • 非接触温度センサ
Related

CASHED_RAMでのoverflow発生を回避する方法

hepasoru
hepasoru 1 month ago

上記エラーを回避するため、GR-MANGOのメモリを上手に活用する方法をご教授お願いいたします。

e2Studio環境で、binファイルに埋め込んだjpg画像を読み込んでDRPで加工、HDMIを通してDisplay出力しようとしています。
しかし、作成したプロジェクトをビルドすると、CASHED_RAMでoverflowが発生したとエラーが出てしまいました。

上記エラーを回避するため、jpg画像と、デコード後のバッファをOCTARAMに配置しようと試みたのですが、
jpgからのデコードで失敗してうまく行きませんでした。(そもそも配置できているかも不明です。)

下記方法をご存知のかたがいましたら教えていただけないでしょうか。
・jpg画像と、デコード後のバッファをOCTARAMに配置した上でDRPライブラリを利用する方法
・上記以外でメモリの問題を解決する手段

以上です。度々申し訳ありませんが、よろしくお願い致します。

■利用画像
『1280×720』(161KB):ベースライン

■利用するDRPとそのコンフィグレーションサイズ
affineは実装次第では不要かもしれませんが、他は必ず利用したいです。
・Argb2grayscale:15K
・Affine:712K
・Remap:215K
・Cropping:16K
・Sobel:40K
・CircleFitting:174K

■jpg読み込みの参照プロジェクト
rza2m_jpeg_codec_sample_freertos_gcc』

■記述したデコード後のバッファ宣言

static uint8_t buffer[1280*720*4] __attribute((section("OCTA_BSS"),aligned(32)));

  • Reply
  • Cancel
  • Cancel
Parents
  • miniwillow
    0 miniwillow 1 month ago

    miniwillowです。

    GR-MANGO FreeRTOS Software packageに含まれる、

    rza2m_drp_dynamic_sample3_freertos_gcc

    のプロジェクトあればDRPとOCTA RAMをどちらも使っています。

    もしよろしければ参考にしてみてください。

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hepasoru
    0 hepasoru 1 month ago in reply to miniwillow

    再度のアドバイスありがとうございます。そもそもOCTARAMに配置できていなかったようです。
    上記プロジェクトを参考にした結果、読み込んだ画像データをOCTARAMに配置したコードができました。
    ただ、memcpyで書き込もうとすると強制終了する現象が起きてしまいました。
    書き込み許可とかの設定があるのででしょうか。
    正直、現状お手上げ状態なので、たびたび申し訳ありませんが、ご教授下さい。

    ■試験手順
    1.画像サイズを1/10にした、OCTARAMを利用しなくてもOverflowが起きないプロジェクトを用意
    2.一部変数の配置領域をCashedRamからOCTARAMに変更
    3.実行するとmemcpy実行時に強制終了する。
    4.画像データを持つ変数の変数の配置領域をOCTARAMからCashedRamに変更
    5.正常に動作する。

    ■強制終了発生コード
    memcpy(memory_address_of_JPEG, g_jcu_example_image, size_of_JPEG_image);

    ・memory_address_of_JPEG:今回配置領域を変更した変数
    型:uint8_t * 値:0x6002d000(OCTA) or 0x80069280(Cashed)
    ・g_jcu_example_image:画像データが格納された変数
    型:const unsigned char[63055] 値:0x80069280
    ・size_of_JPEG_image:画像サイズ
    型:const size_t 値:63055

    ■OCTARAM利用時のコード
    OCTARAM利用:__attribute__ ((section ("Large_Graphics_RAM")))
    ■linker_script.ldの設定
    OCTAVRAM (NOLOAD) : ALIGN( 0x40 ) {
    * (Large_Graphics_RAM)
    . = ALIGN( 0x20 );
    * (OCTA_CACHED_BSS)
    } > OCTA_CACHED_RAM

    以上です。

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • miniwillow
    0 miniwillow 1 month ago in reply to hepasoru

    OCTARAMはリンカで配置を定義しただけでは使えず、初期化が必要になりますが、設定されていますか?

    rza2m_drp_dynamic_sample3_freertos_gccのhwsetup.cのR_HYPERBUS_Setup()で初期化しています。

    この関数にはOCTABUSドライバ(r_octabus)、OCTABUSのユーザーコンフィグ(octabus_setup)等必要ですがrza2m_drp_dynamic_sample3_freertos_gccからコピーしてもらえればそのまま使えると思います。

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
  • hepasoru
    0 hepasoru 1 month ago in reply to miniwillow

    ありがとうございます。ご指摘通り初期化を行っておりませんでした。読み込み画像やremap用の変数などをOCTARAMに配置することで、画像サイズを縮小することなく機能を無事に実現できました。何度もご助言頂きありがとうございました。

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
Reply
  • hepasoru
    0 hepasoru 1 month ago in reply to miniwillow

    ありがとうございます。ご指摘通り初期化を行っておりませんでした。読み込み画像やremap用の変数などをOCTARAMに配置することで、画像サイズを縮小することなく機能を無事に実現できました。何度もご助言頂きありがとうございました。

    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
Children
No Data
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2020 Renesas Electronics Corporation. All rights reserved.