首页 > 其他分享 >如何在Flash绝对地址写入常量数组数据

如何在Flash绝对地址写入常量数组数据

时间:2024-12-13 11:57:17浏览次数:4  
标签:__ 常量 Flash 写入 编译 编译器 数组

目录

文章目录

背景

一、问题现象及分析

1、分析

2、分析

3、分析

二、尝试方法

1.方法

2.方法

三、结果

四、总结



背景

出于项目要求,需要在STM32F407VETx芯片的Flash绝对地址写入常量数组数据,例如在0x0807F920处写入数组uint8_t MyFlashArray[4] = {0x12,0x34,0x56,0x78}; 编译环境为虚拟机下QT的GCC编译器(GNU Compiler Collection)


一、问题现象及分析

若是在Keil MDK编译器编译时:使用__attribute__((at(0x0807F920)))即可实现往芯片Flash绝对地址写入常量数组数据,代码如下(示例):


const uint8_t MyFlashArray[4] __attribute__((at(0x807F920))) = {0x12,0x34,0x56,0x78};

该方法在编译环境为虚拟机下QT的GCC编译器时࿰

标签:__,常量,Flash,写入,编译,编译器,数组
From: https://blog.csdn.net/qq_55030822/article/details/144443542

相关文章

  • 首发实测,Google最快AI来了!深度解析Gemini 2.0 Flash
    引言年末各家大模型产品之战再度升级,12月11日,Google在官网博客发布了其新一代AI模型Gemini2.0系列的首款模型——Gemini2.0Flash实验版本。正如模型名称Flash描述的那样,该模型具有低延迟和高性能的特性,Google更是计划使其成为Google相关产品规模化应用的核心引擎。通过......
  • 解决Pandas的to_excel()写入不同Sheet,而不会被重写
    一、问题描述在使用Pandas的to_excel()方法写入数据时,当我们想将多个数据写入一个Excel表的不同DataFrame中,虽然能够指定sheet_name参数,但是会重写整个Excel之后才会存储。现在有3个sheet,内容如下:>>>importpandasaspd>>>df1=pd.read_excel('456.xlsx',sheet_name='Sh......
  • 转载:【AI系统】常量折叠原理
    常量折叠(ConstantFolding)是编译器的一种优化技术,它通过在编译期间对常量表达式进行计算,将其结果替换为常量值,从而减少程序运行时的计算和开销。传统编译器的常量折叠传统编译器在编译期间,编译器会设法识别出常量表达式,对其进行求值,然后用求值的结果来替换表达式,从而使得运行时......
  • 简化版 先求每个商品品类中亏损的最大的 写入新的表中
    importpandasaspd#读取原始表简化为仅求亏损最大的#路径需要双斜杠data=pd.read_excel('D:\\work\\2\\配料统计表.xlsx',sheet_name='Sheet1')#对数据做处理#第一步找到亏损类和涨出类如果金额大于0是亏损;否则是涨出data_loss=data[data['差异金额']>0]#......
  • C语言:define定义常量和定义宏(详解)
    本篇博客给大家带来的是#define定义常量和#define定义宏的方法......
  • Java 中的字符串常量池和运行时常量池
    Java中的字符串常量池和运行时常量池1.字符串常量池(StringConstantPool)定义字符串常量池是JVM内存中专门用于存储字符串字面量和通过intern()方法加入的字符串对象的区域。它的目的是避免重复创建相同的字符串对象,以节省内存,并提高性能。如何工作每当遇到一个字符串......
  • 什么是 Java 中的常量池?
    Java中的常量池Java中的常量池(ConstantPool)是用于存放程序中常量(如字符串、数字、类、方法等)的内存区域。常量池的主要作用是提高内存的使用效率和性能,避免重复创建相同的常量实例。常量池主要分为两种类型:1.字符串常量池(StringConstantPool)定义:字符串常量池是JVM在......
  • mysql之binlog的写入时机
     MySQL的二进制日志(binlog)是记录数据库更改事件的一种日志文件。它用于数据恢复、复制和审计。以下是MySQLbinlog写入的几个关键时机及其详细说明: 1. 事务提交时:InnoDB存储引擎:对于支持事务的InnoDB引擎,binlog是在事务提交时写入的。这确保了日志中只记录已完成的......
  • PbootCMS中哪些目录需要设置777写入权限?
    在PbootCMS中,为了确保系统的正常运行,有三个目录需要设置777写入权限。这些目录分别是:config目录:用途:存放授权码和数据库配置文件。重要性:确保系统能够读取和写入配置文件,从而保证系统的稳定性和安全性。data目录:用途:存放SQLite数据库文件。重要性:确保系统能够读取......
  • PbootCMS后台登录提示“登录失败:数据库目录写入权限不足!”如何解决?
    当在PbootCMS后台尝试登录时,如果遇到“登录失败:数据库目录写入权限不足!”的错误提示,这通常是由于数据库存放目录没有足够的写入权限导致的。解决这个问题的方法如下:检查数据库目录权限:登录到服务器,进入PbootCMS的根目录。找到data目录,该目录用于存放sqlite数据库文件。......