嵌入式系统原理与设计

发布 2022-10-21 08:41:28 阅读 7513

课前复习:

mmu:作用:①逻→物。

②内存保护。

一级页表 4096 212

一级列表项: 错误类型 00

段类型 10

粗页表类型 01

细页表类型 11

三种地址转换方式:

段式转换 20-31物理基地址。

粗页表式转换 10-31 粗页表基地址。

细页表式转换 12-31 细页表基地址。

粗页表:256 28

页表项: 错误 00

大页 01 16-31 物基。

小页 10 12-31 物基。

微小页 11 10-31 物基。

粗页表转换:

粗页表——大页转换。

细页表——小页转换。

粗页表——微小页转换。

细页表:1024 210

转换方式:细页表——大页。

细页表——小页。

细页表——微小页转换。

细页表 1024页表项 210

细页表页表项与粗页表相同。

细页表——大页转换。

细页表转换成小页表:

细页表转换成微小页表:

复习结束。正文:

九、nand flash编程。

flash 寄存器介绍。

nfconf 配置寄存器。

0x9830

使能控制器

初始化ecc不选。

nfcmd 命令寄存器。

nfaddr 地址寄存器。

nfdata 数据寄存器。

nfstat 状态寄存器。

nfecc 错误纠错码寄存器。

2.编程:nand flash读。

#define tacls 0

#define twrph0 3

#define twrph1 0

/初始化函数。

void nand init(void){nfconf=1<<15|1<<12|1<<11|tacls<<8|twrph0<<4|twrph1<<0;

/读函数。void nand read(unsigned char* long start_addr,int size){

int i,j;

nand_select_chip();

for(i=start_addr;i write_cmd(0);

write_addr(i);

wait_idle();

for(j=0;j*buf=read_data();

buf++;

nand_deselect_chip();

void nand_select_chip(void){nfconf&=~1<<11);

void write_cmd(int cmd){nfcmd=cmd;

void write_addr(unsigned int addr){

nfaddr=addr&0xff;

nfaddr=(addr>>9)&0xff;

nfaddr=(addr>>17)&0xff;

nfaddr=(addr>>25)&0xff;

#define busy 1

void wait_idle(void){while(!(nfstat&busy));

unsigend char read_data(void){return (unsigned char)nfdata;

void nand_deselect_chip(void){nfconf|=(1<<11);

神装工作站。

嵌入式嵌入式系统原理与设计

第六章 iic总线。一 iic总线介绍 i2c总线 1.结构。2.工作原理 a b 主机 主设备 负责生成scl时钟,同时负责发出其实信号s和终止信号p 从机 从设备 被主机寻址的器件。1 a检测i2c总线是否 空闲 如果空闲 高 a发出起始信号 scl高,sda 2 寻址选择目标器件b,发送7位地...

嵌入式嵌入式系统原理与设计

课前提问 xscale 内核,intel公司。arm7 内核,第七个版本。armv5te 指令集,v5版本,加入16位thumb指令集,加入dsp指令集。cortex m3 内核,arm公司,arm11之后开始以cortex命名 5.几款arm处理器内核比较 arm11比arm10主频高,能耗低,所...

嵌入式嵌入式系统原理与设计

课前复习 sdram 突发传输同一行起始地址。norflash 读 ce 低 oe 低 we 高 a0 a18 d0 d7 擦出写1 片 6个周期 6s 块 6个周期 0.7s 写写04个周期 ain 9 s 字节编程din nand flash 4096块 32页 512 16 字节。64m 2m...