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

 
 
3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> Скрипты в микроконтроллере
Огурцов
сообщение Jan 14 2016, 10:50
Сообщение #16


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



совсем не
прошивку можно зишифровать, а скрипты отдать на откуп юзеру
представляете, если скрипт будет не в кракозябрах, а на нормальном широко распространенном языке с мощной отладкой на пк ?
еще вариант - рисование графических диаграмм алгоритмов или рабочих процессов на пк, а затем их выполнение на мк
тоже ресурсов надо крохи
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 14 2016, 17:09
Сообщение #17


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Огурцов @ Jan 14 2016, 13:50) *
прошивку можно зишифровать, а скрипты отдать на откуп юзеру

Если юзер будет знать, что делают заскриптованные операции, то реверс будет очень прост.
А юзер должен знать это, чтобы пользоваться "откупом".


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 14 2016, 18:14
Сообщение #18


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



реверс чего ? скрипты и так у юзера, открытые, это как вершина айсберга
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 14 2016, 18:18
Сообщение #19


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Огурцов @ Jan 14 2016, 21:14) *
реверс чего ?

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


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 14 2016, 19:02
Сообщение #20


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



ну давайте я вам дам какую-то мою программу на c#, сделайте мне по ней реверс дотнетфреймворка ?
да еще так, чтобы другая еще неведомая программа на шарпе тоже работала под вашим реверсом

Сообщение отредактировал Огурцов - Jan 14 2016, 19:03
Go to the top of the page
 
+Quote Post
Dog Pawlowa
сообщение Jan 14 2016, 19:44
Сообщение #21


Гуру
******

Группа: Свой
Сообщений: 2 702
Регистрация: 14-07-06
Пользователь №: 18 823



Цитата(Огурцов @ Jan 14 2016, 13:50) *
выполнение на мк тоже ресурсов надо крохи

Цитата(Огурцов @ Jan 14 2016, 22:02) *
сделайте мне по ней реверс дотнетфреймворка ?

Вы уж определитесь про что Вы говорите.


--------------------
Уходя, оставьте свет...
Go to the top of the page
 
+Quote Post
Огурцов
сообщение Jan 14 2016, 22:27
Сообщение #22


Гуру
******

Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588



я не терял нить рассуждения, в отличие от - про скрипты
скрипты, шарп и воркфлоу по выполнению, как и размеру, суть одного и тогоже порядка
а вот софт, под которым они выполняются на порядки монструознее
Go to the top of the page
 
+Quote Post
uriy
сообщение Jan 31 2016, 18:07
Сообщение #23


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Решил использовать pawn.
Может быть у кого-нибудь уже есть реализация для keil.
У меня осталась одна ошибка при компиляции и я застрял на:
Error: L6218E: Undefined symbol amx_Register (referred from amxfuncs.o).
amx_Register определен в amx.c в хидере есть прототип, но до него столько ifdef что я теряюсь
Go to the top of the page
 
+Quote Post
shreck
сообщение Feb 1 2016, 04:33
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(uriy @ Feb 1 2016, 00:07) *
Решил использовать pawn.
Может быть у кого-нибудь уже есть реализация для keil.
У меня осталась одна ошибка при компиляции и я застрял на:
Error: L6218E: Undefined symbol amx_Register (referred from amxfuncs.o).
amx_Register определен в amx.c в хидере есть прототип, но до него столько ifdef что я теряюсь

У меня работает этот набор файлов. Пробуйте.
Прикрепленные файлы
Прикрепленный файл  pawn.zip ( 28.18 килобайт ) Кол-во скачиваний: 35
 
Go to the top of the page
 
+Quote Post
uriy
сообщение Feb 1 2016, 14:43
Сообщение #25


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Спасибо! А можно еще ваш файл amxexec_thumb2.s?
Теперь другая функция дважды определена Error: L6200E: Symbol amx_exec_list multiply defined (by amxexec_thumb2.o and amx.o).

Можете мне еще пояснить можно ли каким то образом распаралелить выполнение скрипта и основной программы MCU?
Я планировал собирать данные с АЦП по DMA и усреднять их, только потом использовать эти значения в скрипте.
Go to the top of the page
 
+Quote Post
shreck
сообщение Feb 2 2016, 03:19
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(uriy @ Feb 1 2016, 20:43) *
Спасибо! А можно еще ваш файл amxexec_thumb2.s?
Теперь другая функция дважды определена Error: L6200E: Symbol amx_exec_list multiply defined (by amxexec_thumb2.o and amx.o).

Файл amx.c сдержит реализацию виртуальной машины на переносимом С.
amxexec_thumb2.s содержит оптимизированную реализацию виртуальной машины на асме.
Их не получится скомпилировать вместе в одном проекте. Выбирайте что-то одно.

Цитата
Можете мне еще пояснить можно ли каким то образом распаралелить выполнение скрипта и основной программы MCU?
Я планировал собирать данные с АЦП по DMA и усреднять их, только потом использовать эти значения в скрипте.

Распараллелить? Я использую ось. Соответственно есть набор потоков, в одном из которых крутится виртуальная машина.
Если без оси, то прерывания + debug hook для виртуальной машины. Как то так, наверное.


P.S. Не пренебрегайте документацией. Pawn_Implementer_Guide.pdf + Pawn_Language_Guide.pdf способны ответить на все ваши вопросы.
Go to the top of the page
 
+Quote Post
uriy
сообщение Feb 2 2016, 05:29
Сообщение #27


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Я начал вот с этой статьи http://we.easyelectronics.ru/STM32/prikruc...ok-k-stm32.html
Там часть функций на асме часть на си.
Я уже на горячую голову переделал amxexec_thumb2.s чтобы компилился под keil.
Мне даже в голову вот это не пришло: "Файл amx.c сдержит реализацию виртуальной машины на переносимом С.
amxexec_thumb2.s содержит оптимизированную реализацию виртуальной машины на асме.
"
Осями пользуюсь, но забыл уточнить что в этом проекте ось не планируется.
Тут будет на автоматах.

Цитата
P.S. Не пренебрегайте документацией. Pawn_Implementer_Guide.pdf + Pawn_Language_Guide.pdf способны ответить на все ваши вопросы.
Да читать надо, но как всегда некогда пилу точить надо лес валить.
Go to the top of the page
 
+Quote Post
shreck
сообщение Feb 2 2016, 05:48
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(uriy @ Feb 2 2016, 11:29) *
Да читать надо, но как всегда некогда пилу точить надо лес валить.

"Лучше день потерять, а потом за пять минуть долететь" sm.gif
Go to the top of the page
 
+Quote Post
uriy
сообщение Feb 15 2016, 09:09
Сообщение #29


Гуру
******

Группа: Свой
Сообщений: 2 429
Регистрация: 30-11-05
Из: Ижевск
Пользователь №: 11 606



Прочитал implementers guide и language guide так и не понял как обращаться к железу из скрипта.
Похоже придется еще раз читать...
Мне нужно принимать и отправлять данные через CAN, анализировать цифровые и аналоговые входы, управлять ШИМ.
На прием данных идеально ложаться ивенты.
Но как сделать чтобы основная программа в контроллере вызывала эти ивенты в скрипте?
И как обратиться из скрипта к функциям в основной программе, чтобы например запустить ШИМ?
Public functions это какраз те функции что доступны скрипту и основной программе или нет?
Go to the top of the page
 
+Quote Post
shreck
сообщение Feb 15 2016, 10:13
Сообщение #30


Местный
***

Группа: Свой
Сообщений: 327
Регистрация: 24-06-06
Из: Томск
Пользователь №: 18 328



Цитата(uriy @ Feb 15 2016, 15:09) *
Прочитал implementers guide и language guide так и не понял как обращаться к железу из скрипта.
Похоже придется еще раз читать...
Мне нужно принимать и отправлять данные через CAN, анализировать цифровые и аналоговые входы, управлять ШИМ.
На прием данных идеально ложаться ивенты.
Но как сделать чтобы основная программа в контроллере вызывала эти ивенты в скрипте?
И как обратиться из скрипта к функциям в основной программе, чтобы например запустить ШИМ?
Public functions это какраз те функции что доступны скрипту и основной программе или нет?

Implementers guide, Extension modules, p.49:
Цитата
An extension module provides a pawn program with application-specific (“na-
tive”) functions. An native function is a function that is implemented in the host
application (as opposed to being implemented in the pawn script) and it is typi-
cally implemented in a different programming language. Creating an extension
module is a three-step process:
1 writing the native functions (in C);
2 making the functions known to the abstract machine;
3 writing an include file that declares the native functions for the pawn pro-
grams.

Ну и дальше углубляетесь.

По event driven технике ничего подсказать не могу, т.к. не пользую.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 07:53
Рейтинг@Mail.ru


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