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

IAR Embedded. Работа с исключениями LPC2214.

8 hours ago, mrVladimir said:

решил написать свою программу для данного контроллера.

ИМХО, решение неправильное. Вы написали, что

8 hours ago, mrVladimir said:

Пару лет назад предприятие приобрело контроллеры

Почему же вы к ним не обратились? тем более ваши контроллеры, скорее всего, на гарантии. В любом случае, прежде, чем курочить фирменное изделие (думая, что сам сделаешь лучше), следует обратиться в техподдержку.

8 hours ago, mrVladimir said:

понял, что зависания скорее всего происходят по трем причинам

А собака используется (watchdog)?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

26 минут назад, haker_fox сказал:

Почему же вы к ним не обратились?

Вместо двух "барахлящих" контроллеров приобрели новые этой же фирмы. Вместо LPC там уже STM32.

До watchdog'a у меня пока не дошло.

6 часов назад, jcxz сказал:

Ну прописали Вы этот обработчик, дальше то что? Что это даст? Зачем???

На самом деле на данном этапе просто хотелось бы разобраться с программированием. 

AlexandrY, спасибо за совет. 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 hours ago, haker_fox said:

А собака используется (watchdog)?

Да какая разница? Тут проблема в самом подвисании, а не в том, как из него выйти. Т.е. ватчдог нужен и важен, но если контроллер постоянно виснет, надо лечить именно это.

 

И, кажется мне, различать "прочитали мусор из-за кривого адреса" или "адрес правильный, но прочитали мусор" смысла немного, если оно регулярно происходит из-за внешних помех. Программно это можно попробовать исправить, но это очень сложно - разобрать, что произошло, откатиться назад, попробовать ещё раз. Я, пожалуй, такое не напишу.

Надо железо править (и вероятно, разработчики станка столкнулись с тем же самым, раз всё на корню переделали, аж контроллер поменяли).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, mrVladimir сказал:

Вместо двух "барахлящих" контроллеров приобрели новые этой же фирмы. Вместо LPC там уже STM32.

Однако у той конторы выигрышная маркетинговая стратегия: "Делаем кривое поделие и за счёт этого увеличиваем свои продажи".  :biggrin:

Имхо - после таких багов (отказ трети всех устройств всего через год штатной эксплуатации) я бы вообще не стал связываться с изделиями той конторы.

6 минут назад, esaulenka сказал:

Надо железо править (и вероятно, разработчики станка столкнулись с тем же самым, раз всё на корню переделали, аж контроллер поменяли).

Не факт. Возможно старая баго-команда у них уволилась и набрали новую, из кубокодеров, которые кроме кубокодерства больше ничего не умеют. Вот и прошлось МК менять. :dash2:

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 hours ago, esaulenka said:

Да какая разница?

Для промышленных устройств он должен быть задействован.

3 hours ago, esaulenka said:

но если контроллер постоянно виснет

Разве постоянно??? Как я понял - периодически. Ведь на лабораторном столе у человека всё работало.

3 hours ago, esaulenka said:

лечить именно это

С этим никто и не спорит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

14 minutes ago, haker_fox said:

Для промышленных устройств он должен быть задействован.

Ну вот он и задействован:

19 hours ago, mrVladimir said:

начали вести себя неадекватно. То путают инструмент, то не проходит какая-либо из М-команд

Если НЕ задействовать, просто виснет через N минут работы, насколько я понял (и именно это я назвал "постоянно").

Какое поведение лучше, сходу сказать сложно...

 

Спорить прекращаю. Нужен Вам ватчдог - используйте. Верите что он от всего спасает - верьте.

 

 

19 hours ago, mrVladimir said:

 2) для того, чтобы прописать функцию обработки прерывания типа UNDEF, PREFETCH ABORT, DATA ABORT необходимо это сделать в стартапе?

Нужно в стартапе (или в map-файле) посмотреть, как должен называться этот обработчик, и в самом обычном сишном файле написать функцию void имя-обработчика(void).

Не помню, как там в IAR'е сделано было, но все приличные люди в этом случае подменяют реализацию со стандартной на пользовательскую.

В сишнике уже можно писать что угодно, в принципе - например, ножками дрыгать.

Но по-хорошему, от этого обработчика требуется сохранить где-нибудь текущее состояние регистров и вершину стека - это придётся писать на ассемблере...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

43 minutes ago, esaulenka said:

Верите что он от всего спасает - верьте.

Какую-то чепуху говорите. Извините за резкость. Да ещё и веру мне навязываете, которой у меня и нет.

44 minutes ago, esaulenka said:

Спорить прекращаю.

Ну если вы спорили, то прекращайте. Я же спорить не имел умысла.

4 hours ago, esaulenka said:

Надо железо править (и вероятно, разработчики станка столкнулись с тем же самым, раз всё на корню переделали, аж контроллер поменяли).

Вот здесь я с вами совершенно согласен. Если железо ненадёжно, то смысл заниматься обработчиками совершенно отсутствует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 hours ago, mrVladimir said:

Задача этих контроллеров на станке -   смена инструмента и отработка технологических команд, таких как включение эмульсии, шпинделя, выбор диапазона вращения шпинделя и т.п.

 

20 hours ago, mrVladimir said:

Разобравшись со схемотехникой (набор резисторов и оптронов), решил написать свою программу для данного контроллера. Купили новый LPC2214. Запаял на место старого. Скачал IAR Embedded. Пару недель ушло на знакомство с основами и через месяц родил программу, которая была залита в контроллер с помощью Flash Magic (через UART).

Вы однако смелый человек :) Если ваша программа включит шпиндель, выключит подачу эмульсии и повиснет, кто будет платить за загубленный станок (а возможно ещё и за восстановление цеха, где он стоял)?

Может вы сначала потренируетесь на чём нибудь менее опасном?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

49 минут назад, xvr сказал:

Может вы сначала потренируетесь на чём нибудь менее опасном?

Да я   и "тренируюсь" на пока простаивающем станке; под постоянным контролем. А "фирменные" контроллеры, как уже выяснено, также не очень надежны. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 minute ago, mrVladimir said:

А "фирменные" контроллеры, как уже выяснено, также не очень надежны. 

А вот здесь огромное заблуждение. Вы не можете утверждать так, попробовав контроллер только одной фирмы. Если бы ваше утверждение соответствовало истине, то тысячи станков бы во всём мире постояннго выходили из строя. Я сильно сомневаюсь, что вы сможете сделать надёжное изделие. Вы только подумайте, как будете тестировать своё по? Как будете проверять железо контроллера на помехуостойчивость (наносекунды, микросекунды, статика и т.п.)? Без этого вы в один прекрасный момент долбанёте "головой" (вы ведь в курсе о чём я?) о стол. И кто будет платить за ущерб? Если ваши станки работают на производстве, то вам следует использовать аппробированное оборудование.

Ну и покупать оборудование нужно у официального дилера проверенной фирмы, а не радиорынке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо вам всем за советы и за заботу, но тему я создал только для того, чтобы прояснить вопросы программирования для себя. И свою историю написал больше для понимания моего небольшого  уровня в этом деле. А вопросы политики обсуждать я не хотел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 minutes ago, mrVladimir said:

А вопросы политики обсуждать я не хотел.

А здесь и не политический форум. Никто и не собирается в техническом топике этим заниматься. Но есть люди, которые проходили опыт, подобный вашему. И они делятся этим опытом с вами. Ваш же уровень мне, например, неизвестен. На форуме вы можно сказать "со вчера". Но по тому вопросу, который вы задали, и как вы его задали, я сделал вывод, что вы не совсем опытный разработчик. Вот и счёл нужным предупредить вас о в озможных проблемах.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

 

2 минуты назад, haker_fox сказал:

А здесь и не политический форум. Никто и не собирается в техническом топике этим заниматься.

Вы меня не так поняли. Я под политикой имел ввиду что и у кого покупать. За предупреждение спасибо. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

3 minutes ago, mrVladimir said:

Вы меня не так поняли.

Я вас понял совершенно правильно. Но ответил "игрой слов".

3 minutes ago, mrVladimir said:

Я под политикой имел ввиду что и у кого покупать.

Ок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 7/26/2019 at 7:48 PM, mrVladimir said:

Да я   и "тренируюсь" на пока простаивающем станке; под постоянным контролем.

Вы не из Челябинска случайно? Только Суровые Челябинские Програмисты могут использовать в качестве отладочных плат MCU металообрабатывающие станки (пусть даже и простаивающие). Остальной мир начинает осваивать новые для себя области embedded программирования с мигания светодиодиком :)

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...