bt porting


bt启动过程:
中断初始化:
FM1182串口注册表:
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial2]
"Dll"="AtlasSerial.Dll"
"IoBase"=dword:ab020000
"Tsp"="Unimodem.dll"
"Prefix"="COM"
"Order"=dword:00000001
"Index"=dword:00000009
"FriendlyName"="Serial Cable on USP2 Atlas Debugging Board"
"IGUID"="{fb3d8a97-b0f0-4186-8f66-feb4fb3ea660}"

FM1182串口中断初始化信息:Serial: port(2) intr (23)

BT串口注册表:
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/Serial5]
"Dll"="AtlasSerial.Dll"
"IoBase"=dword:ab050000
"Tsp"="Unimodem.dll"
"Prefix"="COM"
"Order"=dword:00000001
"Index"=dword:00000008
"FriendlyName"="Serial Cable on USP5 Atlas Debugging Board"

BT串口中断初始化:Serial: port(5) intr (25)

FM1182驱动active:+FM1182CTRL::DLL_PROCESS_ATTACH
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/FM1182]
"Prefix"="FME"
"Dll"="FM1182CTRL.dll"
"Order"=dword:00000001
"Index"=dword:00000001

CSRSERIAL驱动初始化:CSR_DllEntry DLL_PROCESS_ATTACH
[HKEY_LOCAL_MACHINE/Drivers/BuiltIn/SerialCSR]
"Prefix"="CSR"
"Dll"="SerialCSR.Dll"
"Order"=dword:00000001
"Index"=dword:00000001

BT的初始化:bthp int HCI_OpenConnection
[HKEY_LOCAL_MACHINE/Services/BTSVC]
"Dll"="BTSVC.Dll"
"Order"=dword:00000009
"Keep"=dword:00000001
"Prefix"="BTS"
"Index"=dword:00000001

[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Bluetooth/HCI]
"flags"=dword:00000004
"Name"="CSR1:"
"baud"=dword:0001c200
"Driver"="bthcsr.dll"
"resetdelay"=dword:00001388

HCI_OpenConnection时启动CSR_Open;CSR_OPEN中打开逻辑串口8,调用PSConfig将PSR文件里的参数值写入到BT中去,然后建立HCI通过CSRSERIAL.DLL的串口8至BT模块的通道.

PhoneLink启动时打开FME1,调用fm1182的FME_OPEN,会打开COM9,设置好COM9的状态,然后调用FM1182PowerOn打开FM1182的电源,写入FM1182的初始化值.
同时调用wavedev的IOCTL(WODM_BT_SCO_AUDIO_CONTROL),参数为0,设置声音路由为正常的声音路由

CSR BT的port过程
CSR BT分为BC4-ROM和BC4—FLASH,而bc4_rom又分带EEPROM和不带EEPROM的。
带EEPROM的
 BC04 No EEPROM :
1. Please include bthbcsp.dll in the OS image.
2. Add "Bluetooth Stack with Universal Loadable Driver"
3. Write following infomation in reg.
[HKEY_LOCAL_MACHINE/Software/Microsoft/Bluetooth/Transports/BuiltIn/1]
 "Driver"="bthbcsp.dll"
 "flags"=dword:4
     "name"="COM7:"  ; Please set this value to correct com port name
 "baud"=dword:1c200
 "resetdelay"=dword:1388
 "Priority256"=dword:132
 "PacketSize"=dword:192
 "SerialTimeoutConstant"=dword:1000
 "SerialIntervelTimeout"=dword:ffffffff
 "ReopenDelay"=dword:100
 "FlashChip"=dword:0   ;   1: flash 0:no flash
4. If the csr chip without EEPRON, please include PSConfig.psr in OS image(under //windows)
5. If Bluetooth started successful. The Microsoft Bluetooth manager can work well now.

然后按照sirf的BT补丁包bluetooth_evb_20070201rel.zip里面的描述更新BSP和CSP,同时更新注册表和BIB文件,
另外需要按电路图BT使用物理的COM5口,逻辑的COM8口,FM1182使用物理的COM2口,逻辑的COM9口更改CPP和注册表等文件同步即可。


BC04 with EEPROM :
  Add "Bluetooth Stack with Integrated CSR Chip Driver"

 


bluetooth超时:PSCONFIGCE.CPP文件137行改为:
     if((GetTickCount() - giStartTime > LINKTIMEOUT) && !gbLinked)
                    uBCSP_TXQueue.CommandNumber = EXIT_STATE;


  if(GetTickCount() - giStartTime > 20000)
  {
   uBCSP_TXQueue.CommandNumber = EXIT_STATE;
   RETAILMSG(1, (TEXT("------bluetooth init config fail!!!/r/n")));
  }

    if(ubcsp_config.link_establishment_state > 0)
          gbLinked = TRUE;
     超过20S时退出蓝牙config;
    
    
wavemain.cpp中注释掉671行,758,764行,注释掉BspWavRt5610.cpp第28行。
    


各位同仁,小弟最近要在wince平台上做CSR BlueCore4-ROM 的蓝牙驱动,用的是UART接BlueCore4-ROM,
初次接触无线通讯模块,不知在wince平台上开发应当注意什么?是不是只要通过串口把蓝牙初始化就可以了。需不需要重新定义流设备驱动,另外,注册表那边应当不要做太大的改动吧。恳请各位过来人指点一二。先谢谢各位了。
另外:找到一些人的开发流程,如下:
        1、每个产品的蓝牙方案都已经确立了对应的蓝牙通讯方式:uart或者usb,因此,作为蓝牙开发的第一步,首先要在开发BSP阶段就驱动uart或者usb端口 。能够保证所选用的端口能够正常的通讯。这里的驱动,是一般的wince驱动。
        2、编译内核,增加蓝牙功能,打开Platform Builder, 我们可以在networking—personal area network(PAN)下面选择bluetooth的Transport Driver
下面有3种驱动:UART、USB和UNIV三种,虽然wince自带了CSR的transport驱动,但最终还是调用UART驱动:
这一部分可能需要修改部分代码,具体代码分布在下面这个目录中: PUBLIC/COMMON/OAK/DRIVERS/BLUETOOTH/TRANSPORTS ,其中主要涉及的函数为:HCI_OpenConnection(),HCI_CloseConnection(),HCI_SetCallback()。
        3、在编译内核的时候,如果所选用的版本包含了profile,可以把需要的profile加入所裁减的内核,然后增加profile所对应的注册表项,该表项可以在对应的平台的帮助文件里面找到
        4、编译内核后,下载就可以测试了。从上面可以看到,开发wince的蓝牙功能,只需要修改transport驱动,注册表,另外,如果所选用的wince平台只是内核(wince4.0 or wince5.0),微软没有做蓝牙的UI,所以,开发用户可以根据mobile的UI来制作自己的UI

 

FM1182的SPKOUT音量调节,修改1E3E这个参数,现在是1E3E=0200,(相当于放大2倍),加大时,输出也加大,可以调节为0280,0300,0380等
坚哥 19:28:44
FM1182的MIC的音量可以调节1E3D,现在0300,可以加大,0380,0400,0500,0600等,合适就好
FM1182的SPKOUT音量调节,修改1E3E这个参数,现在是1E3E=0200,(相当于放大2倍),加大时,输出也加大,可以调节为0280,0300,0380等
坚哥 19:28:44
FM1182的MIC的音量可以调节1E3D,现在0300,可以加大,0380,0400,0500,0600等,合适就好

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值