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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Не спешите обновлять Keil 4.22 & J-Link, Проблемы с запуском кода после прошивки
Forger
сообщение Sep 22 2011, 13:36
Сообщение #1


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Проблема выявилась только после обновления Keil взамен v4.21 свежей v4.22 под J-Link, проц STM32F103RBT
После прошивки кода (кнопочкой LOAD) не стартует, помогает только сброс или передергивание питания.
Такая же ситуация и в режиме отладки - через неопределенный промежуток кода вываливается в Hard Fault.
Тот же самый код на том же проце без изменений отлично отлаживается и сразу запускается после прошивки в v4.21.
Настройки проекта не меняются, т.е. все один в один.
Дрова и dll-ка для J-Link (в папке Keil/BIN...) принудительно поменяна на свежие, взятые с Segger, в обоих версиях Keil.
Пробовал использовать под оригинальным фирмовым J-Link и MT-Link - все тоже самое.
Поэтому откатился обратно в 4.21, сразу же все стало как нужно.
На лицо - бага со сбросом проца после прошивки или чем-то еще.
Сам по себе компилируемый код практически не меняется и в обоих случаях работает.



--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
kovigor
сообщение Sep 22 2011, 14:21
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 5 273
Регистрация: 30-03-10
Пользователь №: 56 295



Цитата(Forger @ Sep 22 2011, 16:36) *
На лицо - бага со сбросом проца после прошивки или чем-то еще.


Странно, вчера компилировал им проект для STM32F207, заливал MTLINK'ом. Не было такого ...
Go to the top of the page
 
+Quote Post
evgen2
сообщение Sep 22 2011, 16:10
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688



ого...
А у меня с предыдущим нарисовалась проблема (сейчас пост нарисую), я уже собрался попробовать обновиться...
Go to the top of the page
 
+Quote Post
Forger
сообщение Sep 22 2011, 16:44
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(kovigor @ Sep 22 2011, 18:21) *
Странно, вчера компилировал им проект для STM32F207, заливал MTLINK'ом. Не было такого ...

Ситуация вылезла сразу после обновления на 4.22,
после этого обновления я открыл тот же проект, пересобрал, залил - не заводится,
передернул питание платы, завелось.
В отладку входит, но в процессе отладки вылетает в Hardfault.
Возможно, у меня сложный по построению проект -
закоментированы из стартапа startup_stm32f10x_md.s только три строчки:
Код
     IMPORT  __main
;     IMPORT  SystemInit
;                LDR     R0, =SystemInit
;                BLX     R0
                 LDR     R0, =__main
                 BX      R0
                 ENDP

Инициализация железа (руками, а не через окошки keil) реализована
в контрукторе единственного глобального класса TApplication.
Операционка и все ее процессы - лежат внутри этого класса, все остальное - в классах этих процессов...

Возможно, Keil не любит такой "самодеятельности" со стартапом.
Я так и не понял, где он вызывает конструкторы статических классов?



--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
evgen2
сообщение Sep 25 2011, 19:13
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 236
Регистрация: 1-04-06
Пользователь №: 15 688



Пару дней усиленно мучил 4.22 - действительно, есть такая фигня. На lpc1768, без всяких классов, в том числе на родных примерах типа \Keil\ARM\Boards\Keil\MCB1700\RL\TCPnet\LEDSwitch

Судя по моим лампочкам - программа стартует и где-то через полсекунды куда-то улетает.

Несколько раз при старте отладчика улетало в Hard Fault c такой же комбинацией лампочек, т.е. примерно в такое же время, но это оказалось последствием обычного обращения к элементу массива далеко за его пределами.

>Я так и не понял, где он вызывает конструкторы статических классов?

Вроде бы со времен царя гороха они вызываются до main() чем сильно неудобны при отладке и потому в нашем деле либо идут лесом, либо в них выполняется совершенно тупая инициализация, в которой невозможно улететь и залететь

Сообщение отредактировал evgen2 - Sep 25 2011, 19:22
Go to the top of the page
 
+Quote Post
ISK2010
сообщение Sep 27 2011, 09:33
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 21-09-10
Из: г.Зеленоград
Пользователь №: 59 631



Похожая ситуация. Keil 4.22 & JLink-pro.
Рабочая программа (делалась в 4.20) после компиляции и прошивки в 4.22 переставала нормально работать, периодически зависала без подключенного программатора. Предположительно вываливалась в хардфаулт. Но выцепить это пока не получилось, т.к. происходило раз в полчаса и во время отладки не проявлялось.
И еще в 4.22 с ресетом проблемы, после StopDebug устройство висит даже если JLINK отключить от него. Нашел несколько решений:
1) передернуть питание.
2) в командной строке JLINK-а выполнить две команды: r0 и r1, что означает сбросить ногу RESET и установить ногу RESET, но при этом если вручную кнопкой на плате пытаться ресетить - безуспешно.

Может кто-нибудь знает нормальное решение этой проблемы?

Дополнение: c ULINK2 и ST-Link проблем ресета нет

Сообщение отредактировал ISK2010 - Sep 27 2011, 09:58
Go to the top of the page
 
+Quote Post
Forger
сообщение Oct 1 2011, 07:38
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(ISK2010 @ Sep 27 2011, 13:33) *
Может кто-нибудь знает нормальное решение этой проблемы?

Внимая нашим мольбам, вышел 4.22a ))
Но исправлен ли там этот косяк - я не проверял.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
toweroff
сообщение Oct 1 2011, 08:24
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата
Updated: Segger J-Link driver for ARM devices to version 4.34.
Updated: support for ST-Link USB-JTAG debugger. The ST-LINKIII-Keil.dll MDK driver in folder ..\ARM\STLink\ has been updated to version 1.5.6.1.

так что очень может быть
Go to the top of the page
 
+Quote Post
ISK2010
сообщение Oct 1 2011, 08:37
Сообщение #9


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 21-09-10
Из: г.Зеленоград
Пользователь №: 59 631



"The ST-LINKIII-Keil.dll MDK driver in folder ..\ARM\STLink\ has been updated to version 1.5.6.1." - т.е. откатили? У меня вчера кстати проблемма с ST-Link возникла неожиданно, т.к. позавчера этот же ST-Link работал. Тупо кейл его не видел. И СТМ32Дискавери перестали в кейле 4.22 работать. Два раза все сносил. Откатывал на кейл 4.20. Чистил реестр. Менял все драйвера на самые старые рабочие. Не работало. А заработало все само собой так же неожиданно, как и перестало)) Для меня это осталось загадкой.

toweroff, скоро обновление на рутрекере будет? Заранее спасибо.

Сообщение отредактировал ISK2010 - Oct 1 2011, 08:39
Go to the top of the page
 
+Quote Post
toweroff
сообщение Oct 1 2011, 08:47
Сообщение #10


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



Цитата(ISK2010 @ Oct 1 2011, 12:37) *
toweroff, скоро обновление на рутрекере будет? Заранее спасибо.

как китайцы выложат sm.gif пока не было
Go to the top of the page
 
+Quote Post
Forger
сообщение Oct 1 2011, 09:40
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(toweroff @ Oct 1 2011, 12:24) *
так что очень может быть

А смена свежих дров толку в 4.22 не дает (я проверял, делая это вручную заменяя dll-ки в keil).
Этот косяк скорее всего внутри самой среды.


зы. Я выложил обновку 4.22а на местный ftp.
Также как обычно обновку можно слить с офф сайта keil.


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
toweroff
сообщение Oct 1 2011, 10:05
Сообщение #12


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



С кейла я тоже скачал. Только вот однажды (не помню на какой версии), кейловский вариант матерился на нормальный рабочий проект. Скачал у китайцев - все нормально заработало. Размер exe-шника сетапа был другой (!)
Go to the top of the page
 
+Quote Post
Forger
сообщение Oct 1 2011, 10:15
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831




Проверил 4.22а - та же хрень. Похоже, действительно нужно ждать китайцев...


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post
ISK2010
сообщение Oct 4 2011, 09:52
Сообщение #14


Местный
***

Группа: Участник
Сообщений: 205
Регистрация: 21-09-10
Из: г.Зеленоград
Пользователь №: 59 631



Короче, в Keil 4.22a проблемма с ресетом не решена. И у меня есть тому даже небольшое документальное подтверждение. Есть такой файлик JLinkLog.txt, в котором ведется лог JLINKa. Так вот Keil 4.22 и 4.22a в отличии от 4.20 завершает сессию отладки без JLINK_Close(). Т.е. дрова тут ни при чем.

Сообщение отредактировал ISK2010 - Oct 4 2011, 09:54
Go to the top of the page
 
+Quote Post
toweroff
сообщение Oct 4 2011, 20:17
Сообщение #15


Гуру
******

Группа: Свой
Сообщений: 2 957
Регистрация: 19-09-06
Из: Москва
Пользователь №: 20 514



я пока выложил версию с кейла. Возможно, там глюк и китайцы выложат корректную версию, или сам кейл позже выложит еще один апдейт
В данный момент сам отлаживаюсь через ULINK2, с моим LPC29xx у JLINK-Ultra давние бодания, хотя проверить надо с этими версиями
С STM вообще дела не имел, так что прокомментировать не смогу sad.gif
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 25th August 2025 - 21:39
Рейтинг@Mail.ru


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