Щас перезалью...
- Подпись автора
By Admin
USMI |
Привет, Гость! Войдите или зарегистрируйтесь.
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Bluetrum SoC
Щас перезалью...
By Admin
https://drive.google.com/file/d/1aiumeL … sp=sharing
By Admin
Ещё я хотел про эту штуку написать, это сигнал для принудительного перехода в UART загрузчик:
Передаются 32 бита "A5 69 E1 5A", затем проверяется есть ли на PB3 (D+) высокий уровень, если так то отправляем пакет ещё раз, и теперь на этой ноге есть UART.
Интересно почему он отличается от того что у меня?
Это же тот сигнал что прога шлет в уарт для перевода в уатр загрузчик?
У меня downloader 2.6.6 шлет такой сигнал -
Вот дампы разные, прошивка 5605B чипа.
Без чипа, только чигналы перевода в бут.
И 3 разные скорости.
https://drive.google.com/drive/folders/ … sp=sharing
By Admin
прошивки у меня полностью самописные..
т.е без sdk? а откуда инфа о регистрах? Из sdk выдрал)?
By Admin
Это же тот сигнал что прога шлет в уарт для перевода в уатр загрузчик?
Не совсем, прога шлёт по UART на 115200 бод пакет 'A5 96 87 5A', что триггерит какой-то специальный детектор в UART интерфейсе в чипе, который может вызывать прерывание или перезагружать чип (в зависимости от режима работы), и он собственно будет работать если таким образом происходит инициализация UART - что как раз делается в штатных header.bin.
И если этого не делать, то так переводить чип в бутлоадер не получится.
Тот метод, что через SPI (там реально через SPI принимается), он в самом ROM прошит, поэтому он будет работать всегда.
т.е без sdk? а откуда инфа о регистрах? Из sdk выдрал)?
В принципе да, в sfr.h есть листнинг большинства регистров, но не всех, иногда они есть в других SDK, а в большинстве случаев приходиться додумывать самому, например регистры от FM передатчика, S/PDIF передатчика, и так далее.
Некоторая базовая периферия описаны в документах "AB32VG1_Register.pdf" и "AB53XX UserManual.pdf" (из того что у меня есть в наличии), но тоже не полностью, в первом документе есть описание SD контроллера, но нет описания SPI контроллера (говорят что так могут украсть какую-то внутреннюю программу чипа), в последнем есть описание регистров контроллера прерываний, и некоторых других, даже SPI есть, но нет SD контроллера.
Описание регистров FUNCMCON в обоих случаях не полное, чтобы найти где переключается iomux под SPI1 мне пришлось это делать методом тыка. И так далее.
Тот же детектор пакета 'A5 96 87 5A' в UART косвенно упоминается в описании UART0CPND в виде битов CRSTKEYPND "Reset Key match pending clear" и CKEYPND "Key match pending clear".
В ход идёт реверсинг того, что есть - я шёл по пути: дамп Mask ROM, header.bin, app.bin от разных прошивок (точнее всего две у меня), потом уже libplatform.a из SDK.
Собственно посмотрел дамп анализатора, ну и вижу что после загрузки моего лоадера чип походу крашится, отправляя в UART байты '5A xx xx' - что сигнализирует об аварийной активации UART и USB бутлоадеров.
Короче говоря перемудрил с лоадером, надо всё сделать по нормальному.
水Mizu-DEC JLtech since 22.06.2019
Тот метод, что через SPI (там реально через SPI принимается), он в самом ROM прошит, поэтому он будет работать всегда.
Это который через мост usb-spi, в самом чипе?
Я так понял опять бутерброд внутри?
А как его тригернуть в усб? Интересно почему инфы по usb лоадерам ноль?
By Admin
Все таки разобрался и с CH340 - а всему виною не внимательность.
https://blog.csdn.net/m0_46079499/artic … /103723821
А я ведь читал это год назад.
By Admin
Это который через мост usb-spi, в самом чипе?
Не понял, о чём речь, SPI есть на PB3/PB4, которые на корпус микросхемы обычно выводится вместе с USB_DP/USB_DM.
Через этот SPI интерфейс этот магический ключ принимается, на ранней стадии загрузки чипа, ещё до того как с SPI флешки был загружен вторичный загрузчик (который даёт возможность через UART перейти в сам UART бутлоадер).
Я так понял опять бутерброд внутри?
Всё как обычно, внутри SPI флешка, подключенная к GPIOG.
А как его тригернуть в усб? Интересно почему инфы по usb лоадерам ноль?
Вроде как принудительно в USB бутлоадер перейти никак нельзя, по крайней мере в ROM от AB560x я ничего подобного не видел, только когда "что-то пошло не так".
Почему ему не уделяется внимание в штатном софте - не знаю. Может быть UART просто оказался более удобным и практичным решением.
水Mizu-DEC JLtech since 22.06.2019
Не понял, о чём речь, SPI есть на PB3/PB4, которые на корпус микросхемы обычно выводится вместе с USB_DP/USB_DM.
Через этот SPI интерфейс этот магический ключ принимается, на ранней стадии загрузки чипа, ещё до того как с SPI флешки был загружен вторичный загрузчик (который даёт возможность через UART перейти в сам UART бутлоадер).
Имел в виду - а когда этот SPI там используется для программирования?
И сейчас глянул дш на 5605б - так там на D+ нет spi. (имеется в виду SPIx а не SDDAT)
Проверил только что
Через этот SPI интерфейс этот магический ключ принимается, на ранней стадии загрузки чипа, ещё до того как с SPI флешки был загружен вторичный загрузчик (который даёт возможность через UART перейти в сам UART бутлоадер).
Если ты имеешь в виду, что для прошивки по уарт - нужно подтянуть второй загрузчик, который из SPI флешки - то это не так, только что специально запорол во время прошивки чип - что бы тот постоянно при включении вываливался в усб бут, то работает и усб бутлоадер и уарт загрузчик, тоесть для прошивки по уарт или усб не нужно грузить маин из SPI.
Может имеется в виду - третий загрузчик для обновы прям во время работы? Там вроде можно так. (и в JL есть такое, можно обновится по уарту, загрузчик в основной программе в SPI, если запороть или отключить - то будет не доступен)
А вот основной USB/UART у нас в mask_rom как в JL по ходу.
By Admin
Или ты имеешь в виду что тот уарт тупо посылается в SPI шину?
By Admin
Так, причитал сообщения, п
Не совсем, прога шлёт по UART на 115200 бод пакет 'A5 96 87 5A', что триггерит какой-то специальный детектор в UART интерфейсе в чипе, который может вызывать прерывание или перезагружать чип (в зависимости от режима работы), и он собственно будет работать если таким образом происходит инициализация UART - что как раз делается в штатных header.bin.
И если этого не делать, то так переводить чип в бутлоадер не получится.Тот метод, что через SPI (там реально через SPI принимается), он в самом ROM прошит, поэтому он будет работать всегда.
А, кажись понял о чем ты, это не основной метод(mask_rom), а тот что я имел в виду -
Может имеется в виду - третий загрузчик для обновы прям во время работы? Там вроде можно так. (и в JL есть такое, можно обновится по уарту, загрузчик в основной программе в SPI, если запороть или отключить - то будет не доступен)
Только я не смотрел что там, просто jump в mask_rom при детекте "магического ключа", или полноценный отдельный уарт лоадер который не вываливает нас в mask_rom.
Я просто когда спросил
Интересно почему он отличается от того что у меня?
Это же тот сигнал что прога шлет в уарт для перевода в уатр загрузчик?
У меня downloader 2.6.6 шлет такой сигнал -
А ты ответил -
Не совсем, прога шлёт по UART на 115200 бод пакет 'A5 96 87 5A', что триггерит какой-то специальный детектор в UART интерфейсе в чипе, который может вызывать прерывание или перезагружать чип (в зависимости от режима работы), и он собственно будет работать если таким образом происходит инициализация UART - что как раз делается в штатных header.bin.
И если этого не делать, то так переводить чип в бутлоадер не получится.
Тут я думал что мы говорим о том, почему мой сигнал от твоего отличается, Просто имелось в виду что в mask_rom можно попасть не только при запуске чипа, а и из основной проги что в SPI, jump короче.
А запутался я окончательно тут -
Тот метод, что через SPI (там реально через SPI принимается), он в самом ROM прошит, поэтому он будет работать всегда.
Тоесть SPI все таки есть на усб того же ab5605b? И у нас UART для принудительного перевода (mask) посылается в SPI? (Может там просто uart? )
By Admin
Тоесть SPI все таки есть на усб того же ab5605b?
Я посмотрел в AB5605B_datasheet.pdf, там это есть:
И у нас UART для принудительного перевода (mask) посылается в SPI? (Может там просто uart? )
Ну как, когда мы это просто так делаем, мы сразу пытаемся достучаться до UART бута, отправляя по UART - асинхронному интерфейсу - тот A5 96 78 5A, и ожидаем ответа в виде 5A 69 87 5A от чипа.
Когда это делается через "SPI", мы подаём на PB3 данные, а на PB4 тактовый сигнал, что сгенерировать через UART не получится т.к. это не тот тип интерфейса. На стороне чипа приём происходит аппаратным SPI интерфейсом, поэтому важно чтобы с тактовым сигналом всё было в порядке. Когда этот ключ был принят - (вообще помимо принудительного ввода в UART там ещё есть три других ключа) - SPI интерфейс отключается, и на PB3 уже висит UART, которому можно теперь отправлять A5 96 78 5A и сразу получить ответ, и далее уже начать работу.
水Mizu-DEC JLtech since 22.06.2019
Я посмотрел в AB5605B_datasheet.pdf, там это есть:
Ну как, когда мы это просто так делаем, мы сразу пытаемся достучаться до UART бута, отправляя по UART - асинхронному интерфейсу - тот A5 96 78 5A, и ожидаем ответа в виде 5A 69 87 5A от чипа.
Теперь понял что там и уарт и SPI.
By Admin
Можно ли чип ECEB14CAB использовать как Bluetooth траснслятор, а не приёмник?
Готовый модуль Bluetooth транслятора с Алика пока не спешу брать, т.к. там как то мутно описано спаривание и подозреваю может не работать в варианте "поставил и забыл". Или может есть вариант чипа\модуля\платы которые советуете заюзать для этой цели.
Дело в том, что Mibox 4K глючит с наушниками Motorola Pulse Escape. Для их чипа я не смог достать Airoha 152xS Config Tool дабы отключить SBC HD или поробовать ACC, т.к. думаю дело в кодеке.
Подумываю просто брать аналоговый либо SPDIF выход с Mibox и транслировать по Bluetooth. Сейчас думаю над вариантами
Отредактировано voha (2025-01-12 17:40:27)
ECEB14CAB
AB5322B
Посмотрел бегло - нету.
Тут JL лучше - трансмиттер есть почти во всех сериях чипов. 690/692/695/696/701/
By Admin
Спасибо! А как маркировку преобразовать в наименование чипа? В даташитах не нашел (может плохо смотрел?) или в SDK есть?
А как маркировку преобразовать в наименование чипа? В даташитах не нашел (может плохо смотрел?) или в SDK есть?
3-4 страницы назад
Отредактировано amateur (2025-01-14 00:20:04)
Я правильно понимаю, эти чипы шьются проще, чем JL?
Я правильно понимаю, эти чипы шьются проще, чем JL?
Ну кому как. Для меня разницы нет, тут UART просто упрощает процесс прошивки. Но вот JL использует усб, соответственно и скорость там выше. Но для перевода в бутлоадер нужен донгл(он же триггер).
А так особых отличий сильных то и нет, код СДК написан +- точно так же как и JL.
Если колупали JL - то проблем с Bluetrum не будет.
By Admin
Вы здесь » USMI » MCU, SoC, CPU Микроконтроллеры » Bluetrum SoC