s3c2410与s3c2440的部分细节区别整理

来源:互联网 发布:可视化分析软件 编辑:程序博客网 时间:2024/05/16 08:30

这两个soc都是arm920,cpuid都是0x41129200,很多寄存器设置都是一样的,但是你要想直接把2410的bootloader、内核拿到2440上用,那是肯定会出错的
网上这样的文章很多,大多都仅仅是宏观上比划两句,如摄像头驱动、主频之类,没有什么意义
细节是魔鬼,只有在细节上充分积累的工程师才会在技术上有成长的空间

这里仅仅集合了我能找到的不同,难免不全,一切还是以datasheet为本。

1、主频不同,总线定时所要求的时钟数也会不一样,不重新设置自然串口乱码,需要设置的寄存器也不同
2440需要额外多设置一个寄存器CAMDIVN,分频比可选择的范围也比2410(1:1:1、1:2:4、1:4:4、1:2:2)多很多种,详见数据手册
2410设置完mpllcon后可以立即设置upllcon,2440则需要在两者中间插入7条nop指令。

2、UART
2410的串口fifo是16字节,而2440是64字节。
由于fifo深度不同,导致UFSTAT寄存器中个位的定义不一致

3、中断
2410支持56个,2440支持60个,
增加了INT_CAM_P、 INT_CAM_C、INT_AC97、INT_WDT(INT_WDT_AC97)

4、nand芯片驱动
2410和2440的nand驱动也非常相似,主要区别在于:
1、2410仅支持小块nandflash,2440则同时支持大块nandflash。
2、为支持大块nandflash,2440增加了许多寄存器。
3、2440增加了一个控制寄存器NFCONT,原2410中config寄存器NFCONF中的部分功能被转移到NFCONT

5、SD卡驱动
2410的SD Baud rate 计算
Baud rate = PCLK / 2 / (Prescaler value + 1)

2440的SD Baud rate 计算
Baud rate = PCLK / (Prescaler value + 1)

原创粉丝点击