Руслан
У сом не просто 5 вольт, а +/- 5в , стандарт рс232. Тут только микросхему конвертер лепить.
тогда я никак не пойму, почему пк , есп и с можемом норм, а есп с модемом никак без всяких этих микросхем
Георгий
А какой практический смысл? По описанию получится либо просто загрузчик либо aot - второе само по себе прикольно но очень прибито гвоздями будет
Практический смысл в понимании того, как реализовать приложения. У флиппера почти так же сделано, но для понимания хочется с нуля
Kot
тогда я никак не пойму, почему пк , есп и с можемом норм, а есп с модемом никак без всяких этих микросхем
Ну есть стандарт который как раз обеспечивает предсказуемость , его нужно придердиваться , без стандарта так и будет: в зависимости от железа ( оно разное) будет работать или не будет... Например триггеры Шмитта на разные уровни
Георгий
Ну тогда начинать нужно с изучения/изменения bootloader и MMU
Не обязательно. У флиппера MMU нет. У армов есть забавная особенность, там можно слинковать по нулевому адресу и кинуть в любой валидный для исполнения кусок памяти. При условии, что программа использует только свои же функции, ей пофигу, где она в памяти, потому что все джампы внутри неё по относительным адресам. Если у есп получится то же самое сделать, то можно будет тупо выделять кусок псрам, кидать туда bin файл и запускать
Руслан
А почитать
ну вот почитаю сижу
Mezzo Lab
Ну где ты в есп минус высрешь?
Kot
дак конвертер max232 делает +5 и -5, а rs232 нужно от +3.3 до -3.3, судя по манам. в теории состыковывается, на практике не очень
Не всегда мах232 выдаёт 5 бывает и 7 . Но работает и то и то( вписывается в стандарт). От чего зависит не знаю,тех процесс или архитектура разная... Вики пишет низкий порог +/-5в.. Стандарт rs232
Kot
Руслан
Ну где ты в есп минус высрешь?
я про мах232 высрал, а не есп
Mezzo Lab
А изначальный твой вопрос?
ok-home
Тогда нужно выключить MMU. Я ж не линукс кручу, зачем он нужен
"И Шахразаду застигло утро, и она прекратила дозволенные речи"
Руслан
помпа для аквариума?
Kot
А мануал почитать?
Это углубляться нужно, а смысл? Сто лет тому занимался сом портами. Просто я сторонник придердиваться стандарта, его не просто придумали
Kot
А мануал почитать?
А какие мин уровни у сом? Если не 5в
Георгий
"И Шахразаду застигло утро, и она прекратила дозволенные речи"
А, ну тогда почешу репу и попробую сделать так, чтобы оно работало, но не ругалось :) Видимо надо было на стмках оставаться, но у них вайфай-блютуза нет
Kot
Я о другом
Про минус который отсутствует в uart? Я просто не вникал что там с чем человек хочет срастить, а просто привёл пример про уровни сигналов рс232. Юарт с рс232 разные вещи от слова совсем) электрически разные и проинвентированы
Mezzo Lab
А какие мин уровни у сом? Если не 5в
Можно и +-3 Но. Сразу падает надёжность и помехозащищённость. Ибо шумы и гистерезис
Mezzo Lab
В некоторых случаях и +-2 заработает Но это прям дичь
Георгий
Так присрать
Больше геморроя, на мой взгляд. Даже несмотря на кривой тулчейн есп, вайфай-блютуз отдаётся на откуп второму ядру и библиотекам и всё просто работает. Так проще
Георгий
У стмок есть и блютуз и зигбии
В wb55 памяти мало + проблемы со вторым ядром
ㅤ
В wb55 памяти мало + проблемы со вторым ядром
256 кбайт оперативки это мало?
Георгий
256 кбайт оперативки это мало?
У меня будет ПЛИС подключена, довольно большая. Со всеми вытекающими. На ней процессорное ядро, к ней подключён один гиг оперативы. Туда будут заливаться конфигурация ПЛИС и код для ядра
Kot
В некоторых случаях и +-2 заработает Но это прям дичь
Да ну эти экстремальные танцы) лучше сделать и забыть)
Георгий
еще и на esp в baremetal ? и подгружаемые куски кода ?
Подгружаемые куски кода опционально. Baremetal только там, где это действительно нужно. Вайфай-блютуз я умру так делать, например. Ещё надо изучить lvgl и посмотреть, используется ли двойная буферизация и DMA
Георгий
а пример можно ?
Ножку дёрнуть. Нахера ради этого вызывать какую-то длинную тягучую функцию с проверками, есди можно сделать одну запись в условный BSRR. Потом обернуть в красивый макрос. То же самое, например, с отсылкой буфера через SPI при помощи DMA. Если что-то сложное, например, otg, вайфай-блютуз, то там, конечно, нафиг надо baremetal городить
Георгий
Если ты сделал парочку функций записей в регистры минуя врапперы esp-idf, то баре металлом это назвать совсем сложно.
Так я же говорю, что всё баре металлом не надо делать. Только то, что относительно легко реализуется, а в врапперах раздуто сверх меры
Георгий
Так и не называй его баре металлом. Это просто LL
Баре метал это скорее к тому, что я хочу код на втором ядре крутить без RTOS. Чтобы самому решать, когда включать RTOS, а когда нет. Ну и большинство вещей хочу всё-таки написать на регистрах. Юарт, сдшка, экран по 16-битной шине через DMA
Георгий
а велосипед то зачем - все написано и работает
Ну тогда я выкидываю в помойку все регистры и свой курсач, сажусь в ардуино иде и херак-херак и в продакшн
ㅤ
Ну тогда я выкидываю в помойку все регистры и свой курсач, сажусь в ардуино иде и херак-херак и в продакшн
Причем тут ардуино иде? И зачем писать надо что-то на регистрах? Чтобы что? ты для полноты картины тогда си еще выкинь и на асме пиши
Георгий
Что бы что?
Макет одного устройства. Буду сравнивать производительность велосипеда и библиотек
Mezzo Lab
Да ну эти экстремальные танцы) лучше сделать и забыть)
Есть регламент мин +-5 и не страдать хернёй
Георгий
Причем тут ардуино иде? И зачем писать надо что-то на регистрах? Чтобы что? ты для полноты картины тогда си еще выкинь и на асме пиши
Потому что зачем писать, если уже всё написано. Асм неоптимален по временным затратам. При выставлении правильных флагов компиляции один хрен получится не хуже, чем если руками писать. В крайнем случае интринсики и ассемблерные вставки. Но ассемблер у есп емнип свой. Разбираться долго
Георгий
вот это точно быстрее работать не будет ))
Конечно. Зато я буду понимать, что происходит внутри. И выкину половину ненужного
Георгий
А нахер тебе в такой архитектуре есп или СТМ?
Потому что при загрузке конфигурации в ПЛИС неизвестно что происходит с выводами, к которым подключена DDR3. И для загрузки новой конфигурации один хрен идёт ресет, а он сбрасывает в том числе состояние процессорного ядра внутри ПЛИС. И чтобы не городить костыли с сохранением состояния в какую-то внешнюю постоянную память, решил тупо добавить есп. Она дешёвая + у неё много памяти под её прошивку + бонусом вайфай-блютуз
Mezzo Lab
Что бы что?
Чтобы мама похвалила
ok-home
Конечно. Зато я буду понимать, что происходит внутри. И выкину половину ненужного
понимать что происходит всегда полезно, а насчет выкинуть ? программа в 8(16,32,64) метров флэша не входит ?
ㅤ
Ты вообще есп открывал хоть на секунду? или опять очередные теории - я буду на регистрах, будет у меня баре металл, все будет своё и тд и тп?
ok-home
Блин, так есп ещё и на плюсах по умолчанию? Боже. Можно просто си?
можно, на плюсах там несколько модулей пока
Георгий
понимать что происходит всегда полезно, а насчет выкинуть ? программа в 8(16,32,64) метров флэша не входит ?
1. Флэш медленный. Я слышал уже сто раз аргументы про 100 мкс vs 1 мс. Не хочу, чтобы подтупливало на ровном месте. 2. Прошивка заливается быстрее, елси она меньше. Через блютуз обновление прошивки хотелось бы. Но блютуз не очень-то и быстрый
Dmitry
Блин, так есп ещё и на плюсах по умолчанию? Боже. Можно просто си?
я про хак позволяющий в рантайме перезагружать фрагменты кода, который завязан на особенности работы конкретного компилятора в С++ есть вариант косвенного вызова виртуальных функций через таблицы, что хорошо ложится на случай когда ты грузишь код в случайное место памяти снаружи, и потом пытаешься как-то сам его слинковать с тем кодом, что был загружен ранее, и с неизменяемой частью прошивки в ПЗУ
Георгий
Ты вообще есп открывал хоть на секунду? или опять очередные теории - я буду на регистрах, будет у меня баре металл, все будет своё и тд и тп?
Вчера поставил тулчейн и залил несколько программ. При компиляции в Espressif IDE видел много плюсовых файлов. Пока дебаг не работает оттуда. Платформа ESP32-S3-WROOM-1-N16R8
Георгий
У тебя сколько объем, если он небыстрый?
Вопрос не в объёме флэша, а в доставании оттуда кода. Кэш не всесилен и не резиновый, однако. Как и IRAM и DRAM (тем более их между двумя ядрами делим)
ok-home
1. Флэш медленный. Я слышал уже сто раз аргументы про 100 мкс vs 1 мс. Не хочу, чтобы подтупливало на ровном месте. 2. Прошивка заливается быстрее, елси она меньше. Через блютуз обновление прошивки хотелось бы. Но блютуз не очень-то и быстрый
ну про размер....... там что то около 800к wifi стэк а если еще bt пристегнешь то и поболе будет, так что все остальное что в рамках курсача напишешь на фоне этого потеряется
Георгий
ну про размер....... там что то около 800к wifi стэк а если еще bt пристегнешь то и поболе будет, так что все остальное что в рамках курсача напишешь на фоне этого потеряется
Курсач я не на есп делал. Я делал в прошлом семестре на STM32F303. Код уложил в 15 КиБ, потому что хотел всю остальную внутреннюю флэш использовать под сэмплы, которые подгружались с компьютера. В коде настройка всех таймеров, общение через юарт с компьютером, общение с внешней spi флэш памятью, общение с внешними spi dds и аттенюаторами
Георгий
Присри Фрам Будет быстро и вечно
Ага, и все ножки растеряй. Там и так 16-битная шина дисплея больше половины съест
Mezzo Lab
Ножки присри