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関連
女子美コラボ
その他
※プロデューサミーティング中
作り方使い方資料
イベント関連
作品記事
体験記事
ライブラリ
ツール
その他・過去ファイル
GR-MANGOの製品版ではOctaRAMが16MBになっているので使おうと思ったのですが、mbedでは使えませんでしたので調べました。
octaram_init.c(244)にOctaRAMのサイズを設定するコードがあるので、
OCTA.DSR1.BIT.DV1SZ = OCTARAM_SIZE; // RAM size
OCTARAM_SIZEの定義を変更するためmbed_drv_cfg.h(51)にある定義を
#define OCTARAM_SIZE (0x00800000UL) /**< Available Memory */
から
#define OCTARAM_SIZE (0x01000000UL) /**< Available Memory */
に変更しましたが、効果がありません。
この処理はどこからも呼び出されず、実行ファイルから省かれてしまうようです。
DV1SZの値はブートローダーで設定しているようなので、mbed_sf_boot.c(131)にある下記の箇所
0x02, 0x15, 0xa0, 0xe3, 0x28, 0xe0, 0xa0, 0xe3, 0x39, 0x33, 0xd2, 0xe5, 0x1f, 0x31, 0xc2, 0xe7,
を
0x01, 0x14, 0xa0, 0xe3, 0x28, 0xe0, 0xa0, 0xe3, 0x39, 0x33, 0xd2, 0xe5, 0x1f, 0x31, 0xc2, 0xe7,
に変えると使えるようになりましたが、この方法で合ってますか?
こちらのP15で説明している資料はご覧になられましたか?
回答ありがとうございます。教えていただいた資料は拝見いたしました。
そこにあるように"OCTA_BSS"セクションに16MBのバッファを割り当てたのですが、8MBまでしか使えないようです。今githubあるmbedのソフトでは。
それは失礼しました。.link_script.ldのLENGTHを修正することで利用できないでしょうか?とコメントしましたが、これは生成ファイルなので間違いでした。。。明日調べてみます。
今日のところは、下記かな?とコメントさせて頂きます。mbed-os\targets\TARGET_RENESAS\TARGET_RZ_A2XX\TARGET_GR_MANGO\device\TOOLCHAIN_ARM_STD\MBRZA1H.sct#define __OCTARAM_SIZE 0x00800000
リンクカースクリプトの件、投稿内容に書いていませんでした。すいません。
こちらも設定はしています。
RAM_OCTA (rwx) : ORIGIN = 0x60000000, LENGTH = 0x01000000
に変更しました。
ツールチェーンについても投稿内容に記述していませんでした。すいません。
"ARM_STD"ではなく、"GCC_ARM"を使っています。
投稿でも書いたのですが、教えて頂いた"__OCTARAM_SIZE"で、デバイスサイズレジスタ _1(DSR1)と言うのを設定しているようです。
RZ/A2Mユーザーズマニュアルハードウェア編
の「22. Octa メモリコントローラ」あたりのレジスタ設定だと思うのですが、「DV1SZ」の設定以外にも何か必要ですか?
何度もすみませんmbed-os\targets\TARGET_RENESAS\TARGET_RZ_A2XX\TARGET_GR_MANGO\mbed_drv_cfg.hの#define OCTARAM_SIZE (0x00800000UL) /**< Available Memory */は如何でしょう?このdefineをDV1SZに設定しているようです。
確認ありがとうございます。
DV1SZの設定に関する部分の変更で対応できそうですね。