• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Обсуждение MT7688AN HLK-7688A

azt59

Member
Пытаюсь организовать SPI передачу с stm32h750 (slave) на MT7688 (master).
В userspace передача не работает при выставлении буфера больше 16 байт. С чем это связано? Будет ли работать в kernel-mode?
Мне нужна скорость по SPI порядка 15 мбит/с, это реально на MT7688?
Насколько я помню там какая-то железная проблема с spi. Но в омеге это пофиксили вроде как.

 

fippo

New member
Насколько я помню там какая-то железная проблема с spi. Но в омеге это пофиксили вроде как.

А на linkit smart реально прошивку от omega накатить?
 

Alexander

Member
Кто знает, есть у MT7628N JTAG? На 4пда попалось сообщение, что его упразднили, а в доках ничего такого нет. Если есть - выведен ли он в HLK-7628N?
 

azt59

Member
Кто знает, есть у MT7628N JTAG? На 4пда попалось сообщение, что его упразднили, а в доках ничего такого нет. Если есть - выведен ли он в HLK-7628N?
Проверяйте на этих пинах
 

Вложения

Alexander

Member
Как-то не попадалось на глаза чем можно этот SoC дебажить по JTAG. Подскажите?
Для OpenOCD вроде есть конфигурация.
Пины я знаю, но если не заработает - я не буду знать причину - руки у меня кривые или JTAG не выведен. Я не думаю, что всё будет просто, т.к. мало информации, но если он там точно есть - буду пытаться.
Основная причина - боюсь заливать новый загрузчик. Если что-то пойдет не так - получу кирпич.
 

azt59

Member
Для OpenOCD вроде есть конфигурация.
Пины я знаю, но если не заработает - я не буду знать причину - руки у меня кривые или JTAG не выведен. Я не думаю, что всё будет просто, т.к. мало информации, но если он там точно есть - буду пытаться.
Основная причина - боюсь заливать новый загрузчик. Если что-то пойдет не так - получу кирпич.
Там же прошивка на spi флешке, снял флешку и новую и на программаторе вернул дамп
 

Alexander

Member
Там же прошивка на spi флешке, снял флешку и новую и на программаторе вернул дамп
На 6м десятке с моими руками и глазами это несколько затруднительно.
Вчера на инверторе драйвер ключей перепаивал и то утомился, а там места валом. На роутерах ни разу не удалось флэшку выпасть не повредив дорожек :(
 

pvvx

Активный участник сообщества

volaltd

Member
На 6м десятке с моими руками и глазами это несколько затруднительно.
Вчера на инверторе драйвер ключей перепаивал и то утомился, а там места валом. На роутерах ни разу не удалось флэшку выпасть не повредив дорожек :(
Флешку можно не выпаивать, тем более что модули HLK-7628/7688 закрыты железным экраном, цепляете MISO/MOSI/CLK/CS0 и ресет проца на ноль. Читал таким способом с помощью прогера на CH340 пару недель назад именно HLK-7628. Отмечу что у Hi-Link есть девелоперская плата к этим модулям и там сигнал CS0 перепутан на штырках с PERST_N, т.е. подписано CS0, а реально дрова лежат...
 

Alexander

Member
На али есть "SO-8 зажим" для программирования SPI-Flash.
https://aliexpress.ru/item/32966553440.html + варианты...
CPU на Reset и программируется...
Зажим у меня давно имеется, а насчёт ресета не сообразил.
Флешку можно не выпаивать, тем более что модули HLK-7628/7688 закрыты железным экраном, цепляете MISO/MOSI/CLK/CS0 и ресет проца на ноль. Читал таким способом с помощью прогера на CH340 пару недель назад именно HLK-7628. Отмечу что у Hi-Link есть девелоперская плата к этим модулям и там сигнал CS0 перепутан на штырках с PERST_N, т.е. подписано CS0, а реально дрова лежат...
А схемы модуля нигде не попадалось?
 

volaltd

Member
А схемы модуля нигде не попадалось?
Именно на модули HLK производитель схему предоставить отказывается, хотя готовы отвечать на вопросы. Есть схемы на другие, SoC не особо позволяет разгуляться, поэтому у всех одинаковое, отличия только в чипах и размерах RAM/Flash.
 

Вложения

Alexander

Member
Валялся, валялся модуль, в итоге я его достал и благополучно ополукирпичил. Залил туда BREED и наконец увидел, что RAM действительно 256МБ, китайцы не соврали, но сам BREED загружает теперь только предзагрузчик, после чего пишет, что не находит флэш. Флэш запаяна w25m512jv и, если верить даташиту и я не ошибся - работать с ней можно, как с w25q256 с потерей половины объема.
В общем, кирпич не полный - имеется breed shel, но ничего полезного я в нем не обнаружил.
Что касается платы
Флешку можно не выпаивать, тем более что модули HLK-7628/7688 закрыты железным экраном, цепляете MISO/MOSI/CLK/CS0 и ресет проца на ноль. Читал таким способом с помощью прогера на CH340 пару недель назад именно HLK-7628. Отмечу что у Hi-Link есть девелоперская плата к этим модулям и там сигнал CS0 перепутан на штырках с PERST_N, т.е. подписано CS0, а реально дрова лежат...
А CS0 похоже не разведен на ней.

Boot and Recovery Environment for Embedded Devices
Copyright (C) 2021 HackPascal <hackpascal@gmail.com>
Build date 2021-12-15 [git-f9b74d0]
Version 1.1 (r1337)

DRAM: 256MB
Platform: MediaTek MT7628AN/MT7688AN ver 1, eco 2
Board: HiWiFi HC5661A
Clocks: CPU: 575MHz, Bus: 191MHz, Ref: 40MHz
Flash: no flash present on mt7628-spi.0
rt5350-eth: Using MAC address 40:d6:3c:2c:71:2c
eth0: MediaTek MT7628 built-in 5-port 10/100M switch

Network started on eth0, inet addr 192.168.1.1, netmask 255.255.255.0

Press any key to interrupt autoboot ... 0

No valid flash found.
Error: Please specify a flash bank number!

Starting breed built-in shell

breed>
breed> help
Available commands:
about - About this bootloader
abstatus - Interrupt status of autoboot
arp - Display ARP table
autoboot - Detect firmware type and boot automatically
boot - Boot firmware
btntst - Test GPIO of buttons
dhcp - Display DHCP leases
env - Environment variables utility
envconf - Configure environment variable block
exit - Exit from telnet
flash - Flash utility
gpio - GPIO utilities
help - Show available commands
mdio - MDIO utility
mem - Memory operation utilities
net - Network control
netstat - Display network state
reset - Restart device
setbrg - Set baudrate
spi - SPI utility
sysinfo - Display system information
thread - Display all threads
wget - Retrieval file through HTTP
 

Alexander

Member
breed> flash list
Bank Type Size Model
0 SPI-NOR --- Unavailable ---

HTTP сервер поднимает, но он бесполезен.
Там надпись "Файл не найден" и одна кнопка, которая ничего не делает.
 

Alexander

Member
Еще одна идея почти сработала, но...
breed> wget http://192.168.1.2/firmware.bin; boot mem 0x80000000
Connecting to 192.168.1.2:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 5679317/0x56a8d5 (5MB) [application/octet-stream]
Saving to address 0x80000000

[========================================================================] 100%

Transmission completed in 1.9s.
Trying to boot firmware from 0x80000000 ...
U-Boot firmware image header detected.
Image Name: MIPS OpenWrt Linux-5.10.161
Data Size: 5679253 Bytes
Load Address: 80000000
Entry Point: 80000000
Uncompressing data (LZMA) ... ERROR: LzmaDecode.c, 534

Decoding error = 1

Ну а тут совсем плохо
breed> wget http://192.168.1.2/uboot.bin; boot mem 0x80000000
Connecting to 192.168.1.2:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 358269/0x5777d (349KB) [application/octet-stream]
Saving to address 0x80000000

[========================================================================] 100%

Transmission completed in 0.8s.
Trying to boot firmware from 0x80000000 ...
Error: Unrecognised firmware header!
 

Alexander

Member
Залил фулфлэш от модуля HLK-7628N, потом из под openwrt вернул сохраненный mtd1 и всё встало на свои места, во всяком случае MAC адреса вернулись к заводским.
Собрал u-boot с поддержкой 256 МБ ОЗУ. Не без мата, но получилось.
Флэшку, похоже, победить невозможно. Драйвер под нее не нашел. В разных местах проскакивает патч, в котором в драйвер добавляется JEDEC, что-то типа такого
Код:
"W25M512JV", 0xef, 0x71190000, 64 * 1024, 1024, 1
но это неправильно - там нет 1024х блоков, там есть 2 банка по 512 и их нужно переключать, а этого я нигде не нашел, да и из документации не очень понял, как получать ID. В общем печально всё с HLK-7628NL. Hilink вместо того, чтобы как-то поддержать разработку просто убрал с сайта информацию об этих модулях. Как вариант, можно было аппаратно проблему решить, заменив флэшку на менее экзотическую.
 

Alexander

Member
Блин, какой умник поставил лимит редактирования 5 минут? :)

Там в одном месте упоминается HLK-7628NL, но на данный модуль нет ничего. Все что есть, относится к HLK-7628N.
Кстати, в доке по обновлению на скриншотах uboot dthcbb 4.3.0.0 - более новый чем тот, с которым продают модули, но я не нашел у них на сайте где его скачать. Впрочем, он наверняка все равно не поддерживает HLK-7628NL.
 
Сверху Снизу