Jun 16
点击在新窗口中浏览此图片

1. 安装RHEL5. 由于害怕缺少某些库到时候再找很麻烦,于是求省事把RHEL5完全安装了。64位CPU, 16G内存, 设置了32G的SWAP。其他缺省。
2. 放入ISE 11.1 DVD,RHEL5 自动 mount 到 /media/Xilinx_ISE11_DS
3. 尝试了在光盘中执行 ./xsetup,发现Permission Denied。
4. 无奈把光盘拷贝到本地硬盘然后执行
cp -R /media/Xilinx_ISE11_DS ~/ --拷贝到用户目录
chmod -R 777 ~/Xilinx_ISE11_DS/  --添加执行权限和写权限
~/Xilinx_ISE11_DS/xsetup --开始安装

5. 安装很快,ISE套装不含EDK版本只装了10分钟不到。
6. 配置License。在Copy License那里选择Choose,然后选中申请好的xilinx.lic文件,然后OK,就会自动把License复制到相应的地方,并显示出有哪些功能可用。
7. 打开一个Shell,运行ISE
source /opt/Xilinx/11.1/settings64.csh  --这是我的安装目录
ise &

8. 在安装目录中可以发现settings32.csh和settings64.csh,说明如果CPU是64位的,ISE会把32位和64位软件全部安装上的。只要source相应的settings,就可以执行32位或64位版本。
9. settings脚本有csh和sh之分。其中csh是给CShell用的,sh是给Bash用的。如果要更改用户使用的shell,可以让root修改/etc/passwd文件。
10. 如果觉得每次运行都要打命令行比较麻烦,可以在桌面上做一个快捷方式。
- 把以下内容存成一个文件(我叫ise.csh):
#!/bin/csh
source /opt/Xilinx/11.1/settings64.csh  --这是我的安装目录
ise &

- 给这个文件添加执行权限:
chmod +x ise.csh

- 然后把这个ise.csh移动到桌面,在双击弹出窗口中按RUN就可以运行ISE了。
Tags: ,
Jun 12
微处理器经常要与外部逻辑交互数据 - 可能是ISE里面自己写的逻辑,也可能是Sysgen中的逻辑,当然还可能是片外的逻辑。

交互数据有哪些方法?通常万变不离其宗
- Shared Memory: 双向给地址给数据/取数据
- FIFO:单向顺序给/取数据
- Register:单向选中后给/取数据

最常用的是Shared Memory。
FPGA内部有双口BRAM,两边都可以进行数据的读写,数据交互是双向的。

FIFO在一个模块往另一个模块灌数据时比较有用,优点是不用在意地址的产生。

因为Register无法缓存数据,必须一边给了数据后一边直接取走,所以交换数据时不常用。应用场合更适合控制寄存器。最常用的情况就是EDK系统要控制EDK外部的逻辑,比如给出一个使能信号等。

-----------<方法与操作的分割线>---------

EDK中的操作方法:

Shared Memory使用 XPS_BRAM_IF_CNTLR + BRAM_BLOCK。
XPS_BRAM_IF_CNTLR 接在 PLBv46 Bus 上,在Address页面分配相应的Size和Address。这里设的Size就是使用到的BRAM的大小。
BRAM_BLOCK 的 PORTA 接在 XPS_BRAM_IF_CNTLR 上,PortB Bus 设成 Not Connected,在Port页面将 PortB 所有的IO都 Make External。

FIFO 可以直接使用 FSL Core。
FSL 可以指定使用 BRAM 作为 FIFO,也可以指定使用 Slice 作为 FIFO。根据需求来选择。

Register 可以使用 GPIO Core。
C代码直接寻址然后做数据操作速度会比较快。用Driver中的函数来操作就会比较慢。
Tags:
Jun 11
XMD的Verify ELF功能在一次调试中帮了大忙。

出问题的情况很奇怪:
- 把Application Initialize to BRAM的时候程序工作不正常
- 用XMD再把程序dow一次,又正常了。

怀疑data2mem出问题,可以BRAM里面又是有值的。

于是怀疑这些值的正确性。用XMD的Verify ELF功能比较BRAM的内容和ELF的内容,结果发现的确有不相符的地方。那就确认是DATA2MEM的过程中出问题了。

此外,Verify ELF还可以用在Flash Writer烧写Flash后检查烧写是否正确:
- 在Bootloader完成,要进行PC指针跳转的最后一步设断点把程序停住,此时Flash中的SREC已经被Bootloader放到了DDR中
- 在XMD中运行Verify ELF检查DDR中的内容是否正确。
Tags: , ,
Jun 7
1. SDK其实就是Eclipse。所有Eclipse的技巧都能用在SDK上。

2. SDK的快捷键在这里定义: Window --> Preferences --> General --> Keys

3. 在代码编辑窗口中按Ctrl + Shift + L 可以显示快捷键列表;再按一次可以编辑快捷键定义

4. 自定义的快捷键Export保存,以后换电脑的时候更改比较方便。
Tags:
Jun 4
今天碰到一个奇怪问题:

在SDK中进行debug的时候,点了debug按钮,elf文件下载完毕,debug视图开启,然后Process就停在60%的地方,左上角也显示Pending,然后就Not Responding了。

试验结果发现如果去掉已经设置的breakpoint,就没问题了。
相信是Eclipse的Bug。
Tags:
分页: 3/35 第一页 上页 1 2 3 4 5 6 7 下页 最后页 [ 显示模式: 摘要 | 列表 ]