ESP32 или Вторая часть Марлезонского балета

BOOM
BOOM аватар
Offline
Зарегистрирован: 14.11.2018

Точно! Ну в своей цитате я поправил.

andriano
andriano аватар
Offline
Зарегистрирован: 20.06.2015

SAB пишет:

 To andriano 

*.com, хотя и загружался всегда по смещению 100h, это смещение могло быть в любом сегменте, т.е. считай в любом месте 640к-байтной памяти. Соответственно с точки зрения "многозадачности" (т.е. загрузить резидент) оба формата позволяли это сделать. Причем, *.com был даже удобнее.

Вы что то путаете, .сом файл априори не мог располагаться с любого адреса памяти, потому как условные и безусловные переходы в программе были определены жестко. В том было и отличие, что .ехе загружаясь с определенного адреса стартуя, сначала пересчитывает эти переходы относительно расположения в адресном пространстве, относительно своего расположения (адреса смещения от 100h), а уж потом начинал выполняться. 

Еще раз:

DOS - 16-разрядная ОС.

Intel 8086/88 - 16-разрядный процессор, имеющий, однако, возможность доступа к памяти объемом 1 Мбайт (а не 64 кбайт возможные для 16-разрядной адресации).

Доступ к всему объему памяти осуществлялся за счет того, что адресация происходила с использованием двух регистров: регистра сегмента и регистра смещения.

com файл мог использовать единственный сегмент и <короткие> адреса, состоящие из одного смещения, сегмент при этом задавался в момент загрузки com файла в память и в процессе выполнения не менялся. И при этом com файл мог располагаться не "с любого адреса памяти", но "в любом месте памяти". Разница в том, что это "любое место" должно иметь адрес кратный 16.

exe файл мог адресовать больше 64К, для чего (хотя бы иногда) использовались длинные адреса (состоящие из сегмента и смещения) либо переопределение сегментного регистра. Вот для настройки exe файла на работу и нужно было пересчитать значения, записываемые в сегментный регистр либо сегментную часть адреса в соответствии с реальным адресом загрузки. Для com файла по указанной выше причине этого не требовалось.

SergeiL
SergeiL аватар
Offline
Зарегистрирован: 05.11.2018

andriano пишет:
Еще раз:

DOS - 16-разрядная ОС.

Intel 8086/88 - 16-разрядный процессор, имеющий, однако, возможность доступа к памяти объемом 1 Мбайт (а не 64 кбайт возможные для 16-разрядной адресации).

Доступ к всему объему памяти осуществлялся за счет того, что адресация происходила с использованием двух регистров: регистра сегмента и регистра смещения.

com файл мог использовать единственный сегмент и <короткие> адреса, состоящие из одного смещения, сегмент при этом задавался в момент загрузки com файла в память и в процессе выполнения не менялся. И при этом com файл мог располагаться не "с любого адреса памяти", но "в любом месте памяти". Разница в том, что это "любое место" должно иметь адрес кратный 16.

exe файл мог адресовать больше 64К, для чего (хотя бы иногда) использовались длинные адреса (состоящие из сегмента и смещения) либо переопределение сегментного регистра. Вот для настройки exe файла на работу и нужно было пересчитать значения, записываемые в сегментный регистр либо сегментную часть адреса в соответствии с реальным адресом загрузки. Для com файла по указанной выше причине этого не требовалось.

Все так и есть,

для *.com все сегментные регистры при старте настроены на один сегмент (В Си - Тини модель). 

Обведены красным.

 

-NMi-
Offline
Зарегистрирован: 20.08.2018

Я так понял, шо здеся никто на есп32 никодит. Панятненько...

nik182
Offline
Зарегистрирован: 04.05.2015

-NMi- пишет:

Я так понял, шо здеся никто на есп32 никодит. Панятненько...


Последние три железки были на ESP32. Сейчас бьюсь с видео. Никак не хочет заливаться программа через внешний USB-TTL.

SAB
Offline
Зарегистрирован: 27.12.2016

nik182 пишет:

Сейчас бьюсь с видео. Никак не хочет заливаться программа через внешний USB-TTL.

Как так не хочет заливаться? А как вы вообще писали и проверяли  и заливали код в ваши 3 предыдущие железки, если не через внешний USB-TTL.? Замените вашу четвертую железку, она неисправна.

nik182
Offline
Зарегистрирован: 04.05.2015

Остальные были с встроенным. А видео идет без.

SAB
Offline
Зарегистрирован: 27.12.2016

Ну не знаю почему не получается. Всегда цепляюсь прямо не ноги Gpio1-TX Gpio3-Rx . На USB-TTL тумблер в 3V3 жму 2 кнопки во время  и прошивка залетает без проблем. В ESP32 CAM Надо перемычку ставить. И да вспомнил, что землю надо подключать рядом с выводом +5V -  это важно. Потому как земля рядом с транзистором и светодиодом на плате ESP32CAM на самом деле не совсем GND и для прошивки не подходит.

nik182
Offline
Зарегистрирован: 04.05.2015

Так и делаю. Но что то уже кажется что cam пришла битой. С остальными проблем пока не было. Есть одна 8266 которая так же не шьётся. Хотя старую программу выполняет.

SAB
Offline
Зарегистрирован: 27.12.2016

Попробуй сначала сдуй микросхему ОЗУ (8 ножку) Китайцы в последнее время ставят их битыми, а нормальные продают отдельно по цене = самой плате. Приходится их заказывать отдельно, иначе функция распознавания лиц не работает.

-NMi-
Offline
Зарегистрирован: 20.08.2018

nik182 пишет:

Последние три железки были на ESP32. 

А кодишь на чём???

nik182
Offline
Зарегистрирован: 04.05.2015

А что есть варианты на форуме ардуины?

SAB
Offline
Зарегистрирован: 27.12.2016

Думаю алгоритмы компиляции идут от производителя контроллера. И говорить, что кодить в VS круче чем в Arduino IDE не стоит, и сравнимо с фразой одного известного персонажа форума - напишу на Чистом СИ.

Iv_
Iv_ аватар
Offline
Зарегистрирован: 06.04.2022

дЫк как на счёт среды прграммирования Arduino IDE? Стоит мне годы жизни тратить на Платформу?

Iv_
Iv_ аватар
Offline
Зарегистрирован: 06.04.2022

На Гитхабе, всё больше кода становится на Платформе...

Iv_
Iv_ аватар
Offline
Зарегистрирован: 06.04.2022

Скорее всего, скоро будет нечтО Новое. Какой большой смысл, изучать Платформу/ВС код? Потом снова перизучать? В следующем году, сделают новейшую платформу, скорее всего.

Iv_
Iv_ аватар
Offline
Зарегистрирован: 06.04.2022

Pilot — однопользовательская многозадачная операционная система, разработанная в Xerox PARC в начале 1977 года. Программный код Pilot был написан на языке программирования Mesa и составлял 24 000 строк.[1]

Iv_
Iv_ аватар
Offline
Зарегистрирован: 06.04.2022

02 июля 2021
Второй пилот для разрааботчика: что не так с сервисом Copilot от Github
Дарья Сидорова

Практически всю историю современных технологий можно рассматривать как нескончаемую попытку автоматизировать повседневные задачи разработчиков. Эта идея стоит и за новым инструментом Copilot от веб-сервиса GitHub, принадлежащего Microsoft. Инструмент будет доступен в среде разработки с открытым исходным кодом Visual Studio Code.

GitHub описывает Copilot как «ИИ-напарника для парного программирования»‎ (популярная практика, при которой разработчики совместно пишут один код). Однако помимо очевидных преимуществ, новинка также вызывает много вопросов и опасений.

xDriver
xDriver аватар
Offline
Зарегистрирован: 14.08.2015

у нас новый тролль на форуме?

Iv_
Iv_ аватар
Offline
Зарегистрирован: 06.04.2022

Да! Толстый тролль 80 левел.
А вы с како́й целью интересуетесь?