了解开发板资源
1.找cpu,用什么样的架构–为了找到系统上电后第一条执行的代码该放到哪里
arm:arm在生产之后有一张异常向量表,表示把所有异常的情况都存在这张表里,一旦发生异常之后,该从哪里取东西
什么叫异常:
“执行异常程序”,这里就是用到了异常向量表的地址
1.所有的arm的异常向量表(reset)的首地址都是0x0
2.0x0接的是什么芯片,一定是具有可读的芯片,要不然读不出来
flash,rom,sdram(这个虽然可读可写,但是一掉电就没了)
arm公司不生产芯片,他只生产设计方案,以及arm核心
其他公司生产出来这个核心,然后加上各种外设,控制器(网卡,led等),设计出来一个集合的结构,这就是soc
2.找框图,看有什么控制器
soc = cpu + controler
1.datasheet —>overview中----->block(框图)
3 看memory map,看公司把控制器的地址重定位到哪里
也是在datesheet
片内片外简单图:
irom是只读储存器,只能写进去一次,之后就改不了了,芯片公司把一部分code已经放到里面了
如图,这时候我们就要去看jump到的地址,去把bott放进去
但是每个芯片要具体分析:
看下面的列子:
在这里插入图片描述
4 设计 boot程序
设置时钟(cpu通过高低的脉冲电流工作,所以要规定时钟,规定系统的工作频率)
接口开发(boot+interface)
srom和drom 的 区别,s代表静态,只要上电就会工作,d表示动态,需要有一个处理器不停的发送信号
为什么不能买一条4g的,要买2条2g的内存条:
因为cpu读取内存有限,一个条相当于一个bank,每个bank给的资源都是有限的,多了就会浪费,而且,cpu还要给其他片上片外的分配内存,不是都用来读取你内存条的
5 寻找片外地址
只有有片选的才可以(挂载到总线),led就不可以
led去sfr,特殊寄存器