【杰理AC696X】精彩FLASH音乐播放与Bin文件创作

外挂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是不需要焊接或拆卸的,使用哪种方案依据实际情况而定。

    物联沃分享整理
    物联沃-IOTWORD物联网 » 【杰理AC696X】精彩FLASH音乐播放与Bin文件创作

    发表评论