STM32 новичку в ARM что к чему
- Сообщения: 791
- Зарегистрирован: Вт июн 17, 2014 00:34:26
- Реклама
- Сообщения: 7033
- Зарегистрирован: Сб янв 28, 2006 22:47:24
[uquote="baghear",url="/forum/viewtopic.php?p=3713241#p3713241"]в этой серии нужна задержка.[/uquote]
Где?
Где?
Астролябия-сама меряет, было бы что мерять!!!
Вопрос по C++.
Интереса ради в своём проекте решил попробовать, для начала просто переименовав main.c в main.cpp. Ну и поправил Makefile.
Результат компиляции до:
Результат компиляции после:
Откуда может вылезти разница в целых 4кБ в размере прошивки? При этом размеры .o файлов в каталоге сборки практически не отличаются, то есть похоже, что это линкер компонует смесь .c и .cpp менее оптимально.
Может, CFLAGS и CPPFLAGS нужно разделить и использовать разные?
Интереса ради в своём проекте решил попробовать, для начала просто переименовав main.c в main.cpp. Ну и поправил Makefile.
Результат компиляции до:
Код: Выделить всё
text data bss dec hex filename
99188 408 14360 113956 1bd24 build/ampcontrol_f103_ili9341_spi.elfКод: Выделить всё
text data bss dec hex filename
103420 408 14360 118188 1cdac build/ampcontrol_f103_ili9341_spi.elfМожет, CFLAGS и CPPFLAGS нужно разделить и использовать разные?
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
map-файл почитать, там всё написано.
А вообще, ключей маловато. Надо поддержку исключений и rtti убрать для начала.
Оптимизации что-то не наблюдаю.
Вот ещё. http://we.easyelectronics.ru/AVR/klyuch ... rnika.html
А вообще, ключей маловато. Надо поддержку исключений и rtti убрать для начала.
Код: Выделить всё
-fno-exceptions -fno-rttiВот ещё. http://we.easyelectronics.ru/AVR/klyuch ... rnika.html
Действительно. С добавлением -fno-exceptions размер стал таким же, как и в оригинальном коде на C.
А -gc-sections сотоварищи уже давно пользуюсь. Собственно, в этом проекте тоже.
Ещё в своё время (да и сейчас попробовал) экспериментировал с -flto (на AVR проектах довольно сильно экономило flash). Но с STM32 как-то всё совсем печально, прошивка на 10% меньше выходит, но получается тупо нерабочей. Правда, сильно разобраться в этом пока не пытался.
А -gc-sections сотоварищи уже давно пользуюсь. Собственно, в этом проекте тоже.
Ещё в своё время (да и сейчас попробовал) экспериментировал с -flto (на AVR проектах довольно сильно экономило flash). Но с STM32 как-то всё совсем печально, прошивка на 10% меньше выходит, но получается тупо нерабочей. Правда, сильно разобраться в этом пока не пытался.
- Реклама
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
Ну а что бы ему быть другим, если он и есть код на С. 
А с оптимизатором надо подружиться, конечно. -O3 и -flto хорошая проверка кода на вшивость.
А с оптимизатором надо подружиться, конечно. -O3 и -flto хорошая проверка кода на вшивость.
насколько я в курсе, LTO для ARM сильно от версии зависит. вот в этой теме много об этом говорилось: https://electronix.ru/forum/index.php?a ... c&id=42167 товарищ klen сборки компиляторов клепает сам по 2 штуки в неделюWiseLord писал(а):Но с STM32 как-то всё совсем печально, прошивка на 10% меньше выходит, но получается тупо нерабочей.
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
Для Cortex-M использовать что-либо отличное от ARM Embedded toolchain это быть ССЗБ. Если речь о GCC конечно.
- Сообщения: 7033
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Мне J-Link пришел, а проверить его пока не на чем. STM32 еще в пути, заморачиваться с PIC32 нет никакого желания. С ESP32 вроде можно что-то сделать, но что и как мне пока неизвестно, ибо оно как всегда с ESP32 делается через... задворки.
А нельзя ли им ипромки микрочиповские прошивать? Мне чисто попробовать, работает или нет.
А нельзя ли им ипромки микрочиповские прошивать? Мне чисто попробовать, работает или нет.
Астролябия-сама меряет, было бы что мерять!!!
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
Установи Segger-овский софт и запусти утилиту jlink.exe. Этого обычно достаточно.
- Сообщения: 7033
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Хорошо, попробую. Но, какой именно? Его на сайте сеггера валом софта всякого.
Астролябия-сама меряет, было бы что мерять!!!
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Влад говорит о дровах на jlink, и запускать надо jlink commander...
- Сообщения: 7033
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Дрова сами нашлись сразу после подключения.
А jlink commander сейчас попробую... если найду где его скачать.
Не запороть бы еще отладчик.
P.S. установил приложение, нашел утилиту jlink.exe, запустил. Просит указать устройство/ядро. Чего ему надо? Нужно уточнить на чем собран отладчик?
А jlink commander сейчас попробую... если найду где его скачать.
Не запороть бы еще отладчик.
P.S. установил приложение, нашел утилиту jlink.exe, запустил. Просит указать устройство/ядро. Чего ему надо? Нужно уточнить на чем собран отладчик?
Астролябия-сама меряет, было бы что мерять!!!
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
С сайта segger качается пакет ПО на J-Link, он там один. Какая версия J-link, что её страшно "запороть"?
Добавлено after 2 minutes 26 seconds:
[uquote="Asmodey",url="/forum/viewtopic.php?p=3714048#p3714048"]Чего ему надо?[/uquote]Забей, всё работает. Жди устройство, которое будешь отлаживать, подключай и работай.
Добавлено after 2 minutes 26 seconds:
[uquote="Asmodey",url="/forum/viewtopic.php?p=3714048#p3714048"]Чего ему надо?[/uquote]Забей, всё работает. Жди устройство, которое будешь отлаживать, подключай и работай.
- Сообщения: 7033
- Зарегистрирован: Сб янв 28, 2006 22:47:24
Ладно, получу платы с STM, тогда и опробую. Тем более что с почты сегодня звонили, возможно что-то из stm пришло.
[uquote="VladislavS",url="/forum/viewtopic.php?p=3714071#p3714071"]Какая версия J-link, что её страшно "запороть"?[/uquote]
Клон, разумеется.
SEGGER J-Link конфигуратор сообщает что это SEGGER J-Link ARM V8.00
Прошивку боязно обновлять. Много раз читал, как клонированные девайсы дохли после работы с официальным софтом. Не обязательно J-Link, разные другие тоже. Лог. анализаторы, например.
[uquote="VladislavS",url="/forum/viewtopic.php?p=3714071#p3714071"]Какая версия J-link, что её страшно "запороть"?[/uquote]
Клон, разумеется.
SEGGER J-Link конфигуратор сообщает что это SEGGER J-Link ARM V8.00
Прошивку боязно обновлять. Много раз читал, как клонированные девайсы дохли после работы с официальным софтом. Не обязательно J-Link, разные другие тоже. Лог. анализаторы, например.
Астролябия-сама меряет, было бы что мерять!!!
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
Дохли клоны на атмеловских чипах, это jlink v8 .
И то с легкостью востанавливались.
JLink на stm не убьешь.
Лог анализаторы на кипарисах так же не дохли, перешивалась епром и ставилась защита на запись...
Кстати, а нахрена ты взял jlink v8???
V9 900 р. всего и никакого геморроя...
И то с легкостью востанавливались.
JLink на stm не убьешь.
Лог анализаторы на кипарисах так же не дохли, перешивалась епром и ставилась защита на запись...
Кстати, а нахрена ты взял jlink v8???
V9 900 р. всего и никакого геморроя...
- Сообщения: 2567
- Зарегистрирован: Вт май 01, 2018 19:44:47
Ну V8 легко поднимается, если что, там SAM-BA есть по USB. Прошивка в сети есть.
- Сообщения: 7033
- Зарегистрирован: Сб янв 28, 2006 22:47:24
[uquote="dosikus",url="/forum/viewtopic.php?p=3714300#p3714300"]Кстати, а нахрена ты взял jlink v8???
V9 900 р. всего и никакого геморроя...[/uquote]
Кстати, а где вы раньше были с этим замечанием?
[uquote="VladislavS",url="/forum/viewtopic.php?p=3714307#p3714307"]Ну V8 легко поднимается, если что, там SAM-BA есть по USB. Прошивка в сети есть.[/uquote]
Тогда ладно. Но прошивку все равно буду обновлять только после того, как дерну ногой на МК и отслежу в Keil это самое дрыганье во всех подробностях. А то навалится все сразу, разбери где и в чем косяки...
V9 900 р. всего и никакого геморроя...[/uquote]
Кстати, а где вы раньше были с этим замечанием?
[uquote="VladislavS",url="/forum/viewtopic.php?p=3714307#p3714307"]Ну V8 легко поднимается, если что, там SAM-BA есть по USB. Прошивка в сети есть.[/uquote]
Тогда ладно. Но прошивку все равно буду обновлять только после того, как дерну ногой на МК и отслежу в Keil это самое дрыганье во всех подробностях. А то навалится все сразу, разбери где и в чем косяки...
Астролябия-сама меряет, было бы что мерять!!!
- Сообщения: 791
- Зарегистрирован: Вт июн 17, 2014 00:34:26
Добрый день, при подаче питания stm32f4 сразу появляется потенциал 1.2V на одном из выводов. Этот вывод подключен к транзистору который управляет бузером и последний начинает тихо неприятно пищать. Затвор транзистора подтянут к земле. Подскажите как это вылечить.
- Сообщения: 2516
- Зарегистрирован: Пт июл 12, 2019 22:52:01
Получил сегодня девборду на STM32F401 и что-то ума ей не дал: st-flash знать не знает о таком контроллере (возможно, в новых версиях поддержка и появится - не знаю), а openocd ругался, пока я не сделал connection under reset. С какого-то перепуга вот с такой конфигурацией
openocd пытается JTAG использовать, а не SWD:
ну, да ладно: если никто еще с этими МК не работал, придется годик-другой-третий подождать, пока нормальная поддержка у st-flash появится. Самому патчить st-flash уж очень неохота!
Код: Выделить всё
openocd -f interface/stlink-v2.cfg -f target/stm32f4x.cfg Код: Выделить всё
Error: jtag status contains invalid mode value - communication failure
Polling target stm32f4x.cpu failed, trying to reexamine
Examination failed, GDB will be halted. Polling again in 100ms
Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда.
Я на гитхабе, в ЖЖ
Я на гитхабе, в ЖЖ


