写这篇文章完全是回答一个网友的问题,因为我之前也是对这里不理解,现在简单说一下。源引问题“mini2440的地址到底是怎么分配的呢?内部rom ram 外部的ram和rom分别占用的地址是多少啊,我从板子上看到有3个k4561632N芯片还有一个S29AL016J70TF102.但是看了相关的电路图也不知道他的地址是怎么分配的”
你问的是mini2440的地址怎么分配。我只能再细节一下你的问题,mini2440处理器的地址怎么分配。mini2440的处理器是S3C2440,理论上,S3C2440处理器可以使用的物理地址空间可以达到4GB,其中前1GB的地址(也就是0x0000 0000--0x4000 0000)为外设地址空间,还有一部分为CPU内部使用的特殊功能寄存器地址空间(地址范围为0x4800 0000--0x5FFF FFFF),其余的地址空间没有使用。S3C2440地址空间分配情况如下图:
再看1GB的外设地址空间,下图为我从S3C2440芯片的数据手册截图
下面用两个表格说明外设地址空间好特殊功能寄存器地址空间
说到这里相信你就差不多理解了吧。
至于内外部ROM和RAM的地址,你看上面的那个图Figure5-1可以知道内部ROM和RAM分配情况。
k4561632N芯片是SDRAM,不过我的有两个,你的怎么有三个哈,S29AL016J70TF102是Nor FLash
关键字:mini2440 S3C2440 地址分配
引用地址:
mini2440也即S3C2440地址分配问题
推荐阅读最新更新时间:2024-11-10 23:37
S3C2440开发板裸机程序系列04—串口通信
1. S3C244串口概述 串口通讯一般要增加电平转换电路,原因是TTL/CMOS电平与RS232电平不一致: TTL/CMOS电平: CMOS电平: 常用的电平转换芯片是MAX3232。 S3C2440有3个独立的异步串口,可以选择工作在中断或DMA方式下。每个UART包括一个波特率发生器、发送器、接收器和一个控制单元。 UART有FIFO模式和非FIFO模式。FIFO模式下可以利用64字节的发送/接收缓冲寄存器,非FIFO模式下只使用了发送/接收缓冲寄存器中的1个字节。本篇入门级以非FIFO为例。 2. 串口设置及相关寄存器 串口引脚是GPIO复用的。本篇UART只用3根引脚:TXD
[单片机]
mini2440开发总结
目前使用的内核源码目录 /home/S3-ARM/Part-4-CoreAndDriver/UP/subject3/lesson3/new/linux-mini2440/ 内核源码编译命令 make uImage ARCH=arm CROSS_COMPILE=arm-linux- tftp服务器目录 /tftpboot 文件系统目录 /home/S3-ARM/Part-4-CoreAndDriver/UP/subject4/rootfs 红帽linux用户名密码 root 123456 红帽linux中samba服务器用户名密码 win 1234567 驱动c文件编译 make 应用c文件编译 a
[单片机]
S3C2440系统中断
1.1 S3C2440系统中断 CPU和外设构成了计算机系统,CPU和外设之间通过总线进行连接,用于数据通信和控制,CPU管理监视计算机系统中所有硬件,通常以两种方式来对硬件进行管理监视: l 查询方式:CPU不停的去查询每一个硬件的当前状态,根据硬件的状态决定处理与否。好比是工厂里的检查员,不停的检查各个岗位工作状态,发现情况及时处理。这种方式实现起来简单,通常用在只有少量外设硬件的系统中,如果一个计算机系统中有很多硬件,这种方式无疑是耗时,低效的,同时还大量占用CPU资源,并且对多任务系统反应迟钝。 l 中断方式:当某个硬件产生需要CPU处理的事件时,主动通过一根信号线 告知 CPU,同时设置某个寄存器里对应的位,CPU一旦
[单片机]
uboot-2011.12移植到S3C2440(三序)——MMU Cache/TLB/etc on/off functions
R1_I EQU (1 12) ;//Cache分开时,1 使能指令Cache,0 禁止使能Cache R1_C EQU (1 2) ;//禁止/使能数据Cache或整个Cache,1使能 不含Cache返回0,不能禁止Cache返回1 R1_A EQU (1 1) ;//是否支持内存访问时地址对齐检查系统,1使能 R1_M EQU (1) ;//禁止/使能MMU 1使能 R1_iA EQU (1 31) R1_nF EQU (1 30) ;void MMU_EnableICache(void) EXPORT MMU_EnableICache MMU_EnableICache mr
[单片机]
stm32的堆、栈、全局变量的分配地址
在一个STM32程序代码中,从内存高地址到内存低地址,依次分布着栈区、堆区、全局区(静态区)、常量区、代码区,其中全局区中高地址分布着.bss段,低地址分布着.data段。 总的分布如下所示: 1、栈区(stack) 临时创建的局部变量存放在栈区。 函数调用时,其入口参数存放在栈区。 函数返回时,其返回值存放在栈区。 const定义的局部变量存放在栈区。 2、堆区(heap) 堆区用于存放程序运行中被动态分布的内存段,可增可减。 可以有malloc等函数实现动态分布内存。 有malloc函数分布的内存,必须用free进行内存释放,否则会造成内存泄漏。 3、全局区(静态区) 全局区有.bss段和.data段组成,可读可写。 4
[单片机]
s3c2440 中断挂起寄存器INTPND
中断挂起寄存器INTOND包括32个比特位,其中每一个比特位均表示相应中断请求是否拥有最高优先级,它们处于等待中断服务状态并且没有被屏蔽。INTPNd寄存器在优先级仲裁结束之后,仅有一个比特位被置1,并且被置1的中断请求向CPU产生IRQ,在执行IRQ中断服务时,可以读取寄存器来确定32个中断源中哪个中断源被执行。 同SRCPND一样,INTPND也需要在中断服务程序中加入清0操作,位于SRCPND寄存器清0操作之后。可以通过向INTPND寄存器写入一个数据对相应位清0.仅将需要位清除,其余保持原值不变。 清除INTPND寄存器时应该注意:INTPND寄存器通过写1清0。如果INTPND寄存器设置为1的比特位通过写0清0,那么
[单片机]
s3c2440芯片串口操作
S3C2440A通用异步接收器和发射机(UART)提供了三个独立的异步串行输入/输出(SIO)端口,每个端口都可以在中断或基于dma的模式下运行。换句话说,UART可以生成一个中断或DMA请求来在CPU和UART之间传输数据。UART可以使用系统时钟,支持波特率高达921.6 Kbps。如果外部设备提供UEXTCLK,那么UART可以以更高的速度运行。每个UART通道包含两个64字节的FIFO,用于接收器和发送器。 S3C2440A UART包括可编程的波特率、红外(IR)传输/接收、一个或两个停止位、5位、6位、7位或8位数据宽度和奇偶校验。 每个UART包含一个波特率生成器、发射机、接收机和一个控制单元,如图1所示。波
[单片机]
一起学mini2440裸机开发(四)--S3C2440定时器学习
S3C2440定时器原理概述 s3c2440有5个16位定时器,定时器0、1、2和3有脉冲宽度调制(PWM)功能,因此这4个定时器也被称为PWM定时器。定时器4是一个内部的定时器,没有外部输出引脚。 定时器的时钟源是PCLK,定时器工作所需频率并不等于PCLK,还要进一步将PCLK通过内部的分频器分频才能得到。这里也可以看出外部设备所需的工作频率不一定等于它的时钟源。其中,定时器0、1公用一个分频器,另外3个定时器公用一个分频器。分频器输入信号经过第2级分频器进一步降低时钟频率,然后输出作为定时器工作的时钟。下图为由PCLK得到定时器工作时钟的框图: 虽然S3C2440定时器有5个,但是它们的工作原理都是相同的,只需
[单片机]