STM32F7系列微控制器:存储器与外设使用指南

需积分: 46 149 下载量 35 浏览量 更新于2024-08-05 收藏 20.95MB PDF 举报
"本文档主要介绍了如何解决SpringBoot打包成jar后无法读取resources中的文件问题,同时涵盖了以太网帧的结构和STM32F7系列微控制器的相关知识。" 在SpringBoot应用中,有时会遇到一个问题,即当项目被打包成jar文件后,无法正常读取resources目录下的文件。这通常是由于SpringBoot的类路径加载机制导致的。为了解决这个问题,可以采用以下策略: 1. 使用`Class.getResource()`或`Class.getResourceAsStream()`方法来获取资源,确保使用正确的类路径。 2. 在配置文件(如application.properties或application.yml)中,使用`classpath:`前缀指定资源路径,例如`classpath:/static/yourfile.txt`。 3. 使用Spring的`Resource`对象,它能处理类路径和文件系统的资源,如`new ClassPathResource("yourfile.txt")`。 4. 如果是配置文件,可以考虑使用`@PropertySource`注解并指定类路径资源。 5. 也可以通过修改SpringBoot的启动脚本或者使用`spring-boot-devtools`库中的`restart`模块来改变加载策略。 另一方面,文档还涉及了以太网帧的数据结构。以太网帧由多个字段组成,包括: - MAC客户端长度/类型字段:这个2字节的字段有双重含义。如果值小于等于`maxValidFrame`(0d1500),它表示帧的MAC客户端数据的字节数。如果值大于等于`MinTypeValue`(0d1536,0x0600),它表示帧的协议类型。 - 数据和PAD字段:数据字段可以包含任意字节,如果长度不足最小长度,将添加PAD字段以达到最小长度要求。无标记帧的最小长度是46字节,标记帧的最小长度是42字节。 - 帧检查序列(FCS):这是一个4字节的CRC字段,用于检测帧传输中的错误。CRC基于源地址、目标地址、QTag、长度/类型、LLC数据和PAD字段计算。 此外,文档还提及了STM32F7系列的微控制器,这是基于ARM Cortex-M7内核的32位高级MCU。STM32F7家族具有不同存储器大小、封装和外设,适用于各种应用。该参考手册详细阐述了其系统架构,包括多AHB总线矩阵、AHB/APB总线桥、CPUAXIM总线等,并介绍了内部SRAM、Flash组织结构、编程/擦除操作等相关信息。开发者可以通过这些信息进行STM32F7系列芯片的应用开发。