STM32 новичку в ARM что к чему

Кто любит RISC в жизни, заходим, не стесняемся.
Ответить
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Dimon456",url="/forum/viewtopic.php?p=4321019#p4321019"]#if defined STM32F0 это где-то объявлять надо.[/uquote]Обычно такие вещи в настройках проекта задаются.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

VladislavS, в Makefile же! Какие "настройки проекта"?
Вот, кстати, в более свежем Makefile у меня появились make openocd для запуска сервера отладки и make debug…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321031#p4321031"]VladislavS, в Makefile же! Какие "настройки проекта"?[/uquote]Тогда уже в ключах компилятора, если быть точным. А в ключи компилятора они попадают из настроек проекта, одним из видов которого makefile можно тоже считать.

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321031#p4321031"]Вот, кстати, в более свежем Makefile у меня появились make openocd для запуска сервера отладки и make debug…[/uquote]Нафига это надо людям, использующим IDE с человеческой отладкой?
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

VladislavS, и Eddy_Em, у мну не получается, не то не другое.
Реклама
Эиком - электронные компоненты и радиодетали
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

[uquote="VladislavS",url="/forum/viewtopic.php?p=4321036#p4321036"]Нафига это надо людям, использующим IDE с человеческой отладкой?[/uquote]
Я это "человеческим" не считаю. Дрочить мышу - так себе человечность...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 145
Зарегистрирован: Пн апр 02, 2012 15:56:23

Сообщение azhel12 »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321042#p4321042"]Я это "человеческим" не считаю. Дрочить мышу - так себе человечность...[/uquote]Вот же:)[uquote="Eddy_Em",url="/forum/viewtopic.php?f=59&t=185169&p=4309825#p4309825"]Пытаюсь таки впервые в жизни отладку при помощи gdb попробовать[/uquote]

Добавлено after 3 minutes 8 seconds:
Почти в тему сделаю рекламу небольшую, уже давно использую связку VSCode + Platformio, понадобилось её без интернета поднять, пришел к решению VS Code + WSL-контейнер, на котором стоит Platformio (с gcc). Оказалось, что компиляция/отладка на Linux (WSL-контейнере) примерно вдвое быстрее, чем в случае, когда все стоит на Windows-хосте.
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Dimon456",url="/forum/viewtopic.php?p=4321039#p4321039"]VladislavS, и Eddy_Em, у мну не получается, не то не другое.[/uquote]Что там может не получаться? Вместо стартап.s в проект добавить стартап.с. Что тут сложного то?
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

У вас нет f030, f071 есть.
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Dimon456, вот под F030. Там же директории: Servo, Chiller, QuadEncoder, uart_blink, uart_blink_dma. И здесь. Я тогда еще USB не раскурил, да и как-то казалось кощунственным ради пары шаговиков F072 пихать, когда хватит и F030 (который тогда стоил 30 рублей, а F072 - 60).
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Dimon456",url="/forum/viewtopic.php?p=4321057#p4321057"]У вас нет f030, f071 есть.[/uquote]Я же говорил, отличается только списком векторов прерываний.
startup_iar_gcc_keil_stm32f030xc.c
STM32F030CC_flash.lds
STM32F030CC_sram.lds

Проверить в вашей версии CMSIS в файле cmsis_gcc.h определение

Код: Выделить всё

#define __VECTOR_TABLE_ATTRIBUTE  __attribute__((used, section(".vectors")))
Если это не так, то либо свежий CMSIS скачать, либо в линкерскриптах поправить имя секции с векторами.
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

VladislavS писал(а):Проверить в вашей версии CMSIS в файле cmsis_gcc.h
у меня этого файла нет, даже поиском не нахожу.

Вам, VladislavS, Eddy_Em, мой проект скинуть полностью?
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Dimon456",url="/forum/viewtopic.php?p=4321072#p4321072"]у меня этого файла нет, даже поиском не нахожу.[/uquote]Так не бывает. Вот состав CMSIS/Core/Include/ Без этого ни один заголовочный файл от stm32 не собирается.

[uquote="Dimon456",url="/forum/viewtopic.php?p=4321072#p4321072"]Вам, VladislavS, Eddy_Em, мой проект скинуть полностью?[/uquote]Зачем?
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

VladislavS, эти файлы (cmsis_compiler.h и cmsis_gcc.h) нужны только под F4. У меня в дереве инклюдов под F0 и F1 их даже нет за ненадобностью.
Вот когда таки решусь перейти на единые инклюды для всех моделей (в принципе, уже практически все есть, нужно лишь аккуратно собрать в одну кучу), то будут и они…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Мудрый кот
Сообщения: 1849
Зарегистрирован: Вс дек 25, 2016 08:34:54

Сообщение Dimon456 »

VladislavS, вот весь список
СпойлерИзображение
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

Dimon456, у тебя жесть какая-то в дереве инклюдов. Это же SPL гребаный!
Вот все, что нужно под F0:

Код: Выделить всё

core_cm0.h 
core_cmFunc.h
core_cmInstr.h
stm32f030x6.h
stm32f030x8.h
stm32f030xc.h
stm32f0.h
stm32f0xx.h
vector.h
Ну и линкер со стартапом.
P.S. Причем, stm32f0.h является тупо оболочкой, которая в зависимости от твоих дефайнов подключает нужный stm32f030xxx.
А еще, если покопаться, можно все stm32f030xxx в один файл свести, используя ifdef'ы.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

Dimon456, Eddy_Em, вы прикалываетесь? Пользуйтесь актуальной версией CMSIS.
Изображение
Изображение
Спойлер
изображение_2022-11-16_093848624.png
(16.66 КБ) 387 скачиваний
изображение_2022-11-16_094026533.png
(11.49 КБ) 379 скачиваний
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

VladislavS, в cmsis_gcc.h объявлены абсолютно те же самые макросы, что и в core_cmInstr.h. Так что, этот заголовочник вообще нигде не нужен!
P.S. Даже CMSIS 2002 года вполне себе актуален. Что там может быть в новых заголовочниках эдакого нужного? Абсолютно ничего!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321233#p4321233"]Что там может быть в новых заголовочниках эдакого нужного?[/uquote]Я вот макрос __VECTOR_TABLE_ATTRIBUTE использую. Да мало ли что они там ещё за 10 лет исправили. Если интересено, можешь сравнить сам. У меня более интересные дела найдутся.

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321233#p4321233"]Абсолютно ничего![/uquote]Я больше доверяю разрабочикам ARM.

PS: А зачем ты их вообще подключаешь, если там ничего нужного? :dont_know:
Собутыльник Кота
Аватара пользователя
Сообщения: 2516
Зарегистрирован: Пт июл 12, 2019 22:52:01

Сообщение Eddy_Em »

__VECTOR_TABLE_ATTRIBUTE
Ну, мне-то это нафиг не нужно, я даже понятия не имею, что оно делает.
А зачем ты их вообще подключаешь, если там ничего нужного?
Потому что лень поковыряться и "причесать" нужные CMSIS заголовочники.
Из всей той толпы макросов у меня разве что DSB() иногда использовалось. Ну, возможно, еще иной раз можно воспользоваться "реверсом" битов, подсчетом количества первых нулевых или преобразованием little/big endian.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Контактная информация:
Собутыльник Кота
Аватара пользователя
Сообщения: 2567
Зарегистрирован: Вт май 01, 2018 19:44:47

Сообщение VladislavS »

[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321287#p4321287"]Ну, мне-то это нафиг не нужно[/uquote]Другого я и не ожидал. Ну а мне пофиг, что тебе пофиг! :)))
Ответить

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