‮Сдвиг по фазе (kincajou) wrote,
‮Сдвиг по фазе
kincajou

worklog: FreeRTOS

как-то раз я уже пытался её запустить, но тогда я делал всё при помощи STMCube - штука, безусловно, очень удобная и продвинутая, если нужно тяп-ляп и в продакшен.

Но мне всегда неуютно, когда я не понимаю, как устроено то, чем я пользуюсь. Во многих случаях с этим просто надо смириться и принять таким, какое оно есть (я не знаю, как устроен Windows и вряд ли когда-нибудь это пойму), но ежели речь идёт о программном обеспечении железяки, которую я делаю сам для себя, то такое положение вещей меня не устраивает.

Поэтому щас я переписал свой тестовый -- до боевого ещё ооооочень далеко! -- код, выкинув из него HAL и Cube - остался только CMSIS, ибо в нём расписаны все регистры, биты, номера прерываний и т.п., и т.д., и никакого говна, вложенного в говно говна. Ну, ещё позаимствовал ассемблерный startup и скрипт для линковщика (хотя и до них, наверное, однажды доберусь).

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

Помигал лампочкой при помощи прерывания от таймера. Частота ок, потребление ок, всё выглядит так, как ожидалось.

Следующим шагом вкорячил свежескачанный FreeRTOS. Вручную, следуя их инструкциям.

Написал функцию для мигания лампочкой БЕЗ прерывания таймера (во всяком случае, в явном виде -- для формирования периода теперь используется API от FreeRTOS, внутри которого спрятан обработчик Systick), запустил её как задачу... Мигает!

Потом, конечно, всё равно придётся скатиться до использования чужого кода, который работает неизвестно как (хоть его и можно изучить, но это уведёт меня сильно в сторону от решения задачи) - когда я буду запускать Ethernet и USB. Возможно, вместо самопала прикручу какую-нибудь готовую графическую библиотеку (например, uGFX, обещающую лёгкость, надёжность, скорость и всё такое).

В общем, где-то там, вдалеке, забрезжила надежда.
Subscribe

  • Runaway

    Давным-давно, когда я ещё пешком под стол уже не ходил, по местному кабельному посмотрел кинцо, название, персонажи и сюжет коего мне практически не…

  • А что все они так громко страдают от "Тёмной судьбы"? Поиск глубокого смысла.

    Ну вот, смотрите, плач по Джону Коннору - понятное дело, это персонаж, которому мы очень сопереживали. И тут вдруг он погибает. Но разве это в самом…

  • "Джокер"

    А мне показалось, или возмущённая толпа там скандировала не то "Нахер Уэйна", не то прямо-таки "Нахуй" его же?

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments