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 KAEDEのSDRAMはライブラリから利用できますか…
  • Forums
  • Blog
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 チャレンジプログラム

 GR-SAKURA

 GR-KURUMI

 SNShield

 Web Compiler

 IDE for GR

 その他

 

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他

  • State Not Answered
  • Date maenoh!
    maenoh!
  • Date 2017/3/3 23:08
  • Replies 2 replies
  • Subscribers 439 subscribers
  • Views 3475 views
Options
  • Share
  • More
  • Cancel
Related Tags
  • GR-KAEDE
  • KAEDE
  • USB Renesas Flash Programmer RFP .mot usbfirm
Related

KAEDEのSDRAMはライブラリから利用できますか?

KAEDEのオンボードのSDRAMを音声の録音や再生、特殊再生に使ってみたいと思っています。

ライブラリから利用できますか?

  • Cancel
  • Reply
  • fujita nozomu
    fujita nozomu
    • 0
    • 2017/3/3 23:32

    initialize_sdram() を呼んだ後は 0x08000000 ~ 0x08ffffff が外部 SDRAM に使えるんではなかったでしたっけ。
    リンカスクリプトを見てもその領域は何のセクションも設定されていないので、領域の割り付けはプログラマによる作業が要るようです。

  • maenoh!
    maenoh!
    • 0
    • 2017/3/4 7:02

    In reply to fujita nozomu:

    fujitaさん、ありがとうございます。
    下記の簡単なテストで16Mバイトの空間が利用できることが確認できました。

    /* GR-KAEDE Sketch Template V1.21 */
    #include <Arduino.h>
    #define LED_ON 1
    #define LED_OFF 0
    #define INTERVAL 100
    unsigned long addr;

    void sdram_check() {
    digitalWrite(PIN_LED0,LED_ON); //no fault
    for (addr=0x8000000; addr<=0x8ffffff; addr++) {
    *(uint8_t*)addr = 0x00;
    if(digitalRead(PIN_SW) == 0) *(uint8_t*)addr = 0xff; //fault insertion
    }
    digitalWrite(PIN_LED1,LED_ON); //no failt
    for (addr=0x8000000; addr<=0x8ffffff; addr++) {
    if (*(uint8_t*)addr !=0x00) {
    digitalWrite(PIN_LED1,LED_OFF); //fault found
    }
    *(uint8_t*)addr = 0xff;
    if(digitalRead(PIN_SW) == 0) *(uint8_t*)addr = 0x00; //fault insertion
    }
    digitalWrite(PIN_LED2,LED_ON); //no failt
    for (addr=0x8000000; addr<=0x8ffffff; addr++) {
    if (*(uint8_t*)addr !=0xff) {
    digitalWrite(PIN_LED2,LED_OFF); //fault found
    }
    *(uint8_t*)addr = 0x00;
    }
    }

    void setup()
    {
    pinMode(PIN_LED0,OUTPUT);
    pinMode(PIN_LED1,OUTPUT);
    pinMode(PIN_LED2,OUTPUT);
    pinMode(PIN_LED3,OUTPUT);
    pinMode(PIN_SW, INPUT);
    initialize_sdram();
    sdram_check();
    }

    void loop()
    {
    digitalWrite(PIN_LED3, LED_ON);
    delay(INTERVAL);
    digitalWrite(PIN_LED3, LED_OFF);
    delay(INTERVAL);
    }
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2019 Renesas Electronics Corporation. All rights reserved.