![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
tonyk_av
Участник-
Постов
1 114 -
Зарегистрирован
-
Посещение
-
Победитель дней
4
Весь контент tonyk_av
-
Есть сайты с генераторами МАС-адресов. Легко находятся поиском. Но! Уже писал, что сталкивался тут на заводике с этой проблемой, когда кто-то зачем-то на маршрутизаторе запретил такие адреса. Оказалось достаточным сбросить два бита адресе, чтобы всё заработало. У меня МАС-адрес грузится из конфигурационного файла, поэтому меняется достаточно просто. Ну и микросхемы никуда не делись, вот, например.
-
Конечно, есть. То, что размещается в этой секции, описывается по порядку появления переменных у компилятора. Что значит "как повезёт"? Линковщик-то физический адрес знает, поэтому все ссылки в программе на переменные в этой секции установит правильно. Адрес секции я указал, а сколько и где в ней будет размещено узнает линковщик на этапе линковки, заодно и проверит, что нет наложения секций. Если адреса размещения не критичны, то пусть линковщик сам раскидывает, а если нужен точный, то создаётся и позиционируется ещё одна секция или вообще сегмент.
-
Приплыли. Смотри ещё раз, коли с первого раза не понял. Скрипт линковщика: Переменная в программе: const uint8 __PLC_params[ SIZE_BYTE_PARAMS ] \ __attribute__ ( (section( ".plc_params" ), used ) ) = { MAX_STEP / 1000, 0x00, // 00 0x0000 -- SIZE IN STEP 16000 0x00, 0x00, // 02 -- ..... Думаю, людям, читавшим мануал на ld, понятно, что массив __PLC_params будет начинаться с адреса 0x08004000. Так что не неси больше бред, artemkad, ладно?
-
Как очень кривовато. Сомневаюсь, что Кейл не умеет делать это всё без вынесения в отдельный файл.
-
Опять не точно. Линковщик размещает там, куда ему укажут. Даже внутри секции есть оговорённый порядок размещения переменных, поэтому, если этот порядок устраивает, то можно его не трогать. А так можно хоть для каждой переменной создать отдельную секцию по указанному адресу. Доки вполне нормальные, и примеры там же есть. Опять враньё: то линковщик размещает переменные по каким ему вздумается адресам, то я не умею размещать переменные по нужным адресам. Может, хватит глупости говорить? W25Q установлена из-за особенностей организации флэша в STM32F4 с его страницами большого размера и особенностями протокола обмена среды программирования с ПЛК. В оригинальных ПЛК вся память с конфигурацией ПЛК и программой пользователя представляет собой ОЗУ с батарейкой, поэтому IDE может сначала записать разом 32К, а потом по несколько байт дописывать. Плюс реализация FTP-сервера получается намного проще при наличии файловой системы, чем в памяти STM32F4. И это не считая на два порядка большего ресурса W25Q. Вот поэтому логичней оказалось применить W25Q, а не из-за моего неумения размещать переменные по нужным мне адресам. jcxz, благодарю, ты там всё грамотно человеку разъяснил про линковщик.
-
Тут на форуме я уже несколько раз выкладывал примеры скриптов линковщика ld и примеры программ для gcc/g++, показывающие использование автоматического размещения и инициализации переменных во флэш STM32. ТС использует Кейл, а не gcc как я, поэтому пример не привёл, но сказал, что ему искать. Линковщик размещает переменные так, как мне нужно, а я ему всего лишь описываю порядок действий. Если найдёте примеры, то увидите, что в них на примере ПЛК показано размещение во флэш параметров ПЛК, программы пользователя и сохраняемых во флэш регистров. И всё это находится там, где должно быть, потому что ко всему этому идут обращения из среды программирования и среды исполнения в МК, посему не надо ля-ля типа "как линковщик сделает так и лучше".
-
Я тоже не думаю, а просто знаю и пользуюсь.
-
Потому, что линковщик лучше вас вычислит где разместить переменные. Нет, если у вас куча времени, тот можете сами указывать адреса, что особенно "удобно", когда через год откроете исходники для внесения изменений. Ну и тратить время на ручное вычисление адресов тоже очень эффективный способ сжечь кучу времени. Я уже даже не говорю про вероятные ошибки. ...можно почитать Руководство на используемые вами компилятор и линковщик. Зачем ждать?
-
Самое плохое, что можно придумать. Читайте, как в используемом линковщике создавать сегменты, а в компиляторе размещать переменные в этом сегменте. Щас подтянутся знатоки Кайла и покажут сие в картинках.
-
Сталкивался с тем, что изготовители плат хоть и говорят о возможности изготовления больших плат, но по факту для них это выливается в перенастройку оборудования и очень неприятный ценник для заказчика. Михась, отпишись о результатах заказа, пожалуйста. Вдруг мне опять понадобятся большие платы, хоть знать буду, куда обращаться.
-
Разбей на две и тогда любой сможет. Зачем создавать себе проблемы, делая такие длинные платы?
-
Делал такое с МК от AD. Судя по схеме тактирования на 1921ВК035, источник тактирования можно переключать налету. Ессно, PLL должен быть под парАми. У МК есть схема слежения за наличием тактовой частоты у источника, от которого вы хотите тактировать МК, похоже, что цикл ожидания нужен для проверки того, что частота у выбираемого источника тактов в норме. Время переключения можно определить, устанавливая-сбрасывая сигнал на ноге МК до и после входа в цикл ожидания переключения источника тактирования.
-
Форум сайта easyelectronics.ru
tonyk_av ответил Egorich тема в Форумы и конференции
Он очень адекватно и резко возжелал заняться автоматизацией Казахстана... -
А кто жлоб-то? По-моему, тот, кто нифига сам не хочет не читать, не разбираться, зато бомбит все форумы дебильными вопросами. Ладно бы вопросы были сложными, а то ведь всё жёвано-пережёвано, ссылки даны, осталось налить кофе, попить-почитать, чтобы разобраться.
-
По реле
tonyk_av ответил whale тема в В помощь начинающему
12В - это пожарно-охранные сигнализации, посему не понятен их перевод в разряд извращений. Есть ГОСТ 20322, совпадающий с IEC 60038, в котором указаны возможные номиналы напряжений сетей, из которой видно, что только =5В требует обоснования применения. -
По реле
tonyk_av ответил whale тема в В помощь начинающему
Зачем, например, мне тратить своё время на то, что пересказывать уже написанное грамотными люди? Если у кого-то после прочтения остались непонятки, то на форуме как раз и разъяснят что к чему. Или вы считаете себя настолько важной персоной, что все сейчас всё бросят и кинутся разжёвывать вам прописные истины? -
По реле
tonyk_av ответил whale тема в В помощь начинающему
Зачем? Нужно просто читать методички производителей, разъясняющих что к чему. Простое и очевидное: ТС банально НЕ читает ни методички, ни учебники физики, посему тема будет стремительно вырождаться в место, куда будут заходить, чтобы поупражняться в PODъёбках над очередной сентенцией ТСа. -
8 больше 5 на ДВА ПОРЯДКА?
-
По реле
tonyk_av ответил whale тема в В помощь начинающему
Дело не просто в гашении дуги. Реле, коммутирующие индуктивные нагрузки на ~230В, живут дольше, чем коммутирующие даже слабоиндуктивные на =24В. И там, и там есть дуга, причём на ~230В она больше. -
По реле
tonyk_av ответил whale тема в В помощь начинающему
Оставил как домашнее задание? 😉 -
По реле
tonyk_av ответил whale тема в В помощь начинающему
Надо читать даташиты, чтобы знать, можно или нет. Вот выдержка из каталога Феникс контакт: Что из этого следует? Если нужно коммутировать 100мВ при токе 1мА, то используется реле с позолоченным контактом для слабых сигналов. В случае превышения этих величин, реле не_сможет коммутировать низкие напряжения и малые токи, превратившись в обычное промежуточное, для которого минимальное коммутируемое напряжение повысится с 0.1В до 12В, а ток с 1мА до 10мА. Меньше шляйся по форумам и читай всякий бред. Скачай каталог того же Феникса, в котором очень подробно расписано всё о реле. Тебе нужен вот этот: -
Этот девайс называется "статический переключатель", а не "тиристорный АВР". Штука специфическая, при неправильном использовании от неё больше проблем, чем пользы. И, главное, не нужно пытаться заменять ею классический АВР. Кто пытался, потом плакали и заменяли на АВР, в котором коммутация выполнялась контакторами.