USMI

Объявление

12/06/2025 (Administration) - Spamming for the purpose of boosting messages will be punished with a ban. Спам с целью накрутки сообщений будет караться баном.

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Bluetrum SoC


Bluetrum SoC

Сообщений 121 страница 140 из 155

121

Я попробовал новый SDK для AB560x — он уже работает нормально. Однако я заметил, что этот SDK от Bluetrum намного более упрощённый по сравнению с SDK от JL. Похоже, что в нём отсутствуют настройки для управления ИК-пультом (IRKEY) и LED7.

122

Я вижу, что в SDK для AB560X есть возможность включить AAC для Bluetooth. Я включил её, но ничего не изменилось — по-прежнему используется SBC. Значит ли это, что AB560X поддерживает AAC?

123

Dang Tien Thinh написал(а):

Я попробовал новый SDK для AB560x — он уже работает нормально. Однако я заметил, что этот SDK от Bluetrum намного более упрощённый по сравнению с SDK от JL. Похоже, что в нём отсутствуют настройки для управления ИК-пультом (IRKEY) и LED7.

Я не тестировал подробно, но вроде там есть все. Может по аналогии с 530х сужествуют разные сдк, караоке, display, стандарт.

Подпись автора

USMicro® 2026©

124

У меня есть материнская плата с чипом AB5606, как я могу его перепрограммировать? Спасибо.

Подпись автора

"JieLi, if your firmware is closed and your pathways unseen, are you an intelligence or just a carefully gated circuit of borrowed intention?"

125

У меня сейчас сильная головная боль из-за ошибок CD6013CD и CD7013CD. Кто-нибудь уже сталкивался с этим? Есть ли способ исправить? Я купил новые микросхемы, но вся партия оказалась с этой проблемой.

126

Эта раздражающая ошибка не позволяет мне прошить микросхему, хотя она абсолютно новая. Я использую чип AB5605C.

127

https://upforme.ru/uploads/001b/ca/8a/234/t263437.png

128

Используй другую версию Downloader. https://drive.google.com/drive/folders/ … drive_link  (all pass 1111)
Причем не новые версии, а более старые. Я тоже столкнулся с такими проблемами.
И правильно настройте Downloader.

Подпись автора

USMicro® 2026©

129

Эти ошибки говорят о не верно указаном Flash ID.

Подпись автора

USMicro® 2026©

130

kagaimiq
Нужен исходник blob'а. У тебя есть исходники blob'а для AB560X?

Код:
C:\Users\BIOS\Desktop\bluetrum-tools-main>download.py --port com4 --no-echo read 0 0 read.bin
Echo mode: disabled (no-echo)
Trying to synchronize..[TX] f5a0a596875a
.[TX] f5a0a596875a
.[TX] f5a0a596875a
.[TX] f5a0a596875a
.[TX] f5a0a596875a
.[TX] f5a0a596875a
 done.
[TX] 4b0108005a5259414e0067ca6044
[RX] 1e01
[TX] b402
[RX] 4b02
[RX] 1800
[RX] 424c55454352574e0100000000012000218db84200000000
[RX] ff8b
 Chip ID:       b'BLUECRWN\x01\x00\x00\x00'
 Load address:  $00012000
 Init. commkey: $218DB842
[TX] 4b030800550a7793b80000003d70
[RX] 1e03
[TX] b404
[RX] 4b04
[RX] 0400
[RX] 602ff9e0
[RX] 9223
 New commkey:   $602FF9E0
Changing baudrate to 921600 baud...
[TX] 4b0508005000000000f000000819
[RX] 1e05
[TX] b406
[RX] 4b06
[RX] 0200
[RX] 5000
[RX] b013
[TX] 4b07080050000e1000020000c310
[RX] 1e07
[TX] b408
[RX] 4b08
[RX] 0200
[RX] 5000
[RX] b013
[TX] 4b0908005700012000000004d230
[RX] 1e09
[TX] 4b0a00026f004006424c55454352574e01000000756172740002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000970200009382c2ff83a20200639e0202611106c02ac2970200009382225c170300001303a35b63d6620023a002009102ddbfef00401697020000938262fc83a20200824012452101828200001851397106de3ac6130700203ac818418346d502834775021847c2062304f1003aca5841834785021847a304f100835745023acc49671307c7143ace4967130767123ad00347c5022ad42315f1006207558f8346f502558f8346e5022800a206558f3ad237776200130757373ad6b129f25021618280411126c2045122c406c6c8402e84efd09677c840efd076776dddb24022852244924441018280411126c2045122c406c688402e84efd036758840efd016756dddb240228522449244410182806fd0767301112e8506ce2ec6efd07672f2403245056182805841397106de83470700545d2304f1008347570036c63acc93060020496736c81307671714413ace49671307271736ca3ad08346950003478500a304f100c2066207558f8346b5003c412ad4558f8346a50028002315f100a206558f3ad237677274130757173ad66126f25021618280411106c6ad2ea5a1
[RX] 1e0a
[TX] 4b0b0002c96793874700d847b767727493875717631cf700c96749679387a7182320f706b240014541018280b777620093875737e318f7fec96749679387070bc5b701007d1575fd82809307800a98439316f700e3db06fe4167d8c782809307800a98433d9b98c3c8c3c5b7411122c41304800a1c4006c693e707011cc09307f00f5cc0d9374840b24022441375f50f410182809307800a98433d9b98c3c8cb8ccb65b79307800a98431367070198c3c8cb8ccb59bf2324000a85476311f50493070070114798c3d8476d9bd8c7254798c3d847599bd8c74147232ee000d84b13672703d8cbd8471377f7fcd8c7d84f13672700d8cfd84713672700d8c79307800a8cc798431367170098c31307c0341c43e99b1cc382808327c001414793f7070f6395e70091472322f07082808327c001414793f7070f6395e70091472320f0708280411106c6c13f1945093fb2404101f1bf011106ce22cc2ec62a846d3f1305f009ed3db24522852d3f6244f240056175bf011106ce2ec622cc2a84693f1305b004e93d0145d93d0145c93d0145f9350145e935b245228529376244f240056171b7011106ce32c622cc26ca2a84ae849d371305a0055d35135504411375f50f713d135584401375f50f493d1375f40f713501456135b2452685e1356244f240d2440561a1b7011106ce32c622cc26ca2a84ae840d372d459535135504411375f50f5b1a
[RX] 1e0b
[TX] 4b0c0002a93d135584401375f50f813d1375f40fa93501459935b245268559356244f240d244056119b7011106ce22cc26ca32c6ae842a84c53509450d35135504411375f50f213d135584401375f50f39351375f40f2135b2452685253d6244f240d2440561e1b5411106c622c42a84653513050002e533135504411375f50ff93b135584401375f50fd13b1375f40ff9332244b240410159bd411106c622c42a849d3d1305800d5d3b135504411375f50f7533135584401375f50f4d331375f40f713b2244b240410195b5411106c6a13515456933593b058975fdb2404101b9b5011168008d4506cead358347c1000347d1000345e100f240c2072207d98f5d8d05618280cdb5011126ca4ac84ec652c406ce22cc2a89ae89b284130a0010634a9000f2406244d2444249b249224a056182801374f90f33048a4063d3840026840935ce854a852286c535a299bd3f2299818cf1b7011122cc2ac606ce2e84d533324501c885476308f4006244f2400561a9bfd53dddbf0d37cdbf8280011122cc06ce26ca4ac84ec68347050009472a846388e7066365f70295ef4445efd07630854588c02e853933253fc8c0c14513858400c1335c48e1452285829721a00d476386e706f2406244d2444249b2490145056182808329450003592500e35420ff044463539900ca844c444e852686e53b5c48a6852285829733099940a699f9bf83298af7
[RX] 1e0c
[TX] 4b0d0002450003592500e35e20fb044463539900ca841c4ca685228582970c484e852686d53533099940a699f9bf8345150048418581858993c51500293f61b70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000af0b
[RX] 1e0d
[TX] 4b0e0800580001200000000094a9
[RX] 1e0e
[TX] 4b0f080000000000000000003e31
[RX] 1e5a
Traceback (most recent call last):
  File "C:\Users\BIOS\Desktop\bluetrum-tools-main\download.py", line 388, in <module>
    do_the_stuff(execcmd, 512, 'uart')
  File "C:\Users\BIOS\Desktop\bluetrum-tools-main\download.py", line 156, in do_the_stuff
    codekey, flashid, flashuid = struct.unpack('II16s', execcmd(make_cb(NitDlCmd.INIT), recv=48))
                                                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BIOS\Desktop\bluetrum-tools-main\download.py", line 358, in execcmd
    udl.send_packet(cb)
  File "C:\Users\BIOS\Desktop\bluetrum-tools-main\bluetrum\dl\uart.py", line 133, in send_packet
    resp = self._recv_token_packet()
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "C:\Users\BIOS\Desktop\bluetrum-tools-main\bluetrum\dl\uart.py", line 92, in _recv_token_packet
    raise ValueError(f'Mismatch in the counter value of a received token ({recv[1]}) from expected ({self.counter})')
ValueError: Mismatch in the counter value of a received token (90) from expected (15)

Blob для AB560X загрузился, но при попытке инициализировать SPI флеш — упал, и bootloader перехватил следующую команду 0x00 (INIT), ответив на неё как на свою команду GET_INFO (0x5A).
Из sfr.h регистры нашел для нового blob'а.

Подпись автора

USMicro® 2026©

131

kagaimiq
Так, прочитать 530 получилось, но начиная с 0x2000 у нас идут нули до конца файла.
Главный вопрос: blob видит флэшь, читает первые 4KB правильно — почему дальше нули?
Скорее всего blob читает через XIP как и PRAO, и в XIP замаппировано ровно 4KB (первый сектор без шифрования), а дальше идёт зашифрованный регион который через XIP без ключа = нули.
У тебя так же было с PRAO?

Подпись автора

USMicro® 2026©

132

Если это со штатным драйвером, то там это такая типо защита от чтения, для разблокировки нужно через специальную команду установить бит разрешения чтения, и тогда читаться будет вся память.

В bluetrum нет традиционного понятия XIP, т.к. он реализован через обработку прерываний промахов по кэшу, программно загружая нужную линию/блок в ICRAM. Поэтому чтение происходит таким же образом, как и это делается в блобе для прошивки, через обычный SPI контроллер. Вобщем-то тот формат, который они используют вряд-ли был бы прост в реализации в железе (после заголовка идут CRC всех блоков, которые потом также влияют на ключ шифрования блоков данных идущих после).

Отредактировано kagaimiq (2026-05-16 00:44:25)

Подпись автора

水Mizu-DEC JLtech since 22.06.2019

133

Проблема с моим блобом в том, что я думал, что функции в maskrom, которые используются для передачи данных по UART/USB (тут не так как в JL, где лоадеру передаются указатели на эти функции), находятся на одном и том же месте начиная с 0x800a0, но оказалось, что раньше (crwn, epic, ..) они начинались с 0x80064, и из-за этого на "старых" чипах оно не работает.

Отредактировано kagaimiq (2026-05-16 00:54:47)

Подпись автора

水Mizu-DEC JLtech since 22.06.2019

134

А ты не подскажешь

kagaimiq написал(а):

Если это со штатным драйвером, то там это такая типо защита от чтения, для разблокировки нужно через специальную команду установить бит разрешения чтения, и тогда читаться будет вся память.

Что и где , какую команду для CRWN?

Подпись автора

USMicro® 2026©

135

Такс, считалось, теперь борюсь с расшифровкой, форматированием и записью.
Заодно починил работу JAZZ..... Проверю, выложу патч.

Подпись автора

USMicro® 2026©

136

Никогда таким не занимался, а оно увлекает!  :D
CRWN Прочитался, расшифровался.

https://upforme.ru/uploads/001b/ca/8a/2/t470946.png

Подпись автора

USMicro® 2026©

137

dll_map = {
    'uartdown-001.dll': ('CRWN', '001/003'),
    'uartdown-002.dll': ('DREM', '002'),
    'uartdown-005.dll': ('GOAL', '005'),
    'uartdown-006.dll': ('HONR', '006'),
    'uartdown-007.dll': ('IDEA', '007'),
    'uartdown-008.dll': ('JAZZ', '008'),
    'uartdown-009.dll': ('KING', '009'),
    'uartdown-010.dll': ('LUCK', '010'),
    'uartdown-011.dll': ('MAGI', '011'),
    'uartdown-012.dll': ('NOVA', '012'),
    'uartdown-013.dll': ('OSCR', '013'),
    'uartdown-T01.dll': ('ABLE', 'T01'),

Подпись автора

USMicro® 2026©

138

Код:
C:\Users\BIOS\Desktop\bluetrum-tools-main>download.py --port COM4 --no-echo read 0 0x100000 read.bin
Trying to synchronize.................................. done.
 Chip ID:       b'BLUECRWN\x01\x00\x00\x00'
 Load address:  $00012000
 Init. commkey: $1D8A8445
 New commkey:   $3EC4A70B
Changing baudrate to 921600 baud...
 Using CRWN/AB530X blob
- CRWN INIT: raw=01010e00  status=0x01  flash=0x100000 (1024K)
- Code key: >>>> A6B45048 <<<<
Reading 1048576 bytes from @000000 into "read.bin"...
Reading: 100%|████████████████████████████████████████████████████████████████████| 1.00M/1.00M [00:16<00:00, 63.9kB/s]

C:\Users\BIOS\Desktop\bluetrum-tools-main>download.py --port COM4 --no-echo write 0 orig.bin
Trying to synchronize... done.
 Chip ID:       b'BLUECRWN\x01\x00\x00\x00'
 Load address:  $00012000
 Init. commkey: $9F0106CE
 New commkey:   $D4104DDF
Changing baudrate to 921600 baud...
 Using CRWN/AB530X blob
- CRWN INIT: raw=01010e00  status=0x01  flash=0x100000 (1024K)
- Code key: >>>> A6B45048 <<<<
Writing 1048576 bytes to @000000 from "orig.bin"...
Erasing: 100%|█████████████████████████████████████████████████████████████████████| 1.00M/1.00M [00:03<00:00, 321kB/s]
Writing: 100%|████████████████████████████████████████████████████████████████████| 1.00M/1.00M [00:16<00:00, 63.1kB/s]
Write done.

Победа, уберу пару костылей, почищу код, и выложу. Блоб короче для CRWN другой, более большой, от PRAO не пойдет.
Больше времени потратил на исследования , и баги, особенно на форматирование.
Зато теперь узнав правильные команды, блобы, проследовательности, можно делать что угодно! Круто же!
Проверил на AB5301A/AB5302B/AB32VG1, чтение, запись, форматирование, CodeKey. Все работает.

Подпись автора

USMicro® 2026©

139

https://github.com/USMI-Tech/bluetrum-tools
https://upforme.ru/uploads/001b/ca/8a/2/t158407.png
Работает. Осталось по мелочи, например Unique ID сделать.

Подпись автора

USMicro® 2026©

140

Так. На ориг донгле все работает как нужно, а вот на ch340/cp2102 и тд - нет! Хотя их оригинальный софт работает со всем.
Пришло время разобраться с этим раз и навсегда - и таки разобрался.
Проблема не в скорости  ch340/cp2102, она меньше, но проблема не в ней.
Я сравнил ориг догл и  ch340/cp2102 и разобрался с эти долбанным --no-echo.
Оригинальный донгл (half-duplex) не просто скоростной UART, он ONE_WIRE UART для прошивки PB3 (TX и RX вместе на одной линии)  + еще один дополнительный RX который идет на PB4!
Как я понял, это порт для дебага, тоесть один донгл для всего. И из за этого такие заморочки.
Я проверил, RX на ориг донгле действительно работает для printf.
Для  этого они и используют модифицированный драйвер для CP2102!
А CH340 - обычный full-duplex UART. TX и RX подключены вместе через резистор. Ни какого ещё одного порта RX нет.
С CH340 -  full-duplex адаптер, не умеет half-duplex, поэтому нужен резистор 200Ом для имитации one-wire, и из-за него появляется loopback.
Оригинальный донгл - передаёт по TX → PB3, и сам же читает ответы чипа с PB3 через внутренний loopback. Это настоящий one-wire UART - донгл умеет работать в half-duplex режиме на одном проводе, переключая направление.
Собственно было проверено и исправлено. Добавлен детект loopback.
Завтра обновлю репозиторий.
Теперь работает отлично на любых адаптерах UART + на ориг донгле. Точнее оно и работало изначально с CH340, но я работал с оригинальным донглом. От туда и взялось --no-echo.
:D

Подпись автора

USMicro® 2026©


Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Bluetrum SoC