我想实现主控芯片通过USB通讯实现Linux下的控制和升级,我的主控芯片运行的是Linux系统,遇到以下三个问题:
1. 我使用UBL对CC2540进行再次升级,我在上电时按住按钮,UBL只出现了一秒钟,我根本来不及对它进行升级操作,就直接运行HostTestReleaseCC2540USB-UBL.bin了,我想将这个UBL停留时间延长,但我在BLE-CC254x-1.4.2.2提供的UBL源码中始终没有找到有效的修改方式。
2.我们在蓝牙芯片上下载UBL的boot之后,我们的主控芯片没有将其正确的识别为U盘之类的盘符,因此我们没有办法在主控芯片上执行升级操作
3.我的产品要对CC2540进行(FCC,IC, CE, UL,CB,RoHS,3C,南韩认证)认证,需要进入测试模式,按照http://processors.wiki.ti.com/index.php/FCC_ETSI_Test修改就可以吗?,修改完成后怎样进行测试,需要安装特定的测试软件吗?
目前我使用主控芯片通过USB线直接连接到CC2540,计划采用UBL的升级方式,控制使用hosttest示例代码生成的HostTestReleaseCC2540USB-UBL.bin
当我在windows下在USB DONGLE上实现UBL升级HostTestReleaseCC2540USB-UBL.bin成功后,可以实现Btool控制
程序完全运行起来(HostTestReleaseCC2540USB-UBL.bin),我们主控芯片的Linux系统上,ti的cc2540可以被识别为ttyACM usb串口设备
Alvin Chen:
1.建议你提问E2E英文。 https://e2e.ti.com/support/wireless-connectivity/bluetooth/f/538 2.你的设备linux /dev/sdax 设备没有找到? 那应该是你主板的驱动问题。如果有, 你要自己挂在到你的文件系统里,mount 操作。 3.修改之后,需要使用HCI 命令去控制,比如HCI tester 上位机工具。
user5965025:
回复 Alvin Chen:
2.你的设备linux /dev/sdax 设备没有找到? 那应该是你主板的驱动问题。如果有, 你要自己挂在到你的文件系统里,mount 操作。
回复:
我开启Linux内核自带的USB mass storage驱动,系统启动有如图打印:
然而我并没有在/dev/目录下找到sdax设备,因此无法挂载,是我们的驱动使用错误还是别的原因,如果是驱动使用错误,我们应该使用哪个驱动,请提供一下,谢谢
Alvin Chen:
回复 user5965025:
我们不提供不提供ARM-linux 的驱动,请找你这个主控的厂商咨询。
user5965025:
回复 Alvin Chen:
我的这个驱动就是当前主控Linux内核自带的标准驱动,因此我排除驱动问题,怀疑有别的原因导致的麻烦您这边提供一下解决方案
Alvin Chen:
回复 user5965025:
你在windows下面可以识别吗?
我在beagleboneblack 下面烧录例程直接可以挂载。
user5965025:
回复 Alvin Chen:
我在windows下尝试过,可以正常识别并且升级
您的beagleboneblack运行的是Linux系统吗?什么版本
user5965025:
回复 Alvin Chen:
我在windows下尝试过,可以正确识别并且升级
您在beagleboneblack 使用的是Linux系统吗?什么版本
Alvin Chen:
回复 user5965025:
Debian 9.5, 那你的CC2540应该没问题,是否是你的那个HOST的硬件问题呢,如你所说USB设备通常是不需要安装驱动的,内核里面有这个驱动。
user5965025:
回复 Alvin Chen:
是的,我的CC2540正常,我的host硬件是没有问题的。
在CC2540使用UBL成功升级Hosttest固件之后,我的主控可以将CC2540正确识别为com口,并且可以使用HCI进行控制。
但是在升级之前,我的CC2540内只有UBL的boot,没有放入Hosttest固件,主控检测不到U盘设备,
在windows下是可以正确识别为U盘并进行升级
Alvin Chen:
回复 user5965025:
基本操作就是如下这样。
e2echina.ti.com/…/69222
你这个问题我想不到太多可能,你可以发个帖子去英文那边看看有没有网友和你一样的问题,或者我们其他同事有什么建议。
e2e.ti.com/…/538