STM32 новичку в ARM что к чему
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: STM32 новичку в ARM что к чему
Да, правда, F100C4T6B косит под 32-килобайтный камень.
http://s15.postimg.cc/ggpdnrc5n/c4t6b_32kb.png
Это я смотрел платку с МК, купленным в elitan.ru года полтора назад.
На следующей неделе приедут еще платки и я посмотрю что покажут свеженькие камушки с Компела.
ЗЫ. А вот RBT6 говорит ровно 128КБ.
http://s15.postimg.cc/ggpdnrc5n/c4t6b_32kb.png
Это я смотрел платку с МК, купленным в elitan.ru года полтора назад.
На следующей неделе приедут еще платки и я посмотрю что покажут свеженькие камушки с Компела.
ЗЫ. А вот RBT6 говорит ровно 128КБ.
- Реклама
Re: STM32 новичку в ARM что к чему
А программно прочитать размер флэша... без утилиты... что кажет???
"Я не даю готовых решений, я заставляю думать!"(С)
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: STM32 новичку в ARM что к чему
Проверил через USART bootloader, тоже самое говорит: Low density 32kB.
Залил "левую" прошивку 23КБ(больше просто не было), верификация данных проходит успешно.
Залил "левую" прошивку 23КБ(больше просто не было), верификация данных проходит успешно.
Re: STM32 новичку в ARM что к чему
Добрый день, надо ли в keil5 указывать пути к хэдерам, у меня работает и без указания путей хотелось разобраться почему?
Подскажите как называется флаг который отвечает за глобальное разрешение прерываний?
Подскажите как называется флаг который отвечает за глобальное разрешение прерываний?
- amv2000
- Опытный кот
- Сообщения: 717
- Зарегистрирован: Вт апр 26, 2011 13:58:36
- Откуда: Ростовская область
Re: STM32 новичку в ARM что к чему
Ветка про keil5 здесь http://radiokot.ru/forum/viewtopic.php? ... 5&start=60baghear писал(а):Добрый день, надо ли в keil5 указывать пути к хэдерам
Здесь можно почитать про прерывания http://eugenemcu.ru/publ/13-1-0-76[quote]__disable_irq sets the I bit in the CPSR and returns the previous I bit value.[/quote]Примерно: устанавливает бит I в CPSR и возвращает предыдущее значение бита I .baghear писал(а):Подскажите как называется флаг который отвечает за глобальное разрешение прерываний?
http://www.keil.com/support/man/docs/ar ... AFBCBB.htm
- Реклама
Re: STM32 новичку в ARM что к чему
Где находится СPSR?
нашел xPSR
нашел xPSR
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: STM32 новичку в ARM что к чему
Туда отображается 3 регистра в зависимости от режима работы:
Сам CPSR насколько помню был в более старых версиях - ARM7, ARM9.PM0056 The Cortex-M3 processor
Program status register
The Program Status Register (PSR) combines:
● Application Program Status Register (APSR)
● Interrupt Program Status Register (IPSR)
● Execution Program Status Register (EPSR)
These registers are mutually exclusive bitfields in the 32-bit PSR. The bit assignments are
as shown in Figure 3 and Figure 4.
Re: STM32 новичку в ARM что к чему
Это одно и то же. Почитайте Сortex-M(0,3,4) Devices Generic User Guide.
Re: STM32 новичку в ARM что к чему
Понял, в ISR указывается номер прерывания которое сейчас выполняется + 16
http://screenshot.su/show.php?img=1f715 ... 5ae578.jpg
http://screenshot.su/show.php?img=1f715 ... 5ae578.jpg
- alex38779
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт окт 31, 2013 10:54:32
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Что то не получается с прерыванием у меня( Помогите пожалуйста.
stm32f100. Нажимаем кнопку на РА0 тухнет светодиод.
Нашел ошибку. собственная невнимательность.. 
stm32f100. Нажимаем кнопку на РА0 тухнет светодиод.
Код: Выделить всё
void init_button()
{
RCC->APB2ENR |= RCC_APB2Periph_GPIOA;
GPIOA->CRL |= 0x04;
GPIOA->CRL &= ~0xb;
AFIO->EXTICR [1] = AFIO_EXTICR1_EXTI0_PA;
EXTI->FTSR |= EXTI_FTSR_TR0;
EXTI->IMR |= EXTI_IMR_MR0;
NVIC_EnableIRQ (EXTI0_IRQn);
}
void EXTI0_IRQHandler(void)
{
EXTI->PR |= EXTI_PR_PR1;
GPIOC->BRR = GPIO_BRR_BR8;
}
- oleg110592
- Друг Кота
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
Re: STM32 новичку в ARM что к чему
написали бы в чем ошибка для потомков.
Не увидел разрешение тактирование AFIO
Не увидел разрешение тактирование AFIO
- alex38779
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт окт 31, 2013 10:54:32
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Код без ошибок..oleg110592 писал(а):написали бы в чем ошибка для потомков.
Код: Выделить всё
void init_button()
{
RCC->APB2ENR |= RCC_APB2Periph_GPIOA;
GPIOA->CRL |= 0x04;
GPIOA->CRL &= ~0xb;
AFIO->EXTICR [1] = AFIO_EXTICR1_EXTI0_PA;
EXTI->FTSR |= EXTI_FTSR_TR0;
EXTI->IMR |= EXTI_IMR_MR0;
NVIC_EnableIRQ (EXTI0_IRQn);
}
void EXTI0_IRQHandler(void)
{
if (EXTI->PR & (1<<0))
{
GPIOC->BRR = GPIO_BRR_BR8;
EXTI->PR |= EXTI_PR_PR1;
}
}
-
SII
- Вымогатель припоя
- Сообщения: 635
- Зарегистрирован: Пт янв 30, 2009 14:50:35
- Откуда: Солнечногорск
Re: STM32 новичку в ARM что к чему
Вообще-то ARM7, 9, Cortex-M3 и т.д. -- это не версии архитектуры, а обозначения конкретных ядер, её реализующих. Одной версии архитектуры может соответствовать несколько ядер; например, все 32-разрядные ядра Cortex-A (5, 8, 9, 15) -- это одна и та же архитектура ARMv7-A.uk8amk писал(а):Сам CPSR насколько помню был в более старых версиях - ARM7, ARM9.
По поводу CPSR. Этот регистр действительно существует во всех версиях архитектуры, но его формат совпадает лишь в части, доступной прикладным программам (работающим в режиме потока для ARMv6-M/ARMv7-M, т.е. на ядрах серии Cortex-M, и в режиме пользователя для "настоящих" ARMов -- все версии до ARMv7, не считая ARMv6-M, а также версии ARMv7-A и ARMv7-R). ARM даже специально ввела обозначение APSR для той части CPSR, которая доступна прикладному коду (A -- это Application). В общем, если прямо манипулируете регистром состояния, надо помнить про его разделение на пользовательскую/системную части и про разный формат последней на разных версиях архитектуры.
Вот тут Вы поняли документацию неправильно. Никаких отдельных регистров xPSR, перечисленных в том отрывке, не существует -- это всё части одного и того же CPSR. По этой причине никакого отображения не требуется, просто доступ обеспечивается лишь к той или иной части CPSR.Туда отображается 3 регистра в зависимости от режима работы
-
uk8amk
- Поставщик валерьянки для Кота
- Сообщения: 2222
- Зарегистрирован: Вт ноя 27, 2007 11:32:06
- Откуда: Tashkent
Re: STM32 новичку в ARM что к чему
Запаял, приверил, говорит 16КБ флеш память.На следующей неделе приедут еще платки и я посмотрю что покажут свеженькие камушки с Компела.
- alex38779
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт окт 31, 2013 10:54:32
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Вопрос по АЦП. Контроллер stm32f100rb.
В рефмане написано что опорное напряжение от 2,4 до 3,6 вольт. То есть получается что АЦП может измерить напряжение от 0 до 3,6В?
В рефмане написано что опорное напряжение от 2,4 до 3,6 вольт. То есть получается что АЦП может измерить напряжение от 0 до 3,6В?
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Да. Только у 64-выводного корпуса нет входа REF, в качестве опорного напряжения служит напряжение питания VDDA.
- alex38779
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт окт 31, 2013 10:54:32
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Спасибо большое разобрался! Сделал вольтметр. Теперь буду о точности думать. Например брать среднее из 30 измерений и выводить его.Леонид Иванович писал(а): в качестве опорного напряжения служит напряжение питания VDDA.
Показания с вольтметром в сотых долях расходятся..
- Леонид Иванович
- Друг Кота
- Сообщения: 4779
- Зарегистрирован: Сб апр 02, 2011 12:40:46
- Откуда: Минск
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Перед применением АЦП желательно ознакомиться с этими документами:
How to get the best ADC accuracy in STM32Fx Series
Optimize Your SAR ADC Design
How to get the best ADC accuracy in STM32Fx Series
Optimize Your SAR ADC Design
- alex38779
- Потрогал лапой паяльник
- Сообщения: 386
- Зарегистрирован: Чт окт 31, 2013 10:54:32
- Контактная информация:
Re: STM32 новичку в ARM что к чему
Разбираюсь с регулярными каналами...
Хочу использовать канал на РА7.
Но что не хочет работать.
Считываю так uint32_t adc = ADC1->DR;
Настройка АЦП:
Хочу использовать канал на РА7.
Но что не хочет работать.
Считываю так uint32_t adc = ADC1->DR;
Настройка АЦП:
Код: Выделить всё
RCC->APB2ENR |= RCC_APB2Periph_GPIOA;
RCC->APB2ENR |= RCC_APB2ENR_ADC1EN;
RCC->APB2ENR |= RCC_APB2Periph_ADC1;
ADC1->CR2 |= ADC_CR2_CAL;
while (!(ADC1->CR2 & ADC_CR2_CAL));
ADC1->SMPR2 |= (ADC_SMPR2_SMP7_2 | ADC_SMPR2_SMP7_1 | ADC_SMPR2_SMP7_0);
ADC1->CR2 |= ADC_CR2_SWSTART;
ADC1->CR2 |= ADC_CR2_EXTTRIG;
ADC1->CR2 |= ADC_CR2_EXTSEL;
ADC1->CR2 |= ADC_CR2_CONT;
ADC1->SQR2 |= ADC_SQR2_SQ7;
ADC1->CR2 |= ADC_CR2_ADON;
while(!(ADC1->SR & ADC_SR_EOC));- slavokhire5
- Прорезались зубы
- Сообщения: 202
- Зарегистрирован: Пн сен 26, 2011 13:48:25
- Откуда: Харьков
Re: STM32 новичку в ARM что к чему
Привет всем котам
решил попробовать написать свой bootloader на stm32 c шифрованием прошивки. В алгоритмах шифрования я не силен
Какой посоветуете?
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
--------------------------
Пишу на Си за еду


