История изменений
Исправление KivApple, (текущая версия) :
У ChibiOS мне категорически не нравится, как там проводится инициализация модулей HAL. Там нужно буквально указать значения основных регистров периферии (например, для I2C надо указать значение нескольких CRx). Да, потом с ней можно работать кросс-платформенными функциями, но инициализация достаточно неприятная процедура. И всё ради чего? Чтобы сэкономить несколько байтиков и микросекунд на инициализации (к инициализации вообще обычно не особо строгие временные требования)?
Плюс основная платформа для ChibiOS таки микроконтроллеры. Там нет обёрток для i2c-dev, gpio и других вещей, которые работают под Linux. Платформа simulator по сути лишь предоставляет заглушки для всех функций работы с аппаратурой. А я хочу, чтобы можно было легко портировать прошивку от микроконтроллера на одноплатник, если плевать на риалтаймовость. При этом были доступны все библиотеки, написанные для моего фреймворка (в качестве примера я реализовал драйвера для I2C-сенсоров MPU6050, HMC5883 и MS5611). Портировать ChibiOS на Linux также затруднительно, потому что там гвоздями прибито, что должен использоваться собственный планировщик и примитивы синхронизации от ChibiOS (я же на платформе Linux предполагаю просто предоставить свои обёртки над pthread).
Про Inferno гуглится какая-то не та ОС. Не очень подходящая для микроконтроллеров (на википедии пишут что-то про свой язык программирования и байт код, а на скриншоте изображён гуй).
Исправление KivApple, :
У ChibiOS мне категорически не нравится, как там проводится инициализация модулей HAL. Там нужно буквально указать значения основных регистров периферии (например, для I2C надо указать значение нескольких CRx). Да, потом с ней можно работать кросс-платформенными функциями, но инициализация достаточно неприятная процедура. И всё ради чего? Чтобы сэкономить несколько байтиков и микросекунд на инициализации (к инициализации вообще обычно не особо строгие временные требования)?
Плюс основная платформа для ChibiOS таки микроконтроллеры. Там нет обёрток для i2c-dev, gpio и других вещей, которые работают под Linux. Платформа simulator по сути лишь предоставляет заглушки для всех функций работы с аппаратурой. А я хочу, чтобы можно было легко портировать прошивку от микроконтроллера на одноплатник, если плевать на риалтаймовость. При этом были доступны все библиотеки, написанные для моего фреймворка (в качестве примера я реализовал драйвера для I2C-сенсоров MPU6050, HMC5883 и MS5611). Портировать ChibiOS на Linux также затруднительно, потому что там гвоздями прибито, что должен использоваться собственный планировщик и примитивы синхронизации от ChibiOS (я же на платформе Linux предполагаю просто предоставить свои обёртки над pthread).
Про Inferno гуглится какая-то не так ОС. Не очень подходящая для микроконтроллеров.
Исправление KivApple, :
У ChibiOS мне категорически не нравится, как там проводится инициализация модулей HAL. Там нужно буквально указать значения основных регистров периферии (например, для I2C надо указать значение нескольких CRx). Да, потом с ней можно работать кросс-платформенными функциями, но инициализация достаточно неприятная процедура. И всё ради чего? Чтобы сэкономить несколько байтиков и микросекунд на инициализации (к инициализации вообще обычно не особо строгие временные требования)?
Плюс основная платформа для ChibiOS таки микроконтроллеры. Там нет обёрток для i2c-dev, gpio и других вещей, которые работают под Linux. Платформа simulator по сути лишь предоставляет заглушки для всех функций работы с аппаратурой. А я хочу, чтобы можно было легко портировать прошивку от микроконтроллера на одноплатник, если плевать на риалтаймовость. При этом были доступны все библиотеки, написанные для моего фреймворка (в качестве примера я реализовал драйвера для I2C-сенсоров MPU6050, HMC5883 и MS5611). Портировать ChibiOS на Linux также затруднительно, потому что там гвоздями прибито, что должен использоваться собственный планировщик и примитивы синхронизации от ChibiOS (я же на платформе Linux предполагаю просто предоставить свои обёртки над pthread).
Исходная версия KivApple, :
У ChibiOS мне категорически не нравится, как там проводится инициализация модулей HAL. Там нужно буквально указать значения основных регистров периферии (например, для I2C надо указать значение нескольких CRx). Да, потом с ней можно работать кросс-платформенными функциями, но инициализация достаточно неприятная процедура. И всё ради чего? Чтобы сэкономить несколько байтиков и микросекунд на инициализации (к инициализации вообще обычно не особо строгие временные требования)?
Плюс основная платформа для ChibiOS таки микроконтроллеры. Там нет обёрток для i2c-dev, gpio и других вещей, которые работают под Linux. Платформа simulator по сути лишь предоставляет заглушки для всех функций работы с аппаратурой. А я хочу, чтобы можно было легко портировать прошивку от микроконтроллера на одноплатник, если плевать на риалтаймовость. При этом были доступны все библиотеки, написанные для моего фреймворка (в качестве примера я реализовал драйвера для I2C-сенсоров MPU6050, HMC5883 и MS5611).