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

 
 
 
Reply to this topicStart new topic
> Симулятор Keil, Не работают примеры для STM32-lwIP
pr0m
сообщение Jan 28 2011, 12:25
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 183
Регистрация: 22-06-05
Из: Таганрог
Пользователь №: 6 233



Всем привет!

Откомпилированные примеры для STM32F107 и lwIP отлаживаются без проблем в железе, а когда пытаюсь пройтись симулятором - с нулевого адреса, где должны быть вектора, находятся нулики. Соответсно, симулятор стоит там на одном месте и никуда больше не идёт.
Подскажите, плиз, как настроить симулятор! С другими проектики, к-е сам создавал с нуля, такой проблемы нет. Чувствую, что-то не так с memory map в симуляторе.


--------------------
Правильно поставленный вопрос - половина ответа...
Go to the top of the page
 
+Quote Post
akimych
сообщение Jan 28 2011, 19:27
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073



С глюками симулятора столкнулся на STM32F100, он как и 107 симулятором периферии на самом деле не поддерживается.
А дальше происходит следующее, в настройках стоит, что ROM начинается с адреса 0x8000000, но симулятор туда сам не прыгает.
Надо ему подсказать через инишник либо прописать в настройках ROM с 0.
Можно для симулятора прописать настройки от 101го или 103го, тогда хоть какая-то периферия будет симулироваться.
Я вообще выбрал 101 в настройках (хотя реально 100) для проекта, на работоспособности это все равно никак не сказывается.
Go to the top of the page
 
+Quote Post
pr0m
сообщение Jan 29 2011, 12:22
Сообщение #3


Частый гость
**

Группа: Участник
Сообщений: 183
Регистрация: 22-06-05
Из: Таганрог
Пользователь №: 6 233



Цитата(akimych @ Jan 28 2011, 22:27) *
С глюками симулятора столкнулся на STM32F100, он как и 107 симулятором периферии на самом деле не поддерживается.
А дальше происходит следующее, в настройках стоит, что ROM начинается с адреса 0x8000000, но симулятор туда сам не прыгает.
Надо ему подсказать через инишник либо прописать в настройках ROM с 0.
Можно для симулятора прописать настройки от 101го или 103го, тогда хоть какая-то периферия будет симулироваться.
Я вообще выбрал 101 в настройках (хотя реально 100) для проекта, на работоспособности это все равно никак не сказывается.


Угумс, я уже это выяснил. STM32F103 вроде нормально симулируется, а вот 107-й толком не поддерживает. На кейловско-армовском сайте наткнулся на пару вопросов от людей с теми же проблемами, впрочем, оставленные без ответа кейловцами.
Для себя нашёл пару решений, однако не решающих проблему полностью:
Вобщем, для 107-го, чтобы симулятор хотя бы стартовал:
1. ROM прописать с 0-го адреса.
2. Такой ini для симулятора:

FUNC void Setup (void) {
SP = _RDWORD(0x08000000); // Setup Stack Pointer
PC = _RDWORD(0x08000004); // Setup Program Counter
xPSR = 0x01000000; // Обязательно. Установка бита Thumb, иначе сразу же падает в Hard fault.
_WDWORD(0xE000ED08, 0x08000000); // Setup Vector Table Offset Register
}


// Без этого ругается на доступ к несуществующей памяти. Целым куском 0х4000000...0х4FFFFFF не позволяет, только по 128МБайт
MAP 0x40000000,0x43FFFFFF READ WRITE // Периферия1
MAP 0x44000000,0x47FFFFFF READ WRITE // Периферия2
MAP 0x48000000,0x4BFFFFFF READ WRITE // Периферия3
MAP 0x4C000000,0x4FFFFFFF READ WRITE // Периферия4

//load %L incremental // это видел в каком-то инишнике, не разобрался что такое

Setup();

g, main // опционально

Но всё равно периферия толком мне симулируется - у меня код зациклился на проверке бита готовности генератора HSE при переключении на оный, дальше даже не захотелось проверять.


--------------------
Правильно поставленный вопрос - половина ответа...
Go to the top of the page
 
+Quote Post
akimych
сообщение Jan 29 2011, 13:37
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 72
Регистрация: 7-01-11
Пользователь №: 62 073



Цитата
//load %L incremental // это видел в каком-то инишнике, не разобрался что такое

Это загрузка самой прошивки.
Подробнее тут http://www.keil.com/support/man/docs/uv4/uv4_cm_load.htm

Цитата
Но всё равно периферия толком мне симулируется

Потому как не знает кейл периферии 107го. Вообще не знает, в меню периферии только ядро. Какие там биты готовности...
Причем даже выбор 103го в настройках не факт, что поможет, у 107 ведь даже RCC отличается.
Go to the top of the page
 
+Quote Post
Penchev
сообщение Jan 27 2012, 21:19
Сообщение #5





Группа: Новичок
Сообщений: 9
Регистрация: 8-03-10
Пользователь №: 55 853



Кто может подскажет в чем дело.При выборе 103-го периферия симулируется,но при отладке на STM32VLDISCOVERY стоит на месте время отладки.Это у меня одного или ограничения SWD?
Go to the top of the page
 
+Quote Post
andries5
сообщение Jan 28 2012, 12:21
Сообщение #6


Участник
*

Группа: Участник
Сообщений: 56
Регистрация: 15-01-09
Из: Moldova
Пользователь №: 43 421



Цитата(Penchev @ Jan 27 2012, 23:19) *
но при отладке на STM32VLDISCOVERY стоит на месте время отладки.Это у меня одного или ограничения SWD?

К большому сожалению и у меня также. Keil расчитан на 103.
Go to the top of the page
 
+Quote Post
Penchev
сообщение Jan 28 2012, 17:14
Сообщение #7





Группа: Новичок
Сообщений: 9
Регистрация: 8-03-10
Пользователь №: 55 853



Цитата(andries5 @ Jan 28 2012, 16:21) *
К большому сожалению и у меня также. Keil расчитан на 103.


Попробовал IAR и Atollic TrueSTUDIO, то же самое. Может в железе это и на 103 не будет работать, Когда решусь в Discovery 103 вкинуть, проверю. Ну а на первое время придется SysTick пользовать.
Go to the top of the page
 
+Quote Post

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

 


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


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