Котуинко

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Ленивые размышления...
В котуинке ассемблер дает доступ к любому желанию (адресное пространство и независимая компиляция программ, каждого модуля в свою область с последующим использованием взаимных ресурсов)...
К примеру функционал из биоса может быть использован любой из подгружаемых программ для расширения нужд той подгружаемой программы...
А вот как такой же вариант под СИ и в АВРках провернуть?
Да еще и под адуриньим СИ, в коем листинг по умолчанию не делается (есть возможность только hex файл для загрузки из программатора получить)...
Собственно...
Делается базовая программа ввода/вывода, индикации и собственного загрузчика определенной области свободного ПЗУ ("биос")...
Далее отдельно компилируется прикладная программа, которая может использовать часть функционала того "биоса" в своих нуждах. Но размещение этой прикладной программки должно быть выполнено в области "свободного ПЗУ" МК (загрузчиком "биоса")...
Как бы вот такое под СИ (тем более ардуино-варианте) исполнить?
1. Нужно получить адреса конкретного размещения функций в "биос" МК для их дальнейшего использования в модуле прикладной программы (желательно без опоры на листинг).
2. как при компиляции прикладной программы задать конкретный начальный адрес размещения кода?
И третье - а как быть с ОЗУ, чтоб области, используемые "биос" и прикладной программой не "наехали" друг на друга?
(программы пишутся и компилируются РАЗДЕЛЬНО друг от друга)
Это же СИ, а не ассемблер, в котором "все просто решается"...
(работу встроенного в "биос" загрузчика пока не трогаем)
:(
Вобшчемсс... Как то такие глуповопросы лениво посещают...
:roll:
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Г Ы М М М...... (правда от вражины TI под MSP430)
https://energia.nu/reference/
https://microkontroller.ru/msp430-proje ... ergia-ide/
:roll:
Реклама
Базилюк
Нашел транзистор. Понюхал.
Сообщения: 159
Зарегистрирован: Чт сен 19, 2024 19:18:28

Re: Котуинко

Сообщение Базилюк »

Нужно получить адреса конкретного размещения функций
Указатели на функции? Ведь в Си функции имеют вполне реальные адреса, и этот адрес можно получить через указатель на функцию, подобно как получается адрес переменной через указатель.

Если разговор идет о том, чтобы из хекс-файла получить адрес функции, то это только ручками, если дизассемблировать хекс и найти точку входа в функцию.
Adrift
Вымогатель припоя
Сообщения: 540
Зарегистрирован: Вт окт 01, 2024 15:22:33

Re: Котуинко

Сообщение Adrift »

[uquote="BOB51",url="/forum/viewtopic.php?p=4636331#p4636331"]1. Нужно получить адреса конкретного размещения функций в "биос" МК для их дальнейшего использования в модуле прикладной программы (желательно без опоры на листинг).[/uquote]
В MS-DOS был INT 21h, а в регистре AH передавался номер функции. Из современного, в Pico есть ROM, потому что оттуда быстрее код выполняется, чем из внешнего флеша, и доступ к функциям получают следующим обоазом:

Код: Выделить всё

sf_clz_func = rom_func_lookup(ROM_FUNC_CLZ32);
Т.е. из таблицы по индексу, иначе в следующей версии "BIOS" адреса изменятся и придется перекомпилировать все модули.

Добавлено after 10 minutes 7 seconds:
[uquote="BOB51",url="/forum/viewtopic.php?p=4636331#p4636331"](работу встроенного в "биос" загрузчика пока не трогаем)[/uquote]
А не мешало бы. Как вообще планируется на AVR модули подгружать? Там же из RAM код выполнять нельзя и самой RAM мало, внешнюю что ли прикручивать? Ну не прошивает же загрузчик модули во флеш? )
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Для АВРок(ПИКовых) только загрузка во флэш ПЗУ...
Однако там таки смутное дело с взаимосвязью двух (трёх, включая загрузчик) независимых программных модулей.
Так что придётся пока этот вопрос "лениво отложить" до более чётко обозначенных "хотелок"...
8)
Реклама
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Лень обуяла...
Однако лежит на макетке символьный индикатор... ЖИРНЫЙ...
https://img.radiokot.ru/files/20529/3j7oqqfki2.jpg
Надо чегось придумать... или повторить ассемблерные Т9 из винной с гибридом К145...
:roll:
начну-ка с издевок над кнопами...
вот под таку извратну схему
https://img.radiokot.ru/files/20529/3lskuak1gs.GIF
просто в старой макетке приходится резервировать аппаратный I2C (на том разъёме раньше мехкнопы стояли) да еще изврат с запуском сканера по прерыванию (скорее в реале движковый выключатель клавиатуры будет - по опыту эксплуатации с емкостными кнопами штука нужная...)
Пока что "грязновик" сканера кноп вот так выглядит:
swio1602.rar
(160.47 КБ) 71 скачивание
по мере "обрастания" возможно появление правок/добавок в slvk...
:write:
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1906
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Котуинко

Сообщение veso74 »

Вариант: подключаете ЖК-дисплей к одному PCF8574. Подключаете кнопки на другой PCF8574 по другому I2C адресу. Без сканирования кнопки в loop, а чтения - по прерыванием после изменения состояния PCF пина INT. Антидресбег не аппаратной (RS-тригер) а легко реализовать можно с чтения/паузы/чтения или нескольких последовательных чтений одно за другим. Возможно и LEDs к третьему PCF. Так будет много неиспользованных пинов для других приложений :).

Почему макетная плата? Напр. на пластиковом бредборде соединения остаются достаточно стабильными месяцами. И даже годом :). А менять конфигурацию можно непрерывно и очень быстро во времени: от идеи, через реализацию до успешного теста, от напр. 5 минут на занятия с МК в день, до напр. месяцев, с добавлением, напр. что-то каждый день. Потом рисуете схему, реализуете по другой монтаж.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Внешний регистр увеличивает время обработки и объём монтажа. В данном случае это не важно - подчищается вариант обработки кнопок, пригодный для работ с менюшечными пиктограммами. При условии, что у каждого из возможных автономных программных модулей самоделки свои субменюшки. В К145 слишком сложно получилось, да и селектор однократное нажатие/многократное исполнение при удержании плюс контроль "залипания" и "длительного простоя без нажатий" неплохо встроился. В остальном тот же принцип селектора по считанной комбинации и указателям на функции, изменяющими содержимое согласно задач, определяемых текущим программным модулем "устройства".
Относительно макета - так леньки чего то дополнительно лепить всего лишь для проверки предположений и черновиков - использую то железо, что ранее сделано было.
8)
Аватара пользователя
главный колбасист
Это не хвост, это антенна
Сообщения: 1325
Зарегистрирован: Чт авг 21, 2014 11:11:48
Откуда: краснодарский край
Контактная информация:

Re: Котуинко

Сообщение главный колбасист »

А чё это такое ?
#include "slvk.h"
Даже яндекс не знает.

========

з.ы. тьфу,всю папку не просмотрел.
Последний раз редактировалось главный колбасист Пн ноя 18, 2024 09:14:29, всего редактировалось 1 раз.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Так в папке проекта те файлики находятся.
8)
Собственно пока черновик - пара файликов внутри проекта - удобнее редактировать и тесты добавлять.
Ежли с основой кнопок все полностью ясно, то с дисплеем заметно потуманнее - в старой версии у меня был сдвиг экрана с сохранением работы использующего "теневой"(скрытый на время) экран.
Но то ассемблер... А теперь надо или к правилам LiquidCrystal приспосабливаться или добавку ввода символов в произвольный адрес ОЗУ индикатора дошкарябать...
Вобщем - стадия раздуми...
:roll:
:write:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

MCUdude выпустило обновление платформ... Свеженькое...
:roll:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

ФЫРШШ...
Хороши обновления...НО...
Из-за наличия огромадного количества мелких файлов (практически во все комплекты, включая 13ю тиньку, включен и urboot) обновление на USBфлешке может длиться до 3 часов!!
:shock:
Вобшчемссс на жесткий диск и/или SSD в ПК вполне себе шустренько обновляется, но на USBфлешке или при обновлении или при копировании представляет заметное "замедление", которое при некоторых условиях нервозности в ожидании завершения может привести к гибели флешки (попытки досрочного завершения работы программы установки).
Имеем этот нюенс ввиду...
:cry:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Ленюшшкиии....
:sleep:
Но таки возня с консолью ввода (четыре-пяток кноп)и вывода (дисплейчик на 1602) потихонечку продвигается.
Скелетик базовый с простокнопами и пиктографическими менюшками таки продвинулся аж до простого теста базовой концепции.
Теперь можно передохнуть, распечаточку соорудить да проанализировать чего еще замутить можно.
:tea:
И потихонечку несколько реальных прикладных модулей в тест дошкарябать...
:write:
Собственно схемка теста
https://img.radiokot.ru/files/20529/3mbgfvussy.GIF
и прожка
swio1602.rar
(84.55 КБ) 69 скачиваний
сперва заставка и вывод в терминалку ПК сообщений с названием нажатой кнопы...
при нажатии на + (UP) происходит перескок в пробный тест пиктограммной строки. Цифирки с курсором под оными работают с декрементом/инкрементом, курсор под F возвращает в предыдущее состояние (заставку и функционал при включении питания). И так "по кругу". Простой тест однако.Варианты уточнения/расширения не исключаются, но то уже под конкретику самоделок будет подгоняться.
8)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Добавил чуток комментария насчет защит от повторного самовызова при активации консоли в случае длительного удержания кнопки.
Это на случай, если в обеих консолях кнопка является и вызовом следующей в одной и возвратом в предыдущую в другой (чего таки предпочтительно по возможности избегать).
И там же тестовые строчки для консоли ПК (тест-проверка) с демонстрацией разницы меду сработкой функции активации консоли (однократно) и фокус-возможностей у кнопки при продолжительном нажатии (печатается имя кнопы, пока ее не отпустить) с объяснением в описании функционала кнопки. Тот фокус для особых извратов... :wink:
swio1602.rar
(99.93 КБ) 67 скачиваний
Собственно это уже "максимально готовый" концепт скелета мультименю из консолей ввода/вывода для многофункциональных железяк.
Возможность модификаций как по количеству клавиш, так и по смысловой структуре размещения данных на "стандартном" двустрочнике типа 1602 и стандартных адуриньих библиотек (без использования "теневой" части ОЗУ дисплея и сдвига панелей мало ли какая начинка в дисплейчиках попасться может - а этот вариант без излишеств в любом случае работать будет).
Собственно самих консолей и уровней вложения также может быть достаточно много - лишь бы места в ПЗУ хватало, да ресурсов для оставшихся активно работающими программных модулей "устройств".
:roll:
Пока положу в запас для возможных в будущем всякоподелок.
:hunger:
Можно малость и подремать...
:sleep:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Чем ближе Новый Год, тем лень сильнее...
Надо бы как нибудь и про ассемблер освежить память... Совсем уж подзабыл за той абдуринкой...
:roll:
:sleep:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Всех КОТОВ матёрых, КОТЯТОК и КОШЕЧЕК
с наступающим 2025 Новым Годом!
:beer: :hunger: :hunger: :hunger:
Дожили таки.
8)
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Пара справочников по SMD компонентам (разные издания):
//elektromehanika.org/load/spravochnaja_lit_ra/smd_codes_active_smd_semiconductor_components_marking_codes/3-1-0-4125
https://elektromehanika.org/load/spravo ... 3-1-0-4640
:hunger:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Очередной "подарочек проХЕРеса"...
Касается неприятных сюрпризов от ардуиноIDE версии 1.8.19...
Ранее нечто подобное коснулось старой 1.8.9.
Однако у 1.8.9 ограничения заметно большие.
И так...
Версия 1.8.19 работает под 7 кой/10кой, для ХР не допустима (более навороченная).
Свежий выявленный ФАК:
После обновления платформ
Raspberry Pi Pico RP2040 выше 4.1.0
STM32 от STmicroelectronics выше 2.1.0
ESP32 от espressif systems выше 3.1.0
возможно и некоторых других, кроме "простой классики АВР(пока еще)" - не проверял все возможные по перечню,
отмечено блокирование СОМ портового интерфейса...
Для устранения достаточно отката на более ранние версии.
Как профилактика рекомендуется отключать автоматическое обновление ардуиноIDE для версий 1.89 и 1.8.19.
Частный случай для подобной ситуации - внезапно пропадающая возможность прошивки "стандартных" АВРок (нанки или про-мини).
СОМ порт или не выбирается или невозможно сменить.
ФАК пакостен тем, что причина явно не просматривается - компиляция проводится без замечаний, а работа прошивалки для нанки уж никак не ассоциируется с STM/ESP или RP2040 платформами.
8)
:beer:
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15553
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Котуинко

Сообщение BOB51 »

Распотрошил индикаторный модуль...
Индикатор сам по себе, хороший с крупными символами(WH1602L-YGH-CT...) вполне работоспособный...
https://img.radiokot.ru/files/20529/3j7oqqfki2.jpg
https://img.radiokot.ru/files/20529/3j7oqrxjm5.jpg
:hunger:
И платка интерфейса от того индикутера, на "посмотрямс куда приткнуть" - ломать пока жабко, а применить - надо разобраться чего там куда... Выбрасывать таки кощунствие...
:dont_know:
Надо немножко покопаться...
Морда
https://img.radiokot.ru/files/20529/3nnlzbjy9g.jpg
и обратна сторона
https://img.radiokot.ru/files/20529/3nnlz4l0x3.jpg
:roll:
Аватара пользователя
shonty
Мучитель микросхем
Сообщения: 473
Зарегистрирован: Ср янв 11, 2012 18:20:26

Re: Котуинко

Сообщение shonty »

BOB51 писал(а):Индикатор сам по себе, хороший с крупными символами(WH1602L-YGH-CT...) вполне работоспособный...
через модуль на PCF8574 нормально работает
По i2c.
:beer:
Ответить

Вернуться в «Разные вопросы по МК»