Stm32 с чего начать изучение...

Кто любит RISC в жизни, заходим, не стесняемся.
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

можно подумать, если делать декодирование потоков на STM32 заслуга будет его, а не авторов кодеков...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
philosoraptor
Прорезались зубы
Сообщения: 225
Зарегистрирован: Сб янв 14, 2012 22:53:50

Re: Stm32 с чего начать изучение...

Сообщение philosoraptor »

Ну, в какой-то степени.
Аватара пользователя
Oxford
Опытный кот
Сообщения: 819
Зарегистрирован: Вт окт 23, 2012 13:17:25
Откуда: Прокопьевск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение Oxford »

[uquote="philosoraptor",url="/forum/viewtopic.php?p=3463624#p3463624"]Вам тонко намекают, что мнимые крутизна и сложность вашего проекта на самом деле заслуга не столько ваша, сколько создателей VS1063/VS1053.[/uquote]

Я вас не понимаю что вы хотите сказать. Мне не надо было использовать VS1063? Проект не имеет ценности? Можно прямо обьяснить без всяких намеков? Вывод какой извлечь надо из слов? Не пойму что не так сделал.
Инженер R@D

Telegram чат: https://t.me/radiowolf или в поиске приложения @radiowolf. Личка:@cncoxford
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Stm32 с чего начать изучение...

Сообщение dosikus »

Oxford, они поучают, а поучает лишь тот кто сам ни хрена не умеет...
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18544
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Stm32 с чего начать изучение...

Сообщение ARV »

dosikus писал(а):поучает лишь тот кто сам ни хрена не умеет...
этапять!!! слышать это из твоих уст - просто пир духа :))) :))) :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Stm32 с чего начать изучение...

Сообщение AndTer »

[uquote="dosikus",url="/forum/viewtopic.php?p=3463801#p3463801"]поучает лишь тот кто сам ни хрена не умеет...[/uquote]
Я сохраню эту цитату и буду вставлять везде где уважаемый(не очень) досикус будет поучать(то есть к каждому его сообщению).
Спасибо за млщный инструмент!
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Stm32 с чего начать изучение...

Сообщение dosikus »

[uquote="AndTer",url="/forum/viewtopic.php?p=3463907#p3463907"]уважаемый(не очень) досикус[/uquote]

Администрация, вы практикуете двойные стандарты!
Почему , вопящему на каждом углу индивидуму AndTer -что его унижают, разрешено безнаказанно оскорблять окружающих?
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Stm32 с чего начать изучение...

Сообщение AndTer »

Я нигде не вопил. Меня никто никогда не унижал, ибо кишка тонка. А в чём оскорбление то? Я просто высказал моё отношение. Что тут оскорбительного? Ты сам заслужил моё(и не только моё) отношение к тебя своим же хамством в адрес всех кто использует куб. Не зная никого лично, его знаний, умений, достижений и способностей ты РЕАЛЬНО ОСКОРБЛЯЛ и продолжаешь это делать на форуме. А где я тебя оскорбил?

Просто интересно, какое именно слово тебя ОСКОРБИЛО? Цитату приведи! )))
Что я тебя не очень то уважаю... ну это как бы не оскорбление) Не позорься)

ЗЫ простите за оффтоп. Я вынужден был ответить на это и обозначить свою позицию. Раз это было выставлено на всеобщее обозрение.
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

dosikus писал(а):Администрация, вы практикуете двойные стандарты!
Почему? Она же терпит ваше хамское поведение!
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Stm32 с чего начать изучение...

Сообщение dosikus »

Мурик, а твое хамское поведение или ты белый и пушистый?
Что на мое утверждение ,что на утверждение Oxford ты реагировал совершенно неадекватно.
F0 в твоих "разработках" более чем достаточно.
Ну и твоя реклама эмобитса от русофоба, не побоюсь этого слова полного говна который в свое время закрыл доступ к своему "творению" из-за якобы сбитого Россией боинга.
Ну и кто ты после этого?
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

dosikus писал(а):или ты белый и пушистый
По аватарке разве не видно? :)

dosikus писал(а):а твое хамское поведение
Я веду себя корректно в отличие от вас.

dosikus писал(а):F0 в твоих "разработках" более чем достаточно.
Вы в этом абсолютно уверены? Знаете о всех моих разработки и вообще чем я занимаюсь? Может еще PIC10 посоветуете? :))) :facepalm:

dosikus писал(а):Ну и кто ты после этого?
А вы тогда кто, позволяющий хамское и неуважительное отношение к другим?
Аватара пользователя
dosikus
Друг Кота
Сообщения: 3604
Зарегистрирован: Пн июл 28, 2008 22:12:01

Re: Stm32 с чего начать изучение...

Сообщение dosikus »

Мурик, я слежу за твоей деятельностью еще с пЫк, аль забыл?
Предлагаю прекратить терки на счет "хамства", ибо твое же "я веду себя корректно" во многих постах можно так же расценивать как хамство и грубость...
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

Дайте ссылку где я первый начал хамить (т. е. это не был ответ на хамство или оскорбления в мой адрес). Иначе ваше слово гроша ломаного не стоит.
lazarev
Открыл глаза
Сообщения: 53
Зарегистрирован: Вт янв 19, 2016 23:13:21

Re: Stm32 с чего начать изучение...

Сообщение lazarev »

Это точно тема про Stm32 с чего начать изучение...?
Аватара пользователя
Nicochip
Встал на лапы
Сообщения: 142
Зарегистрирован: Чт ноя 08, 2018 12:02:06

Re: Stm32 с чего начать изучение...

Сообщение Nicochip »

Всем доброго времени суток. Нужна помощь. Второй день пытаюсь подружиться с камнем, но ничего не выходит.
Спойлер#include "stm32f10x.h"

int main(void)
{

// Выставляем тактирование в APB2
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;

// Конфигурируем CRL регистры.
GPIOС->CRH &= ~GPIO_CRH_CNF13; // Сбрасываем биты CNF для бита 13. Режим 00 - Push-Pull
GPIOС->CRH |= GPIO_CRH_MODE13_0; // Выставляем бит MODE0 для 13 пина. Режим MODE01 = Max Speed 10MHz

GPIOC->ODR &= ~GPIO_ODR_ODR13; // Выводим 0 на PC13

while (1)
{

}
}
Контроллер STM32F103C8, среда Keil uVision v.5.
Цель - зажечь светодиод, включенный между ногой PC13 контроллера и шиной +3.3V. Код компилируется, STLink заливает прошивку, но далее ничего не происходит. Железка рабочая, написанный в Arduino IDE код светодиодом моргает без проблем.
Вложения
arduino-stm32f103c8t6-schematics.png
(214.08 КБ) 435 скачиваний
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
lazarev
Открыл глаза
Сообщения: 53
Зарегистрирован: Вт янв 19, 2016 23:13:21

Re: Stm32 с чего начать изучение...

Сообщение lazarev »

Если проект правильно сконфигурирован, должно работать
оно точно доходит в дебагере до while, а не застрянет гдето в системном преревании

можно еще такое добавить для надежности в начало(малоли, может у вас в дефайнах hse автоматом включен, но толком не настроен)
СпойлерRCC->CR |= RCC_CR_HSION;
while((RCC->CR & RCC_CR_HSIRDY)==0);

RCC->CFGR &= ~RCC_CFGR_SW;
while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI);

RCC->CR &= ~RCC_CR_HSEON;

...

GPIOC->ODR |= GPIO_ODR_ODR13; // Выкл
GPIOC->ODR &= ~GPIO_ODR_ODR13; // Вкл
Аватара пользователя
Nicochip
Встал на лапы
Сообщения: 142
Зарегистрирован: Чт ноя 08, 2018 12:02:06

Re: Stm32 с чего начать изучение...

Сообщение Nicochip »

Проблема в том, что я абсолютно не знаком со средой и тем как правильно её конфигурировать. Дебагером так же пользоваться не умею.
Спойлер#include "stm32f10x.h"

int main(void)
{

RCC->CR |= RCC_CR_HSION;
while((RCC->CR & RCC_CR_HSIRDY)==0);

RCC->CFGR &= ~RCC_CFGR_SW;
while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI);

RCC->CR &= ~RCC_CR_HSEON;


// Выставляем тактирование в APB2
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;

// Конфигурируем CRL регистры.
GPIOC->CRH &= ~GPIO_CRH_CNF13; // Сбрасываем биты CNF для бита 13. Режим 00 - Push-Pull
GPIOC->CRH |= GPIO_CRH_MODE13_0; // Выставляем бит MODE0 для 13 пина. Режим MODE01 = Max Speed 10MHz

GPIOC->ODR &= ~GPIO_ODR_ODR13; // Выводим 0 на PC13

while (1)
{

}
}
Не помогло :(
Всё самое свежее по проекту "Дозиметр Сталкера" ищите здесь.
Аватара пользователя
AndTer
Поставщик валерьянки для Кота
Сообщения: 2406
Зарегистрирован: Ср фев 23, 2011 12:12:31

Re: Stm32 с чего начать изучение...

Сообщение AndTer »

А после заливки прошивки на кнопку "ресет" на платке нажимал? )
Ну или в настройках программатора поставить галочку делать "ресет" автоматом)
Глупый не задает вопросы. Глупый и так все знает.
Аватара пользователя
Мурик
Друг Кота
Сообщения: 3383
Зарегистрирован: Пн окт 11, 2010 19:00:08

Re: Stm32 с чего начать изучение...

Сообщение Мурик »

Попробуйте проделать то что написано здесь в первом сообщении. http://purebasic.mybb.ru/viewtopic.php?id=575
Светодиод будет мигать?
lazarev
Открыл глаза
Сообщения: 53
Зарегистрирован: Вт янв 19, 2016 23:13:21

Re: Stm32 с чего начать изучение...

Сообщение lazarev »

[uquote="Nicochip",url="/forum/viewtopic.php?p=3508366#p3508366"]Не помогло :([/uquote]
Вся штука в том что МК не начинает свою работу сразу с 1-й строки функции main, а SPL(Standard Peripherals Library) еще и использует свои встроенные функции для настройки МК, еще до входа в main. + есть системные прерывания типа HardFault_Handler в которых МК тоже может застрять еще до main
Потому сначала с помощью дебаггера нужно убедится что МК действительно входит хотя бы в main функцию.

Пример рабочего куска кода
Спойлер#include "stm32f10x.h"
#define MCO_PIN_ENABLED RCC_CFGR_MCO_SYSCLK

void initHSI();
void setupSysClocks();
void initIndicator();
void setIndicator(FunctionalState enabled);

int main(int argc, char* argv[]) {
setupSysClocks();
initIndicator();
setIndicator(ENABLE);

while (1) {
volatile uint32_t i;

setIndicator(ENABLE);
i=150000;while(i--);

setIndicator(DISABLE);
i=250000;while(i--);
}

return 0;
}

void initHSI() {
RCC->CR |= RCC_CR_HSION; //Enable HSI, 8Mhz
while((RCC->CR & RCC_CR_HSIRDY)==0); //Wait on HSI stabilization

RCC->CFGR &= ~RCC_CFGR_SW; //HSI selected as system clock
while((RCC->CFGR & RCC_CFGR_SWS) != RCC_CFGR_SWS_HSI); //Wait until HSI used as system clock

RCC->CR &= ~RCC_CR_HSEON; //disable HSE
RCC->CR &= ~RCC_CR_PLLON;
RCC->CFGR &= ~RCC_CFGR_PLLSRC; //set PLL source HSI/2, 4MHz
}

void setupSysClocks() {
initHSI();

RCC->CFGR &= ~RCC_CFGR_HPRE; //AHB_div=1
RCC->CFGR &= ~RCC_CFGR_PPRE1; //APB1_div=1
RCC->CFGR &= ~RCC_CFGR_PPRE2; //APB1_div=1
RCC->CFGR |= RCC_CFGR_PPRE1_DIV2; //APB1_div=1

#ifdef MCO_PIN_ENABLED
RCC->APB2ENR |= RCC_APB2ENR_IOPAEN;

GPIOA->CRH |= GPIO_CRH_MODE8; //50Mhz
GPIOA->CRH &= ~GPIO_CRH_CNF8_0; //Alternate function output Push-pull
GPIOA->CRH |= GPIO_CRH_CNF8_1;

RCC->CFGR |= MCO_PIN_ENABLED;
#endif
}

void initIndicator() {
RCC->APB2ENR |= RCC_APB2ENR_IOPCEN;
GPIOC->CRH |= GPIO_CRH_MODE13_1;
GPIOC->CRH &= ~GPIO_CRH_CNF13;
}

void setIndicator(FunctionalState enabled) {
GPIOC->BSRR |= enabled ? GPIO_BSRR_BR13 : GPIO_BSRR_BS13;
}
А так он выглядит изнутри(и то это без USE_STDPERIPH_DRIVER)
Спойлерarchitecture: arm, flags 0x00000112:
EXEC_P, HAS_SYMS, D_PAGED
start address 0x08000175

Program Header:
LOAD off 0x00010000 vaddr 0x08000000 paddr 0x08000000 align 2**16
filesz 0x00000380 memsz 0x00000380 flags rwx
LOAD off 0x00020000 vaddr 0x20000000 paddr 0x08000380 align 2**16
filesz 0x00000008 memsz 0x00000008 flags rw-
LOAD off 0x00020008 vaddr 0x20000008 paddr 0x20000008 align 2**16
filesz 0x00000000 memsz 0x00000104 flags rw-
private flags = 5000200: [Version5 EABI] [soft-float ABI]

Sections:
Idx Name Size VMA LMA File off Algn
0 .isr_vector 0000021c 08000000 08000000 00010000 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
1 .inits 00000028 0800021c 0800021c 0001021c 2**2
CONTENTS, ALLOC, LOAD, DATA
2 .data 00000008 20000000 08000380 00020000 2**2
CONTENTS, ALLOC, LOAD, DATA
3 .data_CCMRAM 00000000 00000000 00000000 00020008 2**2
CONTENTS
4 .bss 00000004 20000008 20000008 00020008 2**2
ALLOC
5 .text 0000013c 08000244 08000244 00010244 2**2
CONTENTS, ALLOC, LOAD, READONLY, CODE
6 .noinit 00000000 2000000c 2000000c 00020008 2**2
CONTENTS
7 ._check_stack 00000100 2000000c 2000000c 00020008 2**2
ALLOC
8 .comment 00000038 00000000 00000000 00020008 2**0
CONTENTS, READONLY
9 .ARM.attributes 00000031 00000000 00000000 00020040 2**0
CONTENTS, READONLY
SYMBOL TABLE:
08000000 l d .isr_vector 00000000 .isr_vector
0800021c l d .inits 00000000 .inits
20000000 l d .data 00000000 .data
00000000 l d .data_CCMRAM 00000000 .data_CCMRAM
20000008 l d .bss 00000000 .bss
08000244 l d .text 00000000 .text
2000000c l d .noinit 00000000 .noinit
2000000c l d ._check_stack 00000000 ._check_stack
00000000 l d .comment 00000000 .comment
00000000 l d .ARM.attributes 00000000 .ARM.attributes
00000000 l df *ABS* 00000000
08000244 l F .text 0000001c _Z12setIndicator15FunctionalState
08000260 l F .text 00000028 _Z13initIndicatorv
08000288 l F .text 00000048 _Z7initHSIv
080002d0 l F .text 0000005c _Z14setupSysClocksv
0800032c l F .text 00000044 main
0800010c l F .isr_vector 00000002 SysTick_Handler
08000110 l F .isr_vector 00000002 PendSV_Handler
08000114 l F .isr_vector 00000002 DebugMon_Handler
08000118 l F .isr_vector 00000002 SVC_Handler
0800011c l F .isr_vector 00000014 UsageFault_Handler
08000130 l F .isr_vector 00000014 BusFault_Handler
08000144 l F .isr_vector 00000002 MemManage_Handler
08000148 l F .isr_vector 00000014 HardFault_Handler
0800015c l F .isr_vector 00000002 NMI_Handler
08000160 l F .isr_vector 00000004 Reset_Handler
08000164 l F .isr_vector 00000002 Default_Handler
08000164 l F .isr_vector 00000002 USART3_IRQHandler
08000164 l F .isr_vector 00000002 USART2_IRQHandler
08000164 l F .isr_vector 00000002 USART1_IRQHandler
08000164 l F .isr_vector 00000002 SPI2_IRQHandler
08000164 l F .isr_vector 00000002 SPI1_IRQHandler
08000164 l F .isr_vector 00000002 I2C2_ER_IRQHandler
08000164 l F .isr_vector 00000002 I2C2_EV_IRQHandler
08000164 l F .isr_vector 00000002 I2C1_ER_IRQHandler
08000164 l F .isr_vector 00000002 I2C1_EV_IRQHandler
08000164 l F .isr_vector 00000002 TIM4_IRQHandler
08000164 l F .isr_vector 00000002 TIM3_IRQHandler
08000164 l F .isr_vector 00000002 TIM2_IRQHandler
08000164 l F .isr_vector 00000002 TIM1_CC_IRQHandler
08000164 l F .isr_vector 00000002 TIM1_TRG_COM_IRQHandler
08000164 l F .isr_vector 00000002 TIM1_UP_IRQHandler
08000164 l F .isr_vector 00000002 TIM1_BRK_IRQHandler
08000164 l F .isr_vector 00000002 TAMPER_IRQHandler
08000164 l F .isr_vector 00000002 PVD_IRQHandler
08000164 l F .isr_vector 00000002 WWDG_IRQHandler
08000164 l F .isr_vector 00000002 EXTI9_5_IRQHandler
08000164 l F .isr_vector 00000002 CAN1_SCE_IRQHandler
08000164 l F .isr_vector 00000002 CAN1_RX1_IRQHandler
08000164 l F .isr_vector 00000002 USB_LP_CAN1_RX0_IRQHandler
08000164 l F .isr_vector 00000002 USB_HP_CAN1_TX_IRQHandler
08000164 l F .isr_vector 00000002 ADC1_2_IRQHandler
08000164 l F .isr_vector 00000002 DMA1_Channel7_IRQHandler
08000164 l F .isr_vector 00000002 DMA1_Channel6_IRQHandler
08000164 l F .isr_vector 00000002 DMA1_Channel5_IRQHandler
08000164 l F .isr_vector 00000002 DMA1_Channel4_IRQHandler
08000164 l F .isr_vector 00000002 DMA1_Channel3_IRQHandler
08000164 l F .isr_vector 00000002 DMA1_Channel2_IRQHandler
08000164 l F .isr_vector 00000002 DMA1_Channel1_IRQHandler
08000164 l F .isr_vector 00000002 EXTI4_IRQHandler
08000164 l F .isr_vector 00000002 EXTI3_IRQHandler
08000164 l F .isr_vector 00000002 EXTI2_IRQHandler
08000164 l F .isr_vector 00000002 EXTI1_IRQHandler
08000164 l F .isr_vector 00000002 EXTI0_IRQHandler
08000164 l F .isr_vector 00000002 RCC_IRQHandler
08000164 l F .isr_vector 00000002 FLASH_IRQHandler
08000164 l F .isr_vector 00000002 RTC_IRQHandler
08000164 l F .isr_vector 00000002 USBWakeUp_IRQHandler
08000164 l F .isr_vector 00000002 RTCAlarm_IRQHandler
08000164 l F .isr_vector 00000002 EXTI15_10_IRQHandler
08000370 l F .text 00000010 __initialize_args
20000000 l O .data 00000008 argv.4161
20000008 l O .bss 00000001 name.4160
00000000 l df *ABS* 00000000
08000244 l .inits 00000000 __fini_array_end
08000244 l .inits 00000000 __fini_array_start
08000244 l .inits 00000000 __init_array_end
08000244 l .inits 00000000 __preinit_array_end
08000244 l .inits 00000000 __init_array_start
08000244 l .inits 00000000 __preinit_array_start
20000000 g .data 00000000 __data_start__
08000244 g .inits 00000000 __bss_regions_array_end
00000000 w *UND* 00000000 __initialize_hardware_early
08000000 g *ABS* 00000000 __vectors_start__
08000380 g *ABS* 00000000 _sidata
08000380 g .data 00000000 __exidx_end
08000380 g .data 00000000 __etext
08000380 g .data 00000000 _etext
20000008 g .bss 00000000 _sbss
20004c00 g *ABS* 00000000 __Main_Stack_Limit
2000000c g .noinit 00000000 _noinit
20000008 g .bss 00000000 __bss_start__
20000000 g .data 00000000 _sdata
08000380 g .data 00000000 __exidx_start
00000400 g *ABS* 00000000 __Main_Stack_Size
08000170 w F .isr_vector 00000002 HardFault_Handler_C
0800016c w F .isr_vector 00000002 BusFault_Handler_C
2000000c g .bss 00000000 _ebss
00000000 w *UND* 00000000 __initialize_hardware
0800021c g .inits 00000000 __data_regions_array_start
20000008 g .data 00000000 __data_end__
2000000c g .bss 00000000 __bss_end__
08000174 w F .isr_vector 00000098 _start
00000100 g *ABS* 00000000 _Minimum_Stack_Size
2000000c g .noinit 00000000 _end_noinit
08000168 w F .isr_vector 00000002 UsageFault_Handler_C
08000000 g *ABS* 00000000 __vectors_start
08000234 g .inits 00000000 __data_regions_array_end
08000000 g O .isr_vector 0000010c __isr_vectors
20005000 g *ABS* 00000000 _estack
20005000 g .isr_vector 00000000 __stack
20000008 g .data 00000000 _edata
08000234 g .inits 00000000 __bss_regions_array_start



Disassembly of section .isr_vector:

08000000 <__isr_vectors>:
8000000: 20005000 andcs r5, r0, r0
8000004: 08000161 stmdaeq r0, {r0, r5, r6, r8}
8000008: 0800015d stmdaeq r0, {r0, r2, r3, r4, r6, r8}
800000c: 08000149 stmdaeq r0, {r0, r3, r6, r8}
8000010: 08000145 stmdaeq r0, {r0, r2, r6, r8}
8000014: 08000131 stmdaeq r0, {r0, r4, r5, r8}
8000018: 0800011d stmdaeq r0, {r0, r2, r3, r4, r8}
...
800002c: 08000119 stmdaeq r0, {r0, r3, r4, r8}
8000030: 08000115 stmdaeq r0, {r0, r2, r4, r8}
8000034: 00000000 andeq r0, r0, r0
8000038: 08000111 stmdaeq r0, {r0, r4, r8}
800003c: 0800010d stmdaeq r0, {r0, r2, r3, r8}
8000040: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000044: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000048: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
800004c: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000050: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000054: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000058: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
800005c: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000060: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000064: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000068: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
800006c: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000070: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000074: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000078: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
800007c: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000080: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000084: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000088: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
800008c: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000090: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000094: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
8000098: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
800009c: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000a0: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000a4: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000a8: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000ac: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000b0: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000b4: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000b8: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000bc: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000c0: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000c4: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000c8: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000cc: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000d0: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000d4: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000d8: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000dc: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000e0: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000e4: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
80000e8: 08000165 stmdaeq r0, {r0, r2, r5, r6, r8}
...
8000108: f108f85f ; <UNDEFINED> instruction: 0xf108f85f

0800010c <SysTick_Handler>:
800010c: 4770 bx lr
800010e: bf00 nop

08000110 <PendSV_Handler>:
8000110: e7fe b.n 8000110 <PendSV_Handler>
8000112: bf00 nop

08000114 <DebugMon_Handler>:
8000114: e7fe b.n 8000114 <DebugMon_Handler>
8000116: bf00 nop

08000118 <SVC_Handler>:
8000118: e7fe b.n 8000118 <SVC_Handler>
800011a: bf00 nop

0800011c <UsageFault_Handler>:
800011c: f01e 0f04 tst.w lr, #4
8000120: bf0c ite eq
8000122: f3ef 8008 mrseq r0, MSP
8000126: f3ef 8009 mrsne r0, PSP
800012a: 4671 mov r1, lr
800012c: 4a37 ldr r2, [pc, #220] ; (800020c <_start+0x98>)
800012e: 4710 bx r2

08000130 <BusFault_Handler>:
8000130: f01e 0f04 tst.w lr, #4
8000134: bf0c ite eq
8000136: f3ef 8008 mrseq r0, MSP
800013a: f3ef 8009 mrsne r0, PSP
800013e: 4671 mov r1, lr
8000140: 4a33 ldr r2, [pc, #204] ; (8000210 <_start+0x9c>)
8000142: 4710 bx r2

08000144 <MemManage_Handler>:
8000144: e7fe b.n 8000144 <MemManage_Handler>
8000146: bf00 nop

08000148 <HardFault_Handler>:
8000148: f01e 0f04 tst.w lr, #4
800014c: bf0c ite eq
800014e: f3ef 8008 mrseq r0, MSP
8000152: f3ef 8009 mrsne r0, PSP
8000156: 4671 mov r1, lr
8000158: 4a2e ldr r2, [pc, #184] ; (8000214 <_start+0xa0>)
800015a: 4710 bx r2

0800015c <NMI_Handler>:
800015c: e7fe b.n 800015c <NMI_Handler>
800015e: bf00 nop

08000160 <Reset_Handler>:
8000160: 482d ldr r0, [pc, #180] ; (8000218 <_start+0xa4>)
8000162: 4700 bx r0

08000164 <ADC1_2_IRQHandler>:
8000164: e7fe b.n 8000164 <ADC1_2_IRQHandler>
8000166: bf00 nop

08000168 <UsageFault_Handler_C>:
8000168: e7fe b.n 8000168 <UsageFault_Handler_C>
800016a: bf00 nop

0800016c <BusFault_Handler_C>:
800016c: e7fe b.n 800016c <BusFault_Handler_C>
800016e: bf00 nop

08000170 <HardFault_Handler_C>:
8000170: e7fe b.n 8000170 <HardFault_Handler_C>
8000172: bf00 nop

08000174 <_start>:
8000174: b500 push {lr}
8000176: b083 sub sp, #12
8000178: f3af 8000 nop.w
800017c: 4b1a ldr r3, [pc, #104] ; (80001e8 <_start+0x74>)
800017e: 4a1b ldr r2, [pc, #108] ; (80001ec <_start+0x78>)
8000180: e003 b.n 800018a <_start+0x16>
8000182: 6811 ldr r1, [r2, #0]
8000184: 6019 str r1, [r3, #0]
8000186: 3304 adds r3, #4
8000188: 3204 adds r2, #4
800018a: 4919 ldr r1, [pc, #100] ; (80001f0 <_start+0x7c>)
800018c: 428b cmp r3, r1
800018e: d3f8 bcc.n 8000182 <_start+0xe>
8000190: 4b18 ldr r3, [pc, #96] ; (80001f4 <_start+0x80>)
8000192: e002 b.n 800019a <_start+0x26>
8000194: 2200 movs r2, #0
8000196: 601a str r2, [r3, #0]
8000198: 3304 adds r3, #4
800019a: 4a17 ldr r2, [pc, #92] ; (80001f8 <_start+0x84>)
800019c: 4293 cmp r3, r2
800019e: d3f9 bcc.n 8000194 <_start+0x20>
80001a0: f3af 8000 nop.w
80001a4: a801 add r0, sp, #4
80001a6: 4669 mov r1, sp
80001a8: f000 f8e2 bl 8000370 <__initialize_args>
80001ac: 4d13 ldr r5, [pc, #76] ; (80001fc <_start+0x88>)
80001ae: 4b14 ldr r3, [pc, #80] ; (8000200 <_start+0x8c>)
80001b0: 1b5d subs r5, r3, r5
80001b2: 10ad asrs r5, r5, #2
80001b4: 2400 movs r4, #0
80001b6: e004 b.n 80001c2 <_start+0x4e>
80001b8: 4b10 ldr r3, [pc, #64] ; (80001fc <_start+0x88>)
80001ba: f853 3024 ldr.w r3, [r3, r4, lsl #2]
80001be: 4798 blx r3
80001c0: 3401 adds r4, #1
80001c2: 42a5 cmp r5, r4
80001c4: dcf8 bgt.n 80001b8 <_start+0x44>
80001c6: 4d0f ldr r5, [pc, #60] ; (8000204 <_start+0x90>)
80001c8: 4b0f ldr r3, [pc, #60] ; (8000208 <_start+0x94>)
80001ca: 1b5d subs r5, r3, r5
80001cc: 10ad asrs r5, r5, #2
80001ce: 2400 movs r4, #0
80001d0: e004 b.n 80001dc <_start+0x68>
80001d2: 4b0c ldr r3, [pc, #48] ; (8000204 <_start+0x90>)
80001d4: f853 3024 ldr.w r3, [r3, r4, lsl #2]
80001d8: 4798 blx r3
80001da: 3401 adds r4, #1
80001dc: 42a5 cmp r5, r4
80001de: dcf8 bgt.n 80001d2 <_start+0x5e>
80001e0: 9801 ldr r0, [sp, #4]
80001e2: 9900 ldr r1, [sp, #0]
80001e4: f000 f8a2 bl 800032c <main>
80001e8: 20000000 andcs r0, r0, r0
80001ec: 08000380 stmdaeq r0, {r7, r8, r9}
80001f0: 20000008 andcs r0, r0, r8
80001f4: 20000008 andcs r0, r0, r8
80001f8: 2000000c andcs r0, r0, ip
80001fc: 08000244 stmdaeq r0, {r2, r6, r9}
8000200: 08000244 stmdaeq r0, {r2, r6, r9}
8000204: 08000244 stmdaeq r0, {r2, r6, r9}
8000208: 08000244 stmdaeq r0, {r2, r6, r9}
800020c: 08000169 stmdaeq r0, {r0, r3, r5, r6, r8}
8000210: 0800016d stmdaeq r0, {r0, r2, r3, r5, r6, r8}
8000214: 08000171 stmdaeq r0, {r0, r4, r5, r6, r8}
8000218: 08000175 stmdaeq r0, {r0, r2, r4, r5, r6, r8}

Disassembly of section .inits:

0800021c <__data_regions_array_start>:
800021c: 08000380 stmdaeq r0, {r7, r8, r9}
8000220: 20000000 andcs r0, r0, r0
8000224: 20000008 andcs r0, r0, r8
8000228: 08000380 stmdaeq r0, {r7, r8, r9}
...

08000234 <__bss_regions_array_start>:
8000234: 20000008 andcs r0, r0, r8
8000238: 2000000c andcs r0, r0, ip
...

Disassembly of section .data:

20000000 <__data_start__>:
20000000: 20000008 andcs r0, r0, r8
20000004: 00000000 andeq r0, r0, r0

Disassembly of section .bss:

20000008 <__bss_start__>:
20000008: 00000000 andeq r0, r0, r0

Disassembly of section .text:

08000244 <_Z12setIndicator15FunctionalState>:
8000244: 691a4b05 ldmdbvs sl, {r0, r2, r8, r9, fp, lr}
8000248: b110 cbz r0, 8000250 <_Z12setIndicator15FunctionalState+0xc>
800024a: 5300f04f movwpl pc, #79 ; 0x4f ; <UNPREDICTABLE>
800024e: e001 b.n 8000254 <_Z12setIndicator15FunctionalState+0x10>
8000250: 5300f44f movwpl pc, #1103 ; 0x44f ; <UNPREDICTABLE>
8000254: 4313 orrs r3, r2
8000256: 61134a01 tstvs r3, r1, lsl #20
800025a: 4770 bx lr
800025c: 40011000 andmi r1, r1, r0

08000260 <_Z13initIndicatorv>:
8000260: 4a07 ldr r2, [pc, #28] ; (8000280 <_Z13initIndicatorv+0x20>)
8000262: 6993 ldr r3, [r2, #24]
8000264: f043 0310 orr.w r3, r3, #16
8000268: 6193 str r3, [r2, #24]
800026a: 4b06 ldr r3, [pc, #24] ; (8000284 <_Z13initIndicatorv+0x24>)
800026c: 685a ldr r2, [r3, #4]
800026e: f442 1200 orr.w r2, r2, #2097152 ; 0x200000
8000272: 605a str r2, [r3, #4]
8000274: 685a ldr r2, [r3, #4]
8000276: f422 0240 bic.w r2, r2, #12582912 ; 0xc00000
800027a: 605a str r2, [r3, #4]
800027c: 4770 bx lr
800027e: bf00 nop
8000280: 40021000 andmi r1, r2, r0
8000284: 40011000 andmi r1, r1, r0

08000288 <_Z7initHSIv>:
8000288: 4a10 ldr r2, [pc, #64] ; (80002cc <_Z7initHSIv+0x44>)
800028a: 6813 ldr r3, [r2, #0]
800028c: f043 0301 orr.w r3, r3, #1
8000290: 6013 str r3, [r2, #0]
8000292: 4b0e ldr r3, [pc, #56] ; (80002cc <_Z7initHSIv+0x44>)
8000294: 681b ldr r3, [r3, #0]
8000296: f013 0f02 tst.w r3, #2
800029a: d0fa beq.n 8000292 <_Z7initHSIv+0xa>
800029c: 4a0b ldr r2, [pc, #44] ; (80002cc <_Z7initHSIv+0x44>)
800029e: 6853 ldr r3, [r2, #4]
80002a0: f023 0303 bic.w r3, r3, #3
80002a4: 6053 str r3, [r2, #4]
80002a6: 4b09 ldr r3, [pc, #36] ; (80002cc <_Z7initHSIv+0x44>)
80002a8: 685b ldr r3, [r3, #4]
80002aa: f013 0f0c tst.w r3, #12
80002ae: d1fa bne.n 80002a6 <_Z7initHSIv+0x1e>
80002b0: 4b06 ldr r3, [pc, #24] ; (80002cc <_Z7initHSIv+0x44>)
80002b2: 681a ldr r2, [r3, #0]
80002b4: f422 3280 bic.w r2, r2, #65536 ; 0x10000
80002b8: 601a str r2, [r3, #0]
80002ba: 681a ldr r2, [r3, #0]
80002bc: f022 7280 bic.w r2, r2, #16777216 ; 0x1000000
80002c0: 601a str r2, [r3, #0]
80002c2: 685a ldr r2, [r3, #4]
80002c4: f422 3280 bic.w r2, r2, #65536 ; 0x10000
80002c8: 605a str r2, [r3, #4]
80002ca: 4770 bx lr
80002cc: 40021000 andmi r1, r2, r0

080002d0 <_Z14setupSysClocksv>:
80002d0: b508 push {r3, lr}
80002d2: f7ff ffd9 bl 8000288 <_Z7initHSIv>
80002d6: 4b13 ldr r3, [pc, #76] ; (8000324 <_Z14setupSysClocksv+0x54>)
80002d8: 685a ldr r2, [r3, #4]
80002da: f022 02f0 bic.w r2, r2, #240 ; 0xf0
80002de: 605a str r2, [r3, #4]
80002e0: 685a ldr r2, [r3, #4]
80002e2: f422 62e0 bic.w r2, r2, #1792 ; 0x700
80002e6: 605a str r2, [r3, #4]
80002e8: 685a ldr r2, [r3, #4]
80002ea: f422 5260 bic.w r2, r2, #14336 ; 0x3800
80002ee: 605a str r2, [r3, #4]
80002f0: 685a ldr r2, [r3, #4]
80002f2: f442 6280 orr.w r2, r2, #1024 ; 0x400
80002f6: 605a str r2, [r3, #4]
80002f8: 699a ldr r2, [r3, #24]
80002fa: f042 0204 orr.w r2, r2, #4
80002fe: 619a str r2, [r3, #24]
8000300: 4a09 ldr r2, [pc, #36] ; (8000328 <_Z14setupSysClocksv+0x58>)
8000302: 6851 ldr r1, [r2, #4]
8000304: f041 0103 orr.w r1, r1, #3
8000308: 6051 str r1, [r2, #4]
800030a: 6851 ldr r1, [r2, #4]
800030c: f021 0104 bic.w r1, r1, #4
8000310: 6051 str r1, [r2, #4]
8000312: 6851 ldr r1, [r2, #4]
8000314: f041 0108 orr.w r1, r1, #8
8000318: 6051 str r1, [r2, #4]
800031a: 685a ldr r2, [r3, #4]
800031c: f042 6280 orr.w r2, r2, #67108864 ; 0x4000000
8000320: 605a str r2, [r3, #4]
8000322: bd08 pop {r3, pc}
8000324: 40021000 andmi r1, r2, r0
8000328: 40010800 andmi r0, r1, r0, lsl #16

0800032c <main>:
800032c: b500 push {lr}
800032e: b083 sub sp, #12
8000330: f7ff ffce bl 80002d0 <_Z14setupSysClocksv>
8000334: f7ff ff94 bl 8000260 <_Z13initIndicatorv>
8000338: 2001 movs r0, #1
800033a: f7ff ff83 bl 8000244 <_Z12setIndicator15FunctionalState>
800033e: 2001 movs r0, #1
8000340: f7ff ff80 bl 8000244 <_Z12setIndicator15FunctionalState>
8000344: 4b08 ldr r3, [pc, #32] ; (8000368 <main+0x3c>)
8000346: 9301 str r3, [sp, #4]
8000348: 9b01 ldr r3, [sp, #4]
800034a: 1e5a subs r2, r3, #1
800034c: 9201 str r2, [sp, #4]
800034e: 2b00 cmp r3, #0
8000350: d1fa bne.n 8000348 <main+0x1c>
8000352: 2000 movs r0, #0
8000354: f7ff ff76 bl 8000244 <_Z12setIndicator15FunctionalState>
8000358: 4b04 ldr r3, [pc, #16] ; (800036c <main+0x40>)
800035a: 9301 str r3, [sp, #4]
800035c: 9b01 ldr r3, [sp, #4]
800035e: 1e5a subs r2, r3, #1
8000360: 9201 str r2, [sp, #4]
8000362: 2b00 cmp r3, #0
8000364: d1fa bne.n 800035c <main+0x30>
8000366: e7ea b.n 800033e <main+0x12>
8000368: 000249f0 strdeq r4, [r2], -r0
800036c: 0003d090 muleq r3, r0, r0

08000370 <__initialize_args>:
8000370: 2301 movs r3, #1
8000372: 6003 str r3, [r0, #0]
8000374: 4b01 ldr r3, [pc, #4] ; (800037c <__initialize_args+0xc>)
8000376: 600b str r3, [r1, #0]
8000378: 4770 bx lr
800037a: bf00 nop
800037c: 20000000 andcs r0, r0, r0

Disassembly of section ._check_stack:

2000000c <._check_stack>:
...

Disassembly of section .comment:

00000000 <.comment>:
0: 3a434347 bcc 10d0d24 <__Main_Stack_Size+0x10d0924>
4: 35312820 ldrcc r2, [r1, #-2080]! ; 0xfffff7e0
8: 392e343a stmdbcc lr!, {r1, r3, r4, r5, sl, ip, sp}
c: 732b332e ; <UNDEFINED> instruction: 0x732b332e
10: 33326e76 teqcc r2, #1888 ; 0x760
14: 37373131 ; <UNDEFINED> instruction: 0x37373131
18: 2029312d eorcs r3, r9, sp, lsr #2
1c: 2e392e34 mrccs 14, 1, r2, cr9, cr4, {1}
20: 30322033 eorscc r2, r2, r3, lsr r0
24: 35303531 ldrcc r3, [r0, #-1329]! ; 0xfffffacf
28: 28203932 stmdacs r0!, {r1, r4, r5, r8, fp, ip, sp}
2c: 72657270 rsbvc r7, r5, #112, 4
30: 61656c65 cmnvs r5, r5, ror #24
34: 00296573 eoreq r6, r9, r3, ror r5

Disassembly of section .ARM.attributes:

00000000 <.ARM.attributes>:
0: 00003041 andeq r3, r0, r1, asr #32
4: 61656100 cmnvs r5, r0, lsl #2
8: 01006962 tsteq r0, r2, ror #18
c: 00000026 andeq r0, r0, r6, lsr #32
10: 726f4305 rsbvc r4, pc, #335544320 ; 0x14000000
14: 2d786574 cfldr64cs mvdx6, [r8, #-464]! ; 0xfffffe30
18: 0600334d streq r3, [r0], -sp, asr #6
1c: 094d070a stmdbeq sp, {r1, r3, r8, r9, sl}^
20: 15011402 strne r1, [r1, #-1026] ; 0xfffffbfe
24: 18031701 stmdane r3, {r0, r8, r9, sl, ip}
28: 1a011901 bne 46434 <__Main_Stack_Size+0x46034>
2c: 22011e01 andcs r1, r1, #1, 28
30: Address 0x0000000000000030 is out of bounds.


но лучше всего начать с AN2953 или поиска "Standard Peripherals Library USE_STDPERIPH_DRIVER создание проекта" для вашей среди разработки
Ответить

Вернуться в «ARM»