首页 > 其他分享 >stm32F4系列 CCM_RAM使用

stm32F4系列 CCM_RAM使用

时间:2024-08-28 14:23:33浏览次数:13  
标签:__ RW RAM CCM 使用 stm32F4 ANY

stm32F4系列 CCM_RAM使用

在这里插入图片描述

使用方法

1、这种情况下,所有管理工作都是编译来处理的,不方面用户将变量定义到指定的CCM 或者SDRAM中。而使用__attribute__指定具体地址又不方便管理。针对这种情况,使用一个脚本文件即可解决,脚本定义如下:

; *************************************************************
; *** Scatter-Loading Description File generated by uVision ***
; *************************************************************

LR_IROM1 0x08020000 0x00100000  {    ; load region size_region
  ER_IROM1 0x08020000 0x00100000  {  ; load address = execution address
   *.o (RESET, +First)
   *(InRoot$$Sections)
   .ANY (+RO)
  }
  RW_IRAM1 0x20000000 0x00020000  {  ; RW data
   .ANY (+RW +ZI)
  }
  RW_IRAM2 0x10000000 0x00010000 { 
   .ANY (ccmram)
  }
}

此板子为F405系列,具体大小要根据板子来定

同时配置option的链接选项使用此脚本:

在这里插入图片描述

3、在代码中重定义

#define CCM_RAM attribute((section(“ccmram”)))

CCM_RAM 可以写任意的名字

4、使用

CCM_RAM static rt_uint8_t RecvData[1024];

标签:__,RW,RAM,CCM,使用,stm32F4,ANY
From: https://blog.csdn.net/qq_43587089/article/details/141636065

相关文章

  • uiotos和iframe有什么区别?
    尽管都能嵌套,UIOTOS主要是界面嵌套,而iframe是网页嵌套。其他多个方面存在显著的区别,以下是对两者主要区别的详细对比:1.定义与用途UIOTOS:UIOTOS是一款无需编程的前端开发工具,通过独特的专利技术,帮助非开发者快速定制复杂的WEB应用。它专注于解决前端界面开发定制难题,提供常......
  • 除了iframe,不用写代码还有什么办法实现界面嵌套?
    除了iframe,不用写代码实现界面嵌套的方法相对有限,但以下是一些可能的选择:1.使用可视化网站构建器可视化网站构建器(如Wix、Squarespace等)允许用户通过拖拽界面元素来创建和编辑网页,这些平台通常提供了一些基本的嵌套功能,比如通过容器组件将多个模块组合在一起,形成嵌套结构。用户......
  • uiotos和iframe在嵌套上的区别?
    UIOTOS与iframe在嵌套方面的对比区别主要体现在技术实现、功能整合、开发效率及维护性等多个方面。1.技术实现UIOTOS:UIOTOS通过其独特的页面嵌套技术,允许用户将不同的页面或组件无缝地集成在一起。这种嵌套不仅仅是界面上的整合,更重要的是实现了功能上的深度融合。UIOTOS支......
  • JavaScript 程序寻找通过 2 个点的线(Program to find line passing through 2 Points)
              在数学和计算机科学中,找到通过两个点的线的方程是一个基础问题。假设我们有两个点 P1​(x1​,y1​) 和 P2​(x2​,y2​),我们想要找到通过这两个点的直线方程。直线方程的形式直线的方程通常表示为 y=mx+b,其中 m 是斜率,b 是 y 轴截距。计算斜率......
  • C# 程序寻找通过 2 个点的线(Program to find line passing through 2 Points)
              在数学和计算机科学中,找到通过两个点的线的方程是一个基础问题。假设我们有两个点 P1​(x1​,y1​) 和 P2​(x2​,y2​),我们想要找到通过这两个点的直线方程。直线方程的形式直线的方程通常表示为 y=mx+b,其中 m 是斜率,b 是 y 轴截距。计算斜率......
  • 如何有效学习Android Framework:从系统编译到Framework深入
    Android开发者中,不少人希望从应用开发过渡到系统层次的开发,特别是深入理解和掌握Framework的开发技能,这不仅能为你打开新的职业大门,还能让你更深入地理解Android系统的运行机制。本文将介绍如何从系统编译开始,逐步深入到系统应用和Framework的学习路径。1.掌握系统编译:打好基础......
  • stm32f103c8t6 程序编译后的 Program Size: Code=xxx RO-data=xxx RW-data=xxx ZI-dat
            之前在裸机跑一些简单的项目内存完全够用,就不会涉及到内存方面的问题。最近在学FreeRTOS时,将大容量的stm32f103rct6代码移植到小容量的stm32f103c8t6上时,就遇到了内存不足的问题,所以才注意到这些东西。    那么在我们编译后看到的这些东西到底......
  • BAdam A Memory Efficient Full Parameter Optimization Method for Large Language M
    目录概BAdam代码LuoQ.,YuH.andLiX.BAdam:Amemoryefficientfullparameteroptimizationmethodforlargelanguagemodels.arXivpreprint,2024.概本文介绍了一种Blockcorrdinatedescent(BCD)的训练方式.BAdam当模型本身很大的时候,训练它会成为一......
  • 使用try-convert将.NET Framework项目迁移到.NET Core
    try-convert 是一个命令行工具,它可以帮助开发者将.NETFramework项目迁移到.NETCore或.NET5/6/7(以及更高版本,取决于发布时的最新版本)。这是Microsoft官方提供的一个工具,旨在简化迁移过程,但请注意,它不会自动解决所有兼容性问题,因为它主要是帮助进行项目文件和配置文件......
  • Python分布式任务处理库之dramatiq使用详解
    概要在现代Web应用和数据处理任务中,异步任务处理是一个至关重要的部分。Dramatiq是一个用于分布式任务处理的Python库,旨在提供简单、可靠的任务队列解决方案。与其他任务队列库相比,Dramatiq更加轻量级,且易于上手。它的设计目标是帮助开发者轻松地将耗时的任务放到后台......