Mingw下使用FTD2XX进行FTDI的开发

直奔主题

FTD2XX下载

FTD2XX是FTDI官方对USB 2.0系列芯片的开发库,对DLL调用就能够直接访问设备,库很简洁用起来也简单,直接官网下载就好了。

gcc编译

为什么不用 libftdi,这个虽然开源,但是跟官方差别不大,依赖libusb,在linux上还好,windows上很不方便,需要卸载原有驱动,windows上没必要费这个事。linux上libftdi就比较友好,直接包管理安装就可以用,官方库则需要一顿复杂的操作。
下载以后,发现是ftdi2xx.lib,习惯用MSVC就不说了,如果用mingw,或者其他版本gcc,命令像下面这个样子:

gcc main.c -I.\ftd2xx -l:ftd2xx.lib -L.\ftd2xx -o hi_ft232

使用动态库是可以的,静态库总是连接不成功。主要就是一个-l:ftd2xx.lib特殊的链接参数。这是一个不标准的hello world:

#include <stdio.h>
#include <windows.h>
#include "ftd2xx.h"

int main() {
    FT_HANDLE handle;

    if(FT_Open(0, &handle))  {
        puts("Can't open device");
        return 1;
    }
    FT_Close(&handle);
}

续一句

FTDI的芯片编程我准备陆续出一个系列吧(虽然没人看,逃),包括FTDI特色协议和FPGA通信之类的。FTDI的芯片定制性最然比较差,只能用FTDI的驱动开发USB设备,但是带来的好处也很明显,开发起来简单方便。
大致的准备时这样的,先使用FT2232D芯片外挂FLASH和LATTICE LCMXO2 640HC做一个简单的板子,CHANNEL A和B全连接,CHANNEL A用MPSSE走JTAG下载,CHANNEL B不支持MPSSE无所谓,先把FT的基础的特色协议与FPGA通信用几篇博客细说一下。具体讲讲PC端的C代码和FPGA上的Verilog。
板子还没画呢,当时由于手快没看价格,发现LATTICE 640HC和1200HC的价格差不多,有些亏了。640 LUT虽然短小,那我就尽量使代码简洁精悍。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值