Navigation

    全志在线开发者论坛

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • 在线文档
    • 社区主页

    【FAQ】全志XR806芯片 XR806如何添加本地音频到flash?

    其它全志芯片讨论区
    xr806 faq 技术支持
    1
    1
    242
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • q1215200171
      budbool LV 8 last edited by q1215200171

      问题背景
      XR806的文件管理系统是littlefs或spifs,不像fatfs可以直接进行文件传输,有客户放映不清楚如何通过文件管理系统调用音频文件。

      问题描述
      XR806SDK中的audio_demo找不到本地mp3等音频文件。

      问题分析

      • 因为XR806的文件管理系统是littlefs或者spifs,所以需要在PC本地把文件打包成littlefs文件系统格式,否则无法识别。打包工具是SDK下的tools/fs_img_tools/mklittlefs。
      • 上一步打包好的文件,如果通过“section”的方式打包进img镜像会有64byte的偏移,所以需要用“raw_bin”的方式进行打包。

      解决方法

      打包音频文件
      新建一个文件夹,如data(名称随意),并把目标音频文件存放仅该目录下,值得注意的是因为audio_demo中默认播放的的是music文件夹下的音频文件,所以音频文件也必须放在music文件夹下。

      .
      ├── data
      │   └── music
      │       └── 1.mp3
      └── mklittlefs
      

      打包该文件夹使用如下命令

      ./mklittlefs -c data/ -d 0 -b 4096 -p 256 -s 524288 lfs.bin
      

      -c后接目标路径。
      -d后接debug等级,默认为0,不用修改。
      -b后接block的大小,littlefs默认为4096,一般情况下不用修改。
      -p后接page大小,默认为256,不用修改。
      -s后接littlefs镜像大小,和在make menuconfig中的配置必须一致。
      lfs.bin是生成的镜像文件名。名称随意,但一般是.bin后缀。

      make menuconfig配置
      进入图形化界面配置,并选中filesystem support后选项配置如下。推荐勾选上flash filesystem image pack support,编译代码后会自动把lfs.bin打包到镜像,否则只能在phoenixMC的调试界面中擦除flash地址1572864(0x18000)后的内容,并手动把lfs.bin写进flash。其中步骤1所说的镜像大小524288就是由2048*1024-1572864而来。

      --- filesystem support
      [*]   flash filesystem image pack support
      FileSystem Type Select (LittleFS)  --->
      (1572864) little filesystem start address
      (4096) little filesystem block size
      (128) little filesystem block count
      

      修改工程cfg文件配置
      把前面打包好的lfs.bin复制到project/demo/audio_demo/image/xr806目录下,并修改目录下的image.cfg。

      {
          "magic" : "AWIH",
          "version" : "0.5",
          "image" : {"max_size": "1532K"},
          "section" :[
      		{"id": "0xa5ff5a00", "bin" :"boot_40M.bin",	"cert": "null",	"flash_offs": "0K",	"sram_offs": "0x00230000", "ep": "0x00230101", "attr":"0x1"},
      		{"id": "0xa5fe5a01", "bin" :"app.bin",	"cert": "null",	"flash_offs": "71K",	"sram_offs": "0x00201000", "ep": "0x00201101", "attr":"0x1"},
      		{"id": "0xa5fd5a02", "bin" :"app_xip.bin",	"cert": "null",	"flash_offs": "104K",	"sram_offs": "0xffffffff", "ep": "0xffffffff", "attr":"0x2"},
      		{"id": "0xa5fa5a05", "bin" :"wlan_bl.bin",	"cert": "null",	"flash_offs": "1075K",	"sram_offs": "0xffffffff", "ep": "0xffffffff", "attr":"0x1"},
      		{"id": "0xa5f95a06", "bin" :"wlan_fw.bin",	"cert": "null",	"flash_offs": "1078K",	"sram_offs": "0xffffffff", "ep": "0xffffffff", "attr":"0x1"},
      		{"id": "0xa5f85a07", "bin" :"sys_sdd_40M.bin",	"cert": "null",	"flash_offs": "1103K",	"sram_offs": "0xffffffff", "ep": "0xffffffff", "attr":"0x1"},
      		{}
          ],
          "raw_bin" :[
      		{"bin" :"lfs.bin",	"flash_offs": "1536K"},
      		{}
          ]
      }
      

      编译完成后编译烧录即可。

      1 Reply Last reply Reply Quote Share 0
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • Referenced by  q1215200171 q1215200171 
      • 1 / 1
      • First post
        Last post

      Copyright © 2022 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号

      行为准则 | 用户协议 | 隐私权政策