STM32. Ядро Cortex-M0.

Поділитися
Вставка
  • Опубліковано 23 лют 2019
  • Лектор - Казиахмедов Эдгар.
    Сообщество проекта: drec_courses
    Репозиторий с материалами курса: github.com/edosedgar/stm32f0_ARM
    Приняли участие в создании:
    - Филипп Микоян philalala
    - Владислав Молодцов molvlad
    - Прутьянов Виктор vprutyanov
    Снято на базе студии Физтех-Live при поддержке Фонда Целевого Капитала МФТИ.
  • Наука та технологія

КОМЕНТАРІ • 20

  • @user-fe1et9ze2b
    @user-fe1et9ze2b 4 роки тому +5

    Бомба, наконец-то..., а то у всех в уроках для "начинающих", используются термины для не "начинающих" и ни чего не понятно. А у Вас, нормальным языком, описывается базовые знания и все проясняется. Спасибо!!!

  • @electrostimulator220v9
    @electrostimulator220v9 Рік тому +1

    Молодец! Все очень доступно, понятно и отлично оформлено! Меньше волнуйтесь! Вы молодец

  • @EdosEdgar
    @EdosEdgar 5 років тому +7

    Небольшое исправление про конфигурационные биты BOOT0 & nBOOT1.
    Состояние пина и конф. регистров при запуске позволяет нам выбрать 3 области, из которых начинается исполнение:
    1) Flash память
    2) Оперативная память
    3) Системная память с бутлоадером
    Более подробную информацию по данной теме можно найти в статье, приложенной к лекции на Вики курса.

    • @user-zi1hf6xn2w
      @user-zi1hf6xn2w 5 років тому +1

      Эдгар, а как можно загружаться из оперативной памяти, когда при выключении питания информация с нее пропадает, а при включении она пуста?
      Системная память с бутлоадером - это ведь та же флеш-память из первого пункта, но по более высокому адресу.

    • @EdosEdgar
      @EdosEdgar 4 роки тому +2

      @@user-zi1hf6xn2w про бутлоадер все верно, но скорее это read-only memory, ну т.е. без возможности перезаписи.
      Про оперативную память всегда возможен сценарий, что происходит soft/hard reset, после которого начнется выполнение кода из оперативной памяти. Конечно, это будет умышленная операция, например, для запуска кода с носителя.

  • @vyorkin
    @vyorkin 4 роки тому +5

    Большое вам спасибище за труд. Отличный получается курс!

  • @0xfeedfeed
    @0xfeedfeed 17 днів тому

    Я запутался в моменте объяснения процесса запуска программы при старте МК. Если выбран режим запуска из Flash, то откуда начинается работа программы, что имеется в виду под "отображением" адреса, откуда куда, и для кого он отображается? Ибо в других статьях речь идёт о том, что начинается всё с адреса 0x0.

  • @user-rv9ss5ce7z
    @user-rv9ss5ce7z 5 років тому +1

    Спасибо занимательный материал

  • @zerlingsrush4280
    @zerlingsrush4280 3 роки тому +1

    Не получается повторить урок из вики "Booting with gdb". Ubuntu 20.04. После "make gdb-st-util" микроконтроллер не уходит в halt, а сразу запускается и первая инструкция si уже оказывается while(1). Вручную (arm-none-eabi-gdb -> tar extended-remote :4242 -> load xxxx.elf) естественно тоже самое. Соответственно непонятно как пошагово посмотреть "после reset, но перед main" все регистры, которые указаны в уроке. При попытке установить brakepoint на первой инструкции вектора сброса (ldr r0, [pc, #52]) и перезапуска командой "run", arm-none-eabi-gdb вылетает с ошибкой.
    upd. Получилось сделав так. После "make gdb-st-util" устанавливаем brakepoint на (ldr r0, [pc, #52]), запускаем выполнение "continue" (на самом деле выполнение уже идет и этой командой мы "запускаем/синхронизируем st-link на отладку"), нажимаем RESET на отладочной плате. После этого можно пройтись si по программе до main.

  • @lorddefine3595
    @lorddefine3595 5 років тому

    в предложенном к лекции задании, изложена возможность использования стороннего адаптера и stm32flash для загрузки и чтения бинарников. Можете подсказать, как мне определить нужный порт на MacOS Mojave когда прописываю sudo stm32flash /dev/tty??? А то собственные попытки привели меня только к Error probing interface "serial_posix"

    • @EdosEdgar
      @EdosEdgar 5 років тому

      Добавил в статью про альтернативный способ прошивки решение данной проблемы

  • @aabdev
    @aabdev Рік тому

    А что делать если после main вызвалось последовательно N функций.
    Куда укладывать адрес возврата если lr регистр только один?

  • @kaufenwohnung3886
    @kaufenwohnung3886 3 роки тому +2

    Отличная лекция

  • @ilyazaitsev9035
    @ilyazaitsev9035 Рік тому

    А на полевых транзисторах можно собрать кортекс м0?

  • @work1102
    @work1102 5 років тому

    Спасибо

  • @aabdev
    @aabdev Рік тому

    "Залили код." сразу понятно что это не профессионал.

    • @ilyazaitsev9035
      @ilyazaitsev9035 Рік тому

      Раскройте профессиональную тайну, скажите как говорят профессионалы. Пожалуйста.

    • @ilyazaitsev9035
      @ilyazaitsev9035 Рік тому

      Я пытался читать википедию, там написано следующее: "The Cortex-M0 core is optimized for small silicon die size and use in the lowest price chips." Я не понял почему маленький силикон умер. И непонятно, связано это с размером чипсов или нет.

    • @ilyazaitsev9035
      @ilyazaitsev9035 Рік тому

      Куча для аллоцирования, микроконтроллер для контролирования

  • @blacklabel666
    @blacklabel666 Рік тому

    слабенько, мальчик...