1.就像参数定义时使用下面语句
const unsigned char Flash_user_data[16] __attribute__((at(0X08080000))) =
{
0x01,0x02,0x03,0x04,
0x01,0x01,0x03,0x03,
0x04,0x04,0x04,0x04,
0x05,0x05,0x01,0x04
};
2.写入以后读取
int flash_addr; //存取地址的时候使用
unsigned char flash_data_char; //字节形式读取一个字节
unsigned int flash_data_int; //int形式读取一个字节
应用:
flash_addr =0X08080000;
flash_data_char = *(unsigned char *)flash_addr;
flash_data_int = *(unsigned int *)flash_addr;
关键字:STM32 下载程序 flash 固定位置 写数据配置
引用地址:
STM32 下载程序时,往flash固定位置写数据配置
推荐阅读最新更新时间:2024-11-17 09:25
初学stm32-Systick滴答时钟定时
滴答定时器概述 Systick定时器,是一个简单的定时器,对于CM3,CM4内核芯片,都有Systick定时器。常用来做延时,或者实时系统的心跳时钟。这样可以节省MCU资源,不用浪费一个定时器。比如uCOS中,分时复用,需要一个最小的时间戳,一般在STM32+UCOS系统中,都采用Systick做uCOS心跳时钟。 Systick定时器就是系统滴答定时器,一个24 位的倒计数定时器,计到0 时,将从RELOAD 寄存器中自动重装载定时初值。只要不把它在SysTick 控制及状态寄存器中的使能位清除,就永不停息,即使在睡眠模式下也能工作。 SysTick定时器被捆绑在NVIC中,用于产生SYSTICK异常(异常号:15)。
[单片机]
STM32—进入STOP模式后功耗下不去问题
背景: 最近调试板子进入STOP模式后发现电流为mA级别,功耗降不下去,最终发现是ADC开启后,忘记关闭了,导致有1.45mA的电流消耗。 内容: 利用HAL_PWR_EnterSTOPMode(PWR_MAINREGULATOR_ON, PWR_STOPENTRY_WFI)函数使板子进入STOP模式后,电流一直降不下去。之后调了好久,才发现调用ADC采集后,忘记把ADC关掉了,真是蛋疼啊。代码如下: HAL_ADC_Start(&hadc); //开启ADC HAL_ADC_PollForConversion(&hadc,10);//进行ADC 转换,然后对转换后数据进行换算。关键的一步
[单片机]
STM32高级开发(18)-使用VS Code搭建STM32开发环境
以前在伴随着开发平台的转换中,我尝试过各种各样的开发环境,而在最近一段时间的开发中我使用了Visual Studio Code来作为代码编辑器,其优异的工程管理,超快的启动速度,各种各样功能强大的插件,使我立刻爱上了这个文本编辑器。但是在开发中来来回回在编辑器和Keil等IDE之间来回切换对我造成了不少不方便,另外由于希望能够在windows下使用gcc工具链开发,所以我尝试使用插件来完整的在vscode上搭建了一个开发环境。可以说这是我在windows平台下尝试过的最好用的一种搭配,下面我就来详细讲述一下这个环境的搭建和基本使用方式。 ps:启动真心快,在win下优化程度堪比记事本. 安装软件 下载安装 Visual S
[单片机]
STM32 IIC通信往24C02写数据、读数据
1、24C02模块的原理图:从图中可以看出,A0、A1、A2三个引脚全部接地,说明表示器件地址7位数据后三位全部是0 注:当上一个数据写完之后,若发送停止信号,则至少停下10ms时间后,才能再发送起始信号,这个时间就叫做写周期。 3、器件寻址: 4、字节写: 5、写页: (1)、用页写,CAT24WC01可一次写入8个字节的数据,CAT24C02/04/08/16可以一次写入16个字节的数据。 (2)、页写操作的启动和字节写一样,不同在于传送了一字节数据后并不产生停止信号,主器件还可以被允许额外再发送7或者15个字节。 (3)、每发送一个字节数据后CAT24WCxx产生一个
[单片机]
STC单片机免断电下载程序的更简单的方法
看到网上有一些STC单片机免断电下载程序的例子。但是都是要用串口中断来完成。以下是一个程序片断 拿来说明 在调试程序中加入串口初始化代码,串口中断代码即可实现不断电下载程序 TMOD|=0x20; SCON=0x50; TH1=0xfd; //12T时钟9600bps TL1=0xfd; TR1=1; ES=1; EA=1; AUXR=AUXR|0x40; //定时器1使用1T时钟 9600*12=115200bps void UART(void) interrupt 4 { uchar cdd; if(RI) { RI=0; cdd=SBUF; if
[单片机]
STM32的Flash写了保护怎么办
关于STM32对内部Flash的保护 为了防止对Flash的非法访问,所有STM32的芯片都提供对Flash的保护,具体分为写保护和读保护。 如果对Flash设置了写保护,那就无法对Flash进行编程和擦除。在开发STM32的时候,如果出现这种情况,通常仿真器都支持对Flash进行解锁,像jlink,stlink等仿真器都支持这个功能。 在使用MDK进行调试的时候,可能会遇到如下图所示的报错信息,这时候就要排查Flash是不是被保护起来了。 读保护即大家通常说的“加密”,是作用于整个Flash存储区域,相关文章:STM32等单片机程序加密的方法。一旦设置了Flash的读保护,内置的Flash存储区只能通过程序的正常
[单片机]
STM32 DMA 自我学习 简单总结
简单记录一下STM32的DMA的配置说明-------- 根据野火的串口的DMA程序,自己简单理解说明----- ----第一部分----DMA配置----- void USART1_DMA_Config(void) { DMA_InitTypeDef DMA_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_DMA1, ENABLE); //时钟 DMA_InitStructure.DMA_PeripheralBaseAddr = USART1_DR_Base; //设置DMA源:串口数据寄存器地址----基地址----如果后面打开了地址自增---则会传输
[单片机]
首款专业级高速数据采集存储卡问世
RunCore近日推出最新基于NAND Flash的高性能CPCIe\PXIe固态存储卡PXIe-SSD,它可显著提高PXI Express和基于CompactPCI Express自动化测试系统的数据存储速度。在各类采集、测试和测量应用中,工程师们都可以使用该款3U CPCIe\PXIe固态存储卡,并配合任何PXI Express机箱来创建紧凑的、高性能的基于PC的平台。凭借1GB/s总系统带宽,成为高级射频和无线测试应用、高吞吐量数据采集系统和其他需要密集分析、信号或图像处理等应用的理想选择。 由于射频和无线应用的测试速度和测试系统控制器的计算性能紧密相关,RunCore PXIe-SSD可有效优化射频和无线测试应用
[测试测量]