Jump to content
ChaNger16ua

Проблемы с загрузкой и отладкой платы STM32F103C8T6

Recommended Posts

Здравствуйте, недавно начал заниматься stm32, до этого занимался только Arduino/AVR. Купил себе плату с чипом STM32F103C8T6, и программатор ST-Link v2.

Сразу же начал искать себе подходящую IDE, остановил свой выбор на CoIDE. И когда начал, проблем с загрузкой, и компиляцией программы не было, управлял всем через регистры, и радостно мигал светодиодом, но когда решил проверить как работает отладка, столкнулся с проблемой. При запуске отладки проект компилировался и загружался, но сама отладка выдавала ошибку: Cannot execute this command without a live selected thread. Перерыл весь интернет, ничего не помогло. 

Взял уже пример с миганием светодиода из библиотеки GPIO, поменял название функции на int main, поставил return, и дописал строку которая включает SWD. Вот сам код:

#include "stm32f10x.h"
#include "stm32f10x_gpio.h"
#include "stm32f10x_rcc.h"


int main(void)
{
    int i;
    /* Initialize Leds mounted on STM32 board */
    GPIO_InitTypeDef  GPIO_InitStructure;
    /* Initialize LED which connected to PC6,9, Enable the Clock*/
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
    /* Configure the GPIO_LED pin */
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOC, &GPIO_InitStructure);

    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable  , ENABLE);

    while (1)
    {
        /* Toggle LEDs which connected to PC6*/
        GPIOC->ODR ^= GPIO_Pin_13;


        /* delay */
        for(i=0;i<0x100000;i++);
    }

    return 0;
}

Запускаю, и ничего та же ошибка.

После решил сам все не делать, а создать проект в STM32CubeMX. Делал по многим примерам(код кидать не буду он стандартный). Правильно настраивал порты, в пинах sys выставил значение Serial Debug, выставил тактирование. Кидаю проект, все правильно выставляю(папки Drivers, Src, Inc), потом в конфигурации во вкладке компилятор, выставляю переменные. Компилирую, выдает такую строку:

Program Size:
      text	   data	    bss	    dec	    hex	filename
         0	      0	      0	      0	      0	NewMain.elf

тоесть программы по сути нет, это в настройках линкера во вкладке options стоит галочка на: Use memory layout from memory window.

Окей знаю что линкер просто не подключает нужные библиотеки и файлы, поэтому программа ничего не весит.

Снимаю галочку, ставлю Scatter file, который сделала STM32CubeMX, запускаю.

Дальше выдает ошибку, но не компиляции, вылазит окно Problem Occurred, нажимаю details, там такое:

An internal error occurred during: "Building".
String index out of range: -1

И все, компиляция прервана. НО если очистить проект, и потом сбилдить(либо ребилд), то работает, но заветный светодиод не моргает.

Дальше касательно отладки, в нее не могу зайти, потому что при отладке проект компилируется, но я его не могу скомпилировать, могу перебилдить, и поэтому отладка тупо не включается, но есть я очищу проект, то отладка просто не работает.

 

P.S перемычки на плате менял, как угодно, и с одной прошивкой и другой, не работает. Пытался освоить uVision, не пошло, куча проблем с ней, хотя уже и по гайдам делал(по нескольким), и сам все пытался. Но в итоге как не работало, так и не работает.

Поэтому прошу помощи.

Share this post


Link to post
Share on other sites

Это с Keil-ом то что-ли не пошло?

Вы лучше затрите эту строчку поскорее из поста, а то все сильно удивятся

Лично я не считаю кокос нормальным средством программирования и отладки для STM. Нахлебался с ним. Глюк на глюке, да еще и тормоз. Но это к теме не относится. Средства кодописания тут в разделе уже раз 50 обсосаны и разобраны на атомы.

Edited by mail_robot

Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites
3 часа назад, ChaNger16ua сказал:

остановил свой выбор на CoIDE.

Очень напрасно. Крайне советую выбрать Keil. Весь функционал работает "из коробки" и никаких танцев с бубном не требуется. Еще более рекомендую забыть про бред под названием SPL. Конечно, если нужна стабильная и предсказуемая работа МК...

Share this post


Link to post
Share on other sites

Вебинар «STM32L5. Секреты оценки энергопотребления» (05.11.2020)

Компания КОМПЭЛ приглашает 5 ноября принять участие в вебинаре, посвященном первому семейству МК STM32L5 на ядре Cortex-M33. На вебинаре будет рассказано об ошибках при расчете энергопотребления МК с помощью отладки STM32L562E-DK. Отладки STM32L562E-DK будут разыгрываться среди участников. Информация об условиях участия будет озвучена на вебинаре.

Подробнее

4 часа назад, ChaNger16ua сказал:

дописал строку которая включает SWD

Он включен по умолчанию.

Share this post


Link to post
Share on other sites

Как снизить потери мощности на 30%? Транзисторы SiC MOSFET.

Прогресс в области широкозонных полупроводниковых материалов позволил создать карбид-кремниевые полевые транзисторы (SiC MOSFET) с повышенной рабочей частотой, обеспечивающие меньшие потери на переключение. Усовершенствованные корпуса с малой паразитной индуктивностью, в которых выпускаются такие транзисторы, позволяют разработчикам в полной мере использовать возможности этих компонентов для увеличения КПД силовых преобразователей.

Подробнее

на загрузку да, а на отладку? Чет по моему по умолчанию эти лапы не AFIO конфигурируются


Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites

Нейросети в STM32G4 - пошаговое руководство!

Наличие программного пакета X-CUBE-AI, расширяющего функционал STM32CubeMX, поможет разработчику построить искусственную нейросеть на базе микроконтроллера из линейки STM32G4 производства STMicroelectronics. Статья включает пошаговое описание реализации такой нейросети.

Подробнее

5 минут назад, mail_robot сказал:

на загрузку да, а на отладку?

Хз, в Keil точно ничего дополнительно конфигурировать не надо и лапы именно на SWD и JTAG настроены. Работал с 1, 2, 3 и 4 серией, нигде доп настройки не нужны были.

Share this post


Link to post
Share on other sites

Как то ни разу не сподобился проверить...

Но от того что еще раз пропишешь в коде, наверное хуже то не станет


Нужно делать то, что нужно. А то, что не нужно, делать не нужно. (С) Винни Пух

Share this post


Link to post
Share on other sites

Да МК то пофигу. Если SWD включен, то используется и для прошивки и для отладки. JTAG не пользовался никогда, по нему не скажу.

Share this post


Link to post
Share on other sites
В 26.06.2019 в 12:26, ChaNger16ua сказал:

/////////////////////////

Спасибо за ответы, вроде установил Keil, и получается работать

Edited by Falconist

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения


  • Отладочная плата на основе микроконтроллера stm32f103c8t6

  • Similar Content

    • By xrou
      Здравствуйте, хочу подключить джойстик к stmке, но проблема в том что он пятивольтовый, а АЦП все, что больше 3.3 выдаёт как 4095. На ардуино есть контакт aref введённый на плату, но на stm, как я понял, он соединён с контактом питания и все что выше 3.3 вольта просто спалит кристал. 
      Подскажите как подключить пятивольтовое устройство к stmке. 
       
      P.s подключить джойстик к 3.3 не получится из-за появления огромных мёртвых зон.
    • By Black Jack
      Здравствуйте, программатор st-link не видит микроконтроллер STM32F103VET6. Присоединение кварца и внешнее тактирование не помогли. Что не так делаю, подскажите.


      схема.dch плата.dip
    • By strifonoff
      это снова я...
      Максимального быстродействия АЦП можно достичь при частоте АЦП 14 МГц, а этого можно добиться только при системной частоте 56 МГц (если внешний кварц на 8 МГц).
      Но возникает проблема со скоростями UART: значение регистра BRR не получится выставить так, что бы скорость была из стандартного ряда.
      Назрели несколько вопросов:
      1) возможно ли менять системную частоту на лету? (чую, что можно, но пока не знаю как) 
      2) критична ли ошибка в скорости UART по сравнению со стандартной? (что будет на другой стороне заранее не известно, т.к. любой может воткнуть свой девайс работающий на какой-то заранее согласованной стандартной скорости)
      3) как поведёт себя железо (состояние ОЗУ, регистров перефирии, состояние ног и т.д.) на изменение частоты? Две части программы () практически независимы, их объединяет только один массив, который наполняется в первой половине, а обрабатывается в другой.
       
    • By xrou
      Здравствуйте, пытаюсь обрабатывать пакеты приходящие от ESP8266 (01), но проблема в том, что пакеты всегда разной длины ведь мы не знаем, что напишет пользователь (хотя даже ответы на AT команды всегда разной длины). Знаю, что в плате F0 есть прерывание по символу, но у меня F103C8T6. Как быть? Создать массив большого размера нельзя, т.к. HAL_Recieve_IT ждет пока не наберется нужное кол-во символов.
      Приму любую идею и советы
    • By Deel
      Всем доброго времени суток!!! Нужна помощь ЗНАТАКОВ !!! Строим самодельный руль для ПК!!! Руль с прямым приводом (DirectDrive) на базе STM32. Двигатель управляется через BTS7960, всё как бы работает, но при большой нагрузке одна плата не справляется, выгорают чипы!!! И из-за этого хочется запараллелить две платы. Но и тут порой беда, две запараллеленные платы порой глючат, и двигатель не слушается! Вот и решил заново нарисовать свою схему, прошу проверить на правильность. Выкладываю оригинальную схему на плату от китайцев, и свою предполагаемую схему. Если есть ошибка, прошу сильно не пинайте, лучше подскажите



      Забыл упомянуть про движок - dynamo sliven pik 12 3/10-3


×
×
  • Create New...