文章目录

  • 一、Flash地址空间的数据读取
    • 1.Flash简介
      • 内部 FLASH 的构成
    • 2.建立工程
    • 3.编辑代码
    • 4.STlink调试仿真
  • 二、基于片内Flash的提示音播放程序
    • 1.使用DAC输出周期2khz的正弦波
    • 2.数字音频还原播放
  • 三、总结
  • 四、参考链接

一、Flash地址空间的数据读取

1.Flash简介

在 STM32 芯片内部有一个 FLASH 存储器,它主要用于存储代码,我们在电脑上编写好应用程序后,使用下载器把编译后的代码文件烧录到该内部 FLASH 中,由于 FLASH 存储器的内容在掉电后不会丢失,芯片重新上电复位后,内核可从内部 FLASH 中加载代码并运行。

内部 FLASH 的构成


①主存储器
一般我们说 STM32 内部 FLASH 的时候,都是指这个主存储器区域,它是存储用户应用程序的空间,芯片型号说明中的 256K FLASH、512K FLASH 都是指这个区域的大小。
主存储器分为 256 页,每页大小为 2KB,共 512KB。这个分页的概念,实质就是FLASH 存储器的扇区,与其它 FLASH 一样,在写入数据前,要先按页(扇区)擦除。
注意上表中的主存储器是本实验板使用的 STM32VET6 型号芯片的参数,即
STM32F1 大容量产品。若使用超大容量、中容量或小容量产品,它们主存储器的页数量、页大小均有不同,使用的时候要注意区分。
②系统存储区
系统存储区是用户不能访问的区域,它在芯片出厂时已经固化了启动代码,它负责实现串口、USB 以及 CAN 等 ISP 烧录功能。
③选项字节
选项字节用于配置 FLASH 的读写保护、待机/停机复位、软件/硬件看门狗等功能,这部分共 16 字节。可以通过修改 FLASH 的选项控制寄存器修改。

2.建立工程

用STM32cubeMX建立工程:





接着我们进入生成的工程中。

3.编辑代码

首先我们下载需要的文件。
百度网盘下载链接:flash.c和flash.h文件源码
提取码:pmvn
将flash.h复制到该文件夹下:

添加flash.c:

开始修改main.c:


4.STlink调试仿真

百度网盘下载链接:STlink官方驱动
提取码:ykpz
下载后安装驱动。
设备接线情况:

点击load直接烧录进去,然后运行并且全速运行。然后运行到这里。
在view里面打开memory查看内存变化,输入0x800c000查找,可以看到我代码中我写入的语句被成功写入到flash内存中。

通过view打开watch查看两个数组的内容,发现成功变为一致。


断电后再接电重写,可以发现同样的位置写入的东西一致,之后的FF说明数据没有继续覆盖写入。

二、基于片内Flash的提示音播放程序

1.使用DAC输出周期2khz的正弦波

先建立一个正弦音频。




我们用UE打开刚刚的wav。CTRL+A,接着鼠标右键,选择 十六进制复制选定视图,将内容粘贴到一个新建文件中,在新建文件中,CTRL+A,接着鼠标右键,选择范围输入起始的行号和列号(列号12-58),确定就选中了整个我们需要的内容复制到notepad++中。

Edit编辑->列块编辑->输入0x 一列一列加不要急。

百度网盘下载链接:例程源码
提取码:706i


编译下载后有设备的话就能看是否是正弦波形了。

2.数字音频还原播放

打开我们的下好的mp3文件,先转化为wav。

按照上面同样的步骤,同样用例程并且修改编译,烧录进我们的开发板,如果有音频设备就能尝试一下能不能播放出音乐。

三、总结

本次实验由于设备和时间原因做的非常粗糙,心里面是很想真实地实验一下,但是实在是心有余而力不足。

四、参考链接

STM32 进阶教程 13 – FLASH的读写操作
【嵌入式22】STM32F1C8T6音频数据的Flash读取与DAC播放

音频数据的Flash读取与DAC的播放相关推荐

  1. 音频数据的Flash读取与DAC播放

    目录 二.Flash地址空间的数据读取 1.flash 2.stm32CubeMX文件创建 3.keil文件配置 4.s-TLINK调试 三.基于片内Flash的提示音播放程序 1.输出2000kHZ ...

  2. STM32 音频数据的Flash读取与DAC播放

    STM32 音频数据的Flash读取与DAC播放 STM32 音频数据的Flash读取与DAC播放 STM32 音频数据的Flash读取与DAC播放 一.题目内容 二.Flash地址空间数据读取 1. ...

  3. 基于 STM32对音频数据的 Flash 读取与 DAC 播放

    目录 1 项目准备1.1 具体要求 1.2 项目环境 2 原理简介 2.1 STM32 的内部 FLASH 2.2 STM32 的 DAC 通道2.2.1 何为 DAC 2.2.2 STM32 的 D ...

  4. 基于 STM32F103C8T6 对音频数据的 Flash 读取与 DAC 播放

    文章内容: STM32F103C8T6 的 Flash 地址空间的数据读取. STM32F103C8T6 自带的 DAC 通道,转换为模拟音频进行播放,并用示波器观察波形,用耳机/喇叭收听,评判音乐还 ...

  5. STM32F103C8T6音频数据的Flash读取与DAC播放

    目录 一.Flash地址空间的数据读取 1.Flash简介 2.Flash的硬件实现机制 3.使用到的硬件及软件 4.STM32CubeMX工程配置 5.keil代码 6.STlink调试说明 7.调 ...

  6. STM32之音频数据的Flash读取与DAC播放

    文章目录 一. STM32103之内部Flash原理 1. Flash介绍 2. Flash的组成 3. STM32内部框架图 二. SD卡的读写 1. 实验过程 2. 查看hello.txt 3. ...

  7. 音频数据的SD/Flash读取与DAC播放

    文章目录 一.简介 1.flash简介 2.DAC简介 二.预备实验 1.问题描述 2.ST-LINK准备 3.Flash地址空间的数据读取 三.基于片内Flash的提示音播放程序 1.使用DAC输出 ...

  8. STM32利用flash读取音频数据读取与DAC播放

    目录 一.博客内容 二.Flash地址空间的读取 2.1 Flash原理 2.2 软.硬件准备 2.3 利用CubeMX建立工程 2.4 工程代码 2.5 ST-Link的使用 ​2.6 仿真调试 三 ...

  9. STM32最小板完成音频数据的读取与DAC播放

    目录 一.Flash简单介绍 1.Flash操作流程与操作选址 1.1.Flash操作流程 1.2 .如何查找并选定要写入Flash十六进制地址 2.Flash读写等相关原理 2.1.闪存的读取 2. ...

最新文章

  1. 她们,在字节跳动写代码
  2. opencv 斑马线,条纹检测
  3. mysql sha1prng_Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException | 学步园...
  4. 学Excel函数公式,怎能不会这个组合套路?
  5. 01-二维数组中的查找
  6. Wondershare DVD Creator for Mac使用教程
  7. 新鲜出炉的2012年8月桌面日历壁纸免费下载
  8. MySQL数据库基础教程(视频)
  9. 信息系统分析与设计课程心得
  10. 宽度学习(Broad Learning System)
  11. Win10笔记本电脑怎么直接重置初始化
  12. 计算机网络之无线与移动网络-蜂窝网络
  13. [Tableau] Tableau知识技能
  14. Mysql的交叉表查询
  15. 链接生成二维码( QRCode )
  16. M1 Mac使用photoshop液化、存储为web格式黑屏如何解决
  17. MapGuide 初步
  18. MSSQL的datediff函数
  19. 西工大c语言程序设计,西工大18春《C语言程序设计》平时作业
  20. 三星s4系统更新无法连接到服务器,图解三星S4连接不上Kies软件的解决方法

热门文章

  1. java相对路径和绝对路径_Java相对路径/绝对路径总结
  2. qt中如何修改日志输出级别?
  3. 【附源码】计算机毕业设计SSM校服征订系统
  4. [自动驾驶]自动驾驶汽车到底需要哪些类型的传感器?
  5. Mathematica和Wolfram语言面向数学的入门指南:极坐标
  6. 基于JAVA的盛卖手机销售网站的设计
  7. 基于TensorFlow训练花朵识别模型的源码和Demo
  8. 协同过滤算法之欧几里得距离,皮尔逊相关度
  9. 10进制转8进制怎么转?
  10. CSDN博客论坛——“我的2013”年度征文活动火爆进行中!【已结束】