打印
[信息]

STM32存储器实战经验合集-3

[复制链接]
56|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
STM新闻官|  楼主 | 2024-12-4 15:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 STM新闻官 于 2024-12-4 15:58 编辑

该问题由某客户提出,发生在STM32F407IGT6 器件上。据其工程师讲述:在其产品设计中使用了STM32 的以太网接口进行通信。在软件最初的调试中,该接口工作正常。后来为了满足软件对内存容量的需求,启用了STM32 的CCM 存贮器,但启用后发现以太网接口不能通信。
使用 CCM 导致以太网通信失败 (1).pdf (388.81 KB)

该问题由某客户提出,发生在 STM32F103VDT6 器件上。据其工程师讲述:在该公司的某型号产品的设 计中用到了 STM32F103VDT6 器件,而其软件的设计采用了 IAP+APP 的架构。IAP 是一段 BOOT 程序, 负责对硬件进行初始化以及在接到相关指令的情况下更新 APP 程序,而 APP 程序则负责对常规业务 处理。在 STM32 启动后,IAP 首先运行。在初始化硬件之后,检查是否有更新 APP 的指令,如果 有,则更新 APP,如果没有,则跳转到 APP。
SRAM 中的数据丢失.pdf (250.29 KB)

该问题由某客户提出,发生在 STM32F407IGT6 器件上。据其工程师讲述:为了满足软件对大容量内存的需求,将软件中的部变量从内部 SRAM 转移到片外的 SRAM当中。而这一改变,导致该软件不能运行,每次复位后,随即便发生死机。在此之前,对 FSMC 的初化代码,以及片外 SRAM 的读写匀做过测试,并确认是没有问题的。
使用外部 SRAM 导致死机.pdf (545.18 KB)

该问题由某客户提出,发生在 STM32F103VBT6 器件上。据其工程师讲述:其产品中使用了 STM32,已批量生产。其部分产品在交予客户使用一段时间之后出现故障。其工程师在对故障产品进行分析时发现,STM32 的 Flash 中部分数据丢失,原数据皆被0xFF 取代。丢失数据的 Flash 区间的地址不固定,大小也不固定,呈一定随机性。该现象只在车载环境下发生,而在实验室无法复现。
干扰环境下 Flash 数据丢失.pdf (323.76 KB)

有时候我们需要将一部分程序从FLASH拷贝到RAM中运行,以提高程序运行的速度。本文基于IAR Embedded Workbench列出了一些方法,可以在系统启动时自动从FLASH中将这部分程序拷贝到RAM中运行。本文中所有例子都是在IAR v7.2下,基于STM32F334完成的。
IAR下如何让程序在RAM中运行.pdf (272.44 KB)

嵌入式设计中使用RTOS必然会带来额外的RAM消耗,然而许多初次接触RTOS的工程师并不清楚如何评估RAM的消耗量。这篇文档以FreeRTOS为例,介绍评估RAM使用情况的一般方法,并给出在FreeRTOS下优化RAM使用的方法,也由衷的期望读者在使用其他RTOS时,可以通过相似的思路来解决问题。
FreeRTOS RAM使用情况及优化方法.pdf (382.05 KB)

该问题客户提出,发生在STM32F103VDT6 器件上。据其工程师讲述:在其产品设计中,使用了STM32 片上Flash 模拟了一个EEPROM 的功能,用于存贮数据。在软件调试时,发现开启此功能,会影响到USART 通信,导致偶尔发生个别数据接收不到的现象。
对Flash 操作导致USART 接收丢数据 (1).pdf (222.96 KB)

客户反映使用外扩SDRAM运行程序(使用链接器将code存放在SDRAM中,与编译器无关,采用GCC或者IAR都有这个问题)出错,Hard Fault发生。
STM32F429使用外扩SDRAM运行程序的方法.pdf (250.62 KB)

某客户工程师在其产品的设计中,使用了 STM32L152RBT6。该工程师打算在烧写程序之前,往 STM32L100 里边的 EEPROM 预置一些数据,没想到什么好的办法。他在网上搜了一下其他人的做法,发现大家基本上都是使用程序代码的方式,在第一次运行程序的时候,使用程序对 EEPROM 进行编程达到预置的目的。他觉得这不是最适合他的方法,于是请教是否还有其他更方便的方法。
使用STVP实现对STM32L1系列EEPROM预置数据.pdf (406.73 KB)

当客户遇到存储小量的数据,同时数据写的频率比较低的情况下。从成本角度希望省掉外置 EEPROM, STM32 提供了 Backup SRAM(4K)和 Flash 模拟 EEPROM 两种方案来解决该问题。但是,Backup SRAM 需要提供备用电源,Flash 模拟 EEPROM 又比较浪费空间(存放复杂的结构体数据也不方便)。 如果数据擦写频率较低(Flash 擦写次数有限),可以考虑直接将数据存放在 Flash 中。本文提供了如 何在 IAR6.5 实现该操作。
在IAR 6.5下如何把数据放在Flash指定位置.pdf (232.27 KB)

STM32存储器实战经验合集-1

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:您的嵌入式应用将得益于意法半导体领先的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。

612

主题

799

帖子

18

粉丝