mrVladimir 0 29 июля, 2019 Опубликовано 29 июля, 2019 · Жалоба 4 часа назад, xvr сказал: использовать в качестве отладочных плат MCU металообрабатывающие станки (пусть даже и простаивающие). Остальной мир начинает осваивать новые для себя области embedded программирования с мигания светодиодиком :) Судя по Вашему профилю, Вы человек опытный, но для чего Вы это написали? Светодиодиком я уже давно поморгал. Вопрос задавал чисто с технической (программной) точки зрения. Специально искал рубрику для начинающих. И потом, в конце концов, этот станок ведь может быть моим личным имуществом. Кому какое дело до него. Кстати, во втором своем посте я же написал что зависания прекратились. В 25.07.2019 в 22:02, mrVladimir сказал: И решил я проверить RC-цепи (штатные) на станке, и оказалось, что резисторы сгорели (именно на этом станке; на других с проблемными контроллерами все RC-цепи в порядке. Восстановил RC-цепи и зависания пропали. Теперь работает как часы. А я решил углубиться в изучение данного семейства. Вот в двух словах моя история. Вопрос был связан с исключениями. Раз Вы проявляете внимание к моей скромной персоне, то лучше подскажите пожалуйста как можно на столе в лаборатории сымитировать Undefined instruction, Prefetch abort и Data abort. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 5 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 15 hours ago, mrVladimir said: сымитировать Undefined instruction, Prefetch abort и Data abort - исполнить мусор вместо инструкции - передать управление по кривому адресу - прочитать/записать что-либо по кривому адресу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
xvr 12 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 15 hours ago, mrVladimir said: Судя по Вашему профилю, Вы человек опытный, но для чего Вы это написали? Для того, что бы вы поняли, что программа для управления станком координально отличается от программы для моргания светодиодиком. Лично я , несмотря на всю мою опытность, не возмусь писать такую программу. При написании программ для физичски опасных объектов применяют специальные методики (защитное программирование, MISRA, верификаторы кода, обязательные unit тесты и куча другого) Если у вас вообще возникают вопросы про Undefined instruction, Prefetch abort и Data abort, то вам категорически нельзя что либо запускать на реальном станке - достаньте плату из станка и запускайте на столе (правда придётся сделать эмулятор станка). Или поставьте станок в обитую железом комнату, из которой всех предварительно выгоните 15 hours ago, mrVladimir said: этот станок ведь может быть моим личным имуществом. Кому какое дело до него. Вопрос не в станке, а в вас и окружающих - можете покалечится сами и покалечить кого нибудь рядом. Ну в конце концов я не отдел по надзору за ТБ, и не страховая компания - у вас есть своя голова на плечах, решайте сами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
esaulenka 5 30 июля, 2019 Опубликовано 30 июля, 2019 (изменено) · Жалоба 2 hours ago, xvr said: у вас есть своя голова на плечах, решайте сами Ну вот уже здравые мысли какие-то. Автор вопроса занимается наладкой этих самых станков. И можно предположить (обратное пока не доказано), что он УМЕЕТ с ними обращаться. По-хорошему (опять же, никаких сведений) всевозможные защиты в станке сделаны отдельно, и максимум что может случиться - запоротая заготовка. Ну так пусть играется, пока не надоест... Изменено 30 июля, 2019 пользователем esaulenka опечатка Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mrVladimir 0 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба esaulenka, может быть опять у меня глупый вопрос, но как же я исполню мусор вместо инструкции, если на этапе компиляции на этот мусор ругается сам компилятор. А почему вы ничего не говорите про обнаруженные мной неисправные RC-цепи. Ведь благодаря им зависания ПРЕКРАТИЛИСЬ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 120 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 3 часа назад, mrVladimir сказал: но как же я исполню мусор вместо инструкции, если на этапе компиляции на этот мусор ругается сам компилятор. Например, передайте управление на текстовую строку "люблю грозу в начале мая". Возьмите указатель на строку, приведите его тип к типу "указатель на функцию" и вызовите функцию по этому указателю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 3 hours ago, mrVladimir said: А почему вы ничего не говорите про обнаруженные мной неисправные RC-цепи. А тут нечего говорить. Ведь схему вы нам не предоставили. И трассировку печатной платы тоже. On 7/26/2019 at 3:02 AM, mrVladimir said: И решил я проверить RC-цепи (штатные) на станке Что это за "штатные" цепи, и где они стоят? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 187 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 23 минуты назад, Сергей Борщ сказал: Например, передайте управление на текстовую строку "люблю грозу в начале мая". Возьмите указатель на строку, приведите его тип к типу "указатель на функцию" и вызовите функцию по этому указателю. Вы уверены? А вдруг выполнится? Ведь у ARM-а довольно хорошо заполненная таблица кодов команд - это ещё надо умудриться попасть на Undefined instruction... Помнится во времена MS-DOS и COM-файлов, ходил по сети такой COM-файл, который являлся просто ASCII-текстом и который нормально выполнялся если ему передать управление. PS: По уму надо открывать мануал и читать, что такое Undefined instruction, Data abort и т.п. Но почему-то тут у начинающих крышу срывает от советов открыть доку. Видимо считают это ниже своего достоинства.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mrVladimir 0 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба Да нет. Зависания происходили в разные моменты по времени, но всегда в момент смены инструмента. Смена инструмента делается обычным асинхронным двигателем. С помощью двух пускателей, которые управляются указанным контроллером. Первый пускатель включается во время поиска инструмента, второй - при фиксации револьверной головки. RC цепи стоят паралельно обмоткам двигателя в шкафу станка. Из-за того, что они были в обрыве при начале вращения двигателя на поиск или на фиксацию возникали броски, которые передавались на плату контроллера, ну и далее - зависания. Двигатели примерно такой же мощности стоят и на подачу эмульсии, и на смазку. Они тоже управляются указанным контроллером, но при их включении бросков и зависаний не было с самого начала. С RC-цепями я конечно ступил немного. Надо было сразу обратить на них внимание. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Сергей Борщ 120 30 июля, 2019 Опубликовано 30 июля, 2019 (изменено) · Жалоба 3 минуты назад, jcxz сказал: А вдруг выполнится? Тогда дописываем следом и скармливаем "когда весенний первый гром". К концу поэмы обязательно попадется что-нибудь, чем ядро подавится. Изменено 30 июля, 2019 пользователем Сергей Борщ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mrVladimir 0 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 3 минуты назад, jcxz сказал: Видимо считают это ниже своего достоинства.... Разве я хоть чем-то попытался показать свое достоинство? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 187 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 2 минуты назад, mrVladimir сказал: Из-за того, что они были в обрыве при начале вращения двигателя на поиск или на фиксацию возникали броски, которые передавались на плату контроллера, ну и далее - зависания. Так там не только с программой проблемы, но ещё и с аппаратной частью... 1 минуту назад, mrVladimir сказал: Разве я хоть чем-то попытался показать свое достоинство? Я не про вас.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 1 minute ago, Сергей Борщ said: Тогда дописывам следом и скармливаем "когда весенний первый гром". К концу поэмы обязательно попадется что-нибудь, чем ядро подавится. Предлагаю сразу "Войну и мир". От неё многим крышку сносит))) Будем надеятся, что МК окажется несильнее людей) 3 minutes ago, mrVladimir said: Из-за того, что они были в обрыве при начале вращения двигателя на поиск или на фиксацию возникали броски, которые передавались на плату контроллера, ну и далее - зависания. ИМХО такого быть не должно. Помехи, это конечно плохо. Но железо контроллера должно быть спроектировано так, тчобы минимизировать влияние внешних помех. Приведите уже ради интереса фото этого чуда. Изнутри тоже. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mrVladimir 0 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба Плату контроллера я не разрабатывал. Говорю же, разобрался со схемотехникой уже приобретенного у сторонней фирмы. Выпаял LPC2214. Запаял чистый . Залил свою программу. Схемотехника простая. 24->5в - AM5T-2405sz. Затем из 5В делается 3.3 и 1.8 (LM1117). Входы/выходы для контроллера LPC управляются с помощью оптронов. А насчет RC-цепей, даже с родными контроллерами, которые были выполнены еще на 511 серии советских микросхем при неисправности RC-цепей наблюдались сбои необъяснимой природы. PS: так как аппаратная часть нисколько не моя, то и фото я приводить не могу. Извините. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
haker_fox 60 30 июля, 2019 Опубликовано 30 июля, 2019 · Жалоба 52 minutes ago, mrVladimir said: Плату контроллера я не разрабатывал. А почему вы решили, что я думаю по иному? 52 minutes ago, mrVladimir said: Говорю же, разобрался со схемотехникой уже приобретенного у сторонней фирмы. И это я давно понял. 52 minutes ago, mrVladimir said: Схемотехника простая. 24->5в - AM5T-2405sz. Ну с таким уровнем дальше можете не продолжать. Без обид. 52 minutes ago, mrVladimir said: то и фото я приводить не могу. Это в силу каких убеждений??? Вы купили изделие, вольны делать с ним, что хотите. 52 minutes ago, mrVladimir said: наблюдались сбои необъяснимой природы. Ого! Ну если 511 серия так себя вела, то да, по другому и быть не может. Объясню причину сарказма: вы просите помощи, вам пытаюстя помочь разносторонне. Потому что контроллер станка это не только ПО. Но вы постоянно маскируетесь за какими-то абстрактными высказываниями и "категорическими" нежеланиями вести дискуссию. При этом рассуждаете о "Undefined instruction, Prefetch abort и Data abort. " Каким образом они вам могут помочь я не понимаю. Ну получите вы их на столе, и что дальше? Проц в эти исключения на станке может улетать по причине плохо разведённой земли. Приведя здесь фото платы, вы можете пролить свет на это. И вам можно будет порекомендовать, к примеру, "упрочнить" землю куском напаянного провода. Почитайте вот эту тему. 56 minutes ago, mrVladimir said: Входы/выходы для контроллера LPC управляются с помощью оптронов. Ага. А куда делись конденсаторы, резисторы, транзисторы, которые там стоят? Читаем раз. Читаем два. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться