ARCHITECT_SAYS Telegram 493
Об эти выходные

Говорят, что верблюд это скаковая лошадь, которую дизайнил комитет.
 
В языке Ада, точнее, в стандартной библиотеке, существует важная часть, которую дизайнят вот совсем комитетом - это embedded для bare bone boards. Ограниченные ресурсы разных платформ каждая по-своему отсекает те или иные воможности языка, где-то и строки в heap это перебор, а где-то -- исключения. Поэтому тот самый комитет для embedded постарался собрать общий знаменатель, который бы одинаково хорошо подходил под усредненные задачи. Этот знаменатель называется "профили", и он описывает, что можно, а что нельзя из языка использовать на данной платформе.
 
Раньше эти профили назывались креативно, например, zero-footprint, Ravenscar, Jorvik, с недавнего времени чуть более скучно: embedded, light, light-tasking, но всё равно комитет не может угадать с запросами для всех - одним нужно что-то типа turbopascal на микроконтроллере, другому -- полновесный рантайм с задачами (потоками). Собственно, потоки и коммуникация между ними это одна самых сложных задач в смысле жырности потребного рантайма.
 
Ну а там, где подходящего профиля нет, а реализовывать весь профиль неохота, приходится закатить рукава и писать с нуля каждый раз. Один из таких повторно пригодных легковесных рантаймов, но с поддержкой задач/потоков и целиком на Ada, начал писать Вадим https://github.com/godunko, а я взялся портировать её на доску STM32F4 DISCO, которая была под рукой, потому как она достаточно популярная.
 
Это был мой первый опыт работы с crates в Alire в таком объеме, поэтому времени потрачено было больше, чем нужно, однако всё завелось, светодиод (из примеров) замигал успешно. В целом могу сказать, что ARM Cortex-M и Ада прямо-таки созданы друг для друга. Минимальный рантайм, который инициализирует ядро и периферию + код с планировщиком, где одна задача зажигает диод, а вторая его гасит, занял в прошивке около 2кб.

В итоге я отправил пулл-реквесты, а Вадим их принял, так что в коллекцию добавилась поддержка DISCO. Код можно увидеть тут (это планировщик и те самые примеры) и тут (это рантайм + инициализации). Отдельно в Alire довелось отправить issue по обнаруженному расхождению в поведениях для удаленных и локальных репозиториев.
 
У самого Вадима основная плата это Cortex-M3, на ней он строит шестинога, подкрепляя обратную кинематику расчетами в Octave.



tgoop.com/architect_says/493
Create:
Last Update:

Об эти выходные

Говорят, что верблюд это скаковая лошадь, которую дизайнил комитет.
 
В языке Ада, точнее, в стандартной библиотеке, существует важная часть, которую дизайнят вот совсем комитетом - это embedded для bare bone boards. Ограниченные ресурсы разных платформ каждая по-своему отсекает те или иные воможности языка, где-то и строки в heap это перебор, а где-то -- исключения. Поэтому тот самый комитет для embedded постарался собрать общий знаменатель, который бы одинаково хорошо подходил под усредненные задачи. Этот знаменатель называется "профили", и он описывает, что можно, а что нельзя из языка использовать на данной платформе.
 
Раньше эти профили назывались креативно, например, zero-footprint, Ravenscar, Jorvik, с недавнего времени чуть более скучно: embedded, light, light-tasking, но всё равно комитет не может угадать с запросами для всех - одним нужно что-то типа turbopascal на микроконтроллере, другому -- полновесный рантайм с задачами (потоками). Собственно, потоки и коммуникация между ними это одна самых сложных задач в смысле жырности потребного рантайма.
 
Ну а там, где подходящего профиля нет, а реализовывать весь профиль неохота, приходится закатить рукава и писать с нуля каждый раз. Один из таких повторно пригодных легковесных рантаймов, но с поддержкой задач/потоков и целиком на Ada, начал писать Вадим https://github.com/godunko, а я взялся портировать её на доску STM32F4 DISCO, которая была под рукой, потому как она достаточно популярная.
 
Это был мой первый опыт работы с crates в Alire в таком объеме, поэтому времени потрачено было больше, чем нужно, однако всё завелось, светодиод (из примеров) замигал успешно. В целом могу сказать, что ARM Cortex-M и Ада прямо-таки созданы друг для друга. Минимальный рантайм, который инициализирует ядро и периферию + код с планировщиком, где одна задача зажигает диод, а вторая его гасит, занял в прошивке около 2кб.

В итоге я отправил пулл-реквесты, а Вадим их принял, так что в коллекцию добавилась поддержка DISCO. Код можно увидеть тут (это планировщик и те самые примеры) и тут (это рантайм + инициализации). Отдельно в Alire довелось отправить issue по обнаруженному расхождению в поведениях для удаленных и локальных репозиториев.
 
У самого Вадима основная плата это Cortex-M3, на ней он строит шестинога, подкрепляя обратную кинематику расчетами в Octave.

BY Господин Архитектор




Share with your friend now:
tgoop.com/architect_says/493

View MORE
Open in Telegram


Telegram News

Date: |

The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot. The court said the defendant had also incited people to commit public nuisance, with messages calling on them to take part in rallies and demonstrations including at Hong Kong International Airport, to block roads and to paralyse the public transportation system. Various forms of protest promoted on the messaging platform included general strikes, lunchtime protests and silent sit-ins. Hashtags In handing down the sentence yesterday, deputy judge Peter Hui Shiu-keung of the district court said that even if Ng did not post the messages, he cannot shirk responsibility as the owner and administrator of such a big group for allowing these messages that incite illegal behaviors to exist. For crypto enthusiasts, there was the “gm” app, a self-described “meme app” which only allowed users to greet each other with “gm,” or “good morning,” a common acronym thrown around on Crypto Twitter and Discord. But the gm app was shut down back in September after a hacker reportedly gained access to user data.
from us


Telegram Господин Архитектор
FROM American