beirvin 发表于 2012-11-25 16:47:39

Xilinx FPGA PSOC-摸着石头过河,SDK下C语言编程的疑问!

本帖最后由 beirvin 于 2012-11-25 16:49 编辑

最近在学习Xilinx FPGA,遇到诸多问题,从开始在ISE下用Verilog编程,到随后转用EDK下用软硬协同尝试用C进行编程,每个过程都不是很简单。最近摸索了比较长的时间尝试导入自定义IP,IP是能够正常导入,自定义流水灯led_ip能够按照预期运行,自编代码如下:
// Located in: microblaze_0/include/xparameters.h
#include "xparameters.h"

#include "stdio.h"

#include "xstatus.h"

//====================================================
void Delay(unsigned int t);

int main(void)
{
        char i = 0,k = 0;
        print("-- Entering main() --\r\n");
        while(1)
        {
                k = 0x01;
                for(i = 0;i < 8;i++)
                {
                        (*(volatile unsigned int*)0xCF400000) = k;       //0xCF400000为led_ip的地址
                        xil_printf("Now,The led %d is runing!\r\n", i);
                        k = k << 1;
                        Delay(5000);
                }
        }
        return 0;
}

void Delay(unsigned int t)
{
        unsigned int i,j;
        for(i = t;i > 0; i--)
                for(j = 1000; j > 0;j--);
}
当这个把程序烧写进FPGA能够按照预想的运行,这个程序基本上没有使用Xilinx的驱动库,并不是我不想用,而是不会用。

之后想再尝试着驱动LCD12864,自定义lcd_ip并导入,这是尴尬出现了,这个突然发现不知道该如何去驱动了,看着官方例程很多都是用Xilinx驱动库来写程序的,自己编写了一个,一模一样的代码却出现错误,
查看工程设置,出了优化级别外其他设置都一样(或许很细小的地方忽略了吧),但是就是编译出错,这个问题不知道该怎么解决,希望有经验的朋友不吝赐予指导,感谢!工程截图如下:


阿莫里的好友,希望大家能够活跃交流共同进步!就像我当时学STM32一样,野火专区的朋友交流很活跃,所以大家的进步都很快,自己摸索很久的小问题,只需要花一点时间的交流就可以解决了!

6091820503 发表于 2012-12-29 22:04:59

你貌似没有定义设备的ID吧?在XPS下看一下它的地址,在SDK中定义一下试试~~

pocker5200 发表于 2012-12-29 23:26:56

本帖最后由 pocker5200 于 2012-12-29 23:31 编辑

看过一个驱动1602液晶的参考设计,就是用7bit GPIO模拟的,驱动程序也是在GPIO驱动函数基础上封装出来的,按照一定的时序向GPIO输出寄存器写值就能操作1602。
xilinx的驱动库分低级,高级两种模式,低级模式类似于寄存器直接操作,高级模式函数封装等更加直观,看个人喜好的。

zkf0100007 发表于 2012-12-30 00:58:05

驱动液晶有两个方法:一是用 GPIO模拟时序 ,二是自己编写底层 HDL再导入IP,其实用EPC核很容易搞定

zkf0100007 发表于 2012-12-30 00:58:43

另外 ,楼主发错版块了

beirvin 发表于 2012-12-30 11:59:30

6091820503 发表于 2012-12-29 22:04 static/image/common/back.gif
你貌似没有定义设备的ID吧?在XPS下看一下它的地址,在SDK中定义一下试试~~

我自己已经解决了,谢谢您的帮助!!!{:lol:}

beirvin 发表于 2012-12-30 12:00:23

zkf0100007 发表于 2012-12-30 00:58 static/image/common/back.gif
驱动液晶有两个方法:一是用 GPIO模拟时序 ,二是自己编写底层 HDL再导入IP,其实用EPC核很容易搞定...

模拟时序我现在已经会了,我更感兴趣的是HDL语言底层的编写!!!

beirvin 发表于 2012-12-30 12:00:56

zkf0100007 发表于 2012-12-30 00:58 static/image/common/back.gif
另外 ,楼主发错版块了

这个是PSOC的版块啊,要不然我在哪个版块发?

zkf0100007 发表于 2012-12-30 23:13:34

beirvin 发表于 2012-12-30 12:00 static/image/common/back.gif
这个是PSOC的版块啊,要不然我在哪个版块发?

应该发到FPGA版

beirvin 发表于 2012-12-31 22:52:05

zkf0100007 发表于 2012-12-30 23:13 static/image/common/back.gif
应该发到FPGA版

PSOC片上系统和编程,也有基于FPGA的片上系统编程啊……

zkf0100007 发表于 2013-1-3 23:08:29

beirvin 发表于 2012-12-31 22:52 static/image/common/back.gif
PSOC片上系统和编程,也有基于FPGA的片上系统编程啊……

在阿莫这,PSOC应该是专指Cypress的,一家之言,呵呵

beirvin 发表于 2013-1-5 00:50:10

zkf0100007 发表于 2013-1-3 23:08 static/image/common/back.gif
在阿莫这,PSOC应该是专指Cypress的,一家之言,呵呵

哦哦!{:lol:}

beirvin 发表于 2013-3-3 17:02:23

6091820503 发表于 2012-12-29 22:04 static/image/common/back.gif
你貌似没有定义设备的ID吧?在XPS下看一下它的地址,在SDK中定义一下试试~~

有地址,这些问题现在解决了

beirvin 发表于 2013-3-3 17:03:18

pocker5200 发表于 2012-12-29 23:26 static/image/common/back.gif
看过一个驱动1602液晶的参考设计,就是用7bit GPIO模拟的,驱动程序也是在GPIO驱动函数基础上封装出来的, ...

请问你有测试SD卡的Verilog程序吗?

千年明月 发表于 2014-10-2 13:00:58

我也学过一段时间Xilinx
页: [1]
查看完整版本: Xilinx FPGA PSOC-摸着石头过河,SDK下C语言编程的疑问!