91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

掃碼添加小助手

加入工程師交流群

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

8

存儲器

8.5 外部存儲器

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

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

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

8.5.2 SDRAM初始化示例

Renesas FSP提供了采用CMSIS數(shù)據(jù)結(jié)構(gòu)的C語言頭文件,此文件映射了所有外部總線控制寄存器。以下函數(shù)是在Renesas FSP中使用CMSIS寄存器結(jié)構(gòu)初始化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 數(shù)據(jù)對齊

沒有對齊數(shù)據(jù)方面的限制。MCU能夠?qū)ζ鏀?shù)存儲地址執(zhí)行字節(jié)、字和長整型訪問。雖然對齊數(shù)據(jù)訪問仍然是最佳選擇,但并不是必須的。

8.7 字節(jié)順序限制

存儲器空間必須采用小尾數(shù)法才能在Cortex-M內(nèi)核上執(zhí)行代碼。

下一章:寄存器寫保護(hù)


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    147

    文章

    18924

    瀏覽量

    398034
  • 瑞薩
    +關(guān)注

    關(guān)注

    37

    文章

    22481

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【案例5.1】存儲器選型的考慮要點(diǎn)

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

    瑞薩RA系列FSP庫開發(fā)實戰(zhàn)指南之常用存儲器介紹

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

    Renesas RA6M2 電容式觸摸評估系統(tǒng)快速上手

    Renesas RA6M2 電容式觸摸評估系統(tǒng)快速上手 引言 在電子設(shè)計領(lǐng)域,電容式觸摸技術(shù)憑借其操作便捷、靈敏度高的特點(diǎn),廣泛應(yīng)用于各類設(shè)備中。Renesas 的 RA6M2 電容式觸摸評估系統(tǒng)為
    的頭像 發(fā)表于 12-29 17:00 ?720次閱讀

    探索Renesas FPB - RA2E2快速原型開發(fā)板:硬件設(shè)計與應(yīng)用指南

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

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

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

    Renesas MCK - RA6T3:開啟電機(jī)控制新篇章

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

    探索RA6T3微控制:性能、特性與應(yīng)用全解析

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

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

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

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

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

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

    Renesas FPB-RA0E2 v1快速原型開發(fā)板使用指南 在嵌入式系統(tǒng)開發(fā)領(lǐng)域,快速原型開發(fā)板是工程師們驗證設(shè)計和開發(fā)應(yīng)用的得力工具。Renesas的FPB-
    的頭像 發(fā)表于 12-26 17:30 ?844次閱讀

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

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

    【瑞薩RA6E2地奇星開發(fā)板試用】介紹、環(huán)境搭建、工程測試

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

    【免費(fèi)試用】瑞薩 RA6E2 開發(fā)板免費(fèi)試用

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

    簡單認(rèn)識高帶寬存儲器

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

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

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