基于AM57x的ARM与FPGA通信测试

举报
tronlong小分队 发表于 2020/08/21 11:16:29 2020/08/21
【摘要】 通过ARM烧写SPI FLASH表 1开发板型号是否支持本实验TL570x-EVM不支持TL5728-EasyEVM不支持TL5728-IDK不支持TL5728F-EVM支持本实验在Linux系统下,由ARM通过SPI2总线烧写固化.bin文件到FPGA端的SPI FLASH中运行。将TL5728F-EVM开发板FPGA端拨码开关拨为Master SPI模式(01),将由FPGA工程编译生成...

通过ARM烧写SPI FLASH


表 1

开发板型号

是否支持本实验

TL570x-EVM

不支持

TL5728-EasyEVM

不支持

TL5728-IDK

不支持

TL5728F-EVM

支持


本实验在Linux系统下,由ARM通过SPI2总线烧写固化.bin文件到FPGA端的SPI FLASH中运行。

将TL5728F-EVM开发板FPGA端拨码开关拨为Master SPI模式(01),将由FPGA工程编译生成的.bin文件复制到文件系统“/opt/tools”目录下,例如LED工程的LED.bin文件。进入开发板文件系统“/opt/tools”目录,执行脚本文件将LED.bin文件固化到FPGA端的SPI FLASH。

Target# cd /opt/tools/

Target# ./flash-fpga-spiflash.sh LED.bin


图 1


串口打印“FPGA reload app successfully!”信息表示成功将LED.bin文件固化到SPI FLASH,可以观察到开发板LED在FPGA控制下流水灯闪烁。

 FPGA与ARM基于IC通信测试


表 2

开发板型号

是否支持本实验

TL570x-EVM

不支持

TL5728-EasyEVM

不支持

TL5728-IDK

不支持

TL5728F-EVM

支持


本测试程序将FPGA模拟成I2C设备,设备地址为0x2A,ARM使用I2C4总线对此I2C设备进行读写。

将TL5728F-EVM开发板FPGA端拨码开关拨为Master SPI模式(01),将FPGA光盘I2C_SLAVE工程“fordownload\I2C_SLAVE.bin”文件复制到文件系统“/opt/tools”目录下,I2C_SLAVE.bin文件主要实现FPGA和ARM的I2C通信功能。

进入开发板文件系统的“/opt/tools”目录,执行如下指令由ARM通过SPI2总线烧写.bin文件到FPGA端的SPI FLASH中运行。串口打印“FPGA reload app successfully!”信息表示烧写成功。

Target# ./flash-fpga-spiflash.sh I2C_SLAVE.bin


图 2


执行如下命令查看挂载到I2C4总线的I2C设备地址,此处查询到FPGA的地址为0x2A。

Target# i2cdetect -r -y 3


图 3


执行如下指令读取FPGA I2C设备寄存器的值:

Target# i2cdump -f -y 3 0x2a


图 4


寄存器00读写测试

执行如下命令对FPGA I2C设备0x00地址写0x55:

Target# i2cset -f -y 3 0x2a 0x00 0x55

执行如下命令读取FPGA I2C设备0x00地址的值:

Target# i2cget -f -y 3 0x2a 0x00


图 5


寄存器01测试

执行如下指令往FPGA I2C设备的地址0x01写0xc0,可以看到开发板FPGA端的两盏蓝色LED会点亮:

Target# i2cset -f -y 3 0x2a 0x01 0xc0

往0x2a I2C设备的地址0x01写0x00,开发板FPGA端的两盏蓝色LED会熄灭:

Target#  i2cset -f -y 3 0x2a 0x01 0x00


图 6


寄存器02测试

执行如下指令读取FPGA I2C设备的地址0x02的初始值为“0xc0”。

Target# i2cget -f -y 3 0x2a 0x02

分别长按FPGA用户按键KEY6(USER0)、KEY7(USER1)不放,依次读取0x02地址寄存器的值,分贝为“0x80”和“0x40”。

Target# i2cget -f -y 3 0x2a 0x02


图 7


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。