历史上的今天
返回首页

历史上的今天

今天是:2025年04月04日(星期五)

2020年04月04日 | stm32f407学习笔记之flash模拟eeprom

2020-04-04 来源:eefocus

stm32f407zgt6的flash有1M容量,总共分为11个扇区,每个扇区的地址和大小如下所示


#define ADDR_FLASH_SECTOR_0     ((u32)0x08000000) //扇区0起始地址, 16 Kbytes  

#define ADDR_FLASH_SECTOR_1     ((u32)0x08004000) //扇区1起始地址, 16 Kbytes  

#define ADDR_FLASH_SECTOR_2     ((u32)0x08008000) //扇区2起始地址, 16 Kbytes  

#define ADDR_FLASH_SECTOR_3     ((u32)0x0800C000) //扇区3起始地址, 16 Kbytes  

#define ADDR_FLASH_SECTOR_4     ((u32)0x08010000) //扇区4起始地址, 64 Kbytes  

#define ADDR_FLASH_SECTOR_5     ((u32)0x08020000) //扇区5起始地址, 128 Kbytes  

#define ADDR_FLASH_SECTOR_6     ((u32)0x08040000) //扇区6起始地址, 128 Kbytes  

#define ADDR_FLASH_SECTOR_7     ((u32)0x08060000) //扇区7起始地址, 128 Kbytes  

#define ADDR_FLASH_SECTOR_8     ((u32)0x08080000) //扇区8起始地址, 128 Kbytes  

#define ADDR_FLASH_SECTOR_9     ((u32)0x080A0000) //扇区9起始地址, 128 Kbytes  

#define ADDR_FLASH_SECTOR_10    ((u32)0x080C0000) //扇区10起始地址,128 Kbytes  

#define ADDR_FLASH_SECTOR_11    ((u32)0x080E0000) //扇区11起始地址,128 Kbytes 


读取一个字函数:


u32 STMFLASH_ReadWord(u32 faddr)

{

return *(vu32* )faddr; //将地址转换成指针类型,再取值

}


读取N个字到数组中


void STMFLASH_Read(u32 ReadAddr,u32 *pBuffer,u16 NumToRead)

{

u16 i;

for(i=0;i {

pBuffer[i]=STMFLASH_ReadWord(ReadAddr);

ReadAddr+=4;//以字的形式读取,每次地址加4

}

}


写数据到flash


void STMFLASH_Write(u32 WriteAddr,u32 *pBuffer,u16 NumToWrite)

{

FLASH_Status status=FLASH_COMPLETE; //flash状态

u32 endaddr=WriteAddr+4*NumToWrite; //写入数据的结束地址

if(WriteAddr return;

FLASH_Unlock(); 解锁flash

FLASH_ClearFlag(FLASH_FLAG_EOP | FLASH_FLAG_PGAERR | FLASH_FLAG_WRPERR);//清除标志位

FLASH_DataCacheCmd(DISABLE); //flash擦除期间,禁止缓存数据

status=FLASH_EraseSector(STMFLASH_GetFlashSector(WriteAddr),VoltageRange_3); //擦除地址所在扇区,并返回状态

if(status==FLASH_COMPLETE) 

{

while(WriteAddr {

if(FLASH_ProgramWord(WriteAddr,*pBuffer)!=FLASH_COMPLETE) //写入数据

break;

}

WriteAddr+=4;

pBuffer++;

}

}

FLASH_DataCacheCmd(ENABLE); 打开数据缓存

FLASH_Lock();上锁

}


一般使用stm32自带flash存储的都是一次写入的固定只读数据,1是flash寿命不行,2是flash容量比较大,在擦除扇区时,数据无法保存,本例程中使用的是字形式进行读取,也可以改成半字或其他形式。


源码在这我的github;借鉴正点原子

推荐阅读

史海拾趣

ALLEN BRADLEY公司的发展小趣事

ALLEN BRADLEY 公司是一家享有盛誉的电子行业企业,其发展历程有许多引人注目的里程碑。以下是关于 ALLEN BRADLEY 公司发展的五个相关故事:

  1. 公司成立和早期发展: ALLEN BRADLEY 公司于1903年由Lynde Bradley和Dr. Stanton Allen 在美国威斯康星州的密尔沃基市成立。最初,公司主要从事制造电气开关、继电器和其他电气控制设备。他们的产品质量和可靠性使其迅速成为当时工业领域的领先供应商之一。

  2. 工业自动化的先驱: 在20世纪上半叶,ALLEN BRADLEY 公司成为工业自动化领域的先驱之一。他们开发了许多创新的产品和技术,如PLC(可编程逻辑控制器),这项技术彻底改变了工厂和生产线的运作方式。PLC的普及使得生产自动化水平大幅提高,为工业生产效率的提升做出了重要贡献。

  3. 公司的扩张与国际化: 随着业务的不断壮大,ALLEN BRADLEY 公司开始向全球扩张。他们在世界各地建立了销售和服务网络,为客户提供更加全面的支持。逐步建立的全球业务网络使得 ALLEN BRADLEY 成为了全球工业自动化领域的领先品牌之一。

  4. 汇丰电气(Rockwell Automation)的收购: 1990年,汇丰电气公司(Rockwell International)收购了 ALLEN BRADLEY 公司。这一收购加强了两家公司在工业自动化领域的实力,并进一步巩固了其在全球市场上的地位。汇丰电气公司将 ALLEN BRADLEY 公司的产品整合到其工业自动化解决方案中,为客户提供更加全面的解决方案和服务。

  5. 持续创新与发展: ALLEN BRADLEY 公司一直致力于持续创新和技术发展。他们不断推出新产品,引领着工业自动化技术的发展方向。通过不断地投资研发和技术创新,ALLEN BRADLEY 公司在工业自动化领域保持着领先地位,并为客户提供更加先进、高效的解决方案。

以上是 ALLEN BRADLEY 公司发展的五个相关故事,这些故事展示了该公司在电子行业中的重要地位和不断发展壮大的历程。

兆易创新(GigaDevice)公司的发展小趣事

对于热电偶隔离缓冲放大电路,网友可能会有多种问题,以下是一些常见问题及其回答:

一、技术问题

  1. 什么是热电偶隔离缓冲放大电路?
    • 回答:热电偶隔离缓冲放大电路是一种专门用于热电偶信号处理的电路,它能够将热电偶产生的微弱电压信号进行放大,并通过隔离技术消除干扰信号,确保信号的准确性和稳定性。这种电路通常包括放大器和隔离器两部分,放大器用于增强信号,而隔离器则用于隔离输入和输出之间的电气连接,防止噪声和干扰的传递。
  2. 为什么需要热电偶信号的隔离和缓冲?
    • 回答:热电偶信号通常非常微弱,且易受到环境噪声和电磁干扰的影响。隔离可以切断输入和输出之间的直接电气连接,防止噪声和干扰信号进入测量系统,提高测量的准确性和可靠性。缓冲则可以减小负载对热电偶信号的影响,保护热电偶免受损坏,并稳定信号输出。
  3. 如何选择适合的热电偶隔离缓冲放大电路?
    • 回答:选择适合的热电偶隔离缓冲放大电路时,需要考虑多个因素,包括热电偶的类型、测量范围、精度要求、工作环境等。此外,还需要关注电路的输入阻抗、输出阻抗、增益稳定性、噪声水平等性能指标,以确保电路能够满足实际应用的需求。

二、实际应用问题

  1. 热电偶隔离缓冲放大电路在工业现场的应用有哪些?
    • 回答:热电偶隔离缓冲放大电路在工业现场有广泛的应用,如温度测量、温度控制、热处理过程监控等。它们可以用于测量各种高温、低温环境下的温度,并通过与控制器、记录仪等设备配合使用,实现对温度的精确控制和记录。
  2. 如何安装和调试热电偶隔离缓冲放大电路?
    • 回答:安装和调试热电偶隔离缓冲放大电路时,需要按照产品说明书的要求进行操作。一般来说,需要先将热电偶与电路的输入端正确连接,然后调整电路的增益、零点等参数,使输出信号符合实际应用的需求。在调试过程中,需要注意观察电路的输出信号是否稳定、准确,并检查是否有噪声和干扰信号的存在。
  3. 热电偶隔离缓冲放大电路的维护和保养有哪些注意事项?
    • 回答:热电偶隔离缓冲放大电路的维护和保养非常重要,可以延长电路的使用寿命并保证其性能稳定。在使用过程中,需要定期检查电路的接线是否牢固、元器件是否损坏、输出信号是否准确等。如果发现异常情况,应及时处理并更换损坏的元器件。此外,还需要注意保持电路的清洁和干燥,避免灰尘和水分进入电路内部导致故障。

三、其他问题

  1. 热电偶隔离缓冲放大电路的成本如何?
    • 回答:热电偶隔离缓冲放大电路的成本因产品型号、性能指标和生产厂家等因素而异。一般来说,高精度、高稳定性的电路成本会相对较高。在选择电路时,需要根据实际需求和预算进行综合考虑。
  2. 热电偶隔离缓冲放大电路的发展趋势是什么?
    • 回答:随着工业自动化和智能化的发展,热电偶隔离缓冲放大电路也在不断向高精度、高稳定性、高集成度方向发展。未来,这种电路可能会采用更先进的集成电路技术和信号处理技术,提高测量精度和抗干扰能力,并降低成本和功耗。同时,随着物联网技术的发展,热电偶隔离缓冲放大电路也可能会与无线通信技术相结合,实现远程监控和智能控制等功能。
Hi-Optel Technologly Co Ltd公司的发展小趣事

Hi-Optel Technologly Co Ltd在电子行业中的五个发展故事

故事一:创立与初期发展

Hi-Optel Technologly Co Ltd(以下简称Hi-Optel)成立于1999年,由国有大型上市公司和国内著名风险投资机构共同投资,注册资本高达1亿美元。公司自创立之初便专注于光纤通信领域的模块开发、制造和营销。初期,Hi-Optel面临着技术挑战和市场开拓的双重压力,但凭借其强大的研发实力和敏锐的市场洞察力,逐步在光纤收发器、TO-CAN等关键产品的研发上取得突破,为后续的快速发展奠定了坚实基础。

故事二:技术创新与产品线拓展

随着技术的不断进步,Hi-Optel持续加大研发投入,不断推出新产品以满足市场需求。公司不仅拥有从TO-CAN到光纤收发器等完整产品的研发、生产和处理能力,还涵盖了不同速率和不同封装传输和数据通信的主动模块。这些产品广泛应用于SONET、以太网、FTTx、LTE和IDC光纤传输/接入系统,极大地提升了公司在行业内的竞争力。同时,Hi-Optel还积极拓展产品线,将业务范围延伸至更广泛的电子通信领域。

故事三:市场拓展与品牌建设

在市场拓展方面,Hi-Optel采取了多种策略以扩大市场份额。公司积极参加国内外各类电子通信展会,展示其最新技术和产品,吸引了众多客户和合作伙伴的关注。同时,Hi-Optel还注重品牌建设,通过提升产品质量和服务水平,赢得了客户的广泛好评。此外,公司还建立了完善的销售网络和售后服务体系,为客户提供全方位的支持和服务。

故事四:供应链优化与成本控制

为了应对激烈的市场竞争,Hi-Optel不断优化供应链管理,降低生产成本。公司与多家优质供应商建立了长期稳定的合作关系,确保原材料的稳定供应和质量的可靠性。同时,Hi-Optel还通过引入先进的生产设备和工艺,提高生产效率和产品质量,进一步降低了生产成本。这些措施不仅增强了公司的市场竞争力,还为公司的可持续发展提供了有力保障。

故事五:国际化战略与全球化布局

随着全球化进程的加速,Hi-Optel积极实施国际化战略,拓展海外市场。公司成立了多个海外分支机构,并在多个国家和地区建立了销售网络和售后服务体系。通过与国际知名企业的合作与交流,Hi-Optel不断提升自身的技术水平和品牌影响力。同时,公司还积极参与国际标准和规范的制定工作,推动行业技术的进步和发展。这些努力使得Hi-Optel在全球电子通信领域的影响力日益增强。

ABC [ABC Taiwan Electronics Corp]公司的发展小趣事

进入九十年代,ABC Taiwan Electronics Corp迎来了一次重要的发展机遇。公司成功研发出了一款具有创新性的电子连接器,凭借其高性能和稳定性,迅速在市场上获得了广泛认可。这一技术突破不仅为ABC带来了大量订单,也使其在电子连接器领域树立了领先地位。公司借此机会不断扩大生产规模,提升技术水平,逐渐成为了行业的佼佼者。

格瑞宝(GP)公司的发展小趣事

格瑞宝公司成立于2014年8月,总部选址于上海张江高科园,这里是中国科技创新的重要基地之一。公司从创立之初就明确了以自主研发、销售服务为主体的半导体公司发展路径。这一决策不仅为格瑞宝提供了丰富的科技资源和人才支持,也为其后续快速发展奠定了坚实基础。在总部的带领下,格瑞宝逐步建立起完善的产品研发、设计、测试和销售体系。

Chipcera Technology Co Ltd公司的发展小趣事

随着技术实力的不断增强,Chipcera开始将目光投向更广阔的市场。公司通过参加国际电子展会、与知名厂商合作等方式,积极推广自家产品。同时,公司还加大了对品牌建设的投入,通过提升产品质量、优化售后服务等措施,树立了良好的品牌形象。这些努力使得Chipcera的产品逐渐打入国际市场,成为行业内的佼佼者。

问答坊 | AI 解惑

我国工控自动化现状与趋势

简介: 工业控制自动化技术是一种运用控制理论、仪器仪表、计算机和其它信息技术,对工业生产过程实现检测、控制、优化、调度、管理和决策,达到增加产量、提高质量、降低消耗、确保安全等目的的综合性技术,主要包括工业自动化软件、硬件和系统三 ...…

查看全部问答>

128x64点阵液晶,430程序。已调试OK!

程序使用c语言写的 [ 本帖最后由 kevinrobot 于 2009-8-8 01:52 编辑 ]…

查看全部问答>

WINCE下,播放声音时有杂音?

在开始播放时有杂音,播放过程中正常,用的是异步播放。请问这种情况是否正常?…

查看全部问答>

大家来点评——LED恒流驱动模块SEDR18系列

SEDR18系列模块是一款高效的LED驱动IC。可以直接介入110V和220V交流电,获得稳定的横流输出。输出电流稳定、输出电压范围大是SEDR18系列模块的主要特点。改变负载LED的数量,使得SEDR18模块的输出电压随之变化,则SEDR18模块的输出电流可以稳定在15 ...…

查看全部问答>

LED 参考设计电路图批量下载

众所周知,LED是将电能直接转换成光的晶体管元件,LED 背光模块(BLU)正在推动总体LED市场成长,但在未来一段时间,LED照明将引领这个市场的增长。   如何使LED将大部分能量转换为可见频谱的冷光,而不以发热的形式浪费电能,德州仪器(TI) ...…

查看全部问答>

HM62256实验资料

这是HM62256的实验流程资料  串口通讯部分解决了 就是对HM62256的读写还没有解决 谁能帮帮忙…

查看全部问答>

msp430

对于ti推出的msp430低功耗的16位单片机,评论很多。在这个时候推出16位的单片机,是否能够占领市场?我们知道8位单片机在中国是处于龙头地位的。要动摇51单片机的地位,确实在中国有一定的困难。在中国,特别要考虑的是中国的国情。比如过去的寻呼 ...…

查看全部问答>

机顶盒DDR2电源问题

有个问题和大家讨论一下,我已经没招了,不知道各位大神们有什么高见啊。 我是做STB(机顶盒)设计的,最近遇到一个很头疼的问题,平台的大概配置是: CPU+DDR2+DVBC silicon Tuner+3.3V power supply的modulator,CVBS+AV output. 电源状况是: ...…

查看全部问答>

RDC_AD2S1210例程

本帖最后由 天明 于 2014-7-30 14:31 编辑 >> …

查看全部问答>