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

 
 
> Нарвался на женские капризы ПО., Даже не знаю, как сжато озаглавить.
KnightIgor
сообщение May 22 2015, 08:49
Сообщение #1


Знающий
****

Группа: Участник
Сообщений: 643
Регистрация: 29-05-09
Из: Германия
Пользователь №: 49 725



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

Имеем:
- STM32F103RC
- Flash-FS от KEIL
- micro-SD-Карточку на SPI
- текстовый файл на ней
- самописная поддержка терминала (команды и печать), на PC используется TeraTerm.

Шаги:
- компилим программу (KEIL 5.x)
- грузим по JTAG (J-LINK V8)
- запускаем кнопкой RESET на плате.

ПО многоплановое, все вроде работает, но именно при "распечатке" текстового файла с карты на терминале пропадают части строк. В терминальной коммуникационной линии я уверен совершенно (проверено другими средствами, да и дальше будет ясно, что все с этим в порядке).

Ага, запускаем тут же отладчик. При этом НЕ происходит перезаливки ПО, т.к. в данной сессии KEIL считает только что залитую программу еще актуальной, что есть правда. Запускаем под отладчиком... ошибка проглатывания символов ушла! Ладно, известно, что отладчик может чего-то перенастроить, например DWT, который я в ПО использую, и быть микроскопом Гейзенберга. Тогда завершаем сессию отладки, ПЕРЕДЕРГИВАЕМ питание микроконтроллерной платы и... все начинает работать безошибочно!

Идеи?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
kolobok0
сообщение May 22 2015, 09:04
Сообщение #2


практикующий тех. волшебник
*****

Группа: Участник
Сообщений: 1 190
Регистрация: 9-09-05
Пользователь №: 8 417



Цитата(KnightIgor @ May 22 2015, 11:49) *
...Идеи?


Инициализация периферии МК. В частности скорость инициализации. Это чиссо на вскидку. Думаю можно найти ышо кучку причин такого поведения.
Вторая идея - разные кванты исполнения в мультинитеевой среде, если юзаете.


думаю основным тут является то, что у Вас происходит успех только под отладкой. При этом в штатном режиме некие действия тупо игнорятся.

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


у меня к кеил есть притензии. под 51 серию встречал когда компилятор тупо выкидывал код. причём это был тупой глюк. после правки программы
(чуть ли не нопами) - само прошло. Но это не Ваш случай...
Go to the top of the page
 
+Quote Post



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

 


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


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