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

 
 
> Нарвался на женские капризы ПО., Даже не знаю, как сжато озаглавить.
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
Ответов (1 - 6)
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
RabidRabbit
сообщение May 22 2015, 12:57
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 397
Регистрация: 3-12-09
Из: Россия, Москва
Пользователь №: 54 040



Получается, что поведение №1 получается после сброса кнопкой (RESET), а поведение №2 - после сброса при включении питания (POR). Посмотрите, может умолчательные настройки какого оборудования различаются от типов сброса...
Go to the top of the page
 
+Quote Post
Kabdim
сообщение May 22 2015, 14:45
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 558
Регистрация: 26-11-14
Из: Зеленоград
Пользователь №: 83 842



Где-то кольцевой буфер успевает перезаписаться?
Go to the top of the page
 
+Quote Post
_4afc_
сообщение May 22 2015, 20:56
Сообщение #5


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

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(KnightIgor @ May 22 2015, 11:49) *
ПО многоплановое, все вроде работает, но именно при "распечатке" текстового файла с карты на терминале пропадают части строк. В терминальной коммуникационной линии я уверен совершенно (проверено другими средствами, да и дальше будет ясно, что все с этим в порядке).

Идеи?


У меня терминалка регулярно теряет часть символов если их интенсивно плюёт контроллер на 115200. Спасают паузы между строками и немного запись лога терминалки на диск.

Возможно надо посмотреть кто ещё на IRQ компорта у ПК...
Go to the top of the page
 
+Quote Post
AlexandrY
сообщение May 25 2015, 10:30
Сообщение #6


Ally
******

Группа: Модераторы
Сообщений: 6 232
Регистрация: 19-01-05
Пользователь №: 2 050



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


Тупой сексизм.

Лучше разберитесь со своим стеком.
Может HAL_СM4.c по глупости в проекте оставлен.



Go to the top of the page
 
+Quote Post
KnightIgor
сообщение May 25 2015, 16:32
Сообщение #7


Знающий
****

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



Цитата(AlexandrY @ May 25 2015, 11:30) *
Тупой сексизм.

Эмансипация прошла мимо...
Цитата
Лучше разберитесь со своим стеком.
Может HAL_СM4.c по глупости в проекте оставлен.

Вряд ли CM4, т.к. речь идет о F103.
Go to the top of the page
 
+Quote Post

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

 


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


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