repstosw 19 31 мая Опубликовано 31 мая (изменено) · Жалоба В процессе сборки. Ядра (CPU 0,1, DSP), USB, камера, дисплей, I2S-микрофон, I2S-усиилтель, подсветка для камеры(на фото - без рассеивателя) работают. На фоте слева провода - временно: там будет мини-колонка 20x30 мм. Осталось допаять трансивер и проверить. Изменено 31 мая пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 31 мая Опубликовано 31 мая · Жалоба 48 минут назад, repstosw сказал: дисплей, Как-то наполовину работает)) 1 час назад, Samum421 сказал: T113-s3 с различными выходами. Эт я понял, думал это какой-то готовый модуль, спросить партномер))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 31 мая Опубликовано 31 мая · Жалоба 3 minutes ago, mantech said: Как-то наполовину работает)) Вторая половина включится, когда появится в эфире собеседник )) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 31 мая Опубликовано 31 мая · Жалоба 2 часа назад, repstosw сказал: Вторая половина включится, когда появится в эфире собеседник Ну я так и думал, что на экране должен быть собеседник, на себя-то зачем мне смотреть))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 31 мая Опубликовано 31 мая (изменено) · Жалоба 33 minutes ago, mantech said: Ну я так и думал, что на экране должен быть собеседник, на себя-то зачем мне смотреть))) Затем, чтобы знать, что увидит собеседник. Ваш КЭП. 🤠 Изменено 31 мая пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 2 июня Опубликовано 2 июня (изменено) · Жалоба Сделал свой загрузчик для NAND. Как теперь из него прыгнуть в FEL ? Логика проста, при включении питания из NAND грузится мой загрузчик, и если он видит, что нажата кнопка (не важно какая - в случае с моим загрузчиком), то не загружал приложение из NAND, а переходил в режим FEL. Даташит на T113-s3 говорит, что есть два адреса: Normal BROM FEL Address 0x20 и Secure BROM FEL Address 0x64 Делал переходы на оба, в итоге загрузчик вызывается из NAND дважды, а USB-соединение с ПК (для FEL) заламывается - винда пишет, что USB-устройство работает неверно. Есть ли способ передать управление в точку, где запустится полноценный FEL, как в случае если нет ни одного бут-медиа при включении питания? Или сделать горячий RESET с заранее проинициализированной переменной, которая игнорирует загрузку с NAND. Изменено 2 июня пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 2 июня Опубликовано 2 июня (изменено) · Жалоба Обнаружил, что xfel не может шить NAND фрагментами. loader.113 - свой загрузчик (ровно 64 кБ) app.bin - приложение, стартующее с начала адреса DDR Вот так не будет работать - последняя запись перетирает загрузчик: xfel spinand write 0x00000000 loader.113 xfel spinand write 0x00010000 app.bin А вот так - будет работать: copy /B loader.113 + app.bin NAND.bin xfel spinand write 0x00000000 NAND.bin Чип NAND: MX35LF1GE4AB xfel: версия 1.2.8 Изменено 2 июня пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 2 июня Опубликовано 2 июня · Жалоба 15 minutes ago, repstosw said: Обнаружил, что xfel не может шить NAND фрагментами. Смещение от начала NAND, с которого начинается приложение, как минимум, должно быть кратно размеру блока 128KB NAND MX35LF1GE4AB Тогда можно раздельно прошить. Стирание идёт целым блоком. 1 блок для MX35LF1GE4AB = 128 кБ: xfel spinand write 0x00000000 loader.113 xfel spinand write 0x00020000 app.bin Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 2 июня Опубликовано 2 июня (изменено) · Жалоба 2 часа назад, repstosw сказал: Как теперь из него прыгнуть в FEL ? Никак)) При сбросе, если пины boot сконфигурированы на загрузку с нанд то в буте проц не останется. Нужно либо задать усб-онли, отключить пин от флешки либо затереть сигнатуру в нанде. Так в любых процах делают... 36 минут назад, repstosw сказал: Вот так не будет работать - последняя запись перетирает загрузчик: Конечно не будет, нанд стирает перед записью блок (128к), при след. записи он его снова стирает, а у вас там уже прога зашита)) Изменено 2 июня пользователем mantech Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 2 июня Опубликовано 2 июня · Жалоба 43 minutes ago, mantech said: Никак)) При сбросе, если пины boot сконфигурированы на загрузку с нанд то в буте проц не останется. Нужно либо задать усб-онли, отключить пин от флешки либо затереть сигнатуру в нанде. Так в любых процах делают... Как я понял - пины boot - это так называемые MISO и MOSI, на которых болтаются резисторы по 10 кОм. На MISO подтяжка к питанию, на MOSI - подтяжка к земле. Итого SEL[1:0] = 10, что соответствует последовательности загрузки: SD0 => NAND => other Как я писал выше, на версии платы 1.1 производитель не расшарил пин MISO, из-за этого пришлось подпаять провода с кнопкой. В релизе мне такое решение не нравится, хотелось бы переназначить эту кнопку, используя свой загрузчик, который бы во время включения устройства мог бы проконтроллировать кастомную кнопку и перейти в FEL, если она нажата. FEL нужен только для отладки. В даташите упоминаются некие eFuse SID и регистр дан соотстветствующий для чтения. Но нигде не сказано - куда записывать нужно в eFuse, чтобы изменить последовательность загрузки. По хорошему, определить точку входа бы в BROM, начиная с которой пошла бы ветка для FEL USB, обойдя проверку загрузочной NAND. А так получается - единственно, что можно сделать - это загрузчик, который стирает NAND при нажатии на кастомную кнопку. Тогда следующий Reset приведёт в FEL, так как загрузчика больше нет в NAND или он повреждён. Всё для того - чтобы использовать кастомную кнопку (не на MISO которая) и не подпаивать проводки. 50 minutes ago, mantech said: Конечно не будет, нанд стирает перед записью блок (128к), при след. записи он его снова стирает, а у вас там уже прога зашита)) С этим уже разобрался, пост выше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 2 июня Опубликовано 2 июня · Жалоба 3 hours ago, repstosw said: Сделал свой загрузчик для NAND. Как теперь из него прыгнуть в FEL ? Вопрос решён. Возврат FEL работает, по крайней мере, следующие команды успешно выполняются: xfel version xfel ddr t113-s3 Чтобы перейти в FEL из своего загрузчика, НЕ нужно делать 2 вещи: 1) Переносить вектора прерываний 2) Включать MMU Итого выходит последовательность действий: 1) асмовский стартап 2) Запрет прерываний 3) Разрешение SMP для CPU0 (6-й бит регистра Auxiliary Ctl) 4) Инит клоков 5) Инит GPIO 6) Инит UART 7) Инит SPI 8) Инит DDR 9) Сам загрузчик (в котором проверяется нажатие кнопки - если нажата - переход на адрес 0x00000020, если нет - чтение с NAND кода приложения и запись в DDR, с последущим переходом на адрес 0x40000000) Включить MMU и перенести вектора прерываний уже можно после проверки кнопки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
GenaSPB 11 2 июня Опубликовано 2 июня (изменено) · Жалоба Наверное, правильнее будет в загрузчике проверить кнопку - а только потом уже делать все перечисленные инициализации как при обычном запуске приложения? Это если кнопка - вывод процессора а не SPI/I2C/остальное периферия Изменено 2 июня пользователем GenaSPB Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 2 июня Опубликовано 2 июня (изменено) · Жалоба 11 minutes ago, GenaSPB said: Наверное, правильнее будет в загрузчике проверить кнопку - а только потом уже делать все перечисленные инициализации как при обычном запуске приложения? Это если кнопка - вывод процессора а не SPI/I2C/остальное периферия Собственно так и сделал, оставив инит SYS_Clock, GPIO и UART перед проверкой кнопки. Потому что перед этим загрузчику есть, что сказать по UART для ПК 😃 Остальной инит - после проверки кнопки. Проверил загрузку кода с FEL после отработки своего загрузчика NAND с нажатой кнопкой - работает. После нажатия на Reset - снова грузится вторая штатная программа с NAND. Чего хотел - того добился: припаянная сопля с кнопкой на MISO более не нужна. Изменено 2 июня пользователем repstosw Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
repstosw 19 3 июня Опубликовано 3 июня · Жалоба Первый готов! Второй пока на макете. На соплях ))) В ближайшее время сделаю второй - макет распаяю на плату. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 48 3 июня Опубликовано 3 июня · Жалоба 3 часа назад, repstosw сказал: Первый готов! А для чего кнопка ресет на передней панели? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться