Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

STM8

Вчера я попробовал-таки скомпилировать простенькую мигалку диодом на STM8-mini, чтобы проверить работоспособность sdcc.
Тестовый код вот такой:
#include "stm8l.h"

int main() {
    int d, T = 10000;
    // Configure pins
    PD_DDR = 0x18; // PD4,PD3 - output, other are inputs
    PD_CR1 = 0x3c; // PD4,PD3 is PPout, PD2&PD5 are inputs with pull-up
    PD_ODR = 0xff;
    // Loop
    do {
        PD_ODR ^= 0x18;
        for(d = 0; d < T; d++) { }
        if(!(PD_IDR & 0x20)) T+= 500;
        else if(!(PD_IDR & 0x04)) T -= 500; // PD2
    } while(1);
}

Оригинал (с Makefile и stm8l.h) взят где-то на просторах то ли сосфоржа, то ли гитхаба из примеров для sdcc и немножно допилен для конкретной макетки.
Сначала я сдуру заменил в Makefile hex2bin на утилиту packihx из пакета sdcc, но оказалось, что делает она что-то совершенно несовместимое с stm8flash, которым прошивался МК. После установки hex2bin все получилось. Оказывается, stm8flash хочет иметь на входе именно "родной" бинарник, которым и будет прошиваться МК, а не дамп памяти в шестнадцатеричных кодах!

Диод замигал, замыкание контактов PD5 и PD2 изменяло частоту мигания. Можно пробовать что-нибудь посложнее.
Tags: stm8, железяки
Subscribe

  • M$ teams…

    Начал с сегодняшнего дня студентам ЮФУ удаленно лекции читать. У них все завязано на различные корпорации зла. И базовая работа - через teams. ОК,…

  • Почему systemd — дерьмо

    Уже давно на эту статейку натыкался, но все забывал в "закладки" добавить. Вот, добавляю: "systemd — отстой". Советую эту статейку почитать…

  • Разбираемся с утечками

    Занялся полным рефакторингом кода системы управления оптоволоконным спектрографом. А глаз уже "замыленный": ну вот не могу сходу обнаружить, где я…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 0 comments