资讯详情

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

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

XR806SDK中的audio_demo找不到本地mp三等音频文件。

  • 因为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后缀。

进入图形界面配置并选择filesystem support后期选项配置如下。推荐勾选上flash filesystem image pack support,自动编译代码lfs.bin打包成镜像,否则只能在镜像里phoenixMC擦除调试界面flash地址1572864(0x18000)后的内容,手动手柄lfs.bin写进flash。第一步所说的镜像大小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 

包好前面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"},   {}     ] } 

编译完成后,可以编译烧录。

原贴链接:https://bbs.aw-ol.com/topic/746 企鹅群(客服机器人24小时在线解答)全志在线开发者交流:498263967 全志在线开发者社区可以进行资源获取和问题讨论:https://www.aw-ol.com/ 关注全志和开发者的最新动态

标签: 104k400vcbb电容

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台