Перейти к содержанию
    

artemkad

Свой
  • Постов

    2 442
  • Зарегистрирован

  • Посещение

  • Победитель дней

    11

Весь контент artemkad


  1. Как ни странно, но Keil передает линковщику объектные файлы в виде *.o, а потому к порядку описанному в проекте это отношения не имеет. А вот IAR да, сам передает список и потому уже он устанавливает порядок линковки
  2. Помнится, это не витки, а эдакая резьба для подстроечного элемента.
  3. Если есть, предположим, две переменные указанные для размещения в этой секции, но в разных объектных файлах, которая из них будет первой?
  4. А если несколько, да еще и в разных файлах проекта, то порядок размещения начнет зависеть от порядка линковки, который обычно устанавливает среда разработки на свое усмотрение. И тут, внезапно, оказывается, что идея разместить все переменные в отдельном файле оказывается не такой уж и плохой - там порядок будет зависеть только от порядка размещения в файле и все что есть будет видно по месту.
  5. Чуток не так - __PLC_params будет располагаться в секции .plc_params, а вот с какого в ней адреса это предмет для уточнений. Во-от, что и требовалось понять. Только без скаттер-файла толку от этого нет. Вообще-то это дока на компилятор и атрибуты компилятора. Кстати, забавно что базовые библиотеки описывающие доступ к железу которое обычно по фиксированным адресам к услугам линковщика тоже не прибегают.
  6. Нормальный вариант, но или нижний транзистор ставить npn(тогда вместо диодов резисторы) или перед всеми диодами их аноды через резисторы подключить на массу. Иначе диоды нормально не будут закрыты и возможны ошибки определения того, что стало причиной побудки. Ну или так. Хотя далеко не все такое имеют....
  7. Это где я говорил что ты не умеешь? Я намекал, что подобное умение от тебя не замечено на этом форуме на практике. От тебя есть много слов "о всем хорошем и против всего плохого", но вот в коде который ты приводил "линковщик сам размещал секцию куда ему вздумается". Единственное что ты продемонстрировал это умение указывать выравнивание. Возможно ты и что-то другое умеешь, но тут это умение за тобой не замечено на практике. Да что ты говоришь... Ежу понятно, что умеет. Вот только по причинам указанным мной выше, а именно, по причине отсутствия вменяемой док и примеров, люди предпочитают ограничиваться слегка отредактированным куцым примером из доки который хоть как-то работает. А все остальное компенсируется средствами отлично описанного компилятора.
  8. А наличие искры - носом. Если газом воняет, но еще не взорвалось, то искры нет...
  9. Как показывает практика следующий раз придется изучать заново. Только в самом простейшем случае. Все что сложнее надо править руками.
  10. Само собой - потенциально это грабли. Вот только альтернатива - изучать ради одного момента по-иди отски описанную доку на компоновщик без возможности найти адекватные примеры и с перспективой наделать еще и кучу маловразумительных ошибок и там. Потому многие и упрощают себе жизнь прямой адресацией из основного кода. Опять-же, Keil почему-то не считает файл компоновщика файлами проекта и при поиске их игнорирует.
  11. Зачем-же сразу вирусы... Прошивка может меняться, к примеру в процессе компиляции кода Forth-машины.😜
  12. Ну да, у многих программаторов есть команда прямой записи некоторых данных по конкретному адресу в записываемом МК. Т.е. он пишет прошивку из файла, но по указанному адресу меняет данные на требуемые. А требуемые данные могут формироваться в результате работы скрипта или программы. Не бывает такого. Чушь несёте. Согласен - не совсем куда вздумается. В место адрес которого определяется объемом предыдущих откомпилированных и размещенных секций.
  13. Несколько это пара. Причем в обеих случаях линковщик сам размещал секцию куда ему вздумается, а программе возвращались лишь данные по ее размещению. Ну а когда понадобилось разместить данные в конкретном месте из-за архитектуры памяти конкретного МК ты предложил ... поставить W25Q с FatFS
  14. Пока что, судя по предыдущим заявлениям, все ваше знание и пользование заключается в том, что "я не делаю ничего - как линковщик сделает так и лучше".
  15. Да вроде тут речь не о переменных, а о константе. Которая, к примеру, появится в прошивке в процессе записи программы в МК. Таким способом прописываются сериальники и калибровки. Не думаю, что линковщику лучше вычислит как изменится прошивка в процессе ее записи в МК или в процессе ее работы внутри МК.
  16. Не, это стремный вариант - отключенный контроллер болтающийся кирпичом между питанием и затвором полевика скорее всего не даст себя нормально отключить.
  17. Видишь у тебя резистор обозначен желтыми точками - через него течет ток, а в предыдущем варианте он серый - через него ничего не течет потому как он не подключен
  18. То, то... Красная точка на проводе к резистору - он не подключен да и ток через него не указано что течет
  19. Подозреваю надо с эмулировать нагрузку подключив резистор к Vcc иначе падать будет очень долго
  20. Подозреваю снизу слева выдает ошибку. Отключи конденсатор 10мкФ параллельно батарейке - с точки зрения того симулятора такое недопустимо.
  21. Теоретически - надо, а практически в пределах индустриального исполнения(температуры ниже 85 градусов) и необходимых там скоростях запирания - нет. Биполярник управляется током базы а потому для современных транзисторов можно и без резистора. Там и для верхнего для базы не очень нужен, но там вполне законно может возникнуть желание поставить р-канальный полевик, а потому места для разрядного резистора надо иметь. Там о-о-о-чень широкие диапазоны возможных резисторов. Это схема класса "+\- лапоть - сойдет". Будет зависеть в основном от глубины желания сэкономить на потреблении ключа и нежелания выбирать транзисторы. В целом при питании 5В все 20к вполне можно увеличивать до 100к. Если нет желания делать принудительное периодического отключения из-за залипшей кнопки, 1к на pwr_on можно делать таким-же как и на кнопках. Сойдет. А для чего это городить? Есть схема от artemkad выглядит рабочей? Там описан общий принцип в том числе и моя схема с резистивным ИЛИ. Как показывает практика супервизор это более редкий зверь чем транзисторы
  22. МК включается сразу и отсчитывает сколько тебе надо. Если больше 5 секунд держится кнопка - продолжает работать. Если короче - отключается вместе с кнопкой.
  23. с управляемым стабилизатором надо как-то разделить сигналы от соседних кнопок. К примеру диодами. С транзистором не надо т.к. его база больше 0.7В не поднимается .
  24. Почти классика https://tinyurl.com/2cqsrkjx После нажатия на кнопку контроллер включается, сам подает уровень на pwr_on, что надо делает после чего подает на эту ногу ноль отрубая все питание.
  25. Зачем ИМС? Парой транзисторов рвущих собственное питание можно обойтись. Если с целью снижения потребления, то это еще надо проверить сколько жрет при нажатом Reset.
×
×
  • Создать...