|
WT11, что за модуль? |
|
|
|
Jul 4 2008, 09:55
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 3-05-07
Пользователь №: 27 479

|
Не понятно какая прошивка.. PSTool говорит это version 2810(0x0afa) "cyt_8unified_fl_bt_2.0_21c_opt_0601191604_encr56 2006-01-19"
но такого firmware на csrsupport.com не нашел .. можно ли в этот WT11 залить проект из Bluelab?
|
|
|
|
|
 |
Ответов
|
Jul 7 2008, 09:00
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 3-05-07
Пользователь №: 27 479

|
Может кто то знает что за модуль у меня? "cyt_8unified_fl_bt_2.0_21c_opt_0601191604_encr56 2006-01-19" можно в него залить профили из Bluelab? или там ROM?
|
|
|
|
|
Jul 9 2008, 06:08
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 3-04-06
Пользователь №: 15 753

|
Цитата(dvi @ Jul 7 2008, 13:00)  Может кто то знает что за модуль у меня? "cyt_8unified_fl_bt_2.0_21c_opt_0601191604_encr56 2006-01-19" можно в него залить профили из Bluelab? или там ROM? Вы бы для начала открыли даташит на свой модуль, и увидели, что там есть 8Mbit flash. "cyt_8unified_fl_bt_2.0_21c_opt_0601191604_encr56 2006-01-19" - это версия так называемого firmware, которое поставляет CSR. Состоит из нижних уровни стека Bluetooth (baseband, LM, RFCOMM, L2CAP и т.п.), а так же функции для работы с периферией кристалла. WT11 = firmware + VM application + PSStore keys + (возможно DFU) VM application - это приложение написанное в Bluelab. В данном случае это протокол Bluegiga + набор профилей PSStore keys - это набор различных калибровочных настроек для периферии. DFU - это ПО для обновления прошивки через USB либо UART. Залить из Bluelab можно. Предварительно утилитой blueflash сделать дамп. Дамп будет содержать полностью содержимое флеша, со всеми ключами и т.п.
Сообщение отредактировал boroda1983 - Jul 9 2008, 06:09
|
|
|
|
|
Jul 9 2008, 12:58
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 3-05-07
Пользователь №: 27 479

|
Цитата(boroda1983 @ Jul 9 2008, 09:08)  Вы бы для начала открыли даташит на свой модуль, и увидели, что там есть 8Mbit flash.
"cyt_8unified_fl_bt_2.0_21c_opt_0601191604_encr56 2006-01-19" - это версия так называемого firmware, которое поставляет CSR. Состоит из нижних уровни стека Bluetooth (baseband, LM, RFCOMM, L2CAP и т.п.), а так же функции для работы с периферией кристалла.
WT11 = firmware + VM application + PSStore keys + (возможно DFU)
VM application - это приложение написанное в Bluelab. В данном случае это протокол Bluegiga + набор профилей
PSStore keys - это набор различных калибровочных настроек для периферии.
DFU - это ПО для обновления прошивки через USB либо UART.
Залить из Bluelab можно. Предварительно утилитой blueflash сделать дамп. Дамп будет содержать полностью содержимое флеша, со всеми ключами и т.п. Спасибо!!! Правда есть проблемы: 1. в blueflash не активна кн. Dump. 2. и Bluelab не хочеть записывать проект после компиляции... Programming flash... Running 'C:/BlueLab/tools/bin/make -R BLUELAB=C:/BlueLab/tools -f obex_server.release.mak flash'... C:/BlueLab/tools/Makefile.vm:157: *** Unable to query BlueCore over SPI.. Stop. Finished. Transport стоит LPT.. хотя PSTool работает через LPT->SPI.. может какой то ключ не правильно настроен? Через терминал VM проверял... через RFCOMM соединяется и данные передаются ... а мне надо профиль передачи файлов организовать...
Сообщение отредактировал dvi - Jul 9 2008, 12:59
|
|
|
|
|
Jul 9 2008, 18:51
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 3-04-06
Пользователь №: 15 753

|
1. в blueflash не активна кн. Dump.
Нужно сначала нажать кнопку stop processor, процессор распознается, должна появится надпись вроде Recognized AMD-compatible device on BT4-EXT(Coyote). Usable flash size 128 sectors, 8 megabit. И тогда можно делать dump и шить его
2. и Bluelab не хочеть записывать проект после компиляции... Programming flash... Running 'C:/BlueLab/tools/bin/make -R BLUELAB=C:/BlueLab/tools -f obex_server.release.mak flash'... C:/BlueLab/tools/Makefile.vm:157: *** Unable to query BlueCore over SPI.. Stop. Finished.
Bluelab при программировании вызывают все ту же утилиту BlueFlash
хотя PSTool работает через LPT->SPI.. может какой то ключ не правильно настроен?
Ключи PSTools никак не влияют на работу SPI интерфейса. Вы уверены, что PSTools действительно работает, наоборот может быть, Blueflash работает, PSTools нет. Вывод RESET от программатора подключать не нужно. Я думаю все дело в Вашем программаторе или схеме включения модуля.
|
|
|
|
|
Jul 9 2008, 21:11
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 3-05-07
Пользователь №: 27 479

|
Цитата(boroda1983 @ Jul 9 2008, 21:51)  1. в blueflash не активна кн. Dump.
Нужно сначала нажать кнопку stop processor, процессор распознается, должна появится надпись вроде Recognized AMD-compatible device on BT4-EXT(Coyote). Usable flash size 128 sectors, 8 megabit. И тогда можно делать dump и шить его
2. и Bluelab не хочеть записывать проект после компиляции... Programming flash... Running 'C:/BlueLab/tools/bin/make -R BLUELAB=C:/BlueLab/tools -f obex_server.release.mak flash'... C:/BlueLab/tools/Makefile.vm:157: *** Unable to query BlueCore over SPI.. Stop. Finished.
Bluelab при программировании вызывают все ту же утилиту BlueFlash
хотя PSTool работает через LPT->SPI.. может какой то ключ не правильно настроен?
Ключи PSTools никак не влияют на работу SPI интерфейса. Вы уверены, что PSTools действительно работает, наоборот может быть, Blueflash работает, PSTools нет. Вывод RESET от программатора подключать не нужно. Я думаю все дело в Вашем программаторе или схеме включения модуля. а у меня RESET подключен ... Спасибо за подсказку!! завтра проверю без него.. PSTool точно работает... через него ключи менял ... по умолчанию стоят HOST transport через USB.. и XP увидела модуль и установила драйвера .. изменил на UART .. и iWRAP запустил... USB отключился..
|
|
|
|
|
Jul 10 2008, 05:33
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 3-04-06
Пользователь №: 15 753

|
Цитата(dvi @ Jul 10 2008, 01:11)  изменил на UART .. и iWRAP запустил... USB отключился.. Все правильно, так и должно быть
|
|
|
|
|
Jul 10 2008, 09:18
|
Участник

Группа: Участник
Сообщений: 30
Регистрация: 3-05-07
Пользователь №: 27 479

|
Цитата(boroda1983 @ Jul 10 2008, 08:33)  Все правильно, так и должно быть Спасибо за помощь!!! заработало!! проблема действительно была в программаторе!!! сигнал RESET не отключал... сейчас буду разбираться с Bluelab...
|
|
|
|
|
Jul 10 2008, 09:45
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 3-04-06
Пользователь №: 15 753

|
Цитата(dvi @ Jul 10 2008, 13:18)  Спасибо за помощь!!! заработало!! проблема действительно была в программаторе!!! сигнал RESET не отключал... сейчас буду разбираться с Bluelab... Успехов Вам в этом нелегком деле. Красоту кода, созданного индускими программистами я ощутал сполна, при работе с библиотеками Bluelab. С учетом того, что чипы CSR занимают 50% рынка, становится страшновато. Пример кода из библиотеки для работы с батарейкой. Код typedef enum { AIO0, AIO1, VDD, AIO2, AIO3, /*Only available on certain BlueCore variants.*/ BATTERY_INTERNAL /*Only available on certain BlueCore variants.*/ } battery_reading_source;
typedef enum { VM_ADC_SRC_AIO0, /*!< Test pin AIO0 */ VM_ADC_SRC_AIO1, /*!< Test pin AIO1 */ VM_ADC_SRC_VREF, /*!< The internal reference voltage in the chip */ VM_ADC_SRC_AIO2, /*!< Test pin AIO2 */ VM_ADC_SRC_AIO3, /*!< Test pin AIO3 (not always available) */ VM_ADC_SRC_VDD_BAT /*!< Battery voltage (only available on certain BlueCore variants)*/ } vm_adc_source_type;
static vm_adc_source_type batSrcToAdcSrc(battery_reading_source bat_src) { vm_adc_source_type adc_src = 0; switch(bat_src) { case AIO0: if(AIO0 == VM_ADC_SRC_AIO0) adc_src = (vm_adc_source_type) bat_src; else adc_src = VM_ADC_SRC_AIO0; break; case AIO1: if(AIO1 == VM_ADC_SRC_AIO1) adc_src = (vm_adc_source_type) bat_src; else adc_src = VM_ADC_SRC_AIO1; break; case VDD: if(VDD == VM_ADC_SRC_VREF) adc_src = (vm_adc_source_type) bat_src; else adc_src = VM_ADC_SRC_VREF; break; case AIO2: if(AIO2 == VM_ADC_SRC_AIO2) adc_src = (vm_adc_source_type) bat_src; else adc_src = VM_ADC_SRC_AIO2; break; case AIO3: if(AIO3 == VM_ADC_SRC_AIO3) adc_src = (vm_adc_source_type) bat_src; else adc_src = VM_ADC_SRC_AIO3; break; case BATTERY_INTERNAL: if(BATTERY_INTERNAL == VM_ADC_SRC_VDD_BAT) adc_src = (vm_adc_source_type) bat_src; else adc_src = VM_ADC_SRC_VDD_BAT; break; } return adc_src; }
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|