Перейти к содержанию
    

Не понятно какая прошивка..

PSTool говорит это

version 2810(0x0afa)

"cyt_8unified_fl_bt_2.0_21c_opt_0601191604_encr56 2006-01-19"

 

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

можно ли в этот WT11 залить проект из Bluelab?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Говорят там много чего есть, только нам белым людям не доступно. Где-то видел посты о том что людям удавалось получить доступ, может правда а может нет.

PSTool позволяет делать бэкап, так что думаю можно смело слить эту прошивку и залить другую, если что... откатиться назад. Главное что в модуле стоит чип BlueCore а кем собран модуль Mitsumi, Barracuda или кто-нить это уже не важно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Говорят там много чего есть, только нам белым людям не доступно. Где-то видел посты о том что людям удавалось получить доступ, может правда а может нет.

PSTool позволяет делать бэкап, так что думаю можно смело слить эту прошивку и залить другую, если что... откатиться назад. Главное что в модуле стоит чип BlueCore а кем собран модуль Mitsumi, Barracuda или кто-нить это уже не важно.

 

я получил доступ на bluegiga (призводитель).

там много что есть. Но PSTool от bluegiga не может подключится к модулю ...

А как в PSTool можно сделать бэкап??

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А как в PSTool можно сделать бэкап??
Прошу прощенья. Нужно использовать BlueFlash, который тоже идет в комплекте с BlueLab. Там кнопочка Dump.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кто то знает что за модуль у меня? :help:

"cyt_8unified_fl_bt_2.0_21c_opt_0601191604_encr56 2006-01-19"

можно в него залить профили из Bluelab?

или там ROM?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Может кто то знает что за модуль у меня? :help:

"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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы бы для начала открыли даташит на свой модуль, и увидели, что там есть 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 от программатора подключать не нужно. Я думаю все дело в Вашем программаторе или схеме включения модуля.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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 отключился..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все правильно, так и должно быть

Спасибо за помощь!!!

заработало!!

проблема действительно была в программаторе!!! сигнал RESET не отключал...

сейчас буду разбираться с Bluelab...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за помощь!!!

заработало!!

проблема действительно была в программаторе!!! сигнал 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;
}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Успехов Вам в этом нелегком деле. Красоту кода, созданного индускими программистами я ощутал сполна, при работе с библиотеками 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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Пример кода который демонстрирует управляемую передачу в потоке, так сказать UART эхо.

Сам задал, сам и отвечу:перед отправкой используйте функцию MessageSinkTask (Sink, task) , в методе main () ,перед первым сообщением.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...