01.02.2011, 22:20
|
|
Почётный гражданин KAZUS.RU
Регистрация: 19.02.2008
Сообщений: 1,801
Сказал спасибо: 124
Сказали Спасибо 602 раз(а) в 419 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Да! Чаще через раз, но бывает по разному. Может 10 раз нормально выйти.
Перешел бы на другое, но очень удобная отладка.
|
|
|
|
02.02.2011, 01:35
|
|
Прописка
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Надо нажимать стоп перед завершением отладки.
Небольшой отчет о некоторых опытах с дискавери.
1) Распаял полный жтаг - кое-как работает. Причем именно жтаг, т.к. наблюдается активность на жтаговских ногах, в swd режиме на них ничего нет.
Но нормально работает только с st utility. Кейл кричит интернал еррор, хотя отладка запускается, но память считать не может (и загрузить видимо тоже). Причем было интересно, сначала не заработал, потом я попробовал ст утилиту, после нее кейл заработал. Потом я экспериментировал с гдб, сейчас кейл не работает опять.
И атолликовский гдб сервер не работает без -d ключа.
У меня кейл примерно так же глючил, когда я мт-линку скорость ставил выше определенного значения. Может как-то со скоростью связано, все же на соплях сделано.
2) Подключился через бутлоадер. Ест-но защита от чтения включена. Можно сделать полное стирание
3) GDB сервер атолика запустился. Он поддерживает swd, хотя на сайте сказано, что лайт версия не поддерживает. Залить прошивку можно. Но вот что паршиво (они там все сговорились что ли?!), я так и не смог сделать простую операцию - залить и запустить. Можно залить, но после заливки будет сразу останов. Можно сделать continue, это будет равносильно Run в кейле. Т.е. прошивка запустится, но гдб сервер + гдб будут работать. А если выйти или убить гдб, то долбаный гдб сервер атолика вечно делает halt. Единственный способ, который у меня прокатил - сделать continue и прибить гдб сервер. Отдельно команд управления, как в ст утилите, я в гдб не нашел.
|
|
|
|
03.02.2011, 13:52
|
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
GPIOC-›BSRR=GPIO_BSRR_BS9|GPIO_BSRR_BR8;
материт эту строку. *** error 31: illegal qualifier
что не верно?
|
|
|
|
03.02.2011, 15:05
|
|
Вид на жительство
Регистрация: 11.05.2005
Адрес: Питер
Сообщений: 425
Сказал спасибо: 47
Сказали Спасибо 72 раз(а) в 59 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Строка в порядке, пример откуда взята работает без вопросов, раньше наобъявлял не того.
|
|
|
|
03.02.2011, 17:22
|
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
закончилось все internal command error! все! кейл не пашет. проект любой открывается, создается, компилится, а дальше при любом действии эрор. приплыли. короче ломается как девочка не дается!
|
|
|
|
03.02.2011, 18:00
|
|
Прописка
Регистрация: 07.03.2009
Адрес: MN
Сообщений: 168
Сказал спасибо: 6
Сказали Спасибо 31 раз(а) в 21 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Как думаете, стоит ST-Link покупать, чтобы с STM32 работать или LPT-шный JTAG собрать лучше?
__________________
- Квадрат - это тоже прямоугольник, только более квадратный и не такой вытянутый
- Двуугольник - это треугольник, только поломанный
- Одноугольника не видел
|
|
|
|
03.02.2011, 20:07
|
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
снес, скачал свежак, поставил, дальше вот такой вопрос:
Код:
|
#ifdef VECT_TAB_SRAM
SCB-›VTOR = SRAM_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM. */
#else
SCB-›VTOR = FLASH_BASE | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal FLASH. */
#endif |
что это? как готовить? с чем едят?
|
|
|
|
03.02.2011, 20:32
|
|
Прописка
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Цитата:
|
Как думаете, стоит ST-Link покупать, чтобы с STM32 работать или LPT-шный JTAG собрать лучше?
|
LPT-шный жтаг собрать ведь ничего не мешает ![Улыбка](images/smilies/icon_smile.gif) А вот покупать его я бы не стал. Те, что я видел, продают дороже дискавери со встроенным ст-линком.
Но я бы лучше купил j-link (или клон, зависит от цены). ST-Link глючноват все же + поддерживается софтом далеко не идеально. Хотя не факт, что виглер будет лучше.
К тому же я сомневаюсь, что ст-линк будет работать с другими мк. Кстати, кто-нибудь пробовал?
Цитата:
|
что это? как готовить? с чем едят?
|
По идее оно уже готово. Или опять не компилируется? ![Улыбка](images/smilies/icon_smile.gif)
Если стартуем из флеш - таблица векторов в флеш, если из озу - таблица векторов в озу.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо akimych за это сообщение:
|
|
|
03.02.2011, 20:42
|
|
Заблокирован
Регистрация: 12.09.2009
Сообщений: 420
Сказал спасибо: 148
Сказали Спасибо 166 раз(а) в 118 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Сообщение от akimych
|
По идее оно уже готово. Или опять не компилируется?
Если стартуем из флеш - таблица векторов в флеш, если из озу - таблица векторов в озу.
|
![Улыбка](images/smilies/icon_smile.gif) компилируется.
векторов чего? все то, что в стартапе прописано? а смысл в RAM писать?
Последний раз редактировалось gromovi; 03.02.2011 в 20:45.
|
|
|
|
03.02.2011, 20:58
|
|
Прописка
Регистрация: 02.01.2011
Сообщений: 159
Сказал спасибо: 8
Сказали Спасибо 32 раз(а) в 28 сообщении(ях)
|
Re: Изучаем STM32 Cortex M3
Ну и вопросы у вас. Я даже не знаю, с чего начать ![Улыбка](images/smilies/icon_smile.gif)
Да, вектора прерываний (самый первый - вершина стека). В стартапе есть эта таблица. После резета ядро читает вершину стека и вызывается reset-вектор.
Вообще я был не прав. Если программа стартует, то таблица уже установлена, иначе бы ничего не запустилось. Допустим, мы стартуем из флеш, тогда vtor будет установлен на начало флеш. Но уже после старта программы можно перенести таблицу векторов. Зачем может понадобится держать ее в озу? Ну тут разные могут быть причины. Может кто-то хочет ее менять. Во-вторых, если надо прошивать флеш и при этом обрабатывать прерывания, тоже придется переность таблицу + часть кода в озу.
|
|
|
Эти 2 пользователя(ей) сказали Спасибо akimych за это сообщение:
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 05:36.
|
|