Jump to content

    
Sign in to follow this  
mrVladimir

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

Recommended Posts

8 hours ago, mrVladimir said:

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

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

8 hours ago, mrVladimir said:

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

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

8 hours ago, mrVladimir said:

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

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

Share this post


Link to post
Share on other sites
26 минут назад, haker_fox сказал:

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

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

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

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

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

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

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

 

Share this post


Link to post
Share on other sites
7 hours ago, haker_fox said:

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

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

 

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

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

Share this post


Link to post
Share on other sites
7 часов назад, mrVladimir сказал:

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

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

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

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

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

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

Share this post


Link to post
Share on other sites
3 hours ago, esaulenka said:

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

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

3 hours ago, esaulenka said:

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

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

3 hours ago, esaulenka said:

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

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

Share this post


Link to post
Share on other sites
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'е сделано было, но все приличные люди в этом случае подменяют реализацию со стандартной на пользовательскую.

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

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

Share this post


Link to post
Share on other sites
43 minutes ago, esaulenka said:

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

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

44 minutes ago, esaulenka said:

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

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

4 hours ago, esaulenka said:

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

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

Share this post


Link to post
Share on other sites
20 hours ago, mrVladimir said:

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

 

20 hours ago, mrVladimir said:

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

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

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

Share this post


Link to post
Share on other sites
49 минут назад, xvr сказал:

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

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

Share this post


Link to post
Share on other sites
1 minute ago, mrVladimir said:

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

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites
10 minutes ago, mrVladimir said:

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

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

 

Share this post


Link to post
Share on other sites

 

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

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

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

Share this post


Link to post
Share on other sites
3 minutes ago, mrVladimir said:

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

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

3 minutes ago, mrVladimir said:

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

Ок.

Share this post


Link to post
Share on other sites
On 7/26/2019 at 7:48 PM, mrVladimir said:

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

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

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this