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

 
 
9 страниц V  « < 6 7 8 9 >  
Reply to this topicStart new topic
> Проблемы с STM8
gyperios
сообщение Aug 30 2010, 09:55
Сообщение #106





Группа: Новичок
Сообщений: 10
Регистрация: 25-08-05
Пользователь №: 7 965



Цитата(sonycman @ Aug 30 2010, 12:49) *
А если найдутся, следующая ревизия тоже Z будет, или ZA? smile.gif


К наименованию добавят букву А и выпустят ревизию Y уже этого наименования. Но это маловероятно.
Go to the top of the page
 
+Quote Post
pan_oleg
сообщение Oct 7 2010, 12:25
Сообщение #107


Частый гость
**

Группа: Участник
Сообщений: 76
Регистрация: 16-11-07
Пользователь №: 32 387



День добрый.
Проблема с приоритетами прерываний.
Нужно, чтоб прерывание от PORTD срабатывало в прерывание от TIM1_OVF.
Строками

ITC_SetSoftwarePriority(ITC_IRQ_PORTD, ITC_PRIORITYLEVEL_2);
ITC_SetSoftwarePriority(ITC_IRQ_TIM1_OVF, ITC_PRIORITYLEVEL_1);

установить приоритет ITC_IRQ_PORTD выше чем в ITC_IRQ_TIM1_OVF не удается.
Для проверки в TIM1_UPD_OVF_TRG_BRK_IRQHandler сделал while(1);
а в EXTI_PORTD_IRQHandler(void) так и не попадаю.
Компил Cosmic.
Посоветуйте что-то.
Go to the top of the page
 
+Quote Post
Waso
сообщение Dec 3 2010, 07:38
Сообщение #108


Местный
***

Группа: Свой
Сообщений: 268
Регистрация: 4-11-05
Пользователь №: 10 470



Судя по ERRATA-м (0_о OMG! WTF! сколько там ошибок!) у них ревизии идут в обратном алфавитном порядке (см. таблицу Product evolution) :
1. Z
2. Y
3. X
....


PS Особенно меня забавляет строчка "Not fixed (no fix planned)"
Go to the top of the page
 
+Quote Post
e-serg
сообщение Dec 3 2010, 17:39
Сообщение #109


Частый гость
**

Группа: Участник
Сообщений: 97
Регистрация: 24-07-08
Из: Иркутск
Пользователь №: 39 180



немного войну начал, штудирую PDF на stm8s903k3 USART1 какое у него прерывание?
в документах DocID15590 Rev 4 стр 37, DocID15590 Rev 5 стр39.
IRQ17, IRQ18 не описаны, но похоже как раз них должен быть.
На сайте ужасный бардак, STVD "sttoolset.exe" не удалось скачать.
по старым ссылкам на сегодня уже недоступен, по новым его еще нет в продаже. cranky.gif
Go to the top of the page
 
+Quote Post
AndRay599
сообщение Apr 30 2011, 23:35
Сообщение #110





Группа: Новичок
Сообщений: 1
Регистрация: 29-04-11
Пользователь №: 64 701



Цитата(ведущий_специалист @ Jul 19 2010, 21:37) *
Всем спасибо за ответы....Разобрался сам. Надо перед стоп было ставить NACK

А подскажите, пожалуйста, поподробнее...Я тоже в том же месте sm.gif
Go to the top of the page
 
+Quote Post
skef
сообщение May 6 2011, 21:55
Сообщение #111


Частый гость
**

Группа: Участник
Сообщений: 85
Регистрация: 29-10-09
Из: брежнев
Пользователь №: 53 292



Недавно взялся за изучение микроконтроллеров STM8.
На данный момент читаю документацию
(programming manual)

там на странице 14 написано:

Global configuration register (CFG_GCR):
The global configuration register is a memory mapped register. It controls the configuration
of the processor. It contains the AL control bit:
● AL: Activation level
If the AL bit is 0 (main), the IRET will cause the context to be retrieved from stack and the
main program will continue after the WFI instruction.
If the AL bit is 1 (interrupt only active), the IRET will cause the CPU to go back to WFI/HALT
mode without restoring the context.
This bit is used to control the low power modes of the MCU. In a very low power application,
the MCU spends most of the time in WFI/HALT mode and is woken up (through interrupts)
at specific moments in order to execute a specific task. Some of these recurring tasks are
short enough to be treated directly in an ISR, rather than going back to the main program. In
this case, by programming the AL bit to 1 before going to low power (by executing WFI/HALT
instruction), the run time/ISR execution is reduced due to the fact that the register context is
not saved/restored each time.

Что я (с помощью переводчика) перевел как:
Глобальный регистр конфигурации.
Расположен в памяти программ. Управляет конфигурацией процессора. Состоит из бита AL.
Когда AL = 0 (основные), возврат из прерывания контекст восстанавливает из стека и продолжает выполнение программы после инструкции WFI.

Когда AL = 1, (только активные прерывания) после команды IRET ЦПУ идет обратно WFI/HALT режим через сохранение контекста.

Этот бит используется для режима энергосбережения ЦПУ. Для очень малопотребляющих приложений, в этом случае MCU проводит большую часть времени в способе WFI/HALT и пробуждается (через перерывы) в определенные моменты, чтобы выполнить определенную задачу. Некоторые из этих возвращающихся задач достаточно короткий, чтобы рассматриваться непосредственно в ISR, вместо того, чтобы возвратиться к главной программе. В этом случае, программируя AL = 1, контекст не будет восстанавливаться, и как следствие, длительность обработчика уменьшится.

В связи с этим вопросы:
1) Для чего используется этот бит (из перевода это не очень ясно)?
2) Что такое ISR?
3) Чем отличается сохранение контекста при AL = 0/1?
4) Связано ли это (и как) с приоритетом прерываний?

Сообщение отредактировал skef - May 6 2011, 22:58


--------------------
на любой элемент найдется мощность, которая его сожжет.
Go to the top of the page
 
+Quote Post
_Bill
сообщение May 8 2011, 18:14
Сообщение #112


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(skef @ May 7 2011, 01:55) *
Глобальный регистр конфигурации.
Расположен в памяти программ. Управляет конфигурацией процессора. Состоит из бита AL.
Когда AL = 0 (основные), возврат из прерывания контекст восстанавливает из стека и продолжает выполнение программы после инструкции WFI.

Когда AL = 1, (только активные прерывания) после команды IRET ЦПУ идет обратно WFI/HALT режим через сохранение контекста.

Этот бит используется для режима энергосбережения ЦПУ. Для очень малопотребляющих приложений, в этом случае MCU проводит большую часть времени в способе WFI/HALT и пробуждается (через перерывы) в определенные моменты, чтобы выполнить определенную задачу. Некоторые из этих возвращающихся задач достаточно короткий, чтобы рассматриваться непосредственно в ISR, вместо того, чтобы возвратиться к главной программе. В этом случае, программируя AL = 1, контекст не будет восстанавливаться, и как следствие, длительность обработчика уменьшится.

В связи с этим вопросы:
1) Для чего используется этот бит (из перевода это не очень ясно)?
2) Что такое ISR?
3) Чем отличается сохранение контекста при AL = 0/1?
4) Связано ли это (и как) с приоритетом прерываний?

Ну, ISR (Interrupt Service Routine) - Процедура Обработки Прерываний (ПОП). Обычно в тех случаях, когда требуется уменьшить потребляемую мощность используются инструкции WFI/HALT, после выполнения которых процессор впадает в "спячку". "Разбудить" процессор можно по сигналам прерываний. И обычно после обработки прерывания процессор возвращается к основной программе. Однако если все действия программы выполняются в ПОП, то после завершения ПОП целесообразно вернуть процессор снова в состояние "спячки", а не в основную программу. Для этой цели и используется бит AL. Если процессор после выхода из ПОП снова "засыпает, то сохранение контекста в ПОП становится уже ненужным. О приоритете прерываний в данном случае ничего не говорится, поэтому, на мой взгляд, с приоритетом прерывания это никак не связано. По-моему, так. Или нет?
Go to the top of the page
 
+Quote Post
ReAl
сообщение May 8 2011, 20:44
Сообщение #113


Нечётный пользователь.
******

Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417



Да вроде так. По крайней мере, я на р.коте ~так же ответил :-)


--------------------
Ну, я пошёл… Если что – звоните…
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jul 18 2011, 16:35
Сообщение #114


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Странно, переношу проект с discovery на сделанное железо на STM8S105k6t6c.
Эффект такой-же, больше года назад - порты на вывод не включаются.
Кристаллы новые, и коллеги вроде их используют.
Питание портов на 5V
Что-то тут в консерватории sad.gif

--------------------------------------

Разобрался - RTFM. Забыл принудительно включить верхние транзисторы.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Aug 17 2011, 06:53
Сообщение #115


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Работаю с одним заказчиком с 2001 года. За это время ни разу не срывал сроки. Это получило и оборотную сторону ... Они стали всё меньше времени выделять на проект + затягивать с изготовлением железа + уменьшать размер вознаграждения ...
На последний проект было выделено неделя ... Микроконтроллер был заложен новый .... перспективный .... короче наслушался я победоносных реляций ... stm8s208s6 ...
Купил дискавери ... собрал простенький (свой) проект на IAR1.3 ... вошёл в отладку ... отладил... успокоился ... отломал дискавери ...
Написал сам проект на 208 ... приступил к отладке ....
Три дня - у меня уже всё в мыле ... проклинаю всё на свете ...
====
Проект компилится ... при попытке входа в отладчик пишет что файл повреждён либо имеет неправильный формат ... Понятно что с файлом всё Ок. В симулятор с этим файлом всё прекрасно входит .... При этом st-link довольно долго мигает и потом загорается светодиод на постоянку ... Если выйти из IAR, то светодиод гаснет.
ST programmer при попытке залить hex файл делает примерно тоже - мигает светодиод... зажигается на постоянку... приложение вываливается без всяких сообщений, как будто я его закрыл ... Такое происходит даже если я просто хочу изменить адреса программирования ...
Для простоты картины собрал минимальный проект где трудно ошибиться ... ~250 байт - всё тоже самое ... Также себя ведёт и ST шный отладчик ...
Сегодня подкину 105 кристал из дискавери, но думаю что с ним всё будет работать ...
====
Грядёт дикая буча ... В пятницу приезжает заказчик из украины (заказчик моего заказчика )))) ). Конечно, мне собственно пофигу, но просто очень неприятно ... это же я посоветовал КРАСИВЫЙ кристалл применить... Понятно что сейчас делают кроссплату по-быстрому либо с stm32 либо с at90can128 - я им на выбор предложил ...
====
Кто что может подсказать ... Особенно меня интересует есть ли люди работавшие с stm8s208 кристаллами. У меня ревизия X.
Могу попробовать отладить без отладчика, хотя будет очень сложно ... Киньте ссылку на загрузчик по COM ...
====
Ещё один момент меня настораживает ... На кристалле имеется генерация на кварце ... Сие мне непонятно ...
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 17 2011, 07:21
Сообщение #116


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(SasaVitebsk @ Aug 17 2011, 09:53) *
На кристалле имеется генерация на кварце ...

О, а я так и не запустил генерацию на кварце. Отправил на встроенном генераторе.

Сыровато все для того, чтобы сляпать проект за неделю, ИМХО, тем более не читая документацию, а следуя общей логике.
Взять те же GPIO - после сброса работает только pull-down. Ну не бред ли?

Сообщение об испорченном файле вываливалось и у меня на 105 кристалле. Кристалл должен отлежаться пару минут без питания. Похоже, причина, как в MSP430 с его фальшивыми сообщениями о пережигании защитной перемычки - в каких-то внутренних перезарядах и некорретностях поддержки JTAG.

Ну а в целом по поводу отладки - действительно, родной Дискавери работал более стабильно. Но если добиться перелома в проекте, то отладка особенно и не нужна.

Можно жить. Но лучше бы я STM32 заложил.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
SasaVitebsk
сообщение Aug 17 2011, 08:17
Сообщение #117


Гуру
******

Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521



Цитата(Dog Pawlowa @ Aug 17 2011, 10:21) *
О, а я так и не запустил генерацию на кварце. Отправил на встроенном генераторе.

Мне конечно должно быть приятно, но только я её не запускал ... Она у меня на чистом кисталле ...
Отсюда и вопрос .... откуда и как она там появилась ....
Go to the top of the page
 
+Quote Post
_Bill
сообщение Aug 18 2011, 19:55
Сообщение #118


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Dog Pawlowa @ Jul 18 2011, 20:35) *
Странно, переношу проект с discovery на сделанное железо на STM8S105k6t6c.
Эффект такой-же, больше года назад - порты на вывод не включаются.
Кристаллы новые, и коллеги вроде их используют.
Питание портов на 5V
Что-то тут в консерватории sad.gif

--------------------------------------

Разобрался - RTFM. Забыл принудительно включить верхние транзисторы.
Насчет портов (верхних транзисторов) чуть подробнее можно?
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Aug 18 2011, 20:11
Сообщение #119


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(_Bill @ Aug 18 2011, 22:55) *
Насчет портов (верхних транзисторов) чуть подробнее можно?

Конечно!
После сброса они выключены и даже если вывод включить на выход, то это будет выход в режиме в режиме открытого стока.

Код инициализации для портов, работающих на светодиоды, подключенные между выводом и землей:


Код
#define GPIO_PULL_ON(x,y)        P##x##_CR1 |=(u8)y;
#define GPIO_OUTPUT(x, y)        P##x##_DDR |= (u8)y

    GPIO_OUTPUT(C, PIN_LEDS);
    GPIO_PULL_ON(C, PIN_LEDS);


После сброса DDR=0 и CR1=0.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
_Bill
сообщение Aug 19 2011, 03:39
Сообщение #120


Местный
***

Группа: Участник
Сообщений: 416
Регистрация: 18-04-06
Из: Челябинск
Пользователь №: 16 219



Цитата(Dog Pawlowa @ Aug 19 2011, 00:11) *
Конечно!
После сброса они выключены и даже если вывод включить на выход, то это будет выход в режиме в режиме открытого стока.

Код инициализации для портов, работающих на светодиоды, подключенные между выводом и землей:


Код
#define GPIO_PULL_ON(x,y)        P##x##_CR1 |=(u8)y;
#define GPIO_OUTPUT(x, y)        P##x##_DDR |= (u8)y

    GPIO_OUTPUT(C, PIN_LEDS);
    GPIO_PULL_ON(C, PIN_LEDS);


После сброса DDR=0 и CR1=0.
Спасибо! Я это знаю. Просто я думал, что есть нечто особенное, чего я не знаю.
Go to the top of the page
 
+Quote Post

9 страниц V  « < 6 7 8 9 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 11th August 2025 - 11:42
Рейтинг@Mail.ru


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