Форум Микро-Чип
Поиск и заказ электронных компонентов
 

Вернуться   Форум Микро-Чип > Продукция MICROCHIP

Продукция MICROCHIP Технические вопросы по всей продукции Microchip

Ответ
 
Опции темы Опции просмотра
Старый 25.03.2020, 18:08   #51
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 110
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

anatoly22 - спасибо!
А тоя думал я тут один такой "рыжий".
Нашел поделку на PIC24HJ128GP502, попробую там, отпишусь.
alex_zas вне форума   Ответить с цитированием
Старый 25.03.2020, 19:21   #52
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 110
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

На PIC24HJ128GP502 приведенный упрощенный пример тоже вызывает ошибку.
alex_zas вне форума   Ответить с цитированием
Старый 26.03.2020, 10:11   #53
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Повторил проект для PIC24FJ256GA702.
Действительно, даже при сохранении контекста ошибка не исчезает.
Стал разбираться с отладчиком предметно. Обнаружил, что при выходе в прерывание при RCOUNT=0 (то есть до выполнения последнего повторения), происходит сбой и инструкция повторяется еще два раза.
Открыл мануал на CPU (тот о котором вел речь выше) и обнаружил некоторые особенности для процедуры RAW (чтение после записи), когда конвейер вставляет "пузырьки", чтобы следующая команда могла получить результат предыдущей при косвенной адресации.
Кроме этого, не поддерживаются все RMW команды в пространстве EDS находящиеся под инструкцией repeat.
Прямого указания на запрет байтных инструкций под repeat в связи с прерываниями я не нашел, но полагаю, что есть сложная цепочка причин, по которой выше названные особенности ALU создают проблемы при прерывании repeat.
Так же, в мануале по программированию (это где расписана программная модель и даны описания всех инструкций) в описании ВСЕХ ВИДОВ инструкций repeat нет примеров с байтными операциями под repeat.
Хотя обычно примеры всегда содержат байтные варианты инструкций, если таковые есть.
Вопрос оказался достаточно мутный, но для него очевиден work around - не использовать байтовые инструкции под repeat.
Замена в проекте байтной инструкции на полное слово убирает ошибку.
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 10:26   #54
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

ЗЫ. К слову, байтная команда не требующая для следующей результата предыдущей (например clr.b [W1++] так же ошибку не вызывает.
Такшта запрет не категоричный...
Ну еще можно запретить прерывания на время исполнения цикла через инструкцию disi #N

Последний раз редактировалось Марк; 26.03.2020 в 10:35.
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 12:45   #55
SergP01
Senior Member
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 935
Вес репутации: 501/41
SergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of light
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от Марк Посмотреть сообщение
Прямого указания на запрет байтных инструкций под repeat в связи с прерываниями я не нашел
....
Замена в проекте байтной инструкции на полное слово убирает ошибку.
у топикастера, в последнем примере не байтова операция..

может NOP куда то воткнуть надо?

может тут бага-фича?
Цитата:
Note 1: If a REPEAT loop is executing and gets interrupted, COUNT may be cleared by
the Interrupt Service Routine (ISR) to break out of the REPEAT loop when the
foreground code is re-entered.

Последний раз редактировалось SergP01; 26.03.2020 в 12:55.
SergP01 на форуме   Ответить с цитированием
Старый 26.03.2020, 13:09   #56
SergP01
Senior Member
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 935
Вес репутации: 501/41
SergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of light
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от Марк Посмотреть сообщение
Ну еще можно запретить прерывания на время исполнения цикла через инструкцию disi #N
это....ммм... странный подход.... а ежели цикл очень длинный?
типа всем стоять-я тут таблицу синусов заполняю на пару мегабайт

неее... прерывания должны работать- на то они и прерывания... это только в очень временнозависимом месте их можно запрещать... или при модификации служебных регистров....
SergP01 на форуме   Ответить с цитированием
Старый 26.03.2020, 13:26   #57
SergP01
Senior Member
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 935
Вес репутации: 501/41
SergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of light
По умолчанию Re: Непонятка с прерываниями в PIC24...

кстати, интересно на С - это проверить.... за одно и посмотреть как этот код компилятор сделает...
SergP01 на форуме   Ответить с цитированием
Старый 26.03.2020, 13:48   #58
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
у топикастера, в последнем примере не байтова операция..

может NOP куда то воткнуть надо?

может тут бага-фича?
Милостивые государи, не надо мне морочить голову. У меня для небайтовых операций во всех проектах этих repeat как блох на бродячей собаке. Включая фильтры, если они одноканальные. Для двухканальных требуется инструкция do.
Вот скрины для GA702-го:
Обращаем внимание, что только в одном случае код остановлен на бряке.
Первый скрин - инициализация.

Нажмите на изображение для увеличения
Название: 2020.03.26 13-41-46.jpg
Просмотров: 6
Размер:	210.3 Кб
ID:	11559

Нажмите на изображение для увеличения
Название: 2020.03.26 13-41-09.jpg
Просмотров: 8
Размер:	351.2 Кб
ID:	11560

Нажмите на изображение для увеличения
Название: 2020.03.26 13-39-39.jpg
Просмотров: 6
Размер:	350.1 Кб
ID:	11561

Нажмите на изображение для увеличения
Название: 2020.03.26 13-37-54.jpg
Просмотров: 6
Размер:	354.0 Кб
ID:	11562
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 13:52   #59
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
кстати, интересно на С - это проверить.... за одно и посмотреть как этот код компилятор сделает...
Компилятор не использует repeat и do. По крайней мере, мне лично не удалось это сделать ни разу. Возможно требуется платная версия компиля.
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 14:00   #60
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
это....ммм... странный подход.... а ежели цикл очень длинный?
типа всем стоять-я тут таблицу синусов заполняю на пару мегабайт
....
Каких мегабайт? Вы вообще о чем? Самая большая оперативная память в одноядерных 24/33-их - 59 кбайт.
Максимальное число циклов в команде repeat - 16K или 32К (зависит от семейства).
Есть туева хуча всяких условий, когда нужно запрещать прерывания, включая процедуру самопрограммирования...
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 14:03   #61
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
может тут бага-фича?
Это способ использования repeat с любой вложенностью. Никакого отношения к проблеме не имеет. В мануале по программирования черным по английски про инструкцию repeat прямо написано - интерраптибл.
Нажмите на изображение для увеличения
Название: 2020.03.26 14-06-47.jpg
Просмотров: 4
Размер:	178.7 Кб
ID:	11563
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 14:28   #62
SergP01
Senior Member
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 935
Вес репутации: 501/41
SergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of light
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от Марк Посмотреть сообщение
Каких мегабайт? Вы вообще о чем? Самая большая оперативная память в одноядерных 24/33-их - 59 кбайт.
Максимальное число циклов в команде repeat - 16K или 32К (зависит от семейства).
Есть туева хуча всяких условий, когда нужно запрещать прерывания, включая процедуру самопрограммирования...
я образно выразился
запрещать прерывания уместно только в критических местах...
а не при выполнении каждого репита, если он ерундой занимается..

кстати, топикастер, в своём коде, не жалует NOP....

на ADSP, с этими nop, тоже можно на грабли наступить..... бага-фича конвейера
SergP01 на форуме   Ответить с цитированием
Старый 26.03.2020, 14:48   #63
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
я образно выразился
запрещать прерывания уместно только в критических местах...
Инструкция repeat В СОЧЕТАНИИ с байтовой операцией - это экзотика.
Поэтому можно запретить. Ну или не использовать байтовую операцию. Ну или не использовать repeat.
Никакого бага для небайтовых операций нет и никогда не было.
Ни в одной эррате об этом не написано, как и в мануалах.
16-битники у Микрочипа существуют уже лет 15 минимум. Такшта искать примитивные баги уже поздно. Все давно нашли.
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 15:12   #64
SergP01
Senior Member
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 935
Вес репутации: 501/41
SergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of light
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от Марк Посмотреть сообщение
Инструкция repeat В СОЧЕТАНИИ с байтовой операцией - это экзотика.
.
дык, у топикастера в последнем коде НЕбайтовая операция..... и не работает
SergP01 на форуме   Ответить с цитированием
Старый 26.03.2020, 15:13   #65
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
кстати, топикастер, в своём коде, не жалует NOP....
Какой еще nop? Где его ставить? Команда repeat может содержать только одну повторяющуюся инструкцию. Для повторения более одной инструкции используют команду do, но она есть только в dsPIC-ах.
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 15:19   #66
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
дык, у топикастера в последнем коде НЕбайтовая операция..... и не работает
Я не знаю что у топикстартера. Это его проблемы. Команда repeat c небайтовыми инструкциями всегда работала и работает нормально.
Для непонятливых. Единственное место, где компилятор вставляет repeat и do - это библиотека dsplib. Может расскажете как это все у всех работает?
Как, наконец, у меня работает в полсотне разных серийных устройств и несчитанном числе несерийных?
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 18:30   #67
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 110
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

Что Вы упёрлись в байтовые операции? Я в последней редакции специально изменил байты на слова.
Ошибка есть как с байтами так и со словами.
Попробуйте последнюю редакцию примера.
У меня тоже в коде REPEAT уйма - а проблема почему то только в одном месте (с RLC).
Нужно будет попробовать в примере разные команды, изменяющие содержимое памяти.
Возможно сочетание [Wn],[Wn++] даёт сбой.
А может это китайский Pickit3 косячит?
alex_zas вне форума   Ответить с цитированием
Старый 26.03.2020, 19:23   #68
alex_zas
Senior Member
 
Аватар для alex_zas
 
Регистрация: 17.03.2017
Адрес: Днепропетровск
Возраст: 54
Сообщений: 110
Вес репутации: 185/14
alex_zas has a spectacular aura aboutalex_zas has a spectacular aura about
По умолчанию Re: Непонятка с прерываниями в PIC24...

Марк, я посмотрел Ваши скрины - у Вас REPEAT #3. Почему Вы взяли такое маленькое число повторов? Я точно знаю что в байтовом варианте приведенного примера при размере (mass) и соответственно количестве REPEAT меньше 4 ошибки нет, а если 4 и больше - ошибка есть.
alex_zas вне форума   Ответить с цитированием
Старый 26.03.2020, 22:03   #69
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Вы говорите ерунду. Дело не в количестве повторов, а в ИНТЕРФЕРЕНЦИИ прерываний и окончаний цикла. Мне надоело ловить этот момент на длинных массивах и я сжал масштаб - то есть сократил и число циклов и период сброса таймера. Можете не сомневаться, я проверил на длине массива 128, отчего осталась его зачистка в самом начале...
Результат идентичный.
Строго говоря, я бы не стал вписываться в это обсуждение и эксперименты, если бы речь шла о небайтовых инструкциях. Мне там нечего экспериментировать. Все давно проверено и работает.
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 22:10   #70
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от alex_zas Посмотреть сообщение
Возможно сочетание [Wn],[Wn++] даёт сбой.
В этом разбирайтесь сами.
Могу только сказать, что стандартный КИХ фильтр, который у меня работает чуть больше, чем В КАЖДОМ серийном изделии выглядит как:
Код:
	clr		A, [W8]+=2, W4, [W10]+=2, W5
	repeat  #255
		mac		W4*W5, A, [W8]+=2, W4, [W10]+=2, W5
	sac.r		A, #8, [W0]
Я уже не говорю о куче самых разных других repeat, включая и [Wn],[Wn++]
Например в коде компенсации смещения входного массива АЦП, когда из каждого значения вычитается посчитанный перед этим сдвиг нуля.

Последний раз редактировалось Марк; 26.03.2020 в 22:17.
Марк вне форума   Ответить с цитированием
Старый 26.03.2020, 22:22   #71
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от alex_zas Посмотреть сообщение
У меня тоже в коде REPEAT уйма - а проблема почему то только в одном месте (с RLC).
Я проверял на add.b W2, [W1], [W1++], проверял на inc.b [W1], [W1++] - на любой байтовой инструкции с RAW ошибка возникает, причем строго на фиксированном интервале от начала, для чего у меня в коде есть буфер RCOUNT и счетчик прерываний cnt. Этот интервал зависит от выбранного соотношения длины массива и периода таймера. Если они синхронны, то ошибки не будет.
ЗЫ. Кстати. я в данном случае работал на PICkit4. У него более удобная система бряков.
Марк вне форума   Ответить с цитированием
Старый 27.03.2020, 09:19   #72
SergP01
Senior Member
 
Регистрация: 09.11.2012
Адрес: SPB
Возраст: 52
Сообщений: 935
Вес репутации: 501/41
SergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of lightSergP01 is a glorious beacon of light
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от alex_zas Посмотреть сообщение
Что Вы упёрлись в байтовые операции? Я в последней редакции специально изменил байты на слова.
Ошибка есть как с байтами так и со словами.
Попробуйте последнюю редакцию примера.
У меня тоже в коде REPEAT уйма - а проблема почему то только в одном месте (с RLC).
Нужно будет попробовать в примере разные команды, изменяющие содержимое памяти.
Возможно сочетание [Wn],[Wn++] даёт сбой.
А может это китайский Pickit3 косячит?
пиккит тут не причём....
потанцуйте с бубном... понатыкайте nop...

и вообще - не понимаю я консерваторов-мазохистов, которые сейчас на ASM пишут... Это с древних времён тянется, когда памяти мало было и частоты маленькие... сейчас то зачем?
ежели, есть критический по времени участок- делайте вставку на ASM(мне такого не попадалось).

у меня знакомый, консерватор, перешёл с блекфина на стм... всю свою прогу на ASM-заново переписывал...
99% кода- это обработка полученных данных... сейчас, с обьёмами памяти и частотами, ИМХО, нет смысла заморачиваться с ASM... да и переносимость, на С, отличная....

для ваших RS-ов... пишите на С и не парьтесь

и по скорости хватит и памяти меньше 50% будет занято
SergP01 на форуме   Ответить с цитированием
Старый 27.03.2020, 10:06   #73
besogon
Senior Member
 
Регистрация: 12.07.2012
Возраст: 33
Сообщений: 2,220
Вес репутации: 4181/92
besogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond reputebesogon has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Марк
Если они синхронны, то ошибки не будет. - вроде бы выяснили, что ошибка в конвеере pic24.

Ошибка есть, просто в каких-то случаях она не проявляется.
besogon вне форума   Ответить с цитированием
Старый 27.03.2020, 11:22   #74
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от besogon Посмотреть сообщение
вроде бы выяснили, что ошибка в конвеере pic24.
Ошибки конвейера нужно фиксить. Я обратился к Илье за помощью с обсуждаемой проблемой.
ЗЫ. Нашел комбинацию периода таймера и длины массива при котором ошибка появляется и для полных инструкций.
ЗЗЫ. Самый простой ворк эраунд - удлинить массив на один элемент. Типо защитный...
Марк вне форума   Ответить с цитированием
Старый 27.03.2020, 11:40   #75
Марк
Senior Member
 
Аватар для Марк
 
Регистрация: 18.08.2007
Адрес: Московская область
Возраст: 60
Сообщений: 2,870
Вес репутации: 3951/114
Марк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond reputeМарк has a reputation beyond repute
По умолчанию Re: Непонятка с прерываниями в PIC24...

Цитата:
Сообщение от SergP01 Посмотреть сообщение
понатыкайте nop...
и вообще - не понимаю я консерваторов-мазохистов, которые сейчас на ASM пишут...
Для конкретно PIC24/dsPIC33 нет никакого мазохизма. Платформа очень дружелюбна для написания кода на АСМе.
Это упрощает разного рода задачи, связанные с нестандартной компоновкой кода, задачи с использованием МК на предельных скоростях, а так же решает финансовые проблемы связанные с легальным компилятором. Последнее сейчас немаловажно. Покупать годовую лицензию не всегда продуктивно, тем более, что апгрейд прошивки идет достаточно регулярно и помесячной лицензией не обойтись. Работать на кряках я, лично, права не имею.
Марк вне форума   Ответить с цитированием
Ответ

Метки
pic24, repeat, прерывания


Здесь присутствуют: 2 (пользователей: 1 , гостей: 1)
satvga
Опции темы
Опции просмотра

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
PIC24 + UART проблема с TX прерываниями k-o-l-y-a Продукция MICROCHIP 8 07.05.2010 19:19
PIC24, непонятка с TMR1 Troydon Продукция MICROCHIP 0 10.11.2009 23:33
PIC24 и CCD-матрица gontharov Продукция MICROCHIP 23 30.10.2008 09:19
CCS для PIC24 Alexey Belodvortsev Продукция MICROCHIP 2 10.02.2008 10:32
PIC24 viael Продукция MICROCHIP 3 02.06.2007 22:44


Часовой пояс GMT +3, время: 17:35.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd. Перевод: zCarot