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

 
 
> Отладка и выход за пределы массивов, Как отловить выход за предел массива.
Neo_Matrix
сообщение Apr 6 2018, 20:27
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-04-06
Пользователь №: 16 029



Подскажите, есть ли способ под FreeRTOS понять есть ли выходы за предел массива. Хуки на недостаток хипа и стека работают нормально и очень помогают, когда нужно зажать стек задачи до минимума. Но как отладить выход за пределы массивов? Такая необходимость появилась, так как иногда устройства перезагружаются сами по себе(в обработчиках исключений стоит функция сброса, так как устройства должны максимально быть доступны). Есть подозрение на выход за пределы. Так как проект достаточно крупный около 300кб кода с оптимизацией, пересмотреть, а главное заметить ошибку очень сложно.
Кто, что может порекомендовать?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Neo_Matrix
сообщение Apr 10 2018, 12:11
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 27
Регистрация: 11-04-06
Пользователь №: 16 029



Всем спасибо. Ошибка найдена. Функции strncmp при определенных стечениях обстоятельств передавался NULL вместо валидного указателя.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 10 2018, 12:26
Сообщение #3


Гуру
******

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



Цитата(Neo_Matrix @ Apr 10 2018, 15:11) *
Всем спасибо. Ошибка найдена. Функции strncmp при определенных стечениях обстоятельств передавался NULL вместо валидного указателя.

Вообще в нормально построенной программе на Cortex-M все области вне регионов ОЗУ обычно запрещаются для доступа по записи, а все регионы где вообще нет никакой памяти запрещаются для любого типа доступа. Для этого и предназначен MPU. Если-б у Вас программа была построена так, то скорей всего ошибка нашлась бы при первом же её проявлении.
Go to the top of the page
 
+Quote Post
haker_fox
сообщение Apr 10 2018, 14:51
Сообщение #4


Познающий...
******

Группа: Свой
Сообщений: 2 963
Регистрация: 1-09-05
Из: г. Иркутск
Пользователь №: 8 125



QUOTE (jcxz @ Apr 10 2018, 20:26) *
Вообще в нормально построенной программе на Cortex-M все области вне регионов ОЗУ обычно запрещаются для доступа по записи

А как разрешить запись в разрешённые регионы?


--------------------
Выбор.
Go to the top of the page
 
+Quote Post
jcxz
сообщение Apr 11 2018, 06:24
Сообщение #5


Гуру
******

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



Цитата(haker_fox @ Apr 10 2018, 17:51) *
А как разрешить запись в разрешённые регионы?

Начать с открытия мануала на ядро Cortex-M и изучения регистра конфигурации MPU.
А чтение мануала вслух - услуга платная. laughing.gif
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Neo_Matrix   Отладка и выход за пределы массивов   Apr 6 2018, 20:27
- - jcxz   Цитата(Neo_Matrix @ Apr 6 2018, 23:27) По...   Apr 6 2018, 21:57
- - kolobok0   Цитата(Neo_Matrix @ Apr 6 2018, 23:27) .....   Apr 7 2018, 00:19
|- - jcxz   Цитата(kolobok0 @ Apr 7 2018, 03:19) Набе...   Apr 7 2018, 19:08
- - novikovfb   Для начала стоит перенести код в настольный ПК и п...   Apr 7 2018, 04:11
- - k155la3   1. Проработайте код аналитически, тк выход за гран...   Apr 7 2018, 09:14
- - k155la3   Цитата(jcxz @ Apr 7 2018, 22:08) . . . (...   Apr 7 2018, 19:49
|- - jcxz   Цитата(k155la3 @ Apr 7 2018, 22:49) 2. Эт...   Apr 7 2018, 20:23
|- - k155la3   Цитата(jcxz @ Apr 7 2018, 23:23) И что? ...   Apr 8 2018, 13:40
|- - Kabdim   Цитата(jcxz @ Apr 7 2018, 23:23) И что? ...   Apr 8 2018, 14:03
- - Neo_Matrix   Спасибо всем за ответы. Их действительно много и о...   Apr 7 2018, 22:57
|- - kolobok0   Цитата(Neo_Matrix @ Apr 8 2018, 01:57) Сп...   Apr 8 2018, 09:30
- - HardEgor   Цитата(Neo_Matrix @ Apr 7 2018, 03:27) Та...   Apr 8 2018, 04:15
||- - haker_fox   QUOTE (jcxz @ Apr 11 2018, 14:24) А чтени...   Apr 12 2018, 15:17
|- - megajohn   Цитата(Neo_Matrix @ Apr 10 2018, 15:11) В...   Apr 10 2018, 12:44
- - Neo_Matrix   Использую Keil. В комплекте с FREERTOS есть демка,...   Apr 10 2018, 14:52


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

 


RSS Текстовая версия Сейчас: 20th July 2025 - 04:31
Рейтинг@Mail.ru


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