历史上的今天
返回首页

历史上的今天

今天是:2025年08月19日(星期二)

正在发生

2018年08月19日 | STM32 Flash 擦除 读写 成功

2018-08-19 来源:eefocus

参考:http://download.csdn.net/detail/my_friend_ship/4166970


要点: 将数据写入flash之前,每次都要擦除,否则会写入不成功,出现的错误状态为:FLASH_Status=FLASH_ERROR_PG

写入数据成功后可以在Memory 中查看刚刚写入的数据,具体在Memory 窗口中输入:0x08010000,既可以看到此处的数据为 :Data = 0x15041979;//要写入的地址


擦除的起始地址与终止地址

#define StartAddr  ((u32)0x08010000)
#define EndAddr    ((u32)0x0807ffff)


//擦除

char IAP_Init()//初始化loaded 的flash

{
  FLASHStatus = FLASH_COMPLETE;
  //MemoryProgramStatus = PASSED;
  
  /* Unlock the Flash Program Erase controller */
  FLASH_Unlock();


  /* Define the number of page to be erased */
  NbrOfPage = (EndAddr - StartAddr) / FLASH_PAGE_SIZE;


  /* Clear All pending flags */
  FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR); 


  /* Erase the FLASH pages */
  for(EraseCounter = 0; (EraseCounter < NbrOfPage) && (FLASHStatus == FLASH_COMPLETE); EraseCounter++)
  {
    FLASHStatus = FLASH_ErasePage(StartAddr + (FLASH_PAGE_SIZE * EraseCounter));
  }
 return  FLASHStatus;

}


int main(void)

  u8 t;
  u8 key;
  u16 oldcount=0; //老的串口接收数据值
  u16 applenth=0; //接收到的app代码长度
  u8 clearflag=0;
  u32 FlashDestination;
  FLASH_Unlock();
  RCC_Configuration(); 
  GPIO_Configuration();
  NVIC_Configuration();
  SysTick_Config();
  UART_init(9600);//串口初始化为9600  5648
  IAP_Init();

  Data = 0x15041979;//要写入的地址
  u32    Address;

while(1)//循环擦除写入


  {  
  IAP_Init();
 int j,x;
  u32 RamSource; 
  FLASHStatus = FLASH_COMPLETE;
    /* Program the data received into STM32F10x Flash */
      FLASHStatus=FLASH_ProgramWord(StartAddr, Data);
     if( FLASHStatus == FLASH_COMPLETE )
     {
      Address = StartAddr;
      if (*(u32*)Address != Data ) 
      {
      /* End session */
        RFID_SendString("IAP  XXXXX !"); //写入失败
      }
      else       
       RFID_SendString("IAP   WRITE !");//写入成功
    }

}


推荐阅读

史海拾趣

First Sensor公司的发展小趣事

First Sensor公司电子行业的五个发展故事

故事一:初创与崛起

First Sensor的故事始于上世纪90年代初,当时它作为Silicon Sensor GmbH成立,标志着东德转型后科技领域的一次勇敢尝试。公司由Bernd Kriegel博士与21位前VEB电视电子元件厂员工共同创立,初期面临资金、机器和客户短缺的困境。然而,凭借着对传感器技术的坚定信念和专业知识,公司迅速在光子学、压力和先进电子领域开发出标准传感器和客户特定传感器解决方案。到1999年,公司成功上市,通过募集的资本进一步加速了其从初创企业向中型企业的过渡。

故事二:技术创新与市场拓展

进入21世纪后,First Sensor持续加大在技术创新和市场拓展上的投入。公司不仅专注于传感器技术的研发,还致力于提供从芯片到系统的完整解决方案。这一策略使得First Sensor在工业自动化、医疗设备和交通运输等多个领域取得了显著成就。特别是在医疗领域,公司开发的传感器广泛应用于呼吸机、血压计等关键设备中,并通过了EN ISO 13485认证,确保了产品的可靠性和安全性。

故事三:全球化战略与并购成长

随着业务的不断扩展,First Sensor开始实施全球化战略。公司在全球范围内设立了多个分支机构,生产和销售网络覆盖了全球多个市场。此外,公司还通过一系列并购活动进一步壮大了自身实力。例如,在2011年,First Sensor股份公司收购了Sensortechnics集团及其在德国境内外的子公司,这一举措不仅扩大了销售部门,还使公司能够为客户提供更加全面的个性化解决方案。

故事四:与TE Connectivity的合并

2019年,First Sensor迎来了一个重要转折点,即被TE Connectivity(泰科电子)收购。这一交易不仅巩固了TE在传感器领域的全球领导地位,还为First Sensor提供了更广阔的市场和技术资源。合并后,First Sensor的产品和客户群与TE的传感器产品组合相结合,为客户提供了更全面的一体化传感器解决方案。两家公司的互补技术和工程专业知识的结合,进一步推动了工业、医疗和交通运输市场的战略部署。

故事五:持续研发与未来展望

作为一家高科技企业,First Sensor始终将研发视为未来发展的核心。公司不断投资研发项目,推动传感器技术的进步和应用领域的拓展。例如,在自动驾驶和物联网等新兴领域,First Sensor的传感器技术发挥着重要作用。未来,公司将继续聚焦于具有技术特色的工业、医疗和交通等目标市场,紧跟行业发展趋势,为客户提供更加卓越的产品和服务。同时,First Sensor也将持续扩展全球版图,更加贴近市场与客户,以确保把握更多的销售潜力。

HN Electronic Components GmbH & Co Kg公司的发展小趣事

背景:2008年全球金融危机爆发,电子行业受到重创,市场需求大幅下降。

发展:面对严峻的市场环境,HN Electronics迅速调整战略,削减非核心业务,加强成本控制,并加大在研发领域的投入,以技术创新为突破口,寻找新的增长点。

关键事件:在金融危机期间,HN Electronics成功开发出具有更高性价比的物联网传感器芯片,满足了市场对智能家居、智慧城市等新兴领域的需求,从而实现了业绩的稳步增长。

DB Lectro Inc公司的发展小趣事

为了满足亚洲市场的需求,DB Lectro Inc决定在中国上海设立子公司及工厂。这一战略举措不仅使公司能够更贴近亚洲客户,还大大降低了生产成本。在上海工厂的建设过程中,公司充分考虑到环保和可持续性发展的要求,采用了先进的生产工艺和设备。随着工厂的投产和产能的不断提升,DB Lectro Inc的产品在亚洲市场的占有率也稳步上升。

BELLING LEE公司的发展小趣事

在激烈的市场竞争中,BELLING LEE公司始终坚持品质至上的原则。公司从原材料采购、生产制造到售后服务都严格把关,确保每一款产品都能达到高品质标准。这种对品质的执着追求赢得了客户的信任和好评,也为公司赢得了良好的口碑和品牌形象。

CalRamic Technologies Llc公司的发展小趣事

为了保证产品质量的稳定性和可靠性,CalRamic Technologies在公司成立不久后,就开始着手建立严格的质量管理体系。他们引入了国际先进的质量管理理念和方法,对每一个生产环节进行严格把控。这一举措大大提高了产品的合格率和客户满意度,为公司的长期发展奠定了坚实基础。

Dynastream公司的发展小趣事

成为Garmin全资子公司后,Dynastream并没有停止前进的步伐。相反,公司更加注重技术创新和产品研发。在保持传统优势产品的基础上,Dynastream不断推出新产品、新技术,以满足市场的不断变化和客户的多样化需求。同时,公司还积极拓展国际市场,将产品销往全球各地。

问答坊 | AI 解惑

奚国华:尽快研究解决物联网的内涵、产业界定

工信部副部长奚国华6月底在北京举行“2010中国物联网大会”上表示,工业和信息 化部副部长奚国华在致辞时表示,对于物联网,工信部将加强规划指导和政策引导,加强指导协调,尽快研究解决物联网的内涵,产业界定和产业统计的问题。同时 将超 ...…

查看全部问答>

单片机控制GSM模块

我用的是PIC单片机,MC45(GSM)模块。 硬件电路MC45的50脚直接插到单片机的50脚插槽上,我用到的MC45脚包括TXD0,RXD0,IGT。 我并不知道MC45的这几个脚如何与单片机的RXD0,TXD0,IGT相连。 我的问题是可不可以软件上实现单片机的RXD0和MC45的TXD ...…

查看全部问答>

Android

一部分 Binder的组成1.1 驱动程序的部分在以下的文件夹中:kernel/include/linux/binder.hkernel/drivers/android/binder.c    binder驱动程序是一个miscdevice,主设备号为10,此设备号使用动态获得(MISC_DYNAMIC_MINOR),其设备的节 ...…

查看全部问答>

Lm3S811 PLL 设置倍频到 50Mhz 之后,为什么实际只有37.5Mhz 呢?

Lm3S811 PLL 设置倍频到 50Mhz 之后,为什么实际只有37.5Mhz 呢?   SysCtlClockSet(SYSCTL_SYSDIV_4 | SYSCTL_USE_PLL | SYSCTL_OSC_MAIN |SYSCTL_XTAL_6MHZ);//UART 初始化SysCtlPeripheralEnable(SYSCTL_PERIPH_UART0);SysCtlPeripheral ...…

查看全部问答>

学习心得

看了视频教程,了解MSP430单片机主要侧重低功耗,应用于好多产品,像电能表,远传抄表等。这使我想起以前面试过一家电能表公司,就是用MSP430开发的。MSP430单片机是16位单片机,在常用的几类单片机中,像51,PIC,AVR,MSP430,FRESCALL,只有MSP430全 ...…

查看全部问答>

Pt1000测量电路(精度为0.1°)

之前有了解过pt1000的测量电路,就是很不准确,求各位高人指点! file:///C:/Documents%20and%20Settings/Administrator/Application%20Data/Tencent/Users/372182098/QQ/WinTemp/GE/8C6B5CD2-B508-47B8-8B53-AEEBA13D57F7.jpg…

查看全部问答>

BeagleBone Black设计:Qt程序编写和桌面图标添加!

24bit的7寸LCD屏和触摸屏调试通过之后,Qt程序的编写就要提上日程! 因为我用的是官方的SDK,所以其自带了Qt4.8的库!我需要做的只是按照官方说明编写自己的Qt程序,然后编译之后生成可执行文件,放入开发板当中去执行即可!! 具体搭建Qt编程环 ...…

查看全部问答>

2015年电赛本科组A-G题相似参考电路资料

2015电子大赛题目已经出炉,分享一些资料给大家参考。祝各位取得好成绩!附件中所有电路均可以免费下载,具体可联系管理员:459888529,索要优惠码。 …

查看全部问答>

【MicroPython】Micropython PM检测添加SD卡存储

继续添加功能,PM值检测出来了,同时RTC功能也有了,接下来添加一个SD卡模块,希望能够实时将检测到的数据保存下来,作为历史数据。 在Micropython的官方文档中有关于SD卡的例程和库文件,拿来分析一下,就可以根据例程修改为自己的代码使用。 本 ...…

查看全部问答>