Перейти к содержанию
    

scmRTOS как POSIX thread

Добрый день.

я вновь вернулся на форум после нескольких лет написания диссертации :lol:

Пришла мне в голову идея что не плохо бы для отладки поведения прошивки МК эмулировать алгоритм внутри приложения ББ.

Собственно от этого возник вопрос не пытался ли кто нибудь запустить scmRTOS как POSIX процесс?

И если нет, хотелось бы спросить у разработчиков считают ли они такую работу перспективной? Может ли она быть полезной кому то кроме меня?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

я вновь вернулся на форум после нескольких лет написания диссертации :lol:

Пришла мне в голову идея что не плохо бы для отладки поведения прошивки МК эмулировать алгоритм внутри приложения ББ.

Собственно от этого возник вопрос не пытался ли кто нибудь запустить scmRTOS как POSIX процесс?

И если нет, хотелось бы спросить у разработчиков считают ли они такую работу перспективной? Может ли она быть полезной кому то кроме меня?

Подобная тема когда-то давно уже поднималась, но я, к стыду своему, как тогда не понимал сути, так и сейчас. Мотив ясен - вынести на РС отладку кода, и в случае обычного вычислительного кода это хорошее и правильное решение, но когда объектом разработки является программа для МК, где свой непростой "проприетарный" контекст - например, конкретная периферия микроконтроллера, то я не понимаю, как это можно отлаживать на РС, где нет ни таймеров, ни последовательных портов, ни контроллера прерываний и т.п.

 

Если у вас есть идеи, как это сделать, и желание их реализовать, то вы можете принять участие в проекте (вопрос с доступом к репозиторию проекта легко решается).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО:

Отладить на ПК какой-то вычислительный алгоритм - это запросто, но для этого не нужны потоки оси и их взаимодействие. А отладка взаимодействия процессов оси на ПК не имеет смысла, потому что для этого уже всяко нужна периферия и её прерывания. Поэтому думаю, что портировать ось на ПК не имеет смысла.

Разве что писать потом программы для ПК. Кстати, периодически при написании программ для ПК ловлю себя на мысли, что "вот здесь было бы удобнее с использованием механизмов scmRTOS" :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

ИМХО:

Отладить на ПК какой-то вычислительный алгоритм - это запросто, но для этого не нужны потоки оси и их взаимодействие. А отладка взаимодействия процессов оси на ПК не имеет смысла, потому что для этого уже всяко нужна периферия и её прерывания. Поэтому думаю, что портировать ось на ПК не имеет смысла.

Разве что писать потом программы для ПК. Кстати, периодически при написании программ для ПК ловлю себя на мысли, что "вот здесь было бы удобнее с использованием механизмов scmrRTOS" :)

 

В портировании и я не вижу смысла. А вот отладить межпроцессное взаимодействие в рамках проекта, а самое главное сэмулировать работу устройства (JTAG/SWD не берем в рассчет) было бы удобно.

Эмуляцию прерываний я вижу реализуемой через POSIX timers, так же как и SysTick. В этом случае мы можем "более менее" выставить временнЫе соотношения.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, периодически при написании программ для ПК ловлю себя на мысли, что "вот здесь было бы удобнее с использованием механизмов scmRTOS" :)
Я тоже. При этом хотелось бы, чтобы собиралось и под вин и под лин.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я тоже. При этом хотелось бы, чтобы собиралось и под вин и под лин.

 

mingw ест линуховые исходники хорошо. Думаю это не будет проблемой. но вот за виндовое время реакции я не уверен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

 

Пробовал сделать по аналогии с FreeRTOS под Qt, но с движком WinAPI. Доделать не успел, и сейчас на это нет времени, код могу выложить на bitbutcket.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Добрый день.

 

Пробовал сделать по аналогии с FreeRTOS под Qt, но с движком WinAPI. Доделать не успел, и сейчас на это нет времени, код могу выложить на bitbutcket.

Думаю всем будет интересно

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Думаю всем будет интересно

 

Выложил https://bitbucket.org/skyspark/scmrtos-mingw-port.

Писал наспех, за вечер, из кода текущего проекта так что есть некоторые актефакты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...