-
- К примеру, Cortex имеет встроенный модуль отладки и умеет генерить исключение от такового. Чисто теоретически :), силами программиста можно генерить и обрабатывать исключение при доступе к граничному значению ОЗУ (которое стек). Не пропрёт? - Chum_A(07.05.2013 18:13)
- Никто -- это кто? В ARM'ах и PIC24 такое есть. И ещё много где. В 8-битных нет. А фиг ли толку? Без виртуальной памяти оно ничего не даёт кроме ресета. - fk0(04.05.2013 16:05)
- Для отладки крайне важно узнать адрес (PC) той суки, которая стек превысила :) - Evgeny_CD(04.05.2013 16:13)
- Аппетиты у вас. Скоро захотите узнать где и какая задача в real-time не вложилась? - Apтём(04.05.2013 17:29)
- Да, хочу! Но это сделать несложно и сейчас, в отличие от стека. Evgeny_CD(132 знак., 04.05.2013 17:37)
- это не реал-тайм, это время исполнения. реалтайм это "а стартанула ли она вовремя" ))) - Mahagam(04.05.2013 17:50)
- Несложно модифицировать изложенное мной. Evgeny_CD(554 знак., 04.05.2013 18:06)
- Точно - Apтём(04.05.2013 17:58)
- это не реал-тайм, это время исполнения. реалтайм это "а стартанула ли она вовремя" ))) - Mahagam(04.05.2013 17:50)
- Да, хочу! Но это сделать несложно и сейчас, в отличие от стека. Evgeny_CD(132 знак., 04.05.2013 17:37)
- Аппетиты у вас. Скоро захотите узнать где и какая задача в real-time не вложилась? - Apтём(04.05.2013 17:29)
- ARM - Вы имеете в виду MPU? А в PIC24 раслизовано как MPU или как я предложил? - Evgeny_CD(04.05.2013 16:12)
- Для отладки крайне важно узнать адрес (PC) той суки, которая стек превысила :) - Evgeny_CD(04.05.2013 16:13)
- ага. и само прерывание ещё стека пожрёт )) Mahagam(100 знак., 04.05.2013 16:01)
- Ок. Вызов прерывания не лучшая идея - но я про саму суть идеи. - Evgeny_CD(04.05.2013 16:03)
- Статья с интересными идеями по теме Evgeny_CD(04.05.2013 15:44)
- Чото непонял. Какой компаратор? И какой эксепшн? MPU прелагаете исползовать? Или программно после проверки SP вызывать прерывание? - Apтём(04.05.2013 15:44)
- MPU-light - Evgeny_CD(04.05.2013 15:45)
- Вручную? Программно в смысле? - Apтём(04.05.2013 15:47)
- Когда RTOS передает управление задаче, она описывает, куда той лезть не надо. Полноценное MPU может и не так просто сделать, а вот такой вариант- просто. - Evgeny_CD(04.05.2013 15:49)
- Типа этого? Apтём(228 знак., 04.05.2013 15:52)
- Почти. Только не констатировать "клиент умер - пора в морг", а перед самой порчей стека предавать управление спецальному кусоку кода. - Evgeny_CD(04.05.2013 16:00)
- И как определить факт порчи стека? Для этого аппаратная поддержка нужна? - Apтём(04.05.2013 16:02)
- Почти. Только не констатировать "клиент умер - пора в морг", а перед самой порчей стека предавать управление спецальному кусоку кода. - Evgeny_CD(04.05.2013 16:00)
- Типа этого? Apтём(228 знак., 04.05.2013 15:52)
- Когда RTOS передает управление задаче, она описывает, куда той лезть не надо. Полноценное MPU может и не так просто сделать, а вот такой вариант- просто. - Evgeny_CD(04.05.2013 15:49)
- Вручную? Программно в смысле? - Apтём(04.05.2013 15:47)
- MPU-light - Evgeny_CD(04.05.2013 15:45)
- У 80C166 такое есть. Ну и через hardware watchpoint такое можно сделать, а это - море современных процов. - SciFi(04.05.2013 15:41 - 15:43)
- А... watchpoint на регистр поставить? А такое возможно? - Evgeny_CD(04.05.2013 16:14)
- Зачем? Стек всегда растёт монотонно, поэтому достаточно поставить на край стека. Хотя нет, вру, бывает, что и не монотонно. - SciFi(04.05.2013 16:35 - 16:40)
- Просто "обращение по адресу > чем" не так интересно. Картина памяти при оспользовании RTOS может юыть такая, что глобальные данные могут быть выше|ниже стека конкретной задачи. - Evgeny_CD(04.05.2013 15:50)
- А... watchpoint на регистр поставить? А такое возможно? - Evgeny_CD(04.05.2013 16:14)
- Пока RTOS & линкер мап. Устраивает. Предлагаемый вариант попробывовувать можно, но - накуй нужно. Сам попробуй. - tesla(04.05.2013 15:43)