-
- Нет, там по условиям портирования, в документации, функции этого
файла должны по указателю на функцию из прерывания таймера
вызываться. Просто человек, готовивший порт много лет назад, не
использовал оптимизацию в полной мере. И даже у меня в этот код
какое-то время, на начальном этапе, работал, а потом перестал. Стал
копать почему - и нашёл. - Nikolay_Po(12.05.2023 00:38)
- Думаю, тому разработчику STM8 или пики понравились бы: под них есть
только SDCC, а у этой заразы с оптимизацией совсем плохо... - Eddy_Em(12.05.2023 00:41)
- Ну, я для AVR использую AVR-GCC-12. С оптимизациями там порядок, я
так не соптимизирую. И косяки кода становятся явными. Так что
корректная работа кода в полной оптимизации, с LTO - один из
признаков качества. Nikolay_Po(1 знак., 12.05.2023 00:51, ссылка)
- Вот, только что решил таки проверить: а что будет, если собрать не
с -O2, а с -O3? Размер прошивки с 35кБ вырос аж до 44кБ!!! Вот так
мне gcc наоптимизировал (видимо, все, что только можно,
позаинлайнил). Eddy_Em(545 знак., 14.05.2023 12:17)
- По моему, debug, при использовании LTO, не имеет смысла. Разве что повезет, в массив какой заглянуть или конфигурацию регистров периферии глянуть. Остальное - практически без шансов. - Nikolay_Po(14.05.2023 13:18)
- Не только инлайнит, но и циклы разматывает. - SciFi(14.05.2023 12:19)
- Вот, только что решил таки проверить: а что будет, если собрать не
с -O2, а с -O3? Размер прошивки с 35кБ вырос аж до 44кБ!!! Вот так
мне gcc наоптимизировал (видимо, все, что только можно,
позаинлайнил). Eddy_Em(545 знак., 14.05.2023 12:17)
- Ну, я для AVR использую AVR-GCC-12. С оптимизациями там порядок, я
так не соптимизирую. И косяки кода становятся явными. Так что
корректная работа кода в полной оптимизации, с LTO - один из
признаков качества. Nikolay_Po(1 знак., 12.05.2023 00:51, ссылка)
- Думаю, тому разработчику STM8 или пики понравились бы: под них есть
только SDCC, а у этой заразы с оптимизацией совсем плохо... - Eddy_Em(12.05.2023 00:41)
- Нет, там по условиям портирования, в документации, функции этого
файла должны по указателю на функцию из прерывания таймера
вызываться. Просто человек, готовивший порт много лет назад, не
использовал оптимизацию в полной мере. И даже у меня в этот код
какое-то время, на начальном этапе, работал, а потом перестал. Стал
копать почему - и нашёл. - Nikolay_Po(12.05.2023 00:38)