5277 (5277) wrote,
5277
5277

core5277 - ядро на ассемблере для ATmega, поддержка ATmega16

Сегодня я ввел поддержку ATmega16 в своем ядре.

По сути, если задачи(как и задумано) используют функции ядра и драйвера, то их код будет идентичен для ATmega16,ATmega88,ATmega328. Понятно, что ввести поддержку после ATmega16 таких как ATmega8,48,168 не составит большого труда.

Единственное но, это конечно ресурсы, объем памяти разный, из-за этого есть ограничение по количеству задач и драйверов, например для ATMega16/88 я выставил максимальное общее количество - 8, для ATMega328 - 23. Такие проблемы, как отсутствие команд CALL и разные таблицы прерываний я решил.

Пока я еще не столкнулся с проблемой, например, когда на МК нет аппаратного TWI. Но для работы с I2C в моем ядре нужно использовать драйвер. Т.е. для МК без аппаратного TWI необходимо за место драйвера аппаратного TWI подгрузить драйвер программного TWI.
Tags: core5277
Subscribe
  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 0 comments