реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Основная программа со сменными модулями, как реализовать?
skyled
сообщение Jul 27 2010, 08:44
Сообщение #1


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 11-06-10
Пользователь №: 57 868



По сути задачи поясняю, что в устройстве на МК предполагается постоянное наличие "главной" программы, обладающей основным функционалом и управляет набором периферийных устройств. При этом стоит задача чтобы клиент мог на свой выбор в зависимости от того какое ему угодного поведения управляемых периферийных устройств скачивать с сайта соответствующий файлик и с помощью программы на ПК "заливать" нужные ему файлики в "головной модуль" на место ненужных или в дополнение к имеющимся. Оно бы может можно было заливать прошивку целиком, но нельзя ее давать, поскольку интеллектуальная собственность и секрет произвродства. Как лучше реализовать такой подход? Спасибо.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 27 2010, 08:53
Сообщение #2


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Можно встроить в ядро программы виртуальную машину или скриптовой движок, который будет выполнять скрипты верхнего уровня.
Сам мечтаю такое сделать, да всё пока руки не доходят.
Другой вариант - использовать bootloader собственной конструкции, можно с шифрованием, чтобы прошивку не открывать.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
Dima_G
сообщение Jul 27 2010, 09:28
Сообщение #3


Местный
***

Группа: Свой
Сообщений: 279
Регистрация: 2-07-08
Из: Новосибирск
Пользователь №: 38 699



Архитектура какая? Если фоннейман, то может получится через указатели на функции? Те основная программа заливает бинарник в определенное место и запускает код на исполнение (ес-но подгружаемый код должен быть слинкован с учетом этого)
Go to the top of the page
 
+Quote Post
skyled
сообщение Jul 27 2010, 09:44
Сообщение #4


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 11-06-10
Пользователь №: 57 868



Цитата
Архитектура какая?
Пока Мега128, но с перспективой на LPC2368

Все варианты хороши. Какой проще? Такой вероятно надежней.
Go to the top of the page
 
+Quote Post
sigmaN
сообщение Jul 27 2010, 09:56
Сообщение #5


I WANT TO BELIEVE
******

Группа: Свой
Сообщений: 2 617
Регистрация: 9-03-08
Пользователь №: 35 751



ИМХО проще с бутлоадером и шифрованной прошивкой...
Надежней в плане криптостойкости/секретности или безглючность?
Когда прошивка целиком(шифрованная) вы целиком её и отлаживаете, так что может оказаться, что это будет надежнее, чем скрипт-машина и различные скрипты, которые могут составлять причудливые сочетания.... возможно не всегда 100% протестированные и надёжные...хотя как знать, если их будет не много - то такой подход даст даже бОльшую гибкость...
Решать Вам.


--------------------
The truth is out there...
Go to the top of the page
 
+Quote Post
skyled
сообщение Jul 27 2010, 10:53
Сообщение #6


Местный
***

Группа: Участник
Сообщений: 217
Регистрация: 11-06-10
Пользователь №: 57 868



Я не совсем точно описал задачу. Дело в том, что клиент саи скачивает с сайта то, что ему сейчас нужно и сам с помощью специальной программы на ПК подключает к головной программе. Одновременно подключенных модулей не много будет 16-32 примерно. Ну совем для понимания полного представим себе кнопку на головном блоке. По нажатию или печатается что-то или включается лампочка или еще что, не суть. Суть в том, что реакцию на нажатие кнопки и будет проделывать подключаемый клиентом обработчик. Где-то так.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 27 2010, 11:54
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Мне больше нравится идея MrYuran - скрипты. Есть набор функций на все случаи жизни. Ну, как API в Windows. Они описаны, но как они реализованы - тайна. Из них составляется то, что нужно для конкретной задачи. Этот список и загружается в контроллер.

Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 27 2010, 12:02
Сообщение #8


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



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


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post
iosifk
сообщение Jul 27 2010, 12:02
Сообщение #9


Гуру
******

Группа: Модераторы
Сообщений: 4 011
Регистрация: 8-09-05
Из: спб
Пользователь №: 8 369



Цитата(ViKo @ Jul 27 2010, 15:54) *
Мне больше нравится идея MrYuran - скрипты. Есть набор функций на все случаи жизни. Ну, как API в Windows. Они описаны, но как они реализованы - тайна. Из них составляется то, что нужно для конкретной задачи. Этот список и загружается в контроллер.

У меня есть статья еще от 2002 (кажется) о форт процессорах. Так вот англичане загружали в микроконтроллер интерпритатор Форта. А саму программу на форте можно было загружать откуда угодно... Но это будет несколько медленно исполняться. Гораздо проще, если клиент формирует задачу, Вы ее компилите у себя "дома" или на сервере. И клиенту отдаете уже зашифрованный бинарник...


--------------------
www.iosifk.narod.ru
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jul 27 2010, 12:08
Сообщение #10


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(iosifk @ Jul 27 2010, 15:02) *
Гораздо проще, если клиент формирует задачу, Вы ее компилите у себя "дома" или на сервере. И клиенту отдаете уже зашифрованный бинарник...

Это не проще, а выгоднее, если за каждую программу брать с клиента деньги. А если - сдал, получил свое, и забыл, то интерпретатор предпочтительнее. А потом, и сам интерпретатор можно модернизировать, добавлять и совершенствовать функции. И за новую версию уже брать мзду на законных основаниях.
Go to the top of the page
 
+Quote Post
MrYuran
сообщение Jul 27 2010, 12:09
Сообщение #11


Беспросветный оптимист
******

Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646



Цитата(iosifk @ Jul 27 2010, 16:02) *
У меня есть статья еще от 2002 (кажется) о форт процессорах. Так вот англичане загружали в микроконтроллер интерпритатор Форта. А саму программу на форте можно было загружать откуда угодно... Но это будет несколько медленно исполняться.

Медленно - понятие относительное.
Если большинство слов скомпилировано заранее на си, а форт-машина только оперирует этими большими кусками программы, то особого замедления не будет. Разве что на ARM, с их глубоким конвейером, частые переходы противопоказаны. Да и то не особо заметно будет.


--------------------
Программирование делится на системное и бессистемное. ©Моё :)
— а для кого-то БГ — это Bill Gilbert =)
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 06:32
Рейтинг@Mail.ru


Страница сгенерированна за 0.01421 секунд с 7
ELECTRONIX ©2004-2016