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

Виртуальная машина

21 minutes ago, demiurg_spb said:

Мы подобное даже на AVR делали. Так что по поводу ресурсов не переживайте - там генерируется Си-код

Если я правильно понял, это же обычное обновление ПО?!

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


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

Да. И что? Вся прошивка заливается заново всякий раз как пользователь что-то изменил в алгоритме.

Неизменный лишь bootloader. Это оптимально для маленьких контроллеров: никаких виртуальных машин и интерпретаторов.

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


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

1 minute ago, demiurg_spb said:

И что?

Никаких претензий, просто уточнение) Но в нашем случае нужно, чтобы загружалось именно прикладное ПО. Дело в том, что, во-первых, таких исполняемых модулей может быть несколько. Во-вторых, контроллер должен работать, даже если ПО нет.

*Под ПО понимаю только прикладное ПО.

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


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

Решать всё равно Вам, я лишь предложил пройденный нами путь.

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


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

2 minutes ago, demiurg_spb said:

Решать всё равно Вам, я лишь предложил пройденный нами путь.

Тут вопрос в другом: либо форум глючит, либо вы дописываете сообщения) Потому, что я отвечаю на одно сообщение. А спустя некоторое время появляется его вторая часть, и смысл меняется(

Вот и сейчас, появилась эта строка

16 minutes ago, demiurg_spb said:

Неизменный лишь bootloader. Это оптимально для маленьких контроллеров: никаких виртуальных машин и интерпретаторов.

А это меняет смысл поста. Теперь бы я ответил так: да оптимально. Но есть некоторые требования, я их уже озвучил. Также не нравится, что пользователю нужно иметь прилинковываемую либу с фреймворком. Да и LPC1768 не такой уж маленький. 

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


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

7 часов назад, haker_fox сказал:

А какой язык использовали для написания программы?

Компилятор из С4. Программа для МК написана под ИАРовский компилятор. Скрипт писал в той-же ИАРовской ИДЕ, чтоб подсветка синтаксиса и скобок была:biggrin:

54 минуты назад, demiurg_spb сказал:

А пользователю конечному гораздо удобнее работать с такими изделиями стандартными средствами (языки МЭК 61131-3), а не Си и т.п....

Смотря каким пользователям. Многим гораздо логичнее написать несколько строк на Си-подобном макроязыке, чем изучать всю эту вотчину АСУТПшников...

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


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

Да. Я дописал сообщение, но не меняя его смыла.

А что страшного в передаче пользователю библиотеки для линковки проекта?

Вы думаете, что кто-то позарится на Вашу интеллектуальную собственность?

Да шансы есть. Тогда можно сделать двухуровневый загрузчик и вынести туда ту часть которую вы хотите сокрыть.

Всегда есть варианты...

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


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

32 минуты назад, demiurg_spb сказал:

Вся прошивка заливается заново всякий раз как пользователь что-то изменил в алгоритме.

В вашем случае нужно при любом изменении алгоритма пересобирать весь проект, который может быть очень не простым. Так-то бы да, хрен с ним, нажал мейк и ждешь... Но меня всегда бесило то, что надо помнить, что и где было сделано в проекте, и не забыть, чтобы при добавлении что-то не попортить, что было сделано несколько лет назад и забылось, плюс уже не передашь доработку сторонним пользователям или клиентам, и из-за сложности и с точки зрения защиты софта от копирования...

3 минуты назад, demiurg_spb сказал:

Вы думаете, что кто-то позарится на Вашу интеллектуальную собственность?

А почему вы считаете, что нет? Были попытки и не раз... Конкурентов хватает..

Изменено пользователем mantech

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


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

Пересобирать ВЕСЬ проект не надо. Надо лишь пересобрать ТОЛКО пользовательскую часть и СЛИНКОВАТЬ с библиотекой (она не в исходных кодах...)

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


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

5 минут назад, demiurg_spb сказал:

Да шансы есть. Тогда можно сделать двухуровневый загрузчик и вынести туда ту часть которую вы хотите сокрыть.

Всегда есть варианты...

Конечно есть, почему и решил вопрос с вирт. машиной, ибо это проще в доработках ПО, (маленький файл скрипта, где все понятно и видно сразу) и даже клиент может что-то под себя подправить, потом скомпилить одним файлом, без установки непонятных ему ИДЕ и пр... По-моему неплохо...

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


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

11 minutes ago, demiurg_spb said:

Вашу интеллектуальную собственность?

Точно нет. ПРичины я уже озвучил. Нужна именно "динамеческая" возможность запускать "экзешники". Т.е. один, два, пять. И делать это оперативно: вставил карту с память, и запустил. Залил по фтп, и запустил. Ну да, в случыае заливки - напоминает загрузчик. Ах да, и ещё одна причина - сегодня контрооллер на cortex-m3, завтра на mc68000. Прикладное ПО не должно быть аппаратно зависимым.

11 minutes ago, demiurg_spb said:

Тогда можно сделать двухуровневый загрузчик и вынести туда ту часть которую вы хотите сокрыть.

Да, верно. Этот вариант я тоже предлагал в стартовом сообщении.

8 minutes ago, mantech said:

В вашем случае нужно при любом изменении алгоритма пересобирать весь проект

Если сделать библиотеку, то не нужно)

 

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


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

11 minutes ago, mantech said:

Конкурентов хватает..

 

А квалифицированных, способных заниматься реверс-инжинирингом, в пределах статистической погрешности. Не льстите им...

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


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

7 hours ago, haker_fox said:

Меня тут тревожит, наверно, не столько даже новый язык, сколько перспектива вычистки интерпретатора и портирования его под IAR.

Спасибо, действительно быстро. Вопрос, на сколько качественно?)

да сама Lua написана на С и собрирается вообще каким угодно компилятором, так что портировать там особо нечего, плавующая арифметика заменяется на целочисленную просто дефайном препроцессора, также можно просто отрезать парсер (google: lua noparse.c), оставив в МК только ВМ. что делать с stdio описано тут https://habr.com/ru/post/459602/ 

можно ещё поглядеть на патчи от eLua, но оно вроде как в около 5.1 затормозилось и в нынешнее 5.3 и 5.4 просто так думаю не перетащить. с другой стороны разницы для простого скрипта между 5.1 и 5.4 практически никакой.

но LPC1768 там вполне поддерживается http://www.eluaproject.net/overview/status, и есть библиотеки для периферии

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


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

12 минут назад, demiurg_spb сказал:

А квалифицированных, способных заниматься реверс-инжинирингом, в пределах статистической погрешности.

Требуются немалые вложения в проект, сейчас с деньгами не все так просто, многим нет возможности выкладывать кругленькую сумму на разработку "с нуля" или реверсовикам, а вот на халяву - это мы запросто, от них и защита...

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


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

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

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

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

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

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

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

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

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

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