Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Программирование STM8

Чт окт 07, 2010 12:59:17

По поводу STM32. Предлагаю заделать отдельную ветку. Дело в том что эти процики очень отличаются от данной темки. Готов многим поделиться, так как юзаю давно их. В основном работа с графикой (джипег) видео(камера). Так же на нем освоена emWin ucGUI и uCos.

Недавно тут общался с stm8l101. Что сказать, прикольный проц, заводится даже от 1,45 вольта. Потребляет тоже в районе милиампера. Наводит на мысль связка мк - термодатчик - чб жк. Причем хочу проверить диодно - каскодный pump up для питания жк 3мя вольтами....ну и датчик, либо терморезистор либо готовое что то. .....Да, ацп в нем нет, терморезистор отпадает......

Про дискавери вообще молчу короче, так как есть люди не уймутся никак. Ну получается шить дискавери - шейте им наздоровье. Только вот лично мой совет.... Ничего хорошего в этом дискавери нет. Ни в 8м(мне хватило его поиграться 2 дня, дальше развелась другая отладочная платка) ни в 32м(там проц старый и слабый(по памяти и выводам)).
офф топ Вопрос kotovasiya. :) собирал твой осцил...так и не заработал :). Вопрос, построение осцилла еще актуально? Есть неплохой материал по ucGUI. Там в примере уже есть осцилл, только доработать код надо и все. Если гуй отдельно из оси выдернуть(у меня уже есть наработки) то получится очень даже шустро.

Re: Программирование STM8

Чт окт 07, 2010 13:33:49

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


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

Re: Программирование STM8

Чт окт 07, 2010 17:26:15

А есть ли где-нибудь внятная литература по серии STM8/16/32? Нечто вроде того, что было в свое время по PIC'ам и AVR'ам?
Судя по даташитам STMы структурно несколько отличаются от AVRов. Вроде как архитектура не гарвардская, нет регистров РОН и т.д.
Хотелось бы получше "прощупать" эти камни. И разобраться, наконец, с программатором - Discovery дает ограничение на тип чипа, скорость и величину кода.

Re: Программирование STM8

Чт окт 07, 2010 21:59:39

Ввиду относительно недавнего выхода в свет доков очень мало. Можно почитать компэловский журнал "новости электроники", он в сети где то валяется. Там многое разъяснено. Судя по даташитам, архитектура там гарвардская. От AVRов отличается сильно. от пиков не далеко ушел. РОН нету, зато есть куча индексных регистров. Ну и , в принципе........запись в порт, как ни странно, можно сделатть, обойдя аккумулятор.Вот здесь и вся уникальность, и, лично мое мнение, здесь им удалось (именно на этом моменте) заявить о гарвардской факовой архитектуре(надеюсь знающие меня понимают).
По поводу дискавери - :), советую почитать на первой странице топика.....Хоть я как ни читал.....ну никак не могу допереть, как дискавери может что то шить кроме 105й серии...ну и 208й :). Знающие люди могут рассказать об этом больше.
По стм32 там проще. Берешь проц, распаиваешь его на макетке, собираешь мтлинк....и начинаешь колупать эту связку. Осознаешь потом что знания приходят сами собой, чем больше ты им занимаешься.
По стм16 ничего не скажу. Про них слышу впервые.
Проектов уже много в сети, например "народник 2", чем сложнее устройство тем уже круг людей которые хотят его собрать, поэтому хамелеон останется таким как есть. А вот наработки ваши бесценны, сам пользовал ваш жпег декодер, все заработало.

Даа.... давно собираюсь обновить свой сайт.Да вот времени нет. А материала накоплено достаточно, причем половину уже умудрился потерять...в прямом смысле.Потерял флэху.:(. Ну что, бывает....

Re: Программирование STM8

Пт окт 08, 2010 10:05:06

Забрал сегодня модули STM32 Discovery. По поводу ограничений встроенного ST-Link.

Цитата из даташита на модуль:
On-board ST-Link with selection mode switch to use the kit as a stand-alone ST-Link (with
SWD connector for programming and debugging)


Т.е. никаких ограничений нет кроме интерфейса SWD.

Проц идет в ките слабый (хотя что еще считать слабым), но они pin-to-pin совместимы в пределах корпуса (в данном случае TQFP64), так что при желании можно запаять любой.

Код:
The STM32F100RB 32-bit microcontroller offers:
[b]8 Kbytes[/b] RAM
[b]128 Kbytes[/b] of Flash memory

This device provides the following benefits:
● Reduced system cost:
– Built-in POR, PDR, LVD, watchdog timer.
– Factory trimmed 8 MHz RC oscillator and 40 kHz for RTC and watchdog.
– On-chip [b]12-bit dual channel DAC[/b] with DMA support and output buffers.
● Perfect fit for control applications: Up to s[b]even PWM 16-bit timers[/b] including advanced
control timer for a total of 26 channels.
● Ideal for appliance control applications including induction cooking: Three independent
PWM 16-bit timers with complementary output and dead-time generation.
● Reduced design complexity and minimized CPU, peripheral and memory use:
Consumer electronics control (CEC) peripheral.
● Extensive connectivity capability: CEC, 400 kHz [b]I²C[/b], up to12 Mbit/s master and slave
[b]SPI[/b], up to 3 Mbit/s [b]USART[/b].
● Achieves superior performance with 16-bit code density: ARM Cortex-M3 Thumb-2
32-bit instruction set and 7-channel DMA.
● Eases Flash memory integrity check: CRC (cyclic redundancy check) with DMA
support.


Цена на этот контроллер 140 р. в розницу (Терра), что сопостовимо с 16-й мегой так всеми почитаемой. А сравните возможности!

Re: Программирование STM8

Пт окт 08, 2010 10:17:51

А МК с меньше памятью, но тем же набором периферии т.е. из той же серии STM32F100 и того хлеще 60 рублей в розницу и около 45 рэ от 18 штук.
Хочу ЦАП у них глянуть, насколько хорош...

Re: Программирование STM8

Вт окт 12, 2010 19:46:43

Так, господа ведущие и не очень ведущие специалисты, хватит тут междусобойчик устраивать :)))
нам же тоже интересно, вы все же учитывайте, что многие STM8 первый раз в глаза видят и информации по ним, кроме как на офсайте практически никакой, а вы им тут
emWin ucGUI и uCos

Re: Программирование STM8

Вт окт 12, 2010 22:14:05

Все вами процитированное относится к стм32.
По поводу стм8. Сегодня запустил одну платку на стм8L152.Корпус как мега8 в смд исполнении. В принципе платка - аналог давно продаваемого устройства, не суть. Просто идет как замена атмелу. Что сказать.... по возможностям этот проц - ну разве что в сравнение мега32, если не учитывать в последней цап дма и AES декодер.Прогу пришлось начинать с "нуля", так как с процом этим первый как говорится опыт. Первым делом начал ставить STd Perif driver. Великолепнейшая вещь. По сути полнейшая библиотека с описаловом регистров и примерами работы с каждым периферийным модулем. Вспоминается стм32, там также все, но (лично мое мнение) сложнее. Все качается на официальном сайте. Объем правда почти 9 метров, к тому же каждый драйвер идет на свою линейку процов.(оно и понятно, периферия у всех по разному натолкана). Стоит отметить. Кто имел дела с FW lib, описаловы регистров написаны по другому. Если в FW lib все с заглавных букв, то в Perif Driver название регистра(бита),будет выглядеть примерно так GPIO_Pin_All вместо GPIO_PIN_ALL. Так что перенос старых программ потребует вот такой возни.В скором будущем постараюсь прикрепить сюда так сказать стартовый проект с комментами с приделаным perif driver для ознакомления и может быть обучения Также есть парочка разведенных пкадом платок. Желающим могу выкинуть здесь для повторения (освоения).

Re: Программирование STM8

Ср окт 13, 2010 08:02:17

Поскольку здесь пока тусуются только гуру STM8, то у меня чайниковский вопрос куда можно применить "High, low addressing modes", видимо слишком засиделся на AVRах, не могу представить куда это можно применить, "поможите кто чем может" :cry:

Re: Программирование STM8

Ср окт 13, 2010 20:58:47

GP1 писал(а):Поскольку здесь пока тусуются только гуру STM8, то у меня чайниковский вопрос куда можно применить "High, low addressing modes", видимо слишком засиделся на AVRах, не могу представить куда это можно применить, "поможите кто чем может" :cry:


Остается только спросить. Как уважаемый GP залез в такие дебри, чтобы создать такого рода вопрос.
Обычно , если пишешь в си, то такого рода вопросы отпадают сами собой, так как тут вряд ли нужно задумываться как производить адресацию, в каких режимах, с большим или малым объемом адресуемой памяти. Так что вряд ли, я думаю, кто то может тут разъяснить проблему. Тут надо глубоко вникать в ASM. (Хотя могу с увереностью сказать. Данный проц разрабатывался не под программирование под ассемблером, ввиду крайне скудного описалова стандартных адресов регистров)
Последний раз редактировалось ведущий специалист Чт окт 14, 2010 21:17:42, всего редактировалось 1 раз.

Re: Программирование STM8

Ср окт 13, 2010 21:11:55

:)))
Начнем с того, что я не пишу на Си, но вижу пришло время вплотную заняться Си, а то молодежь на обочину вытолкнет :shock:
ведущий специалист писал(а):...Хотя могу с увереностью сказать. Данный проц разрабатывался не под программирование под ассемблером...

Вот слово-в-слово мне горорили тоже самое про AVR :))) :))) :)))

Re: Программирование STM8

Чт окт 14, 2010 21:27:42

GP1 писал(а)::)))
Начнем с того, что я не пишу на Си, но вижу пришло время вплотную заняться Си, а то молодежь на обочину вытолкнет :shock:

Вот слово-в-слово мне горорили тоже самое про AVR :))) :))) :)))

Ок, ладно. Сам таким был. Писал на асме, потом надоело, пересел на басик. Потом подсел на си.
Если так прет ассемблер, могу предложить следующее.
Значит существует куча апнотов на си. Да да...именно си. Есть компилятор иар. Довольно таки неплохой.
Если проект настроить под дебаггер (ст линк), то при отладке программы в правом окне выводится листинг ассемблера. Причем Пошаговая отладка показывает выполнение команды как си так и асма. Надо с чего то начинать. Обычно из си выдирают асм, здесь будет наоборот. Вобщем думаю понятно изложил.

Re: Программирование STM8

Сб окт 23, 2010 08:50:01

Недавно научился записывать/считывать eeprom у stm8l152. Блин, знаете ли, долго доходило. Оказывается все просто, надо было разлочить регион области и все. Две строчки и все заработало.
причем запись объявления переменной катит даже вот так:
__no_init u8 ee_char@0x1000; // переменная будет работать уже в еепром. Записывай - считывай, все будет работать. Вот вам и линейная адресация.
Разлочить регион еепром можно присоеденив из библиотеки тулсы для работы с флэш памятью. Именно там есть и работа с еепром.

Re: Программирование STM8

Пт ноя 05, 2010 13:23:46

Anode_Katode писал(а):А есть ли где-нибудь внятная литература по серии STM8/16/32? Нечто вроде того, что было в свое время по PIC'ам и AVR'ам?


Сейчас готовим цикл статей об освоении STM8 с нуля на личных примерах, скоро будет первая - про мигание светодиодом, в которой попутно будет рассказано про генератор Clock, порты GPIO, таймер, работу с прерываниями (а также, о том, что из этого можно пощупать на Discovery без паяльника). Заглядывайте на http://eugenemcu.ru. Там мы начинаем собирать материалы по STM8, а впоследствие и по STM32.

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

Re: Программирование STM8

Ср ноя 10, 2010 07:44:03

Сейчас готовим цикл статей об освоении STM8 с нуля на личных примерах, скоро будет первая - про мигание светодиодом


Первая статья опубликована, ждем комментариев...
http://eugenemcu.ru/publ/11-1-0-66

Re: Программирование STM8

Ср ноя 10, 2010 11:14:55

Пожалуй скажу одно: мля! на сайте st.com что-то найти - проще убиться ап стену. Все линки на STDV - ведут на страницу 404. А хотелось бы поизучать. http://www.st.com/internet/mcu/product/210567.jsp <-- говорит Server Error. Ну может это у них временные трудности.

Re: Программирование STM8

Ср ноя 10, 2010 11:30:07

У них просто редизайн сайта, ещё не всё работает как положено.
http://www.st.com/stonline/products/sup ... oolset.exe

Re: Программирование STM8

Пт ноя 12, 2010 20:31:27

Я наверное очень туплю, но мне нужна еще парочка пинков, чтобы я пополз в нужном направлении. Поставил STVD и Raisonance (просто первое попавшееся). Теперь пытаюсь повторить пример из http://eugenemcu.ru/publ/11-1-0-66. Самый первый затык в обращении к регистрам CLK_ECKR_bit.HSEEN=1; - компилятор ругается на эту строчку, скажем. В STM8S105C_S.h нашел описание
Код:
/* External clock control register */
DEF_8BIT_REG_AT(CLK_ECKR,0x50c1);
Но и это всё. Где искать описания бит соответствующих регистров? И как к ним обращаться?

Re: Программирование STM8

Сб ноя 13, 2010 00:33:54

uldemir писал(а):. В STM8S105C_S.h нашел описание
Код:
/* External clock control register */
DEF_8BIT_REG_AT(CLK_ECKR,0x50c1);
Но и это всё. Где искать описания бит соответствующих регистров? И как к ним обращаться?

Конкретно по Raisonance пока сказать затрудняюсь, надо исследовать его .h файл, но есть универсальный способ для любого компилятора, если есть определение самого регистра,
смотрим мануал, раздел 8.10 (карта регистров CLK), находим бит HSEEN - бит 0, следовательно пишем:
Код:
CLK_ECKR |= (1<<0);

либо просто:
Код:
CLK_ECKR |= 0x01;


PS Кто знает, подскажите про определения битов в .h для Raisonance и Cosmic, сделаем заметку о различиях синтаксиса обращения к регистрам для разных компиляторов. :)

Re: Программирование STM8

Сб ноя 13, 2010 06:16:41

Скачай стандартную либу для конкретного МК. Например для STM8L15x я скачал STM8L15x_StdPeriph_Lib_V1.4.1.
В ней содержаться определения всех регистров и описание, плюс она подходит для разных компиляторов, т.е. при помощи деректив определяется версия компилятора (на данный момент IAR, Cosmic, RAISONANCE). Например:
Код:
#ifdef _COSMIC_
 #define FAR  @far
 #define NEAR @near
 #define TINY @tiny
 #define EEPROM @eeprom
 #define __CONST  const
 #define IN_RAM
#elif defined (_RAISONANCE_) /* __RCST7__ */
 #define FAR  far
 #define NEAR data
 #define TINY page0
 #define EEPROM eeprom
 #define __CONST  code
 #define IN_RAM inram
 #if defined (STM8L15X_MD) || defined (STM8L15X_MDP)
  /*!< Used with memory Models for code less than 64K */
  #define MEMCPY memcpy
 #else /* STM8L15X_HD */
   /*!< Used with memory Models for code higher than 64K */
  #define MEMCPY fmemcpy
 #endif /* STM8L15X_MD or STM8L15X_MDP */
#else /*_IAR_*/
 #define FAR  __far
 #define NEAR __near
 #define TINY __tiny
 #define EEPROM __eeprom
 #define __CONST  const
 #define IN_RAM 
#endif /* __CSMC__ */

Ну и просто можно глянуть что да как :)
Ответить