- 1、本文档共114页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式学习笔记教程
nand 启动时 bank0 失效,即用不了NOP FLASH
nand flash 前4K被强制复制到片内 SRAM 4K内存中,然后CPU会从零地址(SRAM)开始执行。
nor 启动时
nor flash 零地址在nor flash cpu从零地址执行。nor flash特征是可以像内存一样读数据,但是不能像内存一样直接写数据,
要通过命令先擦除后才能写数据。
GPIO实验:
main 没什么特别的,一样要被别人调用,执行往也要返回。
启动文件: 调用 main,调用完之后要返回,所以要设置返回地址。最后要进行一些清理工作。
软件初始化:
设置栈 /*设置栈就是把栈指针SP指向某个内存,假如指向SDRAM则要先初始化SDRAM才能设置栈 */
设置返回地址 /*bl指令会跳转到main函数,并且把返回地址保存在LR寄存器里面。*/
调用main
清理工作
硬件初始化:
关看门狗 /*上电时候看门狗启动,会倒数计时三秒内没有关闭就会重启系统。所以要关掉*/
初始化时钟 /*想要跑的更快要初始化时钟*/
初始化SDRAM/**/
设置返回地址:
bl main /*bl指令会跳转到main函数,并且把返回地址保存在LR寄存器里面。*/
/*bl 指令会把返回地址存在lr寄存器里面。*/
#define GPFCON (*(volatile unsigned long *)0 /* volatile让编译器不要优化变量*/
#define GPF4_out (1(4*2))
#define GPF5_out (1(5*2))
#define GPF6_out (1(6*2))
#define GPF7_out (1(7*2))
GPFCON |= GPF4_out|GPF5_out|GPF6_out; // 将LED1-3对应的GPF4/5/6三个引脚设为输出
按位操作:
想要清零 : 按位与 /*例如清bit3 则 a=~(13)*/
想要置“1” : 按位或 /*例如置bit3 则 a|= (13)*/
SRAM在芯片手册里面称为 steppingstone
CPU通过存储管理器才知道怎么访问外部的设备 例如 SDRAM DM9000网卡等
想访问一个芯片,需要哪些条件
1:地址线(例如SDRAM 行地址13位,列地址9位) 看芯片手册
2:数据线 /* 8/16/32位 数据宽度 例如SDRAM 位宽32位 SDRAM32位,所以 ADDR0,ADDR1就不需要使用。 */ 看原理图
3:时钟/频率 (刷新周期 8192/64ms 即刷新8192次需要64ms)看芯片手册
4:芯片相关:??如SDRAM(行地址,列地址,Bank) 看芯片手册
SDRAM32位,所以 ADDR0,ADDR1就不需要使用。因为2440的地址的单位是byte(8位),所以CPU发出的0,1,2,3这四个地址都是
访问到SDRAM地址中的同一个单元。返回都是返回同一个四字节(32位)的数据。假如访问的芯片去16位的,则ADDR0 就不需要使用。
想要访问某个芯片(如SDRAM)先要配置存储管理器(位宽,行列地址,刷新周期)。所谓配置也就是设置寄存器。
2440可以接8个外设(SDRAM,DM9000网卡,NOR FLASH等等),因为有8个Bank,有8条片选信号(CS信号)。 Bank0~5都是一样的结构。
Bank6~7比较特别,它们可以接SDRAM。
内存可以分为SRAM,SDRAM,DDR等等。SRAM很快但是比较贵,使用方法简单,直接发地址信号就可以了。SDRAM比较便宜且访问比较复杂,
它的地址还分为Bank地址,行地址,列地址。还要不断的刷新SDRAM(REFRESH寄存器就是用来设置刷新周期的),不刷新数据就会丢失。
网卡,NOR FLASH它们的接口跟根SRAM的接口是一样的,术语上称为 RAM like。
每个Bank可以外接128M的东西,寻址空间是128M。bank7/bank6可以组(128M/128M,64M/64M,32M/32M等)
大程序启动过程:
1:一上电nand flash前4K被拷贝到SRAM中。
2:程序会先关看门狗,初始化存储管理寄存器,SDRAM。
3:拷贝到SRAM中的4K代码再把nand flash中的代码拷贝到SDRAM中去,然后继续执行(在SD
您可能关注的文档
- 岭南版美术四年级神秘的图腾柱教程.ppt
- 外刊精读(十):Could a Lack of Water Cause Wars.docx
- 夏季饮品市场调研.ppt
- 声律启蒙六麻.ppt
- 外商投资企业设立审批登记申请书1.doc
- 外国养老金制度简述——英美日韩.docx
- 复旦 周小林 信息论 5.信源编码.ppt
- 夏商周的制度.ppt
- 岭南新天地调研报告教程.docx
- 外国文学史1-概述.ppt
- 江苏省灌云高级中学2023-2024学年高三上学期第一次月考地理试题含答案.docx
- 备战2024年高考物理一轮重难点复习 第十三章 近代物理.docx
- 江苏省高邮市一中2021-2022学年高三上学期第一次月考语文试题(原卷版).docx
- 江苏省华罗庚中学2023-2024学年高三上学期12月阶段检测数学试卷含答案.docx
- 江苏省海门中学2023-2024学年高三上学期第一次调研考试地理试题及答案.docx
- 备战2024年高考物理一轮重难点复习 第九章 恒定电流.docx
- 江苏省高邮市2023-2024学年高三下学期3月学情调研数学试题含答案.docx
- 备战2024年高考物理一轮重难点复习 实验十一:探究影响感应电流方向的因素.docx
- 备战2024年高考物理一轮重难点复习 实验三:验证平行四边形定则.docx
- 备战2024年高考物理一轮重难点复习 第十四章 光.docx
文档评论(0)