国产精品久久久aaaa,日日干夜夜操天天插,亚洲乱熟女香蕉一区二区三区少妇,99精品国产高清一区二区三区,国产成人精品一区二区色戒,久久久国产精品成人免费,亚洲精品毛片久久久久,99久久婷婷国产综合精品电影,国产一区二区三区任你鲁

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

RA6快速設計指南 [11] 存儲器 (3)

瑞薩嵌入式小百科 ? 來源:未知 ? 2023-06-28 12:10 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

02b53b9e-1569-11ee-962d-dac502259ad0.gif

8

存儲器

8.5 外部存儲器

RA6 MCU包含用于連接到外部存儲器和器件的外部數據總線。某些產品還包括一個內置的SDRAM控制器,可通過該控制器使用最高達128MB的外部SDRAM。八個可編程片選提供了許多選項,可以在每個片選上設置這些選項,以允許連接到各種外部器件。存儲器映射的外部片選區域地址從0x60000000開始。有關更多詳細信息,請參見《硬件用戶手冊》。

8.5.1 使用外部16位存儲器器件

連接具有字節選擇線的外部16位存儲器器件時,將MCU的A1連接到存儲器的A0,將MCU的A0連接到字節選擇線。

8.5.2 SDRAM初始化示例

Renesas FSP提供了采用CMSIS數據結構的C語言頭文件,此文件映射了所有外部總線控制寄存器。以下函數是在Renesas FSP中使用CMSIS寄存器結構初始化SDRAM存儲器控制器的示例。

左右滑動查看更多

void bsp_sdram_init (void)
{
  /** Delay at least 100uS after SDCLK active */ 
  R_BSP_SoftwareDelay(100U, BSP_DELAY_UNITS_MICROSECONDS);


  /** Setting for SDRAM initialization sequence */
#if (BSP_PRV_SDRAM_TRP < 3)
  R_BUS->SDRAM.SDIR_b.PRC = 3U;
#else
  R_BUS->SDRAM.SSDIR_b.PRC = BSP_PRV_SDRAM_TRP - 3U;
#endif


  while(R_BUS->SDRAM.SDSR)
  {
    /* According to h/w maual, need to confirm that all the status bits in SDSR are 0 before SDIR modification. */
  }


  R_BUS->SDRAM.SDIR_b.ARFC = BSP_PRV_SDRAM_SDIR_REF_TIMES; 


  while(R_BUS->SDRAM.SDSR)
  {
    /* According to h/w maual, need to confirm that all the status bits in SDSR are 0 before SDIR modification. */
  }


#if (BSP_PRV_SDRAM_TRFC < 3)
  R_BUS->SDRAM.SDIR_b.ARFI = 0U;
#else
  R_BUS->SDRAM.SDIR_b.ARFI = BSP_PRV_SDRAM_TRFC - 3U;
#endif


  while(R_BUS->SDRAM.SDSR)
  {
    /* According to h/w maual, need to confirm that all the status bits in SDSR are 0 before SDICR modification. */
  }


  /** Start SDRAM initialization sequence.
   * Following operation is automatically done when set SDICR.INIRQ bit.
   * Perform a PRECHARGE ALL command and wait at least tRP time.
   * Issue an AUTO REFRESH command and wait at least tRFC time.
   * Issue an AUTO REFRESH command and wait at least tRFC time.
   */
  R_BUS->SDRAM.SDICR_b.INIRQ = 1U; 
  while(R_BUS->SDRAM.SDSR_b.INIST)
  {
    /* Wait the end of initialization sequence. */
  }


  /** Setting for SDRAM controller */
  R_BUS->SDRAM.SDCCR_b.BSIZE = BSP_PRV_SDRAM_BUS_WIDTH;       /* set SDRAM bus width */
  R_BUS->SDRAM.SDAMOD_b.BE = BSP_PRV_SDRAM_CONTINUOUS_ACCESSMODE;  /* enable continuous access */
  R_BUS->SDRAM.SDCMOD_b.EMODE = BSP_PRV_SDRAM_ENDIAN_MODE;     /* set endian mode for SDRAM address space */


  while(R_BUS->SDRAM.SDSR)
  {
    /* According to h/w maual, need to confirm that all the status bits in SDSR are 0 before SDMOD modification. */
  }
  
  /** Using LMR command, program the mode register */
  R_BUS->SDRAM.SDMOD = ((((uint16_t)(BSP_PRV_SDRAM_MR_WB_SINGLE_LOC_ACC  << 9)
      |(uint16_t)(BSP_PRV_SDRAM_MR_OP_MODE     << 7))
      |(uint16_t)(BSP_PRV_SDRAM_CL         << 4))
      |(uint16_t)(BSP_PRV_SDRAM_MR_BT_SEQUENCTIAL << 3))
      |(uint16_t)(BSP_PRV_SDRAM_MR_BURST_LENGTH  << 0);


  /** wait at least tMRD time */ 
  while(R_BUS-
  >SDRAM.SDSR_b.MRSST)
  {
    /* Wait until Mode Register setting done. */
  }


  /** Set timing parameters for SDRAM */
  R_BUS->SDRAM.SDTR_b.RAS = BSP_PRV_SDRAM_TRAS - 1U;  /* set ACTIVE-to-PRECHARGE command cycles*/
  R_BUS->SDRAM.SDTR_b.RCD = BSP_PRV_SDRAM_TRCD - 1U;  /* set ACTIVEto READ/WRITE delay cycles */
  R_BUS->SDRAM.SDTR_b.RP = BSP_PRV_SDRAM_TRP - 1U;  /* set PRECHARGE command period cycles */
  R_BUS->SDRAM.SDTR_b.WR = BSP_PRV_SDRAM_TWR - 1U;  /* set write recovery cycles */
  R_BUS->SDRAM.SDTR_b.CL = BSP_PRV_SDRAM_CL;     /* set SDRAM column latency cycles */


  /** Set row address offset for target SDRAM */
  R_BUS->SDRAM.SDADR_b.MXC = BSP_PRV_SDRAM_SDADR_ROW_ADDR_OFFSET - 8U;


  R_BUS->SDRAM.SDRFCR_b.REFW = (uint16_t)(BSP_PRV_SDRAM_TRFC - 1U);  /* set Auto-Refresh issuing cycle */
  R_BUS->SDRAM.SDRFCR_b.RFC = BSP_PRV_SDRAM_REF_CMD_INTERVAL - 1U;  /* set Auto-Refresh period */


  /** Start Auto-refresh */
  R_BUS->SDRAM.SDRFEN_b.RFEN = 1U;


  /** Enable SDRAM access */
  R_BUS->SDRAM.SDCCR_b.EXENB = 1U;
}

8.6 數據對齊

沒有對齊數據方面的限制。MCU能夠對奇數存儲地址執行字節、字和長整型訪問。雖然對齊數據訪問仍然是最佳選擇,但并不是必須的。

8.7 字節順序限制

存儲器空間必須采用小尾數法才能在Cortex-M內核上執行代碼。

下一章:寄存器寫保護


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • mcu
    mcu
    +關注

    關注

    147

    文章

    18924

    瀏覽量

    397984
  • 瑞薩
    +關注

    關注

    37

    文章

    22481

    瀏覽量

    90848
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    【案例5.1】存儲器選型的考慮要點

    【案例5.1】存儲器選型的考慮要點某設計,用戶接口數據傳輸速率為10Gbps,每8個字節的數據對應一次查表需求,數據表存儲在由DDR4SDRAM組成的存儲器中。工程師需綜合考慮各方面要求,進行
    的頭像 發表于 03-04 17:20 ?173次閱讀
    【案例5.1】<b class='flag-5'>存儲器</b>選型的考慮要點

    瑞薩RA系列FSP庫開發實戰指南之常用存儲器介紹

    存儲器是計算機結構的重要組成部分。存儲器是用來存儲程序代碼和數據的部件,有了存儲器計算機才具有記憶功能。基本的存儲器種類見圖21_1。
    的頭像 發表于 01-12 06:21 ?7193次閱讀
    瑞薩<b class='flag-5'>RA</b>系列FSP庫開發實戰<b class='flag-5'>指南</b>之常用<b class='flag-5'>存儲器</b>介紹

    Renesas RA6M2 電容式觸摸評估系統快速上手

    Renesas RA6M2 電容式觸摸評估系統快速上手 引言 在電子設計領域,電容式觸摸技術憑借其操作便捷、靈敏度高的特點,廣泛應用于各類設備中。Renesas 的 RA6M2 電容式觸摸評估系統為
    的頭像 發表于 12-29 17:00 ?719次閱讀

    探索Renesas FPB - RA2E2快速原型開發板:硬件設計與應用指南

    探索Renesas FPB - RA2E2快速原型開發板:硬件設計與應用指南 在嵌入式系統開發的世界里,擁有一款高效且功能豐富的快速原型開發板至關重要。Renesas的FPB -
    的頭像 發表于 12-29 16:30 ?616次閱讀

    探索Renesas FPB - RA6E2:快速原型開發板的深度解析

    探索Renesas FPB - RA6E2:快速原型開發板的深度解析 在嵌入式系統開發的領域中,擁有一款高效且功能豐富的快速原型開發板至關重要。Renesas的FPB - RA6E2
    的頭像 發表于 12-29 15:15 ?411次閱讀

    Renesas MCK - RA6T3:開啟電機控制新篇章

    Renesas MCK - RA6T3:開啟電機控制新篇章 電子工程師在電機控制領域不斷探索,尋找高效、精準且穩定的解決方案。Renesas的MCK - RA6T3電機控制評估套件,就像是一顆璀璨
    的頭像 發表于 12-29 15:10 ?254次閱讀

    探索RA6T3微控制:性能、特性與應用全解析

    探索RA6T3微控制:性能、特性與應用全解析 在電子工程師的世界里,微控制是構建各種智能系統的核心組件。今天,我們將深入探討瑞薩(Renesas)的RA6T3微控制
    的頭像 發表于 12-29 13:55 ?278次閱讀

    探索Renesas AIK - RA6M3:開啟嵌入式開發新旅程

    用于幫助開發者開啟初始固件開發工作。它配備了可直接訪問RA6M3微控制I/O引腳的擴展引腳頭,同時還提供了對常用外設的板載支持以及多種常見生
    的頭像 發表于 12-29 10:05 ?366次閱讀

    RENESAS FPB - RA4T1快速入門:電子工程師的實用指南

    RENESAS FPB - RA4T1快速入門:電子工程師的實用指南 在電子設計領域,快速且高效地進行原型開發和評估是每個工程師的追求。今天,我將為大家詳細介紹RENESAS FPB
    的頭像 發表于 12-29 09:45 ?263次閱讀

    Renesas FPB-RA0E2 v1快速原型開發板使用指南

    Renesas FPB-RA0E2 v1快速原型開發板使用指南 在嵌入式系統開發領域,快速原型開發板是工程師們驗證設計和開發應用的得力工具。Renesas的FPB-
    的頭像 發表于 12-26 17:30 ?842次閱讀

    Renesas EK - RA8D2評估套件快速上手與定制開發指南

    Renesas EK - RA8D2評估套件快速上手與定制開發指南 在嵌入式開發領域,一款好的評估套件能極大地加速開發進程,幫助開發者快速驗證想法和方案。Renesas的EK -
    的頭像 發表于 12-26 15:50 ?444次閱讀

    【瑞薩RA6E2地奇星開發板試用】介紹、環境搭建、工程測試

    基于100MHz Arm? Cortex?-M33 內核架構的核心板; 主控芯片為 48 引腳的 R7FA6E2BB3CNE; RA6E2 組是 RA6 系列中最新的入門級微控制
    發表于 12-07 15:27

    【免費試用】瑞薩 RA6E2 開發板免費試用

    RA-Eco-RA6E2-64PIN-V1.0是一款基于100MHzArmCortex-M33內核架構的核心板,主控芯片為R7FA6E2BB3CFM。RA6E2組是RA6系列中最新的入
    的頭像 發表于 10-01 10:15 ?881次閱讀
    【免費試用】瑞薩 <b class='flag-5'>RA6</b>E2 開發板免費試用

    簡單認識高帶寬存儲器

    HBM(High Bandwidth Memory)即高帶寬存儲器,是一種基于 3D 堆疊技術的高性能 DRAM(動態隨機存取存儲器)。其核心設計是通過硅通孔(TSV)和微凸塊(Microbump
    的頭像 發表于 07-18 14:30 ?4282次閱讀

    瑞薩RA系列MCU FSP庫開發實戰指南(09)存儲器映射

    3.3 存儲器映射 前文所述,寄存與RAM、FLASH一樣都是芯片內部的一種存儲設備。那么,當我們需要訪問它們的時候,我們需要知道它們的存儲地址。 3.3.1
    的頭像 發表于 04-16 15:52 ?1594次閱讀
    瑞薩<b class='flag-5'>RA</b>系列MCU FSP庫開發實戰<b class='flag-5'>指南</b>(09)<b class='flag-5'>存儲器</b>映射