DAB box调试过程

  1. 声卡没有枚举

(1)添加宏

+CONFIG_SND_HWDEP=y

+CONFIG_SND_RAWMIDI=y

+CONFIG_SND_USB=y

+CONFIG_SND_USB_AUDIO=y

(2)确认连接是否ok

(2.1)usb是否插入到主机

(2.2)外挂小板电源只接bat 12v和gnd,acc不要接。

(3)正常设备连接如下

2.libdabplugin.so找不到spi_init

现象:dlsym  sym spi_init error undefined symbol: spi_init

使用:nm -Do system/lib/libdabplug.so  查看符号表确实没有符号表(c++为了实现多态,把函数编译加上不同的前缀或者后缀)

解决方法:

Peripherals.cpp加上

#ifdef __cplusplus

extern "C" {

#endif

...

... //codes

...

#ifdef __cplusplus

}

#endif

处理后的符号表如下:

另外,编译静态库需要在android.mk中添加include $(BUILD_SHARED_LIBRARY),如果该库中需要引用另外的第三方库,那么需要预编译一下该so,避免引用者找不到该库,Android.mk参考如下:

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE := libft4222

LOCAL_SRC_FILES := libs/32/libft4222.so

LOCAL_MODULE_TAGS := optional

#LOCAL_MODULE_OWNER := hello

LOCAL_MODULE_SUFFIX := .so

LOCAL_MODULE_CLASS := SHARED_LIBRARIES

LOCAL_MODULE_PATH := $(TARGET_OUT)/lib

OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES)

include $(BUILD_PREBUILT)

3.权限问题

现象:无法正常的读写数据,使用命令行demo,spitest,spimain可以正常的读到usb设备

正常的打印信息

原因:ftdi的库有访问usb设备的方法,需要权限

临时解决方案:chmod-R 777 /dev/bus/usb/

版本上解决方案参看如下提交:

commit b1bc6beeec58197279ef0269eddbadbb86c62e05

Author: shanaibing <shanaibing@igentai.com>

Date:   Thu Jul 13 11:50:23 2023 +0800

    [DAB-BOX]通过init.usb.rc的方式改写/dev/bus/usb/002/下文件的权限,否则libdabplugin.so无法open usb设备

    

    Change-Id: I2996b882d9baf7f8a7c200c0b2faba190a8341fd

4.read不到数据

现象:write数据可以过去,SPI_MOSI有数据,SPI_MISO始终为低,4000_RESET为低

通过走查代码,发现external spi_init没有被调用

5.声音问题

DAB播放的声音送到/dev/snd/pcmC4D0c

通过tinycap /sdcard/dab.wav -D 4 -d 0 -c 2  -r 48000 

tinyplay /sdcard/dab.wav -D 2 有声音

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值