
本质是把FPGA当做一个SRAM去操作。 首先调试STM32写入FPGA数据,FPGA通过串口发出接收的数据。 STM32部分 1、首先通过cube配置stm321 m, _6 t' Q! z: ?, h9 J' a 原理图地址总线如下2 x2 v4 n$ c# L4 g/ ] ![]() . ~ d8 N# T6 V2 H5 k7 Y ![]() + y( w! b2 D+ k! Z( t6 z 原理图数据总线如下: ![]() ) I! P& L+ G0 ]/ B5 q ![]() / R! K! v2 `: c! O" b8 A8 S 原理图其余部分 N1 P. l) d3 ^9 D, ] ' ~3 C4 k; I: h* j9 Q6 M' R ![]() , O1 ~4 }2 u1 x ![]() cube配置如下$ s/ ^6 I( p& y$ W' n ![]() ![]() . {: [( o5 a: W 2、打开工程,在FSMC配置文件中加入这一段写FSMC。 2 T. A% N2 _+ }; v, M6 q ![]() * x6 V! |8 g! w2 X! K, J+ q 3、主函数中加入这三句话,则实现了对FSMC的循环写 ' \) r7 g- m8 b9 I4 G3 V5 v ![]() ) \+ p: P u$ P6 g; F FPGA部分6 C+ G, w0 M5 O! T0 A8 K: i 首先要知道FPGA模拟了一个SRAM。在FSMC_NWE下降沿代表有新数据写入了。我们接收的STM32数据应该首先存起来。之后再通过串口发送。 在每个FSMC_NWE的下降沿存储一个16位的数据。 FPGA将从STM32接收到的数据通过串口发出如下0 F0 ]' D& b- p: u/ Y- D , C; M" \* Q4 q9 Y ![]() + h2 r% O$ ?5 T, v; m5 Q$ J5 M2 T 0 h' X8 }) ]9 g2 V% X% S f% H 调试STM32读出FPGA数据。( U0 d% |8 g9 m( u" v 1、在应用过程中往往是FPGA作为接口采集了大量数据需要通过FSMC去传输到STM32的。基本思路是每当FPGA准备好数据时,我们通过一个IO口告诉STM32数据准备好了。 2、这个时候STM32开始进行FSMC读操作,函数是 / j: L! _ m( n" c 5 y# L2 V# t4 `2 f; _ DATA = *( vu16*)((u32)(0x68000000)+CC); //CC是从哪个地址开始读取数据4 k. S4 b6 d/ o 3、FPGA程序就是根据地址来给出具体的数据,对数据总线操作。$ ]& h( h8 q" E- U' w7 n7 R ———————————————— 版权声明:冬麻麻 # ^$ @( t3 J7 Y3 C ' A0 u( c$ g, O, @ |
Keil下的STM32N6之RAM运行工程配置说明
【STM32MP257-DK】01开发板开箱、ST MPU 生态资源使用、环境搭建以及镜像更新
兔哥的初代M33【002】-H503Nucleo 内部flash操作
兔哥的杂谈【002】——如何性价比更高地去编译STM32
汇编浮点库qfplib移植STM32F769I-DISCO开发板与硬件浮点运算性能测试对比
FreeRTOS学习笔记2
【NUCLEO-H533RE评测】+05 调试PWM
基于STM32在线升级OTA经验分享
基于STM32 hardfault问题分析经验分享
【NUCLEO-C0评测】硬件OLED显示