jenya7 0 6 июня, 2018 Опубликовано 6 июня, 2018 · Жалоба странно. при вхождении в эту функцию я получаю сообщение от дебагера. в других функциях я такого сообщения не получаю. Вот тут откройте окошко с памятью и посмотрите содержимое с адреса 0x2000ff68. Или в окошке дизассемблера по шагам до исключения пройдите из состояния debug1. там находяться какие то данные 14 07 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 6 июня, 2018 Опубликовано 6 июня, 2018 · Жалоба там находяться какие то данные 14 07 С адресом я ошибся несколько. Схема следующая: - Ловим exception - Смоторим SP - Изучаем содержимое стека - Смотрим дизассемблер, делаем выводы Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 6 июня, 2018 Опубликовано 6 июня, 2018 · Жалоба С адресом я ошибся несколько. Схема следующая: - Ловим exception - Смоторим SP - Изучаем содержимое стека - Смотрим дизассемблер, делаем выводы А где в IAR можно увидеть Exception stack frame? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 6 июня, 2018 Опубликовано 6 июня, 2018 · Жалоба Посмотрите в опциях проекта Linker - Advanced, нижняя птичка. Stack usage. Я отсадил бы вылетающий код в отдельный проект и попробовал его под симулятором. На кол-во "активных" BP есть ограничение. Если вылазит ругательство - убирайте ненужные BP. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 7 июня, 2018 Опубликовано 7 июня, 2018 (изменено) · Жалоба Посмотрите в опциях проекта Linker - Advanced, нижняя птичка. Stack usage. Я отсадил бы вылетающий код в отдельный проект и попробовал его под симулятором. На кол-во "активных" BP есть ограничение. Если вылазит ругательство - убирайте ненужные BP. брэкпоинт один а он видит целую кучу. когда я кликаю на Exception Frame компайлер посылает меня в какойто адрес вообще за границами програмной памяти 0xffffffff8 Изменено 7 июня, 2018 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 7 июня, 2018 Опубликовано 7 июня, 2018 · Жалоба брэкпоинт один а он видит целую кучу. Посмотрите опции настройки J-link, там и исключения поминаются. Уменьшите скорость интерфейса, если это возможно. Оптимизацию, я думаю, Вы отключили. А с количеством BP это как-то странно. Для установки BP используйте __no_operation(); В проблемной ф-ии закомментируйте весь код, оставьте __no_operation() и return. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 10 июня, 2018 Опубликовано 10 июня, 2018 (изменено) · Жалоба Посмотрите опции настройки J-link, там и исключения поминаются. Уменьшите скорость интерфейса, если это возможно. Оптимизацию, я думаю, Вы отключили. А с количеством BP это как-то странно. Для установки BP используйте __no_operation(); В проблемной ф-ии закомментируйте весь код, оставьте __no_operation() и return. С пустой функцией все нормально. Но если вставляю строчку в нее - вылетает в эксепшен на0x32da 0xed2d 0x8b02 VPUSH {D8}. Я вообще в шоке. Работаю с IAR несколько лет не помню чтоб когда то такое было. я все время попадаю в void default_isr(void) { #define VECTORNUM (*(volatile uint8_t*)(0xE000ED04)) printf("\n****default_isr entered on vector %d*****\r\n\n",VECTORNUM); return; } в терминале смотрю что printf написал ****default_isr entered on vector 3***** полная хренотень Изменено 10 июня, 2018 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 10 июня, 2018 Опубликовано 10 июня, 2018 · Жалоба полная хренотень А FPU-то включен? Что в CPACR пишется? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 10 июня, 2018 Опубликовано 10 июня, 2018 (изменено) · Жалоба А FPU-то включен? Что в CPACR пишется? блиииин. спасибо. отключил FPU - все бежит. но как? у камня есть аппаратный FPU и при создании проекта IAR честно включает его в настройках - General Options -> Floating point settings -> VFPv4 single precision. Вопрос кому морду бить - производителям камня или IAR? Изменено 10 июня, 2018 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
aaarrr 63 10 июня, 2018 Опубликовано 10 июня, 2018 · Жалоба Вопрос кому морду бить - производителям камня или IAR? Не знаю, как принято у IAR'а, но по-моему, инициализация железа - это таки дело пользователя. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 10 июня, 2018 Опубликовано 10 июня, 2018 (изменено) · Жалоба Не знаю, как принято у IAR'а, но по-моему, инициализация железа - это таки дело пользователя. а что есть инициализация FPU? я нигде в примерах для Kinetis не встречал. мда. порылся в драйверах и там есть fpu.h - __intrinsic void __enable_FPU(void); я думал модуль работает сразу, без лишних телодвижений. есть более универсальный код #define CORTEX_M4_BLOCK 0xe000e000 #define CPACR *(unsigned long *)(CORTEX_M4_BLOCK + 0xd88) // Co-processor Access Control CPACR |= (0xf << 20); // enable access to FPU Изменено 10 июня, 2018 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
k155la3 26 11 июня, 2018 Опубликовано 11 июня, 2018 · Жалоба . . . Вопрос кому морду бить - производителям камня или IAR?Посмотрите еще в "родных" аппнотах, в проектах IAR, могут быть установлены макро-переменные, Compiler - Preprocessor, predefined symb. В опциях линкера тоже могут устанавливаться. Может библиотека какая не прилинковалась /правильно/. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 12 июня, 2018 Опубликовано 12 июня, 2018 · Жалоба Посмотрите еще в "родных" аппнотах, в проектах IAR, могут быть установлены макро-переменные, Compiler - Preprocessor, predefined symb. В опциях линкера тоже могут устанавливаться. Может библиотека какая не прилинковалась /правильно/. оказывается в Кинетис FPU надо запускать. у меня был проект для К70 и там в SysInit он запускался а в SysInit для К10 нет. так что морду надо бить мне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться