Миландр

Ключевым подразделением нашей компании
является Центр Проектирования интегральных микросхем
Текущее время: 2020-июл-09 17:56

Часовой пояс: UTC+03:00




Начать новую тему  Ответить на тему  [ 68 сообщений ]  На страницу « 1 2 3 4 5 »
Автор Сообщение
СообщениеДобавлено: 2012-апр-11 15:47 
Не в сети

Зарегистрирован: 2009-май-22 09:01
Сообщения: 1302
Откуда: АО "ПКК Миландр"
ЧумА писал(а):
Вы им позвоните, практика показывает, что писать бесполезно :(.
В Фитоне были некоторые организационные мероприятия (переезды/переоформления итп), но вроде сейчас уже все нормализовалось. Если не сложно повторите все им.


Вернуться к началу
СообщениеДобавлено: 2012-апр-12 18:58 
Не в сети

Зарегистрирован: 2012-янв-08 17:03
Сообщения: 10
Я вчера связался непосредственно с Вячеславом Красновым, представителем Фитона с которым ранее уже имел дело, и это значительно ускорило решение моего вопроса.

Вот что сегодня ответили по существу моей проблемы:
"Вы пытаетесь отлаживать программу, использующую IWDG. К сожалению
микроконтроллеры 1986be9x не позволяют проводить такого рода отладку, т.к.
не предусмотрена возможность заморозки сторожевого таймера на время
останова выполняемой программы. Вследствие этого происходит ресет
контроллера в останове, что недопустимо (в останове допускается только
ресет, подаваемый самим отладчиком), и из-за чего нарушается обмен между
отладочиком и контроллером.

Сам по себе ресет у данного контроллера тоже заслуживает отдельного
внимания. Дело в том, что на время подачи ресета останавливаются все
источники тактирования контроллера, вследствие чего отладочный интерфейс
контроллера ведет себя "странным образом", выдавая сообщения, не
предусмотренные протоколом обмена. Если в качестве интерфейса выбран JTAG,
то ситуация не сильно катастрофична. Удалось за счет увеличения таймаута
ожидания ответа от контроллера добиться устойчивой работы отладчика при при
ресетах (во время выполнения программы) длительностью порядка 2-3-х секунд
и меньше. Если в качестве отладочного интерфейса выбран SWD, то в этом
случае с большой вероятностью ресет приведет к аппаратной ошибке. Причем
установить истинную причину этой ошибки невозможно, т.к. отладочный
интерфейс на время ресета полностью блокирован и нет возможности вычитать
значения статусных регистров отладочного модуля контроллера.

Касательно Вашей ситуации могу порекомендовать только одно: не используйте
во время отладки IWDG."


Вернуться к началу
 Заголовок сообщения: Re:
СообщениеДобавлено: 2012-окт-31 15:11 
Не в сети

Зарегистрирован: 2011-май-26 07:22
Сообщения: 16
ASavit писал(а):
luden писал(а):
Отладочные платы Milandr 1986ВЕ91Т. После установки CodeMaster-ARM и загрузки примера Milandr 1986 Phyton CMC-ARM C Compiler: LCD, PORTs and SysTick interrupts using (Milandr 1986BE91 evaluation board needed). При попытке загрузки отладчика JTAG-эмулятор JEM-ARM-2, выдаётся аппаратная ошибка #0x0117 (отсутствует питание в домене Debug целевого микроконтроллера). При попытке залития прошивки, выдаётся две неуказываемых ошибки.
Следовал инструкциям квикстарта. Что я делаю не так?
Нам удалось исследовать ситуацию, очень похожую на описанную Вами.
Обнаружена следующая причина возникновения 0x0117 ошибки во время запуска отладчика.
После программирования микроконтроллера в его флэш-памяти образовался код, который, будучи выполненным, блокирует работу отладочного модуля микроконтроллера. Т.е. в Вашем случае запрограммировалось не то, что должно было программироваться. Из-за ошибки в CodeMaster-ARM v2.25.01 такая ситуация вполне вероятна.
Чтобы разблокировать микроконтроллер нужно запретить ему выполнять код из флэш-памяти. Для этого:
1. На Вашей плате при отключенном питании нужно выбрать вариант загрузки из внешней памяти - EXT_ROM/JTAG_B (переключатели SW1, SW2, SW3 в положении 0, 1, 0).
2. Подключить отладчик к разъему JTAG_B.
3. Подать питание на плату.
4. Подключить отладчик к USB.
5. Запустить CodeMaster-ARM версии 2.25.02 или выше (скачать можно с сайта Фитона).
6. Выполнить команду стирания флэш-памяти - меню "Отладка" / "Стереть флэш-память".
После этого можно завершить работу с CodeMaster-ARM, отключить питание от платы, переключателями SW1, SW2, SW3 выбрать прежний режим загрузки и подключить отладчик к соответствующему разъему (JTAG_A или JTAG_B), подать питание на плату.
Теперь можно запустить CodeMaster-ARM и снова загрузить демонстрационный пример. Теперь должно работать.

Здравствуйте! Ситуация схожа. Только на разработанной плате для 1986ВЕ92У предусмотрен лишь разъем JTAGA. Что делать если нет JTAGB? Выводы MODE1..MODE0 подтянуты к "0" и "1" соответственно.

_________________
#include <brain.h>


Вернуться к началу
СообщениеДобавлено: 2012-окт-31 20:25 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 540
Не "Фитон", но отвечу:
1 Без манипуляций с MODE практически не обойтись :(
2 Вариант №1 - установить MODE в режим загрузки по UART, по работе с загрузчиком есть на форуме.
3 Вариант №2 - установить MODE в JTAGB, и кинуть провода на В от А. Достаточно только SWD. Мешающееся на ногах В - временно отрезать. Нам на ВЕ91 пришлось временно отрезать входы АЦП :(.

Если повезёт, т.е. код блокирующий JTAG запускается не сразу, то можно попробовать дать команду СТЕРЕТЬ по А как можно быстрее после подачи питания.


Вернуться к началу
СообщениеДобавлено: 2012-ноя-02 07:28 
Не в сети

Зарегистрирован: 2011-май-26 07:22
Сообщения: 16
Интересно, а аппаратная ошибка #0x0105 Code Master "Обнаружен разрыв цепи TDI-TDO при определении
длины регистра IR интерфейса JTAG." при использовании JEM-ARM-V2 с чем может быть связана. Подключить использование JTAG B нельзя, т.к. топология платы не позволяет вмешиваться. Прикрепляю файл, если кто даст дельный совет - буду благодарен. Для данной схемы сделана доработка: на MODE0 ч/х резистор 10кОм подаю 3,3В, на MODE1 - ч/з резистор 20кОм - GND. Есть ли шанс запустить процесс программирования для текущей конфигурации? Вроде всё делалось согласно принципиальной схеме на демоплату.


Вложения:
Комментарий к файлу: принципиальная схема
[ attachment ]
picture.jpg [ 578.29 КБ | 13599 просмотров ]

_________________
#include <brain.h>
Вернуться к началу
СообщениеДобавлено: 2012-ноя-02 08:40 
Не в сети

Зарегистрирован: 2009-сен-21 12:39
Сообщения: 540
Цитата:
Подключить использование JTAG B нельзя, т.к. топология платы не позволяет вмешиваться.
У Вас что, микросборка? Для подключения по SWD нужно кинуть три провода на TCLK, TMS, TDO. Из трёх указанных две ноги по Вашей схеме - свободные. Третью (кажется, TMS) поднять над платой и одеть кембрик.


Вернуться к началу
СообщениеДобавлено: 2012-ноя-02 10:14 
Не в сети

Зарегистрирован: 2011-май-26 07:22
Сообщения: 16
ЧумА писал(а):
Цитата:
Подключить использование JTAG B нельзя, т.к. топология платы не позволяет вмешиваться.
У Вас что, микросборка? Для подключения по SWD нужно кинуть три провода на TCLK, TMS, TDO. Из трёх указанных две ноги по Вашей схеме - свободные. Третью (кажется, TMS) поднять над платой и одеть кембрик.
...Спасибо, помогло! МODE ставлю в конфигурацию 11, инициализация проходит успешно. Разбираемся дальше...

_________________
#include <brain.h>


Вернуться к началу
СообщениеДобавлено: 2012-дек-06 14:35 
Не в сети

Зарегистрирован: 2012-окт-27 14:18
Сообщения: 28
Доброго времени суток.
Вопрос может быть детский, но все же.
Пишу на Си. А компилятор игнорит функцию, ладно бы только мою. А он посягает на NVIC_EnableIRQ() (из core_cm3.h).
Можно ли это обойти, не меняя оптимизацию компилятора?
(я т конечно вытянул содержимое этой функции и сам биты переключил, и это скорее спортивный интерес)


Вернуться к началу
СообщениеДобавлено: 2012-дек-10 11:50 
Не в сети
Moderator

Зарегистрирован: 2010-мар-31 10:44
Сообщения: 54
Откуда: ООО "Фирма Фитон"
Gro48 писал(а):
Пишу на Си. А компилятор игнорит функцию, ладно бы только мою. А он посягает на NVIC_EnableIRQ() (из core_cm3.h).
Можно ли это обойти, не меняя оптимизацию компилятора?
Что значит "игнорирует" - не генерирует код? Вы смотрели в дизассемблере получившийся код.
Выложите, пожалуйста пример проекта, где это проявляется.
NVIC_EnableIRQ() - описана как inline-функция. Если она нигде не вызывается и ее адрес нигде не используется, то и код для нее генерироваться не должен.


Вернуться к началу
СообщениеДобавлено: 2012-дек-11 21:40 
Не в сети

Зарегистрирован: 2012-дек-11 21:35
Сообщения: 170
Организация: ...
Откуда: Казань
Непонятно почему при отладке клавишами F10 и F11 все равно выполняется заход в подпрограмму. Используется JEM ARM-V2.


Вернуться к началу
СообщениеДобавлено: 2013-фев-01 14:32 
Не в сети

Зарегистрирован: 2012-окт-03 14:40
Сообщения: 23
8daemon писал(а):
Непонятно почему при отладке клавишами F10 и F11 все равно выполняется заход в подпрограмму. Используется JEM ARM-V2.
Поддерживаю, таже самая принеприятность.


Вернуться к началу
 Заголовок сообщения: Re:
СообщениеДобавлено: 2015-сен-28 14:40 
Не в сети

Зарегистрирован: 2015-сен-28 13:46
Сообщения: 5
ASavit писал(а):
luden писал(а):
Отладочные платы Milandr 1986ВЕ91Т. После установки CodeMaster-ARM и загрузки примера Milandr 1986 Phyton CMC-ARM C Compiler: LCD, PORTs and SysTick interrupts using (Milandr 1986BE91 evaluation board needed). При попытке загрузки отладчика JTAG-эмулятор JEM-ARM-2, выдаётся аппаратная ошибка #0x0117 (отсутствует питание в домене Debug целевого микроконтроллера). При попытке залития прошивки, выдаётся две неуказываемых ошибки.

Следовал инструкциям квикстарта. Что я делаю не так?
Нам удалось исследовать ситуацию, очень похожую на описанную Вами.

Обнаружена следующая причина возникновения 0x0117 ошибки во время запуска отладчика.
После программирования микроконтроллера в его флэш-памяти образовался код, который, будучи выполненным, блокирует работу отладочного модуля микроконтроллера. Т.е. в Вашем случае запрограммировалось не то, что должно было программироваться. Из-за ошибки в CodeMaster-ARM v2.25.01 такая ситуация вполне вероятна.

Чтобы разблокировать микроконтроллер нужно запретить ему выполнять код из флэш-памяти. Для этого:
1. На Вашей плате при отключенном питании нужно выбрать вариант загрузки из внешней памяти - EXT_ROM/JTAG_B (переключатели SW1, SW2, SW3 в положении 0, 1, 0).

2. Подключить отладчик к разъему JTAG_B.

3. Подать питание на плату.

4. Подключить отладчик к USB.

5. Запустить CodeMaster-ARM версии 2.25.02 или выше (скачать можно с сайта Фитона).

6. Выполнить команду стирания флэш-памяти - меню "Отладка" / "Стереть флэш-память".

После этого можно завершить работу с CodeMaster-ARM, отключить питание от платы, переключателями SW1, SW2, SW3 выбрать прежний режим загрузки и подключить отладчик к соответствующему разъему (JTAG_A или JTAG_B), подать питание на плату.

Теперь можно запустить CodeMaster-ARM и снова загрузить демонстрационный пример. Теперь должно работать.

Вляпался в подобную проблему (ошибка 0x0117) с одной лишь разницей. Проблема появилось при прошивке кода, приведенного ниже в кастомную (а не отладочную) плату. Описаное выше решение не подходит ибо сигналы MODE[2:0] = 001 жестко разведены на плате и дорожки находятся под корпуспм микросхемы - доступа к ним нет (не порезать, не подпаяться). Есть ли еще какое нибудь решение (через сигнал RESET например) ? CodeMaster-ARM 2.40.00

#include <types.h>
#include <stdio.h>

void main(void)
{
RST_CLK->PER_CLOCK = 0xFFFFFFFF;
RST_CLK->UART_CLOCK = 0x3000000; //Разрешение тактовой частоты на UART1, UART2, делитель тактовой частоты UART1_CLK=HCLK, UART2_CLK=HCLK

PORTC->FUNC = 0x00000000;
PORTC->ANALOG = 0xFFFFFFFF;
PORTC->OE = 0xFFFFFFFF;
PORTC->PWR = 0x55555555;

PORTC->RXTX = 0x00000000;

//Конфигурируем таймер
RST_CLK->TIM_CLOCK = 0x7000000; // Разрешаем тактирование таймеров, делитель тактовой = 0
TIMER1->CNTRL =0x00000000;
TIMER1->CNT = 0x00000000;
TIMER1->PSG = 0x0;
TIMER1->ARR = 0x0000FFFF;
TIMER1->IE = 0x00000002;
TIMER1->CNTRL = 0x00000001;

__WFI();
}


Вернуться к началу
 Заголовок сообщения: Re: Re:
СообщениеДобавлено: 2015-сен-30 13:53 
Не в сети
Moderator

Зарегистрирован: 2015-июл-09 15:09
Сообщения: 10
Откуда: ООО "Ангиоскан-Электроникс"
mokromax писал(а):
Вляпался в подобную проблему (ошибка 0x0117) с одной лишь разницей. Проблема появилось при прошивке кода, приведенного ниже в кастомную (а не отладочную) плату. Описаное выше решение не подходит ибо сигналы MODE[2:0] = 001 жестко разведены на плате и дорожки находятся под корпуспм микросхемы - доступа к ним нет (не порезать, не подпаяться). Есть ли еще какое нибудь решение (через сигнал RESET например) ? CodeMaster-ARM 2.40.00
Единственное, что можно посоветовать в Вашем случае - отпаять и приподнять соответствующие ножки микросхемы. Далее, следовать описанному выше решению.


Вернуться к началу
СообщениеДобавлено: 2020-май-15 12:15 
Не в сети
Аватара пользователя

Зарегистрирован: 2013-июн-21 15:27
Сообщения: 117
Организация: АО "НПО НИИИП-НЗиК"
Откуда: Новосибирск
Успешно сделали несколько проектов на МК 1986ВЕ91/ВЕ92 в среде CodeMaster-ARM v.2.40.
Теперь хотим разработать проект на МК 1986ВЕ3, но ФИТОН-овская среда про него ничего не знает (версия от 2013 года). На сайте ФИТОН-а есть версия 2.41 (2019-й год), но для неё требуется другой аппаратный ключ, а это почти 100 тыс.руб. Прежде чем заказывать, хочу спросить: кто-то уже пробовал? А то вдруг купим, а с новым МК тоже работать не будет.
Или м.б. кто-то подскажет как в старую среду добавить новый МК?

_________________
Странник


Вернуться к началу
СообщениеДобавлено: 2020-май-15 12:57 
Не в сети

Зарегистрирован: 2009-июл-21 14:13
Сообщения: 1501
Откуда: Тула
stranderer писал(а): *
... На сайте ФИТОН-а есть версия 2.41 (2019-й год), но для неё требуется другой аппаратный ключ, а это почти 100 тыс.руб. Прежде чем заказывать, ...
Мне кажется, что Вам нужно обратиться в ФИТОН с просьбой заменить ключ, т.к., ИМХО, это техническая проблема (изменилась/обновилась система защиты от взлома ПО), а не юридическая (ведь Вы купили программный продукт CodeMaster-ARM (обычно продаётся с сопровождением и поддержкой, а не какой-то конкретной версии).

_________________
сочувствующий…


Вернуться к началу
Показать сообщения за:  Поле сортировки  
Начать новую тему  Ответить на тему  [ 68 сообщений ]  На страницу « 1 2 3 4 5 »

Часовой пояс: UTC+03:00


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти: 

Создано на основе phpBB® Forum Software © phpBB Limited
Русская поддержка phpBB