T1854 000:270 SEGGER J-Link V5.02f Log File (0001ms, 0262ms total)
T1854 000:270 DLL Compiled: Oct 2 2015 20:51:34 (0001ms, 0262ms total)
T1854 000:270 Logging started @ 2016-01-08 11:19 (0001ms, 0262ms total)
T1854 000:271 JLINK_SetWarnOutHandler(...) (0000ms, 0262ms total)
T1854 000:271 JLINK_OpenEx(...)
Firmware: J-Link ARM-OB STM32 compiled Aug 22 2012 19:52:04
Hardware: V7.00
S/N: 305760245
Feature(s): RDI,FlashDL,FlashBP,JFlash,GDBFull returns O.K. (0260ms, 0522ms total)
T1854 000:531 JLINK_SetErrorOutHandler(...) (0000ms, 0522ms total)
T1854 000:531 JLINK_ExecCommand("ProjectFile = "C:\Users\asuo-pc\Desktop\28_fsmc\stm32\JLinkSettings.ini"", ...) returns 0x00 (0000ms, 0522ms total)
T1854 000:533 JLINK_ExecCommand("Device = STM32F407IGTx", ...)Device "STM32F407IG" selected. returns 0x00 (0004ms, 0526ms total)
T1854 000:537 JLINK_ExecCommand("DisableConnectionTimeout", ...) returns 0x01 (0000ms, 0526ms total)
T1854 000:537 JLINK_GetHardwareVersion() returns 0x11170 (0000ms, 0526ms total)
T1854 000:537 JLINK_GetDLLVersion() returns 50206 (0000ms, 0526ms total)
T1854 000:537 JLINK_GetFirmwareString(...) (0001ms, 0527ms total)
T1854 000:544 JLINK_GetDLLVersion() returns 50206 (0000ms, 0527ms total)
T1854 000:544 JLINK_GetCompileDateTime() (0000ms, 0527ms total)
T1854 000:545 JLINK_GetFirmwareString(...) (0000ms, 0527ms total)
T1854 000:546 JLINK_GetHardwareVersion() returns 0x11170 (0000ms, 0527ms total)
T1854 000:551 JLINK_TIF_Select(JLINKARM_TIF_SWD) returns 0x00 (0001ms, 0528ms total)
T1854 000:552 JLINK_SetSpeed(5000) (0001ms, 0529ms total)
T1854 000:553 JLINK_GetId() >0x108 TIF>Found SWD-DP with ID 0x2BA01477 >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF>
>0x21 TIF> >0x108 TIF>Found SWD-DP with ID 0x2BA01477 >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x28 TIF> >0x0D TIF> >0x21 TIF> >0x0D TIF> >0x21 TIF>
Found Cortex-M4 r0p1, Little endian. -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU_ReadMem(4 bytes @ 0xE0002000)FPUnit: 6 code (BP) slots and 2 literal slots -- CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000) -- CPU_WriteMem(4 bytes @ 0xE0001000) -- CPU_ReadMem(4 bytes @ 0xE000ED88) -- CPU_WriteMem(4 bytes @ 0xE000ED88) -- CPU_ReadMem(4 bytes @ 0xE000ED88) -- CPU_WriteMem(4 bytes @ 0xE000ED88)CoreSight components:ROMTbl 0 @ E00FF000 -- CPU_ReadMem(16 bytes @ 0xE00FF000)
-- CPU_ReadMem(16 bytes @ 0xE000EFF0) -- CPU_ReadMem(16 bytes @ 0xE000EFE0)ROMTbl 0 [0]: FFF0F000, CID: B105E00D, PID: 000BB00C SCS -- CPU_ReadMem(16 bytes @ 0xE0001FF0) -- CPU_ReadMem(16 bytes @ 0xE0001FE0)ROMTbl 0 [1]: FFF02000, CID: B105E00D, PID: 003BB002 DWT -- CPU_ReadMem(16 bytes @ 0xE0002FF0) -- CPU_ReadMem(16 bytes @ 0xE0002FE0)ROMTbl 0 [2]: FFF03000, CID: B105E00D, PID: 002BB003 FPB -- CPU_ReadMem(16 bytes @ 0xE0000FF0) -- CPU_ReadMem(16 bytes @ 0xE0000FE0)
ROMTbl 0 [3]: FFF01000, CID: B105E00D, PID: 003BB001 ITM -- CPU_ReadMem(16 bytes @ 0xE00FF010) -- CPU_ReadMem(16 bytes @ 0xE0040FF0) -- CPU_ReadMem(16 bytes @ 0xE0040FE0)ROMTbl 0 [4]: FFF41000, CID: B105900D, PID: 000BB9A1 TPIU -- CPU_ReadMem(16 bytes @ 0xE0041FF0) -- CPU_ReadMem(16 bytes @ 0xE0041FE0)ROMTbl 0 [5]: FFF42000, CID: B105900D, PID: 000BB925 ETM >0x0D TIF> >0x21 TIF> returns 0x2BA01477 (0063ms, 0592ms total)
T1854 000:616 JLINK_GetDLLVersion() returns 50206 (0000ms, 0592ms total)
T1854 000:616 JLINK_CORE_GetFound() returns 0xE0000FF (0000ms, 0592ms total)
T1854 000:616 JLINK_GetDebugInfo(0x100) -- Value=0xE00FF003 returns 0x00 (0000ms, 0592ms total)
T1854 000:617 JLINK_GetDebugInfo(0x100) -- Value=0xE00FF003 returns 0x00 (0000ms, 0592ms total)
T1854 000:617 JLINK_GetDebugInfo(0x101) -- Value=0xE0041000 returns 0x00 (0000ms, 0592ms total)
T1854 000:617 JLINK_GetDebugInfo(0x102) -- Value=0x00000000 returns 0x00 (0000ms, 0592ms total)
T1854 000:617 JLINK_GetDebugInfo(0x103) -- Value=0xE0040000 returns 0x00 (0000ms, 0592ms total)
T1854 000:617 JLINK_GetDebugInfo(0x104) -- Value=0xE0000000 returns 0x00 (0000ms, 0592ms total)
T1854 000:617 JLINK_GetDebugInfo(0x105) -- Value=0xE0001000 returns 0x00 (0000ms, 0592ms total)
T1854 000:617 JLINK_GetDebugInfo(0x106) -- Value=0xE0002000 returns 0x00 (0001ms, 0593ms total)
T1854 000:618 JLINK_GetDebugInfo(0x107) -- Value=0xE000E000 returns 0x00 (0000ms, 0593ms total)
T1854 000:618 JLINK_GetDebugInfo(0x10C) -- Value=0xE000EDF0 returns 0x00 (0000ms, 0593ms total)
T1854 000:618 JLINK_ReadMemU32(0xE000EF40, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000EF40) - Data: 21 00 11 10 returns 0x01 (0000ms, 0593ms total)
T1854 000:618 JLINK_ReadMemU32(0xE000EF44, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000EF44) - Data: 11 00 00 11 returns 0x01 (0001ms, 0594ms total)
T1854 000:619 JLINK_ReadMemU32(0xE000ED00, 0x0001 Items, ...) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000ED00) - Data: 41 C2 0F 41 returns 0x01 (0001ms, 0595ms total)
T1854 000:620 JLINK_SetResetType(JLINKARM_RESET_TYPE_NORMAL) returns JLINKARM_RESET_TYPE_NORMAL (0000ms, 0595ms total)
T1854 000:620 JLINK_Reset() -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDFC) >0x35 TIF> -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000ED0C) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDF0) -- CPU is running -- CPU_WriteMem(4 bytes @ 0xE000EDFC) -- CPU is running -- CPU_ReadMem(4 bytes @ 0xE000EDF0)
-- CPU_WriteMem(4 bytes @ 0xE0002000) -- CPU_ReadMem(4 bytes @ 0xE000EDFC) -- CPU_ReadMem(4 bytes @ 0xE0001000) (0020ms, 0615ms total)
T1854 000:640 JLINK_Halt() returns 0x00 (0000ms, 0615ms total)
T1854 000:640 JLINK_IsHalted() returns TRUE (0000ms, 0615ms total)
T1854 000:640 JLINK_ReadMemU32(0xE000EDF0, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000EDF0) - Data: 03 00 03 00 returns 0x01 (0000ms, 0615ms total)
T1854 000:640 JLINK_WriteU32(0xE000EDF0, 0xA05F0003) -- CPU_WriteMem(4 bytes @ 0xE000EDF0) returns 0x00 (0001ms, 0616ms total)
T1854 000:641 JLINK_WriteU32(0xE000EDFC, 0x01000000) -- CPU_WriteMem(4 bytes @ 0xE000EDFC) returns 0x00 (0001ms, 0617ms total)
T1854 000:647 JLINK_GetHWStatus(...) returns 0x00 (0000ms, 0617ms total)
T1854 000:650 JLINK_GetNumBPUnits(Type = 0xFFFFFF00) returns 0x06 (0000ms, 0617ms total)
T1854 000:650 JLINK_GetNumBPUnits(Type = 0xF0) returns 0x2000 (0000ms, 0617ms total)
T1854 000:650 JLINK_GetNumWPUnits() returns 0x04 (0001ms, 0618ms total)
T1854 000:654 JLINK_GetSpeed() returns 0xFA0 (0001ms, 0619ms total)
T1854 000:657 JLINK_ReadMemU32(0xE000E004, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000E004) - Data: 02 00 00 00 returns 0x01 (0001ms, 0620ms total)
T1854 000:658 JLINK_ReadMemU32(0xE000E004, 0x0001 Items, ...) -- CPU_ReadMem(4 bytes @ 0xE000E004) - Data: 02 00 00 00 returns 0x01 (0001ms, 0621ms total)
T1854 000:659 JLINK_WriteMem(0xE0001000, 0x001C Bytes, ...) - Data: 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ... -- CPU_WriteMem(28 bytes @ 0xE0001000) returns 0x1C (0001ms, 0622ms total)
T1854 000:660 JLINK_ReadMem (0xE0001000, 0x001C Bytes, ...) -- CPU_ReadMem(28 bytes @ 0xE0001000) - Data: 01 00 00 40 00 00 00 00 00 00 00 00 00
STM32F4使用FSMC与FPGA交互
需积分: 0 141 浏览量
更新于2023-10-19
3
收藏 4.33MB ZIP 举报
STM32F4系列是基于ARM Cortex-M4内核的微控制器,广泛应用于嵌入式系统设计。在本文中,我们将深入探讨如何使用STM32F4的FSMC(Flexible Static Memory Controller)接口与FPGA(Field-Programmable Gate Array)进行16位数据总线交互,模拟ZYNQ SoC中的PS(Processing System)与PL(Programmable Logic)通过AXI(Advanced eXtensible Interface)进行通信的方式。
FSMC是STM32F4微控制器提供的一种灵活的静态存储器控制器,它能够支持多种类型的外部存储器,如SRAM、NOR Flash等。在与FPGA交互时,FSMC可以通过配置其接口来模拟不同的总线协议,比如16位的数据总线宽度,这与ZYNQ SoC的PS与PL之间AXI总线的交互类似。
ZYNQ SoC是由Xilinx公司推出的集成了处理系统和可编程逻辑的片上系统,其中PS负责处理复杂的计算任务,而PL则可以定制化实现各种硬件加速器。在ZYNQ中,PS与PL之间的通信通常通过高速的AXI接口进行,该接口支持多通道、多数据宽度,以及事务级的通信协议,能够高效地传输大量数据。
在STM32F4上实现类似的交互,我们需要配置FSMC的参数以匹配FPGA的接口需求。这包括设置数据线宽度、地址线宽度、等待状态、读写时序等。此外,还需要编写相应的控制逻辑,使得STM32F4能够正确地发出读写命令,并接收FPGA返回的数据。
FPGA开发方面,我们需要设计一个接口模块,该模块能够识别并响应STM32F4通过FSMC发送的命令。FPGA的接口模块应包含接收和发送数据的逻辑,以及处理控制信号(如读/写使能、片选信号等)的电路。在处理数据交互时,需要确保与FSMC的时序协调一致,避免出现数据丢失或错误。
在实际应用中,我们可能还会遇到一些挑战,例如信号同步问题、电气特性匹配、以及错误检测和恢复机制。为了解决这些问题,我们可以使用同步电路、信号调理电路,以及在软件层面实现错误检查和重试机制。
为了进行实践操作,提供的"28_fsmc"文件很可能包含了一部分示例代码或项目文件,用于指导如何配置FSMC和FPGA接口。这些资源可以帮助我们更好地理解和实现STM32F4与FPGA的交互。
STM32F4使用FSMC与FPGA进行交互是一种常见的嵌入式系统设计技术,它涉及到微控制器的外设配置、FPGA的设计和两者之间的时序协调。通过这样的交互,我们可以利用FPGA的灵活性来实现高性能的计算任务,同时利用STM32F4的低功耗和易用性进行系统控制,从而构建出功能强大且高效的嵌入式系统。
水归其壑
- 粉丝: 12
- 资源: 2
最新资源
- Flink SQL Cookbook on Zeppelin搭建相关依赖
- 基于Matlab Simulink实现了以下功能,搭建了储能系统变模型以及钒液流电池模型,仿真效果较好,系统充放电正常 下图为系统模型图,电池输出电压电流以及SOC波形 1.钒液流电池本体建模 2
- 第5章-单子图与多子图.ipynb
- 磁链观测器 vesc中使用的方法 已经移植到了自己的工程中,实现0速闭环启动 代码、文档、仿真是一一对应的,方便学习
- ABB机器人PCSDK二次开发 C#读取和写入数据,可以获取点位信息及写入点位信息 自己写的ABB机器人类,机器人常规操作功能都有
- Linux系统管理:常用命令汇总与操作指南
- python学习之python爬虫原理pdf
- MATLAB代码:计及源-荷双重不确定性的电厂日前鲁棒优化调度 关键词:电厂 微网调度 鲁棒调度 源荷不确定性 日前经济调度 参考文档:《含电动汽车和风电机组的发电厂竞价策略-杨甲甲》参考其
- 游戏人物检测2-YOLO(v7至v9)、COCO、CreateML、Paligemma数据集合集.rar
- 远处看山 明亮的天空和巍峨的高山
- 2023年全国大学生电子设计大赛F题
- HTML5实现好看的圣诞节专题模板.zip
- 2021年全球疾病负担研究(GBD)风险因素.zip
- 2024年全国大学生电子设计大赛
- 用python写的快速排序
- OPCServer DA OPC服务端opcserver发包)好用,几百个应用现场 二次开发源代码,C#开发,可二次开发 已应用到多个行业的几百个应用现场,长时间运行稳定,可靠 本项目中提供测