国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

專題8-內存初始化

2019-11-11 03:25:10
字體:
來源:轉載
供稿:網友

對于內存:

SRAM一般作為cpu的墊腳石(存儲較快,需要刷新) DRAM:分為SDRAM、DDR 、DDR2(不需要刷新,但存儲相對較慢)

2440的內存是64M,是由兩個32M的內存芯片與處理器連接合成的。處理器共有27根地址線,可以訪問2的27次方,即128M內存,由于有8個片選端,即總共可以訪問128*8=1G的內存。對于2440,cpu的低16位地址線分別連接32M的內存芯片,32位的數據線的前16位與后16位分別連接兩塊內存的數據線,即一個時鐘周期最多可以同時傳送32bit的數據。 這里寫圖片描述 查看datasheet的memory controler可以發現,bank0為cpu的墊腳石,一般bank6與bank7作為內存區域,起始地址為0x30000000。此時需要配置存儲控制寄存器,包括配置總線寬度是否等待控制等。 因為比方說,*0x30008000=0x5; 0x30008000屬于哪一個bank,行地址、列地址是什么——需要存儲控制器做一個分解與解析,再對該內存處(norFlash、網卡、內存等)寫入相應值。

代碼如下:

#define mem_contrl 0x48000000 % BWSCON:Bus width & wait status control registerinit_sdram: ldr r0, =mem_contrl add r3, r0, #4*13 adrl r1, mem_data %adrl與adr指令類似,為偽指令其加載的地址范圍要寬,為32位0: ldr r2, [r1], #4 str r2, [r0], #4 cmp r0, r3 bne 0b %不等于0跳轉到0處,b表示向前跳轉 mov pc, lrmem_data: .long 0x22000000 .long 0x00000700 .long 0x00000700 .long 0x00000700 .long 0x00000700 .long 0x00000700 .long 0x00000700 .long 0x00018001 .long 0x00018001 .long 0x008c04f5 .long 0x000000b1 .long 0x00000030 .long 0x00000030
上一篇:

下一篇:設計模式之 工廠模式(Factory)

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宣化县| 杭锦旗| 北宁市| 章丘市| 唐河县| 长汀县| 绩溪县| 蒙自县| 涞源县| 清丰县| 永仁县| 安仁县| 青阳县| 呼伦贝尔市| 黄梅县| 西华县| 平遥县| 成武县| 新竹县| 平安县| 政和县| 青海省| 交口县| 云浮市| 保定市| 兰考县| 安义县| 万宁市| 靖边县| 铜鼓县| 铜梁县| 麦盖提县| 霞浦县| 珲春市| 龙江县| 宣威市| 通河县| 通榆县| 安溪县| 黄梅县| 宁德市|