外挂FLASH音乐播放及Bin文件制作

测试SDK版本:《ac696n_soundbox_sdk_v1.6.0》


文章目录

  • 外挂FLASH音乐播放及Bin文件制作
  • 前言
  • 一、板级配置
    • 1.1 SPI配置
    • 1.2 FLASH配置
  • 二、FLASH音乐播放测试
  • 三、FLASH BIN文件制作
    • 1.1 FLASH+PC+WinHex
    • 1.2 U盘+分区工具+WinHex
    • 1.3 FLASH+PC+FLASH烧写工具
  • 总结

前言

SDK提供了外挂 flash录音、外挂 flash 提示音播放、外挂 flash FAT分区等功能。
此篇主要分享杰理主控外挂 flash FAT分区的调试步骤和bin文件的制作。


一、板级配置


1.1 SPI配置

//*********************************************************************************//
//                                 硬件SPI 配置                                    //
//*********************************************************************************//
#define TCFG_HW_SPI1_ENABLE     ENABLE_THIS_MOUDLE
//A组IO:    DI: PB2     DO: PB1     CLK: PB0
//B组IO:    DI: PC3     DO: PC5     CLK: PC4
#define TCFG_HW_SPI1_PORT       'B'
#define TCFG_HW_SPI1_BAUD       4000000L
#define TCFG_HW_SPI1_MODE       SPI_MODE_UNIDIR_1BIT
#define TCFG_HW_SPI1_ROLE       SPI_ROLE_MASTER

TCFG_HW_SPI1_MODE,SPI工作模式选择(本例使用单线电路,选择 SPI_MODE_UNIDIR_1BIT):

enum spi_mode {SPI_MODE_BIDIR_1BIT,    //支持SPIx(x=0,1,2),全双工,di接收,do发送SPI_MODE_UNIDIR_1BIT,   //支持SPIx(x=0,1,2),半双工,do分时发送/接收SPI_MODE_UNIDIR_2BIT,   //支持SPIx(x=0),半双工,di & do共2bit分时发送/接收SPI_MODE_UNIDIR_4BIT,   //支持SPIx(x=0),半双工,di & do & d2 & d3共4bit分时发送/接收
};

在spi.c 中查看配置得spi是否使能(默认是使能的):

#define SPI0_ENABLE   0   //是否使能SPI0,使能后需定义spi0_p_data
#define SPI1_ENABLE   1   //是否使能SPI1,使能后需定义spi1_p_data
#define SPI2_ENABLE   0   //是否使能SPI2,使能后需定义spi2_p_data

注意:
1、SDK默认给出的几组硬件SPI的IO可能是错的,调试要以实际IC的规格书为准
2、SPI的工作模式一定要按照实际电路接法来选择


1.2 FLASH配置

//*********************************************************************************//
//                                 FLASH 配置                                      //
//*********************************************************************************//
#define TCFG_NORFLASH_DEV_ENABLE            ENABLE_THIS_MOUDLE //需要关闭SD0
#define TCFG_FLASH_DEV_SPI_HW_NUM           1// 1: SPI1    2: SPI2
#define TCFG_FLASH_DEV_SPI_CS_PORT          IO_PORTC_03

选择FAT分区:

//*********************************************************************************//
//                                 fat_FLASH 配置                                  //
//*********************************************************************************//
... ...#if  TCFG_NORFLASH_DEV_ENABLE
#define TCFG_NOR_FAT                    1//ENABLE
#define TCFG_NOR_FS                     0//ENABLE
#define TCFG_NOR_REC                    0//ENABLE
#else
#define TCFG_NOR_FAT                    0//ENABLE
#define TCFG_NOR_FS                     0//ENABLE
#define TCFG_NOR_REC                    0//ENABLE
#endif

FAT分区配置:

#if TCFG_NOR_FAT
NORFLASH_DEV_PLATFORM_DATA_BEGIN(norflash_fat_dev_data).spi_hw_num     = TCFG_FLASH_DEV_SPI_HW_NUM,.spi_cs_port    = TCFG_FLASH_DEV_SPI_CS_PORT,
#if (TCFG_FLASH_DEV_SPI_HW_NUM == 1).spi_pdata      = &spi1_p_data,
#elif (TCFG_FLASH_DEV_SPI_HW_NUM == 2).spi_pdata      = &spi2_p_data,
#endif.start_addr     = 0,.size           = 2*1024*1024,
NORFLASH_DEV_PLATFORM_DATA_END()
#endif

注意:FLASH size配置要小于等于实际FLASH容量,size配置大于实际flash容量时,上电会复位,下面是复位信息:

也可以在上电初始化flash时,重新指定下flash的大小,做个自适应处理:

flash初始化正常的打印信息:


二、FLASH音乐播放测试


PC模式有读卡器功能,可用于设备的读写,打开PC模式:

#define TCFG_APP_PC_EN                       1

样机用usb线连接电脑进入PC模式,如果flash是空片,读到设备会提示格式化:

格式化后,就得到了一个带fat系统的设备了,这个设备就相当于一个u盘或TF卡:

可以拷贝一些歌曲到设备中,样机可以切到music mode 进行播放。


三、FLASH BIN文件制作


1.1 FLASH+PC+WinHex

步骤一:首先通过 usb 连接样机。然后将设备格式化成FAT格式,然后往里面放想要加入的音频文件。

步骤二:用 Winhex 软件 打开刚刚的设备,打开 Winhex 软件,按下图操作:


步骤三:打开后出现如下界面:

步骤四:全选并复制所有数据(全选快捷键 Ctrl+A —— 复制 快捷键 Ctrl+C)

步骤五:点击 Winhex 软件菜单栏的新建文件,生成一个跟目标 flash 一样存储大小的文件,
例如,目标 flash 为 2Mbyte,如下图

步骤六:如下图。点击 0x0 处,然后快捷键 Ctrl+B,出现如下图。点击 OK,即可以把刚才选到的数据复制到新建的文件里。

步骤七:把此文件保存为 bin 文件。下载此 BIN 文件入 flash 即可。


1.2 U盘+分区工具+WinHex

步骤一:将u盘插入电脑,打开DiskGenius分区工具,将u盘分出一个2MB大小的分区(实际用的FLASH多大就分多大):



步骤二:按 1.1 FLASH+PC+WinHex 方法继续操作即可。

注意: 分区工具可以用其它替代


1.3 FLASH+PC+FLASH烧写工具

步骤一:首先通过 usb 连接样机。然后将设备格式化成FAT格式,然后往里面放想要加入的音频文件。

步骤二:将样机上的FLASH IC拆下来,用FLASH烧写工具读出flash内容并保存成BIN文件:

总结

此篇的制作bin文件的方案有三个,其中1.1和1.2是不需要焊接或拆卸的,使用哪种方案依据实际情况而定。

【杰理AC696X】外挂FLASH音乐播放及Bin文件制作相关推荐

  1. 杰理之外挂 FLASH 使用方法与注意点【篇】

  2. 【杰理AC696X】软件定时器介绍

    [杰理AC696X]软件定时器介绍 测试SDK版本:<ac696n_soundbox_sdk_v1.6.0> 文章目录 [杰理AC696X]软件定时器介绍 前言 一.功能概述 1.1 软件 ...

  3. flash音乐播放器 制作教程

    flash音乐播放器 制作教程 2011年09月24日 [b]请下载最新CMP v2.1正式版:[/b] [b]http://linsu.sz17399.com/cmp21/cmp21.rar[/b] ...

  4. 收藏 Dewplayer,一个非常简洁的flash音乐播放器

    Dewplayer是一款完全免费,非常简洁的flash音乐播放器 ,它的体积只有5K,分迷你版.经典版.多功能版三个版. Dewplayer的使用方法很简单(额,能阅读简单的html代码即可),首先请 ...

  5. 【杰理AC696X】外挂收音IC RDA5807的频段设置

    外挂收音IC RDA5807的频段设置 测试SDK版本:<ac608n_soundbox_sdk_v1.2.2> 文章目录 外挂收音IC RDA5807的频段设置 前言 一.RDA5807 ...

  6. 带有波形图的flash音乐播放器

    最近项目里需要这么一个东西,但是找遍了网上也没有合适的带波形图的播放器. 曾经找到过非常接近的解决方案,最后都不能用: media player,如果机器安装了高版本的media player是可以显 ...

  7. 【杰理AC696X】PWM推RGB灯实例

    SDK版本:ac696n_soundbox_sdk_v1.2.3 杰理的PWM,定时器会绑定默认的硬件IO,而且支持任意IO映射,硬件io对应用户手册上的io,有硬件io的尽量使用硬件io. 注意:因 ...

  8. html制作在线视频音乐播放器,用html5制作音乐播放器,这3款就足够了!

    用HTML5结合Jquery做一个简易版的音乐播放器 代码展示: 三生草 var sum = 1; function ssss(a) { var s = document.getElementById ...

  9. ESP Flash downloadtool 工具下载 bin 文件时的报错原因总结

    使用 ESP8266 ,串口上电启动打印 log 如下,是什么原因? ets Jan 8 2013,rst cause:1, boot mode:(3,7) ets_main.c 以上报错是因为 Fl ...

最新文章

  1. 飞天AI平台到底哪里与众不同?听听它的架构者怎么说
  2. gitlab数据迁移
  3. AC日记——食物链 codevs 1047
  4. Java自动装箱后的值比较
  5. Android布局怎么画图形,Android开发者的图形化布局
  6. 关于WKWebView高度的问题的解决
  7. 微信小程序访问豆瓣电影api400错误解决方法
  8. [礼仪大赛/模特比赛策划方案]现场场景描述
  9. 【优化预测】基于matlab遗传算法优化极限学习机ELM预测【含Matlab源码 1673期】
  10. 查看linux系统端口占用情况
  11. WINDOWS API 函数(超长,值得学习)
  12. xp计算机找不到音量调节,XP找不到音量控制程序怎么办
  13. 微信小程序学习笔记4
  14. HTML5分级标题,最佳HTML5结构,其中标题/标题是文章标签外
  15. 如何调用common.js
  16. Cloudera Manager 基本介绍(CDH版本)
  17. Frequency bin
  18. 最新软件外包网站有哪些?
  19. 小程序swiper切换闪屏问题
  20. 7-20 帅到没朋友

热门文章

  1. 32岁男中专学历,请问学习HCIE转行能找到工作吗?
  2. [BOST] 十项核心记忆法则
  3. Ideas插件的安装
  4. python label textvariable_PythonTkinter buttons用于设置label textvariable issu的命令
  5. font-display的用法
  6. day19 - 每日总结及作业
  7. verilog图像旋转200*200的256色图片
  8. Python Turtle绘图[难度2星]:餐布桌布设计(格子 / 波点)
  9. 立项前的成本算还是不算?
  10. mysql dump csv_利用mysqldump命令导出为csv格式文件