S5PV210 内存配置(地址空间和片选)

被内存的事折腾了几天了,昨天在CSDN发了个提问贴,然后顺着一点一点的往下试,既然试出来了。在提问贴里有实验的过程。这就讲一下最终的设置吧。

S5PV210有两个独立的内存控制器:DMC0和DMC1,每个控制器又有两个片选:CS0和CS1。它可以支持16bits和32bits的内存。两个控制器对应的地址空间是
DMC0 0x2000_0000 ~ 0x3FFF_FFFF
DMC1 0x4000_0000 ~ 0x7FFF_FFFF
内存控制器的配置寄存器也分为两块,
DMC0 0xF000_xxxx
DMC1 0xF140_xxxx
这一块主要需要设置的寄存器设置是:MEMCONTROL、MEMCONFIG0、MEMCONFIG1
这些是基本的。然后剩下的就要看你的内存是咋接的了。
我这块开发板用的是4片1Gb x16的内存,两片两片按数据线的高16bits和低16bits组成两组32bits的256M,分别挂载了DMC0的CS0和DMC1的CS1。
然后看一下三个寄存器的相应配置了。

MEMCONTROL里面有个num_chip,这个说白了就是使用了几个CS信号。像我的虽然每个控制器上挂了两块内存,但是他们是按高 16bits和低 16bits组成的32bits挂在CS0上。只用了一个CS0,对于210来说就是一片,所以设置为 0x0 = 1 chip
然后 MEMCONTROL的mem_width,当然就设为 0x2 = 32-bit 了。
其它的mem_type、bl啥的自己看吧,不讲了。

MEMCONFIG0和MEMCONFIG1是一样的,一个设置相应控制器的CS0,一个设置CS1。
MEMCONFIG里面的chip_bank、chip_row、chip_col设置要自己找内存的手册了。这个最好不要设错了,就像我开始把chip_col多设了一根,我写0x21xx_xxxx的值,0x23xx_xxxx的值也会跟着变了(其实内存里面都指向同一个区域了)
chip_map的设置在13.2.2 Address Mapping里面讲了,后来试下来Linear和 Interleaved都能跑,只是在内存里面放的位置不一样吧。
chip_base和chip_mask是最让人疑惑的了,我折腾了半天也都是在这。这两个寄存器合起来,可以决定DMC0/DMC1 CS0和CS1下挂着的内存对应哪一段内存地址。我理解的是当你要放问地址0x21xx_xxxx的地址的时候,DMC0会将访问地址的高8bits 0x21和chip_mask求与,要是等于chip_base,他就会使用相应的控制器的相应的片选去读数据。就像假如
DMC0_MEMCONFIG0   chip_base =  0x20      chip_mask=0xf8
DMC0_MEMCONFIG1   chip_base =  0x28      chip_mask=0xf8
当你要访问的地址是 0x22xx_xxxx的时候,  (0x22 & 0xf8) ==  0x20,所以使用CS0
那要是  0x2exx_xxxx呢?     (0x2e & 0xf8) == 0x28 ,当然使用CS1了。
也就是说CS0对应的是 0x2000_0000 ~ 0x27ff_ffff,128M
CS1对应的是 0x2800_0000 ~ 0x28ff_ffff,128M
同样的每个CS下都是256M呢?
DMC0_MEMCONFIG0   chip_base =  0x20      chip_mask=0xf0          // 0x2000_0000 ~ 0x2fff_ffff     256M
DMC0_MEMCONFIG1   chip_base =  0x30      chip_mask=0xf0          // 0x3000_0000 ~ 0x3fff_ffff     256M
DMC0和DMC1配置一样,但是DMC0只能配置为0x2000_0000~0x3fff_ffff的空间,DMC1只能配置为0x4000_0000~0x5fff_ffff的空间。这是DMC的地址空间决定的,我就是在这郁闷了两天。
我的板子上面DMC0和DMC1上都只使用了CS0,然后我的设置就是
DMC0_MEMCONFIG0   chip_base =  0x20      chip_mask=0xf0          // 0x2000_0000 ~ 0x2fff_ffff     256M
DMC1_MEMCONFIG0   chip_base =  0x40      chip_mask=0xf0          // 0x4000_0000 ~ 0x4fff_ffff     256M  注意,DMC1只能从0x4000_0000开始。
问题又来了,这样内存地址空间不就不连续了嘛?
后来的解决办法,内存的地址空间不从0x2000_0000开始,从0x3000_0000开始,不就正好接上DMC1的了。只是CONFIG_SYS_SDRAM_BASE和CONFIG_SYS_TEXT_BASE相应的改一下
DMC0_MEMCONFIG0   chip_base =  0x30      chip_mask=0xf0          // 0x3000_0000 ~ 0x3fff_ffff     256M
DMC1_MEMCONFIG0   chip_base =  0x40      chip_mask=0xf0          // 0x4000_0000 ~ 0x4fff_ffff     256M

我在u-boot-2011.12上移植的,现在已经跑起来了。内存这部分的初始化,用里面的代码跑不起来。后来还是移植的开发板的,后来发现开发板的这一部分配置也是有问题的。等我有时间了再研究研究这一部分的配置。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
### 回答1: 基于S5PV210和QT的仓库管理系统,是一种利用S5PV210嵌入式处理器和QT开发框架实现的仓库管理软件。 仓库管理系统是为了提高仓库内存储和管理效率而开发的,可以对仓库内的物品进行入库、出库、库存管理等操作。基于S5PV210和QT的仓库管理系统具有以下特点: 首先,S5PV210嵌入式处理器具有较高的性能和稳定性,可以满足仓库管理系统的运行需求。它具有强大的计算能力和处理速度,可以快速响应用户的操作并实时更新仓库数据。 其次,QT是一种跨平台的GUI开发工具,可以在不同的操作系统上运行。它提供了丰富的UI组件和界面设计功能,使得仓库管理系统可以具有友好的用户界面和良好的用户体验,方便用户进行操作。 基于S5PV210和QT的仓库管理系统可以实现仓库内物品的全面管理。通过系统,管理员可以对仓库内的物品进行分类、标识和管理,并实时监控物品的流动情况和库存数量。同时,系统还可以生成各种报表和统计数据,帮助管理员进行仓库的优化和调整。 此外,基于S5PV210和QT的仓库管理系统还具有可扩展性和适应性。由于S5PV210嵌入式处理器具有较高的兼容性和可扩展性,可以与其他硬件设备和传感器进行连接,实现更多功能的拓展。同时,QT开发框架也提供了丰富的开发工具和接口,可以方便地进行二次开发和定制,满足不同仓库管理需求的个性化要求。 综上所述,基于S5PV210和QT的仓库管理系统是一种高性能、稳定可靠、具有良好用户体验和可拓展性的仓库管理软件。通过系统的使用,可以提高仓库管理的效率和准确性,满足不同规模和行业的仓库管理需求。 ### 回答2: 基于S5PV210和Qt的仓库管理系统是一种应用于仓库管理领域的软件系统。S5PV210是一款高性能的嵌入式处理器芯片,适用于移动设备和嵌入式应用。Qt是一种跨平台的应用程序开发框架,提供了丰富的图形界面组件和功能库。 基于S5PV210和Qt的仓库管理系统可以实现以下功能: 1. 库存管理:通过系统记录每个仓库中的货物数量和位置,实时更新库存情况。可以对货物进行分类、管理和查询,便于快速找到需要的货物。 2. 入库和出库管理:系统可以记录每次货物的入库和出库操作,并生成相应的入库和出库单据。可以通过扫描二维码或条形码快速进行入库和出库操作,提高操作效率。 3. 订单管理:可以管理和追踪来自客户的订单,包括订单的发货、签收和退货。系统可以生成订单的状态报告和相关统计数据,帮助仓库管理人员提升工作效率。 4. 智能报警系统:系统可以设定库存的最低和最高阈值,当库存数量超过或低于设定值时,系统会自动发送报警信息,提醒仓库管理人员做出相应的调整和采购。 5. 数据统计和分析:系统可以根据仓库的各项数据进行统计和分析,生成相关报表和图表,帮助仓库管理人员做出科学决策,提高仓库管理水平。 基于S5PV210和Qt的仓库管理系统具有高性能、跨平台和用户友好的特点,可以方便地实现仓库管理的自动化和信息化,提高仓库管理的效能和准确性。 ### 回答3: 基于s5pv210处理器和Qt开发的仓库管理系统是一种用于管理仓库物品、轨迹、库存等信息的软件系统。该系统可以通过s5pv210处理器提供的强大计算和处理能力,实现对大量数据的高效处理和存储。 Qt是一种跨平台的GUI开发框架,结合s5pv210处理器可实现界面友好的仓库管理系统。通过Qt的图形界面功能,可以方便地搭建直观、易用的仓库管理界面,用户可以通过图形界面进行仓库物品的录入、出库、查询等操作。 基于s5pv210和Qt开发的仓库管理系统可以提供以下功能: 1. 仓库物品管理:系统可以记录仓库中的物品信息,包括物品名称、编号、规格、数量等。用户可以通过系统对物品进行分类、添加、修改和删除。 2. 入库出库管理:系统可以记录物品的入库和出库信息,包括时间、数量、入库人员等。用户可以通过系统追踪和管理物品的入库和出库情况。 3. 库存管理:系统可以实时统计仓库中各类物品的库存情况,包括剩余数量、当前状态等。用户可以通过系统查询和监控仓库中物品的库存情况,以便及时补货和管理库存。 4. 报表统计:系统可以生成各类报表,如入库报表、出库报表、库存报表等。用户可以通过系统生成的报表了解仓库的物品流动情况和库存情况,以辅助决策。 5. 用户管理:系统可以实现不同用户角色的管理,包括管理员、操作员等。管理员可以对系统进行设置和维护,操作员则可以进行仓库管理操作。 基于s5pv210和Qt的仓库管理系统可以帮助提高仓库物品的管理效率和准确性,降低仓库管理成本,提供了一个方便、高效、安全的仓库管理解决方案。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值