Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/28: Рейтинг темы: голосов - 28, средняя оценка - 4.64
KotBihimoth

Keil MDK-ARM 5.11.0.0 Странное поведение CallStack

19.09.2014, 03:28. Показов 5464. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Столкнулся с явлением, которое не очень укладывается в моём сознании. Суть такова: При отладке в окне "Call Stack" появляются странные адреса после вызова функции RCC_APB1PeriphClockCmd. Не то, чтобы у меня из-за этого что-то не работает, просто меня это очень смущает... Stack pointer и Link rikystir изменяются корректно, проверил в двух разных версиях Keila. Скриншоты прилагаются, проблема обведена красным...

Keil 5

<Изображение удалено>


Keil 4

<Изображение удалено>
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
19.09.2014, 03:28
Ответы с готовыми решениями:

Keil MDK-ARM
На руках имеют две демонстрационные платки от ST: STM32VL omd STM32F4 Есть некоторые идеи, которые хотелось бы реализовать, но опыта и...

Keil MDK-ARM Version 5
Вышла 5-я версия. Из замеченных глюков, на мой взгляд ничего не изменилось ) Ярлык стал зеленным. ...

Keil MDK ARM 5 + Tiva C = полнейшая каша в голове
Разбираюсь тут с платкой http://www.ti.som/tool/ek-tm4c123gxl на TM4C123GH6PM. Установил Keil, библиотеки, скачал учебных проектов, всё...

5
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
19.09.2014, 10:24
Как именно RCC_APB1PeriphClockCmd вызывается?
Какие настройки проекта?
Откуда взят stm32f10x_rcc.c, у меня похоже он другой, я его через RTE подключаю.
У меня в вызове RCC_APB1PeriphClockCmd строка if (NewState != DISABLE) раскладывается в одну ассемблерную команду.
После вызова никаких непонятных адресов вместо имен нет.
0
KotBihimoth
19.09.2014, 14:06
Цитата Сообщение от fr0stir
Как именно RCC_APB1PeriphClockCmd вызывается?
Code
1
2
3
4
5
6
7
ErrorStatus HW_InitRTC(void){
RTC_InitTypeDef RTC_InitStruct;
ErrorStatus retval = ERROR;
uint32_t   stortup_timeout = RTC_STARTUP_TIMEOUT;
 
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
...
Цитата Сообщение от fr0stir
Какие настройки проекта?

<Изображение удалено>

Цитата Сообщение от fr0stir
Откуда взят stm32f10x_rcc.c, у меня похоже он другой, я его через RTE подключаю.
У меня в вызове RCC_APB1PeriphClockCmd строка if (NewState != DISABLE) раскладывается в одну ассемблерную команду.
После вызова никаких непонятных адресов вместо имен нет.
Я проект создавал по старому принципу - копировал папки CMSIS и StdPeriph из архива, что скачан с сайта st.com, и подключал к проекту. В Keil 4 тоже странное поведение - порядок и количество функций PROC_Normal и HW_InitRTC в стеке вызовов. Проблема не в том, что у меня что-то не работает, просто мне показалось это странным и похожих случаев в инете я не нашёл.
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
19.09.2014, 14:12
Если RCC и другие модули подключать через RTE Keil`а, то вопервых файлик другой подключиться, там RCC_APB1PeriphClockCmd не на четыреста какой то строке, а на 131, и ассемблиться она иначе. Возможно с той библиотекой подключились какие то модули, отладочной информации к которым нет и соответственно отладчик вывел не символьные имена, а адреса функций.

А проект полностью самодельный? Только библиотека с ST скачана?
Если можете, выложите архив с проектом, прям интересно посмотреть, от чего такая пляска.
0
KotBihimoth
19.09.2014, 15:10
Цитата Сообщение от fr0stir
Если RCC и другие модули подключать через RTE Keil`а, то вопервых файлик другой подключиться, там RCC_APB1PeriphClockCmd не на четыреста какой то строке, а на 131, и ассемблиться она иначе. Возможно с той библиотекой подключились какие то модули, отладочной информации к которым нет и соответственно отладчик вывел не символьные имена, а адреса функций.
Для STM32F0xx к сожалению отсутствуют драйвера в RTE.

<Изображение удалено>


Заменил CMSIS и Startup на модули RTE, случайных адресов не стало, но стек вызовов меня всё равно не устраивает!

<Изображение удалено>


Цитата Сообщение от fr0stir
А проект полностью самодельный? Только библиотека с ST скачана?
Если можете, выложите архив с проектом, прям интересно посмотреть, от чего такая пляска.
Отправил ссылку в ЛС
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 1,257
19.09.2014, 21:54
К сожалению проверить на живом проекте не вышло, нужного железа нет.
Можно еще попробовать почистить проект, чтоб вся отладочная информация перегенерилась, листингои там и прочее что генерится.
Но вообще странно смотрится.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
19.09.2014, 21:54
Помогаю со студенческими работами здесь

Как возможно в Keil uVision MDK-ARM выполнять арифметические операции над числами до генерации кода?
Если правильно понимаю, то прекомпилятор языка Си производит только подстановку по директивам без арифметических вычислений, а далее...

Странное поведение CallStack или проблема вызова функции.
Товарищи, подскажите пожалуйста, что я могу делать не правильно. Проект для STM32F427, KEIL Простая функция, проход по шагам,...

Keil странное поведение
Непонятки. Ситуация такая. Есть файл stm32f10x.h и файл w5100.h. В w5100.h: #define IMR (COMMON_BASE + 0x0016) #define RCR...

асм в mdk-arm
Кто нибудь знает как сделать в кейле асм вставку? Гугл не помог, все что нашлось это для кейл-ц51 но в mdk-arm оно не работает(#pragma ASM).

Проблема с MDK-ARM 4.74
Здравствуйте, друзья! Решил перейти с CooCox на MDK-ARM 4.74. Скачал с офф. сайта, установил, запускаю от админа, но вот незадача -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 30.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
Автоматическое создание документа при проведении другого документа
Maks 29.03.2026
Реализация из решения ниже выполнена на нетиповых документах, разработанных в конфигурации КА2. Есть нетиповой документ "ЗаявкаНаРемонтСпецтехники" и нетиповой документ "ПланированиеСпецтехники". В. . .
Настройка движения справочника по регистру сведений
Maks 29.03.2026
Решение ниже реализовано на примере нетипового справочника "ТарифыМобильнойСвязи" разработанного в конфигурации КА2, с целью учета корпоративной мобильной связи в коммерческом предприятии. . . .
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru