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

 
 
> STM32 – вопросы – проблемы - решения.
Danis
сообщение Nov 19 2010, 18:19
Сообщение #1


Twilight Zone
***

Группа: Свой
Сообщений: 454
Регистрация: 17-02-09
Из: Челябинск
Пользователь №: 44 990



Предлагаю в этой теме обсуждать вопросы разработчиков на STM32.


--------------------
Magic Friend
Go to the top of the page
 
+Quote Post
33 страниц V  « < 11 12 13 14 15 > »   
Start new topic
Ответов (180 - 194)
brag
сообщение Jun 13 2011, 11:14
Сообщение #181


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

Группа: Свой
Сообщений: 1 047
Регистрация: 2-12-06
Из: Kyiv, Ukraine
Пользователь №: 23 046



и в соседнюю веточку не плохо было бы заглянуть http://electronix.ru/forum/index.php?showtopic=69348
много чего интересного там есть
Go to the top of the page
 
+Quote Post
ISK2010
сообщение Jun 24 2011, 04:22
Сообщение #182


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 21-09-10
Из: г.Зеленоград
Пользователь №: 59 631



Подскажите в чем отлаживать проект с STM32W108CB ? Хотел беспроводные датчики сделать. Сижу в keil, а там STM32W108CB не поддерживается. В IAR есть?

И еще не нашел на сайте stm библиотеки периферии для него...

Go to the top of the page
 
+Quote Post
Alfa
сообщение Jun 24 2011, 04:49
Сообщение #183


Участник
*

Группа: Участник
Сообщений: 52
Регистрация: 9-02-06
Из: Челябинск
Пользователь №: 14 160



в списке поддерживаемых в iar (v5.50) есть STM32W108. без букв...

тут http://www.st.com/internet/mcu/product/245381.jsp на вкладке design support много полезного есть...
Go to the top of the page
 
+Quote Post
topkin
сообщение Jun 24 2011, 05:16
Сообщение #184


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

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



Цитата(ISK2010 @ Jun 24 2011, 08:22) *
Подскажите в чем отлаживать проект с STM32W108CB ? Хотел беспроводные датчики сделать. Сижу в keil, а там STM32W108CB не поддерживается. В IAR есть?

И еще не нашел на сайте stm библиотеки периферии для него...

Для него нет никаких библиотек, есть стеки, которые предоставляют вам API и все по сути. Надеюсь со стеком вы уже определились, а так придется все ручками для периферии писать, но ничего на мой взгляд критичного нет... И будьте внимательны при выборе партнамбера, там посл цифра сообщает для какого стека предназначен контроллер, для начала можно попробовать "универсальный" вариант для любого стека, но вроде бы это образцы не для коммерческого использования, уточняйте у дистрибьютора или у самого производителя этот момент.
Go to the top of the page
 
+Quote Post
ISK2010
сообщение Jun 24 2011, 06:41
Сообщение #185


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 21-09-10
Из: г.Зеленоград
Пользователь №: 59 631



Все ручками писать( Как не хочется... Хотел взять этот контроллер только из-за мысли, что все будет быстро по причине идентичности с STM32F. А по сути проще к STM32F100 подкрутить модуль внешний.




Цитата(topkin @ Jun 24 2011, 09:16) *
И будьте внимательны при выборе партнамбера, там посл цифра сообщает для какого стека предназначен контроллер, для начала можно попробовать "универсальный" вариант для любого стека, но вроде бы это образцы не для коммерческого использования, уточняйте у дистрибьютора или у самого производителя этот момент.


Спасибо за совет, посмотрю нужный.


Go to the top of the page
 
+Quote Post
topkin
сообщение Jun 24 2011, 07:33
Сообщение #186


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

Группа: Свой
Сообщений: 152
Регистрация: 21-12-05
Из: Москва
Пользователь №: 12 476



Цитата(ISK2010 @ Jun 24 2011, 10:41) *
Все ручками писать( Как не хочется... Хотел взять этот контроллер только из-за мысли, что все будет быстро по причине идентичности с STM32F. А по сути проще к STM32F100 подкрутить модуль внешний.

Спасибо за совет, посмотрю нужный.


Вас потребление устроит?
Вот при работе с периферией у вас должно возникнуть проблем по минимуму, написать функционал для SPI/UART/таймеров... задача не сложная, да и на крайний случай можно это выдернуть из библиотеки периферии от ST, думаю реализация однотипной периферии с STM32F должна остаться той же.
Вот изучение радиочасти + стеков....
Вы также можете посмотреть решения от майкрочипа или TI, поиск вам в помощь.
Go to the top of the page
 
+Quote Post
ISK2010
сообщение Jun 24 2011, 09:23
Сообщение #187


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 21-09-10
Из: г.Зеленоград
Пользователь №: 59 631



На передатчик заложил 40 мА.
Go to the top of the page
 
+Quote Post
vvb76
сообщение Jun 26 2011, 11:38
Сообщение #188





Группа: Новичок
Сообщений: 4
Регистрация: 5-06-11
Пользователь №: 65 487



А кто-нибудь STM32F101 и STM32F100 программировал через USART1 и bootloader?
По даташитам вроде бы все сходится, но есть ли у кого-нибудь практика в этом?
Нет ли каких-нибудь подводных камней? И вообще, какой программкой программировать?
Go to the top of the page
 
+Quote Post
IgorKossak
сообщение Jun 26 2011, 15:33
Сообщение #189


Шаман
******

Группа: Модераторы
Сообщений: 3 064
Регистрация: 30-06-04
Из: Киев, Украина
Пользователь №: 221



Нормально всё программируется.
Программу раньше легче было найти, теперь у них на сайте чёрт ногу сломит. Здесь.
Go to the top of the page
 
+Quote Post
vvb76
сообщение Jun 26 2011, 15:37
Сообщение #190





Группа: Новичок
Сообщений: 4
Регистрация: 5-06-11
Пользователь №: 65 487



Цитата(IgorKossak @ Jun 26 2011, 21:33) *
Нормально всё программируется.
Программу раньше легче было найти, теперь у них на сайте чёрт ногу сломит. Здесь.

Спасибо
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 28 2011, 07:07
Сообщение #191


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Ребята! Кто-нибудь для Кейла писал инлайн вставки для cortex-m3?
А то справедливо получаю ошибку:
#Inline assembler not permitted when generating Thumb code
Тумба2 не поддерживается инлайн асмом судя по докеsad.gif
Хочу такое:
Код
static inline uint32_t get_interrupt_state(void)
{
    uint32_t sr;

    __asm
    {
        MRS sr, PRIMASK
    }

    return sr;
}

static inline void set_interrupt_state(uint32_t status)
{
    __asm
    {
        MSR PRIMASK, status
    }
}
Что делать?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Petka
сообщение Jun 28 2011, 09:50
Сообщение #192


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

Группа: Свой
Сообщений: 1 453
Регистрация: 23-08-05
Пользователь №: 7 886



Цитата(demiurg_spb @ Jun 28 2011, 11:07) *
...
Хочу такое:
Код
static inline uint32_t get_interrupt_state(void);
static inline void set_interrupt_state(uint32_t status);

Что делать?

Посмотреть на библиотеку "CMSIS".

upd:
смотреть на функции:
__get_PRIMASK
__set_PRIMASK
Go to the top of the page
 
+Quote Post
ISK2010
сообщение Jun 28 2011, 10:10
Сообщение #193


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 21-09-10
Из: г.Зеленоград
Пользователь №: 59 631



У меня также было.

Попробуй вот так:

CODE
__ASM __inline u32 get_interrupt_state(void)

{

mrs r0, primask

bx lr

}



__ASM __inline void set_interrupt_state(u32 status)

{

msr primask, r0

bx lr

}



А чем тебе не нравятся такие же функции из core_cm3.c ? С оптимизацией они и так инлайнами будут.

Сообщение отредактировал ISK2010 - Jun 28 2011, 10:13
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 28 2011, 10:26
Сообщение #194


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Цитата(Petka @ Jun 28 2011, 13:50) *
Посмотреть на библиотеку "CMSIS".
Спасибо! Полегчалоsm.gif

Цитата(ISK2010 @ Jun 28 2011, 14:10) *
А чем тебе не нравятся такие же функции из core_cm3.c ?
Да мне-то нравятся. Только вот в проекте используется пока ещё STM32_Init от кейла с визардом (досталось в наследство) и они конфликтуют. Как только закончу проект от визадра не останется и следа...


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Jun 29 2011, 08:08
Сообщение #195


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Появился новый вопрос.
Столкнулся с непоняткой при самопрограммировании посредством FPEC (unlock FPEC проходит нормально, виснет проц при попытке стереть страничку).
В документации сказано что для стирания/записи FLASH нужно чтобы был включен HSI.
Нужно-ли чтобы ещё и на вход PLL поступала частота от HSI или можно оставить HSE (или я вообще что-то недопонял).
Код
int flash_page_erase(uint32_t page)
{
    while (FPEC->SR & FPEC_SR_BSY) {;}

    FPEC->SR  = FPEC_SR_WRPRTERR | FPEC_SR_PGERR | FPEC_SR_EOP; // clr by writing 1

    FPEC->CR  = FPEC_CR_PER;  // page erase operation w/o interrupts
    FPEC->AR  = page;         // page address
    FPEC->CR |= FPEC_CR_STRT; // start operation    

    while (FPEC->SR & FPEC_SR_BSY) {;}

    return ((FPEC->SR & FPEC_SR_EOP)  != 0); // EOP is asserted at the end of each successful program or erase operation
}
Посмотрите пожалуйста может, в коде где косяк. Спасибо!

И ещё интересно как соблюдается следующее требование (благодаря кешу инструкций? ибо программа-то выполняет цикл ожидания из ПЗУ, может её в ОЗУ разместить стоит)?
Цитата
During a write operation to the Flash memory, any attempt to read the Flash memory will
stall the bus. The read operation will proceed correctly once the write operation has
completed. This means that code or data fetches cannot be made while a write/erase
operation is ongoing.


Не дайте умереть!!!:) Сегодня уже целый день бьюсь безуспешно.
Пробовал тактироваться и от HSI и от HSE и от HSE со включенным HSI - ноль. Виснет и всё. Да так что SWD отваливается.

FLASH_WRPR = 0xFFFFFFFF - нет защиты.


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post

33 страниц V  « < 11 12 13 14 15 > » 
Closed TopicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st July 2025 - 18:23
Рейтинг@Mail.ru


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