реклама на сайте
подробности

 
 
> Keil. Stack usage overflow, в отладчике вспыхивает красным
ViKo
сообщение Jul 25 2016, 16:44
Сообщение #1


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Задал использовать проверку переполнения стека в отладочном назначении. И watermark. Вижу при отладке, подсвечивает красным на одной задаче Overflow. Догнал размер с 512 байтов до 4000, и все равно то же. При этом в процентах cur / max пишет: 1%, 6%. И пока малый стек был, тоже никогда до 100% не выдавало. И работает при этом. Кто из нас двинулся умом? Чувствую, дело не в переполнении стека.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
ViKo
сообщение Jul 29 2016, 13:51
Сообщение #2


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Поставил Keil 5.20. Теперь Overflow не высвечивается. А только числа cur / max периодически пропадают, пустыми ячейки становятся в таблице Stack usage. Это лучше, чем писать Overflow на красном фоне! rolleyes.gif Буду считать, у меня все нормально. Просто быстродействия компа не хватает, чтобы все посчитать и написать.

Кстати, ничего нового в версии 5.20 не увидел. Кроме начальной заставки. laughing.gif
P.S. Нашел новое. Можно включить новую версию компилятора (v6.4 вместо v5.06), которым компилировать не удастся, потому что находит полсотни ошибок. Прикрепленное изображение
Go to the top of the page
 
+Quote Post
pitt
сообщение Jul 30 2016, 13:05
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(ViKo @ Jul 29 2016, 09:51) *
P.S. Нашел новое. Можно включить новую версию компилятора (v6.4 вместо v5.06), которым компилировать не удастся, потому что находит полсотни ошибок. Прикрепленное изображение

Учитесь писать чисто... Правильно написянный код может изредка дать несколько предупреждений. Так что есть замечательный повод для работы над ошибками.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 30 2016, 14:39
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(pitt @ Jul 30 2016, 16:05) *
Учитесь писать чисто... Правильно написянный код может изредка дать несколько предупреждений. Так что есть замечательный повод для работы над ошибками.

Я не против совершенствования. В этом новом компиляторе выбираются разные стандарты, вплоть до С11 и С++14. Займусь в свободное от досуга время. biggrin.gif
Считайте, что полсотни ошибок на 20000 строк исходников - это и есть изредка несколько. rolleyes.gif
Не зря этот компилятор не включается по умолчанию.
Go to the top of the page
 
+Quote Post
pitt
сообщение Jul 30 2016, 15:04
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(ViKo @ Jul 30 2016, 10:39) *
Я не против совершенствования. В этом новом компиляторе выбираются разные стандарты, вплоть до С11 и С++14. Займусь в свободное от досуга время. biggrin.gif
Считайте, что полсотни ошибок на 20000 строк исходников - это и есть изредка несколько. rolleyes.gif
Не зря этот компилятор не включается по умолчанию.

1. Есть С99.
2. Не путайте ошибки и предупреждения.
3. Компилятор работает файл за файлом. Так и устраняйте и ошибки и предупреждения. Если у Вас один файл в 20000 линий, то это, извините, неизлечимо. Вообще-то, надо стремитьса чтобы файл был до 500 линий.
Не берусь никого учить: научить нельзя, можно помочь научиться.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
Timmy
сообщение Jul 31 2016, 09:53
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 835
Регистрация: 9-08-08
Из: Санкт-Петербург
Пользователь №: 39 515



Цитата(pitt @ Jul 30 2016, 18:04) *
1. Есть С99.
2. Не путайте ошибки и предупреждения.
3. Компилятор работает файл за файлом. Так и устраняйте и ошибки и предупреждения. Если у Вас один файл в 20000 линий, то это, извините, неизлечимо. Вообще-то, надо стремитьса чтобы файл был до 500 линий.
Не берусь никого учить: научить нельзя, можно помочь научиться.

Не знаю, у кого как, а у меня шестая версия C++ вываливает кучу варнингов и ошибок из заголовочных файлов CMSIS и STM32_DFP. Их тоже все исправлять? rolleyes.gif Или надо какой-то режим компиляции правильно выбрать?
Go to the top of the page
 
+Quote Post
pitt
сообщение Jul 31 2016, 13:06
Сообщение #7


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Код, поставляемый STM, не подлежит обсуждению ввиду очень низкого качества.
Разбивать на файлы надо исходя из принципа инкапсуляции - только то, что совершенно необходимо. Никаких глобальных переменных, все или автоматические или статические. Для доступа из других файлов применяются функции. Кстати, большинство функций тоже статические.
Цитата
Однако, компилятор 5.06 компилирует то же без ошибок. Кто не прав?

А не прав разработчик, написавший непереносимый или плохо переносимый код! Если достатпчно часто приходиться переносить разнообразные функции в совершенно другую среду - тут переносимость(portability) очень дорогого стоит.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post
jcxz
сообщение Aug 1 2016, 02:51
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 5 228
Регистрация: 3-07-08
Из: Омск
Пользователь №: 38 713



Цитата(pitt @ Jul 31 2016, 19:06) *
Код, поставляемый STM, не подлежит обсуждению ввиду очень низкого качества.

Так он поставляется не для того, чтобы использовать в проектах, а только для примера и когда есть какие-то непонятки по даташитам и что-то не работает.
Go to the top of the page
 
+Quote Post
pitt
сообщение Aug 1 2016, 12:28
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 328
Регистрация: 1-06-06
Из: USA
Пользователь №: 17 672



Цитата(jcxz @ Jul 31 2016, 22:51) *
Так он поставляется не для того, чтобы использовать в проектах, а только для примера и когда есть какие-то непонятки по даташитам и что-то не работает.

К сожалению, вынужден не согласиться. Этот код существенно ускоряет создание... демошки, что по определению и есть FSH(food second hand), но часто преподносится как готовый продукт. Вы можете найти требование знания и умения использования Cube к кандидатам на работу. В самом деле, так много мозгов не надо, а за мозги приходиться платить, т.е. очевидная прямая "экономия". Ну еще можно удаленно заказать в какой-нибудь Индии - вот еще экономия. Ну то, что продукт дерьмо, так его GUI украсит и, потом, он не то, чтобы совсем не работает, а так, между изредка и частенько.
Кроме того, силикон развивается быстро и за ним без Индии не угнаться, а что ожидать оттуда?! Опыт подсказывает, что миллиард населения хочет жрать, ну и надо этот миллиард создавать.

А кроме шуток, я тоже использую этот продукт дле reference only - все таки он лучше их документации, написанной не по-английски, хотя английскими словами.


--------------------
Прокричал немой глухому:"...Спасибо за внимание!"
http://www.youtube.com/watch?v=3Nnj4ky4Z_g
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- ViKo   Keil. Stack usage overflow   Jul 25 2016, 16:44
- - ViKo   Изучил в отладчике, где стеки задач создаются. Виж...   Jul 26 2016, 16:01
|- - jcxz   Цитата(ViKo @ Jul 26 2016, 22:01) Изучил ...   Jul 27 2016, 02:49
||- - ViKo   Цитата(jcxz @ Jul 27 2016, 05:49) Задавай...   Jul 27 2016, 10:52
|- - Alechek   Цитата(ViKo @ Jul 26 2016, 21:01) Изучил ...   Jul 27 2016, 05:45
- - ViKo   ОС Кейловская RTX с их же надстройкой CMSIS RTOS. ...   Jul 27 2016, 07:45
- - SasaVitebsk   Посмотрите как данная фича во FreeRTOS реализована...   Jul 27 2016, 12:20
- - ViKo   Сделал все задачи с заданным пользователем стеком ...   Jul 27 2016, 14:13
|- - jcxz   Цитата(ViKo @ Jul 27 2016, 20:13) Складыв...   Jul 28 2016, 05:37
- - SasaVitebsk   Ну я вот думаю.. Каким образом они видят, что что-...   Jul 28 2016, 06:55
- - ViKo   Адрес не нашел, там много функций работает. Вся па...   Jul 28 2016, 07:05
- - ViKo   Попробовал на другом компьютере, слабеньком ноутбу...   Jul 29 2016, 12:32
|- - Kabdim   Цитата(Timmy @ Jul 31 2016, 12:53) Не зна...   Jul 31 2016, 13:34
- - ViKo   Нет, не один файл. Под 20. Но все равно много стро...   Jul 31 2016, 07:21


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 23rd July 2025 - 13:05
Рейтинг@Mail.ru


Страница сгенерированна за 0.01435 секунд с 7
ELECTRONIX ©2004-2016