реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> WT11, что за модуль?
dvi
сообщение Jul 4 2008, 09:55
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 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?
Go to the top of the page
 
+Quote Post
uriy
сообщение Jul 4 2008, 11:45
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 275
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
но такого firmware на csrsupport.com не нашел ..

Говорят там много чего есть, только нам белым людям не доступно. Где-то видел посты о том что людям удавалось получить доступ, может правда а может нет.
PSTool позволяет делать бэкап, так что думаю можно смело слить эту прошивку и залить другую, если что... откатиться назад. Главное что в модуле стоит чип BlueCore а кем собран модуль Mitsumi, Barracuda или кто-нить это уже не важно.
Go to the top of the page
 
+Quote Post
dvi
сообщение Jul 4 2008, 13:24
Сообщение #3


Участник
*

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



Цитата(uriy @ Jul 4 2008, 14:45) *
Говорят там много чего есть, только нам белым людям не доступно. Где-то видел посты о том что людям удавалось получить доступ, может правда а может нет.
PSTool позволяет делать бэкап, так что думаю можно смело слить эту прошивку и залить другую, если что... откатиться назад. Главное что в модуле стоит чип BlueCore а кем собран модуль Mitsumi, Barracuda или кто-нить это уже не важно.


я получил доступ на bluegiga (призводитель).
там много что есть. Но PSTool от bluegiga не может подключится к модулю ...
А как в PSTool можно сделать бэкап??
Go to the top of the page
 
+Quote Post
uriy
сообщение Jul 4 2008, 14:16
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 2 275
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Цитата
А как в PSTool можно сделать бэкап??
Прошу прощенья. Нужно использовать BlueFlash, который тоже идет в комплекте с BlueLab. Там кнопочка Dump.
Go to the top of the page
 
+Quote Post
dvi
сообщение Jul 7 2008, 09:00
Сообщение #5


Участник
*

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



Может кто то знает что за модуль у меня? help.gif
"cyt_8unified_fl_bt_2.0_21c_opt_0601191604_encr56 2006-01-19"
можно в него залить профили из Bluelab?
или там ROM?
Go to the top of the page
 
+Quote Post
boroda1983
сообщение Jul 9 2008, 06:08
Сообщение #6


Участник
*

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



Цитата(dvi @ Jul 7 2008, 13:00) *
Может кто то знает что за модуль у меня? help.gif
"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
Go to the top of the page
 
+Quote Post
dvi
сообщение Jul 9 2008, 12:58
Сообщение #7


Участник
*

Группа: Участник
Сообщений: 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
Go to the top of the page
 
+Quote Post
boroda1983
сообщение Jul 9 2008, 18:51
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 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 от программатора подключать не нужно. Я думаю все дело в Вашем программаторе или схеме включения модуля.
Go to the top of the page
 
+Quote Post
dvi
сообщение Jul 9 2008, 21:11
Сообщение #9


Участник
*

Группа: Участник
Сообщений: 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 отключился..
Go to the top of the page
 
+Quote Post
boroda1983
сообщение Jul 10 2008, 05:33
Сообщение #10


Участник
*

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



Цитата(dvi @ Jul 10 2008, 01:11) *
изменил на UART .. и iWRAP запустил... USB отключился..

Все правильно, так и должно быть
Go to the top of the page
 
+Quote Post
dvi
сообщение Jul 10 2008, 09:18
Сообщение #11


Участник
*

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



Цитата(boroda1983 @ Jul 10 2008, 08:33) *
Все правильно, так и должно быть

Спасибо за помощь!!!
заработало!!
проблема действительно была в программаторе!!! сигнал RESET не отключал...
сейчас буду разбираться с Bluelab...
Go to the top of the page
 
+Quote Post
boroda1983
сообщение Jul 10 2008, 09:45
Сообщение #12


Участник
*

Группа: Участник
Сообщений: 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;
}
Go to the top of the page
 
+Quote Post
bassizlink
сообщение Apr 2 2017, 20:02
Сообщение #13


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 8-08-16
Пользователь №: 92 884



Цитата(boroda1983 @ Jul 10 2008, 09:45) *
Успехов Вам в этом нелегком деле. Красоту кода, созданного индускими программистами я ощутал сполна, при работе с библиотеками Bluelab. С учетом того, что чипы CSR занимают 50% рынка, становится страшновато. Пример кода из библиотеки для работы с батарейкой.

Здравствуйте boroda1983. Почему может не срабатывать сообщение типа MESSAGE_MORE_DATA при передачи текста в порт UART микроконтроллера BC417?Подозреваю, что нужно сконфигурировать источник.
Пример кода который демонстрирует управляемую передачу в потоке, так сказать UART эхо.

Код
#include <panic.h>
#include <stdio.h>
#include <stream.h>
#include <pio.h>
#include <source.h>
#include <string.h>
#include <sink.h>
#include <csrtypes.h>
#include <connection.h>
#include <message.h>

#define VM_UART_(RATE)        (uint16)((RATE*0.004096)+0.5)
#define VM_UART_RATE_1K2       0x0005
#define VM_UART_RATE_1K2       0x0005
#define VM_UART_RATE_2K4       0x000a
#define VM_UART_RATE_4K8       0x0014
#define VM_UART_RATE_76K8      0x013b
#define VM_UART_RATE_1843K2    0x1d7e
#define VM_UART_RATE_2764K8    0x2c3d

#define LED1      0x01        /* bit 1 */
#define DELAY1   200        /* ms */

#define LED2     0x02         /* bit 2 */
#define DELAY2   100         /* ms */

static void led_controller1( Task t, MessageId id, Message payload )
{
        PioSet( LED1, (PioGet() ^ LED1) );
        MessageSendLater( t, 0, 0, DELAY1 );
}

static void led_controller2( Task t, MessageId id, Message payload )
{    
    Source source= StreamUartSource();
    uint16 length = SourceSize (source);
     if(MESSAGE_MORE_DATA==id )
     {
        char *string;
        uint16 offset;
        uint8 *dest;
        Sink sink=StreamUartSink();
        PanicNull(sink);
        string=(char *)SourceMap(source);
        /* Claim space in the sink, getting the offset to it */
        offset = SinkClaim(sink, length);
        if(offset == 0xFFFF) Panic(); /* Space not available */
        /* Map the sink into memory space */
         dest = SinkMap(sink);
        (void) PanicNull(dest);
        /* Copy the string into the claimed space */
        memcpy(dest+offset,SourceMap (source), length);
        /* Flush the data out to the uart */
        PanicZero(SinkFlush(sink, length));
        SourceDrop (source, length);
    }
    PioSet( LED2, (PioGet() ^ LED2) );
    MessageSendLater( t, 0, 0, DELAY2 );
        MessageHostCommsTask(t);     
        MessagePioTask(t);
        MessageSystemTask(t);    
}
static TaskData taskSPP1 ={led_controller1};
static TaskData taskSPP2 = {led_controller2};

int main(void)
{
    PioSetDir(0xFF, 0xFF);         /* Set all PIO to be output */
    PioSet(0xFF, 0);               /* Set all PIO off (0) */
    MessageHostCommsTask(&taskSPP2);     
    MessagePioTask(&taskSPP2);
    MessageSystemTask(&taskSPP2);
    MessageSend( &taskSPP1,  0 , 0 );
    MessageSend( &taskSPP2,  0 , 0 );  
    
    MessageLoop();
    
    return 0;
}


Сообщение отредактировал bassizlink - Apr 2 2017, 20:13
Go to the top of the page
 
+Quote Post
bassizlink
сообщение Apr 2 2017, 23:58
Сообщение #14


Участник
*

Группа: Участник
Сообщений: 43
Регистрация: 8-08-16
Пользователь №: 92 884



Цитата(bassizlink @ Apr 2 2017, 20:02) *
Здравствуйте boroda1983. Почему может не срабатывать сообщение типа MESSAGE_MORE_DATA при передачи текста в порт UART микроконтроллера BC417?Подозреваю, что нужно сконфигурировать источник.
Пример кода который демонстрирует управляемую передачу в потоке, так сказать UART эхо.

Сам задал, сам и отвечу:перед отправкой используйте функцию MessageSinkTask (Sink, task) , в методе main () ,перед первым сообщением.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 26th September 2017 - 05:40
Рейтинг@Mail.ru


Страница сгенерированна за 0.01547 секунд с 7
ELECTRONIX ©2004-2016