STM32 новичку в ARM что к чему
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
[uquote="Dimon456",url="/forum/viewtopic.php?p=4321019#p4321019"]#if defined STM32F0 это где-то объявлять надо.[/uquote]Обычно такие вещи в настройках проекта задаются.
- Реклама
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
VladislavS, в Makefile же! Какие "настройки проекта"?
Вот, кстати, в более свежем Makefile у меня появились make openocd для запуска сервера отладки и make debug…
Вот, кстати, в более свежем Makefile у меня появились make openocd для запуска сервера отладки и make debug…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
[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 с человеческой отладкой?
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321031#p4321031"]Вот, кстати, в более свежем Makefile у меня появились make openocd для запуска сервера отладки и make debug…[/uquote]Нафига это надо людям, использующим IDE с человеческой отладкой?
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
[uquote="VladislavS",url="/forum/viewtopic.php?p=4321036#p4321036"]Нафига это надо людям, использующим IDE с человеческой отладкой?[/uquote]
Я это "человеческим" не считаю. Дрочить мышу - так себе человечность...
Я это "человеческим" не считаю. Дрочить мышу - так себе человечность...
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Реклама
- Сообщения: 145
- Зарегистрирован: Пн апр 02, 2012 15:56:23
[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-хосте.
Добавлено after 3 minutes 8 seconds:
Почти в тему сделаю рекламу небольшую, уже давно использую связку VSCode + Platformio, понадобилось её без интернета поднять, пришел к решению VS Code + WSL-контейнер, на котором стоит Platformio (с gcc). Оказалось, что компиляция/отладка на Linux (WSL-контейнере) примерно вдвое быстрее, чем в случае, когда все стоит на Windows-хосте.
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
[uquote="Dimon456",url="/forum/viewtopic.php?p=4321039#p4321039"]VladislavS, и Eddy_Em, у мну не получается, не то не другое.[/uquote]Что там может не получаться? Вместо стартап.s в проект добавить стартап.с. Что тут сложного то?
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
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
[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 определениеЕсли это не так, то либо свежий CMSIS скачать, либо в линкерскриптах поправить имя секции с векторами.
startup_iar_gcc_keil_stm32f030xc.c
STM32F030CC_flash.lds
STM32F030CC_sram.lds
Проверить в вашей версии CMSIS в файле cmsis_gcc.h определение
Код: Выделить всё
#define __VECTOR_TABLE_ATTRIBUTE __attribute__((used, section(".vectors")))
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
у меня этого файла нет, даже поиском не нахожу.VladislavS писал(а):Проверить в вашей версии CMSIS в файле cmsis_gcc.h
Вам, VladislavS, Eddy_Em, мой проект скинуть полностью?
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
[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]Зачем?
[uquote="Dimon456",url="/forum/viewtopic.php?p=4321072#p4321072"]Вам, VladislavS, Eddy_Em, мой проект скинуть полностью?[/uquote]Зачем?
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
VladislavS, эти файлы (cmsis_compiler.h и cmsis_gcc.h) нужны только под F4. У меня в дереве инклюдов под F0 и F1 их даже нет за ненадобностью.
Вот когда таки решусь перейти на единые инклюды для всех моделей (в принципе, уже практически все есть, нужно лишь аккуратно собрать в одну кучу), то будут и они…
Вот когда таки решусь перейти на единые инклюды для всех моделей (в принципе, уже практически все есть, нужно лишь аккуратно собрать в одну кучу), то будут и они…
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 1849
- Зарегистрирован: Вс дек 25, 2016 08:34:54
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
Dimon456, у тебя жесть какая-то в дереве инклюдов. Это же SPL гребаный!
Вот все, что нужно под F0:
Ну и линкер со стартапом.
P.S. Причем, stm32f0.h является тупо оболочкой, которая в зависимости от твоих дефайнов подключает нужный stm32f030xxx.
А еще, если покопаться, можно все stm32f030xxx в один файл свести, используя ifdef'ы.
Вот все, что нужно под 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
Dimon456, Eddy_Em, вы прикалываетесь? Пользуйтесь актуальной версией CMSIS.


Спойлер
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
VladislavS, в cmsis_gcc.h объявлены абсолютно те же самые макросы, что и в core_cmInstr.h. Так что, этот заголовочник вообще нигде не нужен!
P.S. Даже CMSIS 2002 года вполне себе актуален. Что там может быть в новых заголовочниках эдакого нужного? Абсолютно ничего!
P.S. Даже CMSIS 2002 года вполне себе актуален. Что там может быть в новых заголовочниках эдакого нужного? Абсолютно ничего!
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
[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: А зачем ты их вообще подключаешь, если там ничего нужного?
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321233#p4321233"]Абсолютно ничего![/uquote]Я больше доверяю разрабочикам ARM.
PS: А зачем ты их вообще подключаешь, если там ничего нужного?
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
Ну, мне-то это нафиг не нужно, я даже понятия не имею, что оно делает.__VECTOR_TABLE_ATTRIBUTE
Потому что лень поковыряться и "причесать" нужные CMSIS заголовочники.А зачем ты их вообще подключаешь, если там ничего нужного?
Из всей той толпы макросов у меня разве что DSB() иногда использовалось. Ну, возможно, еще иной раз можно воспользоваться "реверсом" битов, подсчетом количества первых нулевых или преобразованием little/big endian.
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
[uquote="Eddy_Em",url="/forum/viewtopic.php?p=4321287#p4321287"]Ну, мне-то это нафиг не нужно[/uquote]Другого я и не ожидал. Ну а мне пофиг, что тебе пофиг! 



