博客首页 | 排行榜 |

初冬安静的小窝

个人档案
博文分类
学习EDK记录(二)  2008-11-29 02:04

  接着昨天得继续来。

   打开工程得文件夹,你会发现有下面得文件夹是自动生成得:


 _ _xps
文件夹:包含XPS和内部工程管理的其它工具产生的中间文件;


 data
文件夹:包含用户约束文件(UCF)。


 etc
文件夹:此目录中的文件给出了运行不同工具的脚本文件,包含了下载的cmd文件

 

pcores文件夹:包括了用户定制的硬件外围设备。暂时是空得。


然后生成得文件是什么作用呢?

 

system.xmp:这是EDK的顶层工程设计文件。XPS读取此文件,并在用户界面上给出此文件内容。


 system.mhs
:系统微处理器硬件规范(或MHS文件),给出系统元素、对应的参数以及连接。

MHS文件是项目的硬件基础。此外,UCF文件也是和硬件结构对应的。


 system.mss
:系统微处理器软件规范(或MSS文件),给出设计的软件部分,描述了系统元素以及外围设备的不同软件参数。MSS文件是项目的软件基础。


 system.log
:日志文件你得所有操作都会被记录下来。

 

Ucf 文件是用户约束,cmd 链接文件,opt implementation options file

 

然后这个时候能看到

 

1.       工程信息面板 有三个页 project application IP catalogproject下面是硬件工程得树形目录,application下面是应用软件得树形目录(此时为空),IP catalog是可添加得IP资源,用户可以自行添加。

2.       系统组件(assembly)面板 这里面得横竖线,显示你得硬核总线结构和外挂得设备。有Bus Interfaceportsaddress

 

然后可以在project下面得generate and view block diagram ,可以看看生成得硬件得整体架构和总线以及外设,总体上有个认识和把握。

 

学习完这个,就可以在上面加载软件得project了。

application下面双击add software application project,产生对话框,输入工程得名字然后OK,然后会生成一个project,然后在source上单击右键,添加C文件进去。这个C文件就是你得应用程序。

下面来编写这个程序,功能是按下按键pushbutton对应得LED灯要亮起来。

源文件如下:

#include "xgpio.h"

#include "xparameters.h"

 

int main(void)

{

   XGpio gpLED;

   XGpio gpPB;

 

   // Initialise the peripherals

   XGpio_Initialize(&gpLED, XPAR_LEDS_4BIT_DEVICE_ID);

   XGpio_Initialize(&gpPB, XPAR_PUSHBUTTONS_5BIT_DEVICE_ID);

 

   // Set the LED peripheral to outputs

   XGpio_SetDataDirection(&gpLED, 1,0x00000000);

 

   // Set the Push Button peripheral to inputs

   XGpio_SetDataDirection(&gpPB, 1,0xffffffff);

 

   Xuint32 data = 0;

 

   while(1)

   {

      // Read the state of the push buttons

      data = XGpio_DiscreteRead(&gpPB, 1);

 

      // Set the LED state

      XGpio_DiscreteWrite(&gpLED, 1, data);

   }

}

呵呵太晚了,明天接着解释各个函数得作用和每个函数得函数体,因为xilinx有很多库和头文件中定义了很多函数,或者说基本外设得驱动是已经写好得,拿来用及可以了,怎么用怎么找到这些文件和函数是个问题呵呵。

|
上一篇:通信中扰码的作用(转) | 下一篇:学习EDK记录(一)
以下网友评论只代表其个人观点,不代表本网站的观点或立场