Skip to content

Шаблон проекта STM32CubeIDE для SDK-1.1M для загрузки в ITMO.cLAB

License

Notifications You must be signed in to change notification settings

lmtspbru/SDK_cLAB

Repository files navigation

ITMO.cLAB

Описание

Шаблон проекта STM32CubeIDE для SDK-1.1M для загрузки в ITMO.cLAB

Рекомендуемый инструментарий для разработки

  • STM32CubeIDE

Использование

Конфигурирование проекта

Конфигурация портов ввода/вывода, а также различной перифирии производится в STM32CubeIDE (рекомендуется) или STM32CubeMX.
Для избежания проблем, связанных с выполнением Вашего кода на SDK-1.1M в системе ITMO.cLAB, рекомендуется не изменять уже настроенную в этом проекте периферию.

Настройка векторов прерываний и компоновщика

Перед сборкой Вашего проекта рекомендуется убедиться в правильной настройке компоновщика и векторов прерываний STM32F4:

  1. В файле system_stm32f4xx.c:
    Убедиться, что раскомментирована эта строка:
    #define VECT_TAB_SRAM
    Убедиться, что установлено правильное значение смещения:
    #define VECT_TAB_OFFSET  0xD000
  2. В файле STM32F407VGTX_RAM.ld:
    MEMORY
    {
      CCMRAM    (xrw)    : ORIGIN = 0x10000000,   LENGTH = 64K
      RAM    (xrw)    : ORIGIN = 0x2000D000,   LENGTH = 76K
      FLASH    (rx)    : ORIGIN = 0x8000000,   LENGTH = 1024K
    }
    
  3. В настройках компоновщика (File -> Properties -> C/C++ Build -> Settings -> Tool Settings -> MCU GCC Linker -> General) выбран правильный Linker Script (STM32F407VGTX_RAM.ld).

Настройка сборки проекта

Для того, чтобы после сборки проекта получить .bin файл, необходимо в настройках (File -> Properties -> C/C++ Build -> Settings -> Tool Settings -> MCU Post build outputs) установить галочку "Convert to binary file (-O binary)"

Описание функций

Для использования трассировочного буфера в файле main.c подключен заголовочный файл trace.h, содержащий следующие функции:

  • MX_TRACE_Init();
    Функция для инициализации трассировки.

  • SDK_TRACE_Start();
    Функция для начала трассировки.

  • SDK_TRACE_Timestamp(event, value);
    Функция для сохранения временной метки одного события. Для сохранения доступны следующие события:

    • LED1-LED3 (Светодиоды)
    • PRINT (Вызов функции SDK_TRACE_Print)
    • P0-P9 (Пользовательские события)

    Эти события определены в заголовочном файле trace.h.
    Аргумент event принимает код события, например LED3.
    Аргумент value принимает значения 1 (начало события) или 0 (конец).

  • SDK_TRACE_Print("%s","FooBar");
    Функция для сохранения форматной строки с временной меткой в трассировочный буфер. Работает аналогично функции printf().

  • SDK_TRACE_Stop();
    Функция для завершения записи трассировки и сброса микроконтроллера.

Рекомендации

На выполнение пользовательского кода отведено около 8 секунд, поэтому необходимо грамотно использовать циклы и задержки в своей программе.

About

Шаблон проекта STM32CubeIDE для SDK-1.1M для загрузки в ITMO.cLAB

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published