搜索
bottom↓
回复: 14
打印 上一主题 下一主题

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

[复制链接]

出0入0汤圆

跳转到指定楼层
1
发表于 2012-11-25 16:47:39 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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一样,野火专区的朋友交流很活跃,所以大家的进步都很快,自己摸索很久的小问题,只需要花一点时间的交流就可以解决了!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

2
发表于 2012-12-29 22:04:59 | 只看该作者
你貌似没有定义设备的ID吧?在XPS下看一下它的地址,在SDK中定义一下试试~~

出0入0汤圆

3
发表于 2012-12-29 23:26:56 | 只看该作者
本帖最后由 pocker5200 于 2012-12-29 23:31 编辑

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

出0入0汤圆

4
发表于 2012-12-30 00:58:05 来自手机 | 只看该作者
驱动液晶有两个方法:一是用 GPIO模拟时序 ,二是自己编写底层 HDL再导入IP,其实用EPC核很容易搞定

出0入0汤圆

5
发表于 2012-12-30 00:58:43 来自手机 | 只看该作者
另外 ,楼主发错版块了

出0入0汤圆

6
 楼主| 发表于 2012-12-30 11:59:30 | 只看该作者
6091820503 发表于 2012-12-29 22:04
你貌似没有定义设备的ID吧?在XPS下看一下它的地址,在SDK中定义一下试试~~

我自己已经解决了,谢谢您的帮助!!!

出0入0汤圆

7
 楼主| 发表于 2012-12-30 12:00:23 | 只看该作者
zkf0100007 发表于 2012-12-30 00:58
驱动液晶有两个方法:一是用 GPIO模拟时序 ,二是自己编写底层 HDL再导入IP,其实用EPC核很容易搞定  ...

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

出0入0汤圆

8
 楼主| 发表于 2012-12-30 12:00:56 | 只看该作者
zkf0100007 发表于 2012-12-30 00:58
另外 ,楼主发错版块了

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

出0入0汤圆

9
发表于 2012-12-30 23:13:34 | 只看该作者
beirvin 发表于 2012-12-30 12:00
这个是PSOC的版块啊,要不然我在哪个版块发?

应该发到FPGA版

出0入0汤圆

10
 楼主| 发表于 2012-12-31 22:52:05 | 只看该作者
zkf0100007 发表于 2012-12-30 23:13
应该发到FPGA版

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

出0入0汤圆

11
发表于 2013-1-3 23:08:29 | 只看该作者
beirvin 发表于 2012-12-31 22:52
PSOC片上系统和编程,也有基于FPGA的片上系统编程啊……

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

出0入0汤圆

12
 楼主| 发表于 2013-1-5 00:50:10 | 只看该作者
zkf0100007 发表于 2013-1-3 23:08
在阿莫这,PSOC应该是专指Cypress的,一家之言,呵呵

哦哦!

出0入0汤圆

13
 楼主| 发表于 2013-3-3 17:02:23 | 只看该作者
6091820503 发表于 2012-12-29 22:04
你貌似没有定义设备的ID吧?在XPS下看一下它的地址,在SDK中定义一下试试~~

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

出0入0汤圆

14
 楼主| 发表于 2013-3-3 17:03:18 | 只看该作者
pocker5200 发表于 2012-12-29 23:26
看过一个驱动1602液晶的参考设计,就是用7bit GPIO模拟的,驱动程序也是在GPIO驱动函数基础上封装出来的, ...

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

出0入0汤圆

15
发表于 2014-10-2 13:00:58 | 只看该作者
我也学过一段时间Xilinx
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-3-29 13:50

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表