关于EDK中遇到的问题(不理解)

[复制链接]
4978|20
 楼主| vergil_gxw 发表于 2011-11-3 15:18 | 显示全部楼层 |阅读模式
1、为什么有的外设(比如LED,就4个)地址空间也那么大,有64K?EDK自动生成的。
2、编译EDK生成的测试程序的时候,产生类似
/cygdrive/d/Xilinx/10.1/EDK/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/4.1.1/../../../../microblaze-xilinx-elf/bin/ld.real: section .stack [00000660 -> 00000a5f] overlaps section .text [00000050 -> 00001c1b]
于/cygdrive/d/Xilinx/10.1/EDK/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/4.1.1/../../../../microblaze-xilinx-elf/bin/ld.real: TestApp_Peripheral/executable.elf: section .text lma 0x50 overlaps previous sections
这样的错误,是什么原因造成的?是bram不够大吗?在EDK中怎样修改已经设置好的大小呢?
3、芯片自带的ram大小有限,使用外接的DDR 作为程序存储以及内存空间是可行的吗?

谢谢大家赐教!
GoldSunMonkey 发表于 2011-11-3 16:00 | 显示全部楼层
问得问题太模糊。
先做这个试验了解下系统。
https://bbs.21ic.com/icview-272699-1-1.html
然后第二个问题是可以使用外部DDR
 楼主| vergil_gxw 发表于 2011-11-3 16:42 | 显示全部楼层
就是在Address里,由系统自动生成的4个LED灯外设(GPIO引出)所占的地址空间有64K,我不理解需要这么大的空间做什么?理论上不是几个位的地址就可以控制它了吗?
ooljo 发表于 2011-11-4 07:15 | 显示全部楼层
过来学习下
ooljo 发表于 2011-11-4 07:16 | 显示全部楼层
期待结果:)
ertu 发表于 2011-11-4 07:19 | 显示全部楼层
我有点没看明白
ertu 发表于 2011-11-4 07:19 | 显示全部楼层
呃。。。。
GoldSunMonkey 发表于 2011-11-4 10:08 | 显示全部楼层
就是在Address里,由系统自动生成的4个LED灯外设(GPIO引出)所占的地址空间有64K,我不理解需要这么大的空间做什么?理论上不是几个位的地址就可以控制它了吗? ...
vergil_gxw 发表于 2011-11-3 16:42

我觉得你对系统都不了解,我觉得你先完一个小的试一试吧。
 楼主| vergil_gxw 发表于 2011-11-4 11:48 | 显示全部楼层
做过了啊,这种小实验很简单,但依然没有解释我心中的疑惑啊
 楼主| vergil_gxw 发表于 2011-11-4 11:57 | 显示全部楼层
其实这种“怎么做”的问题我没有太多疑惑,我的问题是问的原理.CPU通过地址线对GPIO进行寻址,但是GPIO不是存储设备,最多就几个控制口和数据口,无论如何所占的空间不至于到64K吧?
GoldSunMonkey 发表于 2011-11-4 12:28 | 显示全部楼层
你这个例子可以开小点。没有关系。
可以建工程时选择,没人要求你一定开这么大的。
 楼主| vergil_gxw 发表于 2011-11-4 12:47 | 显示全部楼层
其实就是说那么大的地址其实都重叠了吧?因为高位地址线没用,所以可以随意?而如果设备增多,地址空间占用很大的话,就不至于一个这种设备的地址那么大了,我的理解对吗?
GoldSunMonkey 发表于 2011-11-4 12:48 | 显示全部楼层
差不多
AutoESL 发表于 2011-11-4 14:06 | 显示全部楼层
1# vergil_gxw
1。
这个应该是系统默认的东西,我记得可以修改

2。估计是你添加或者删除设备之后没有重新生成地址空间映射,或者是你修改了这段段的地址空间并且锁定了?

3。可以
edacsoft 发表于 2011-11-4 17:23 | 显示全部楼层
本帖最后由 edacsoft 于 2011-11-4 17:24 编辑

1、为什么有的外设(比如LED,就4个)地址空间也那么大,有64K?EDK自动生成的。
原因在文档“EDK Concepts, Tools, and Techniques”说的很清楚:
If it seems strange for a simple peripheral to be assigned a 64Kbyte address space, don’t worry. A wider address space requires decoding of fewer address lines. In an FPGA, a decoder with many inputs is implemented as a cascade of lookup tables.The deeper the cascade, the slower the operating frequency. By assigning wide peripheral address ranges, the resulting FPGA implementation will run faster.
猴哥尽然都不知道,哈哈。
GOOD LUCK!
 楼主| vergil_gxw 发表于 2011-11-4 19:38 | 显示全部楼层
14# AutoESL 关于那个错误,我再研究下看看
 楼主| vergil_gxw 发表于 2011-11-4 19:38 | 显示全部楼层
15# edacsoft 哈,这样我就明白了,这个文档为什么我没有呢?
GoldSunMonkey 发表于 2011-11-4 22:04 | 显示全部楼层
1、为什么有的外设(比如LED,就4个)地址空间也那么大,有64K?EDK自动生成的。
原因在文档“EDK Concepts, Tools, and Techniques”说的很清楚:
If it seems strange for a simple peripheral to be assigned a 6 ...
edacsoft 发表于 2011-11-4 17:23

...我也是你那个意思,不过没有你表达的那么好。
hihu 发表于 2011-11-5 13:59 | 显示全部楼层
过来学习下
hihu 发表于 2011-11-5 14:00 | 显示全部楼层
仰慕各位啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

45

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部