реклама на сайте
подробности

 
 
> Доступ к EEPROM в IAR, ЗАпрещены ли прерывания в программе на момент чтения EEPROM в IAR
Sergio66
сообщение Jan 26 2006, 10:07
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 235
Регистрация: 9-02-05
Пользователь №: 2 526



Подскажите, пожалуйста, на время доступа к переменным в EEPROM IARовский компиллятор запрещает прерывания или нет??? Проблема в том, что в программе, когда работает основной ее цикл, каким то образом портится одна и та же ячейка памяти в EEPROM. При этом, программа только читает EEPROM. В том числе и данную ячейку.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
miv
сообщение Jan 26 2006, 14:16
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 41
Регистрация: 29-08-05
Из: С-Петербург
Пользователь №: 8 055



"Сколько времени работаю с 'IAR Embedded Workbench 4.10B' и никаких проблем не возникало... Незнаю, как Вы работаете с EEPROM, а я предпочитаю не мудрить и использовать чтение/запись, как к обычным переменным объявленные в EEPROM. Просто посмотрите свой ассемблерный код после компиляции и все станет ясно, что на 'автомате' запрещение и разрешение прерываний там не генерируется. А в прерываниях на которые Вы сетуете необходимо учитывать автоматическое запрещение при входе в прерывание."

Да ну ! Насколько я помню аж в 2.28 ну может в 3.10 при таком способе общения с EEPROM компиллер вставляет вызов подпрограмки (встроенной) в которой он и запрещает прерывания !
Go to the top of the page
 
+Quote Post
BVU
сообщение Jan 26 2006, 15:11
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 301
Регистрация: 30-11-04
Из: Россия, Н.Новгород
Пользователь №: 1 264



Цитата(miv @ Jan 26 2006, 17:16) *
"Сколько времени работаю с 'IAR Embedded Workbench 4.10B' и никаких проблем не возникало... Незнаю, как Вы работаете с EEPROM, а я предпочитаю не мудрить и использовать чтение/запись, как к обычным переменным объявленные в EEPROM. Просто посмотрите свой ассемблерный код после компиляции и все станет ясно, что на 'автомате' запрещение и разрешение прерываний там не генерируется. А в прерываниях на которые Вы сетуете необходимо учитывать автоматическое запрещение при входе в прерывание."

Да ну ! Насколько я помню аж в 2.28 ну может в 3.10 при таком способе общения с EEPROM компиллер вставляет вызов подпрограмки (встроенной) в которой он и запрещает прерывания !

Согласен, ошибался... sad.gif нашел 'злачное место' в коде:
\ ?Subroutine23:
\ 00000000 94F8 CLI
\ 00000002 2D07 MOV R16, R7
\ 00000004 .... LDI R20, LOW(e_pressure)
\ 00000006 .... LDI R21, (e_pressure) >> 8
\ 00000008 .... RCALL __eeput8_16
\ 0000000A 9478 SEI
\ 0000000C 9508 RET
но как я понимаю эта процедура лишь для записи в eeprom...


--------------------
Не корысти ради, не в целях наживы, а во исполнение велений души!
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Sergio66   Доступ к EEPROM в IAR   Jan 26 2006, 10:07
- - BVU   Цитата(Sergio66 @ Jan 26 2006, 13:07) Под...   Jan 26 2006, 10:43
- - Sergio66   А есть ли возможность перекомпиллить данные библио...   Jan 26 2006, 11:08
|- - GxOST   Во-первых, там все учтено. По крайней мере, в верс...   Jan 26 2006, 11:34
|- - BVU   Цитата(GxOST @ Jan 26 2006, 14:34) Во-пер...   Jan 26 2006, 14:01
- - andk   Эти функции не библиотечные. Они описаны и реализо...   Jan 26 2006, 11:26
- - miv   Компиллер от IAR при обращении к переменным которы...   Jan 26 2006, 11:33
- - KRS   Так если программа только читает еепром зачем запр...   Jan 26 2006, 12:06
- - Sergio66   Вопрос возник всвязи с тем, что переменная в EEPRO...   Jan 26 2006, 12:16
- - miv   Дык каков размер CSTACK, сколько байт ?   Jan 26 2006, 12:51
- - Sergio66   Размер CSTACK = 0х170 байт. Взял я этот размер из ...   Jan 26 2006, 12:56
- - miv   Если вложенных прерываний не городили ! То так...   Jan 26 2006, 13:06
- - Sergio66   В том то и дело, что проект очень сложный и большо...   Jan 26 2006, 13:10
- - Sergio66   Да, у меня в программе есть место, где в функции о...   Jan 26 2006, 13:25
- - miv   Тогда нужно быть уверенным наверняка что в момент ...   Jan 26 2006, 13:41
- - Sergio66   А если представить ситуацию, при которой происходи...   Jan 26 2006, 14:29
|- - KRS   Цитата(Sergio66 @ Jan 26 2006, 17:29) А е...   Jan 27 2006, 07:44
- - miv   Дык я про это и толкую !   Jan 26 2006, 14:40
- - IgorKossak   Я уже подробно говорил об этом. В аттаче см. испра...   Jan 27 2006, 12:54
- - Sergio66   Замечательная дискуссия! Спасибо всем. Я уже р...   Jan 27 2006, 18:12
- - defunct   Я бы на Вашем месте, учитывая что обращения к EEPR...   Jan 27 2006, 18:38
- - sz36   IAR C не только не запрещает прерывания при обраще...   Jan 28 2006, 12:41
- - vet   sz36 4-й выход - перейти на CodeVision   Jan 28 2006, 17:10


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 14:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01423 секунд с 7
ELECTRONIX ©2004-2016