查看: 4587|回复: 1

[原创] NFC532 模块移植到IMX6上

[复制链接]
  • TA的每日心情
    开心
    2021-2-25 16:17
  • 签到天数: 2 天

    连续签到: 1 天

    [LV.1]初来乍到

    13

    主题

    51

    帖子

    0

    注册会员

    Rank: 2

    积分
    179
    最后登录
    2021-11-3
    发表于 2016-1-22 15:54:47 | 显示全部楼层 |阅读模式
    本帖最后由 杨帆!起航! 于 2016-9-23 10:59 编辑

    linux 上的程序 NFC 安装

    Here is a small howto for ubuntu 12.04 TLS using the git version. I hope it may be helpful to someone, I was strugling all day...
    $ sudo apt-get install autoconf automake libtool
    $ sudo apt-get install libusb-0.1-4 libusb-dev libpcsclite1 libpcsclite-dev libccid pcscd
    $ sudo apt-get install git
    $ git clone http://code.google.com/p/libnfc/
    $ cd libnfc
    $ mkdir /etc/nfc
    $ mkdir /etc/nfc/devices.d/
    $ sudo nano /etc/nfc/devices.d/pn532_via_uart2usb.conf
    paste the following 5 lines into the pn532_via_uart2usb.conf:
    ## Typical configuration file for PN532 board (ie. microbuilder.eu / Adafruit) device
    name = "Adafruit PN532 board via UART"
    connstring = pn532_uart:/dev/ttyUSB0
    allow_intrusive_scan = true
    log_level = 3
    $ sudo autoreconf -vis
    $ ./configure --prefix=/usr --with-drivers=pn532_uart --sysconfdir=/etc
    $ sudo make clean
    $ sudo make
    $ sudo make install all
    plugin your ftdi usb
    $ cd examples
    $ sudo ./nfc-poll

    需要建 /etc/nfc/devices.d/pn532_via_uart2usb.conf 这个文件
    摘至 libnfc 的开发论坛 ,具体链接没有记下来


    移植到arm
    http://blog.csdn.net/douniwan5788/article/details/7551499
    ./configure --host=arm-linux --enable-serial-autoprobe  --with-drivers=pn532_uart --enable-static --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/  




    1、下载libnfc源码

    svn checkout http://libnfc.googlecode.com/svn/trunk/ libnfc-read-only  
    /**可以不做*/
    2、生成configure
    /**/
    autoreconf -is  

    3、配置交叉编译 (前提是交叉编译环境好配置好) 这里开始

    /*******cjf  配置************/
    ./configure --prefix=/usr/local/nfc --with-drivers=pn532_uart --sysconfdir=/usr/local/etc --host=arm-none-linux-gnueabi --enable-static --enable-serial-autoprobe
    arm-none-linux-gnueabi-gcc -static nfc-poll.c -o nfc-poll -L/usr/local/nfc/lib -lnfc
    /*****************/
    --host 指明目标平台 arm-linux
    --enable-static 静态链接以减少依赖库带来的各种麻烦
    --prefix 这里我填的是 交叉编译工具的路径,安装到这里,以后编译arm上依赖libnfc的程序时才不会提示无头文件
    --sysconfdir=XXX为etc路径,本案例为/usr/local/etc

    root@uptech:/usr/local/etc/nfc/devices.d# pwd
    /usr/local/etc/nfc/devices.d
    root@uptech:/usr/local/etc/nfc/devices.d# ls
    pn532_via_uart2usb_old.conf

    /*其他配置*/
    ./configure --host=arm-linux --enable-serial-autoprobe  --with-drivers=pn532_uart --enable-static --prefix=/usr/local/arm/4.3.2/arm-none-linux-gnueabi/  
    ./configure --prefix=/usr/nfc/ --with-drivers=pn532_uart --sysconfdir=/etc --host=/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi --enable-static --enable-serial-autoprobe/**/
    /********************/
    4、编译、安装

    [plain] view plaincopy
    make ; make install  
    //5、将编译出的库考到arm板里即可使用了  这里需要静态编译哦 所以不需要这一步


    编译应用程序
    arm-none-linux-gnueabi-gcc -static quick_start_example1.c -o nfc-q -L/usr/local/nfc/lib -lnfc

    如果出现 错误
    130|root@sabresd_6dq:/data/media/0 # ./nfc-q
    ./poll uses libnfc 1.7.1
    poll: ERROR: Unable to open NFC device.
    1|root@sabresd_6dq:/data/media/0 #
    创建配置文件
    /usr/local/etc/nfc/devices.d/pn532_via_uart2usb_old.conf
    内容如下
    ## Typical configuration file for PN532 board (ie. microbuilder.eu / Adafruit) device
    name = "Adafruit PN532 board via UART"
    connstring = pn532_uart:/dev/ttyS2
    allow_intrusive_scan = true
    log_level = 3
    可柑橘自己的需求来配置
    /*其他编译 下面为makefile*/
    动态
    BIN                = demo
    OBJS                = demo.o nfc-utils.o

    CC                = arm-poky-linux-gnueabi-gcc -march=armv7-a -mthumb-interwork -mfloat-abi=hard -mfpu=neon -mtune=cortex-a9 --sysroot=/opt/poky/1.7/sysroots/cortexa9hf-vfp-neon-poky-linux-gnueabi
    STRIP                = arm-poky-linux-gnueabi-strip
    CFLAGS                = -O2

    all:  clean $(BIN)

    $(BIN):                $(OBJS)
                    $(CC) $(CFLAGS)        -o $@ $(OBJS)  -L/usr/libnfc/lib -l:libnfc.so.5
                    $(STRIP) $@

    clean:
            -rm -f $(BIN) *.o
    静态编译


    $(CC) $(CFLAGS) -static -o $@ $(OBJS)  -L/usr/local/arm/4.3.2/arm-none-linux-gnueabi/lib -l:libnfc.a



    arm-none-linux-gnueabi-gcc -static -o main quick_start_example1.c -L/usr/local/arm/4.3.2/arm-none-linux-gnueabi/lib/ -lnfc


    arm-none-linux-gnueabi-gcc -static quick_start_example1.c -o nfc-q -L/usr/local/nfc/lib -lnfc




    今天天气不错!签到!
    回复

    使用道具 举报

    该用户从未签到

    45

    主题

    2369

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    3277
    最后登录
    1970-1-1
    发表于 2016-1-26 17:50:30 | 显示全部楼层
    感谢楼主热心分享,赞
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-8-20 03:47 , Processed in 0.084501 second(s), 20 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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