Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/31: Рейтинг темы: голосов - 31, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 111

Скриптинг в ARM

03.03.2013, 01:32. Показов 6248. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здатуте, вообще неохотно стал интересоваться ARM-ами, после AVR. С другой стороны ресурсы весьма привлекательны. Появилась задача реализовать дешевое устройство, но с Ethernet-управлением и главное чтобы по этому интерфейсу пользователь закидывал скрипты. Ну это типо тупого робота: "Наливай-подставляй, наливай-подставляй".

В целом привлекает по цене Sortix-M3, на нем, пожалуй, и оставновлю выбор. Разумеется, нужна ОС, тут уже теряюсь, хотелось бы ucLinux, но ему ресурсов не хватит да и разбираться долго, остается из доступных FriiRTOS и CooCox. А вообще ТЗ следующее:

Нужно чтобы ОС расценивала скрипт, как приложение и, соответсвенно, выполняло его. Само собой ОС будет дополнена всеми необходимыми дровами периферии. А тут сразу возник вопрос - а как это скомпиллировать приложение отдельно от ядра, это не DLL, функции неименованы как использовать API от ОС? Скрипт-машину не хочу - это слишком-сложно и работает медленно. С другой стороны Wymdows CE, Android поддерживает всякие приложения, вот надо что-то тип того. Вот и думаю.

1. Как динамически использовать ОС API?
2. Можно ли подключить внешнюю память и в нее прописать инструкции для МК, т.е. чтобы инструкции выполнялись из наружной памяти (хотя тогда где кеш хранить?).

Очень непонятные задачи, хотелось бы мнения экспертов.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
03.03.2013, 01:32
Ответы с готовыми решениями:

Unity скриптинг
Я пытаюсь сделать так, чтобы объект с именем one и тегом object при соприкосновении с объектом главного героя сначала добавил одно очко к...

Роблокс скриптинг
Ребята всем привет. Мне нужна помощь в Роблокс. Я большой фанат Фнаф. Мне нужно сделать дверь в Роблокс, которая открывается через...

Пользовательский скриптинг в C#
Здравствуйте, я столкнулся с проблемой. Есть программа которая выполняет данные ей команды. Но проблема в том что надо реализовать...

11
0 / 0 / 0
Регистрация: 14.02.2010
Сообщений: 798
03.03.2013, 02:25
По-моему самое идеальное - все же прообраз виртуальной машины и байт-код.
Можно каеш поискать какой шустрый М3 и все же поставить на него микролинукс, но это будет очень жестоко. И сложно с точки зрения, что ему по любому надо будет внешнюю память. Потому что на родной далеко не уедешь - у мну проект на LPC1768 с lwIP и FriiRTOS, памяти едва хватает. 24к выделено под ось, 16к сожрал лвип. 4к ушло на буфера для проприетарных протоколов, не считая созданные классы, глобальные массивы и прочие чудеса. В итоге щас из 64к свободно около 3к. Не, я в курсе, что у меня руки кривые и можно оченб сильно твикать все, но я сомневаюсь, что дико дофига получится выкроить места
0
omx
03.03.2013, 10:39
Посмотрите в сторону elua.
У некоторых МК есть шина для подключения SROM/SDROM. Смотрите внимательно когда будете выбирать.
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 199
03.03.2013, 12:37
Я понимаю что это прозвучит по-идиотски, но: я не программист, только пытаюсь чему-нибудь научится и все нижеизложенное написано исключительно дабы осознать насколько дурацкая идея.
Если сделать так каждому оператору скриптового языка в мк сделать функцию, там же массив указателей на эти функции, массивы аргументов, короче что-то типа такого:
Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
char ssript[];
int arg_a [];
int arg_b [];
int arg_c [];
int arg_d [];
int arg_e [];
void (*instr[])() = {a, b, c, d, e};
main()
{
for (pointer=0;pointer<=end;pointer++)
{
instr[ssript[pointer]]();
}
}
И в мк передавать массивы ssrip, arg_a, arg_b..., всякие ветвления и циклы осуществлять изменяя pointer. Как-то так.
0
0 / 0 / 0
Регистрация: 01.02.2011
Сообщений: 219
03.03.2013, 16:11
С таким ТЗ исключительно макетирование на ПК. Когда определитесь что именно вам нужно, реализация на ПК. Когда результат примерно получен - выбор платформы и реализация на ней требуемого функционала. Ведь "ОС расценивала скрипт, как приложение" звучит странно, "Скрипт-машину не хочу - это слишком-сложно и работает медленно" относительно.

Если попробывать ответить на вопросы, то:
- от omx ссылка на elua - очень простой синтаксис скриптов (прост в освоении), и достаточно быстрый.
- от omx же упоминание внешней памяти. В ней можно хранить и код и данные и стек (на сколько помню).
- компилировать отдельно программу от ядра ОС тоже можно (для стм8 я писал как делать).
- shuryk303 предложил на мой взгляд подходящий для вас способ. Только добавить свой ассемблер для компиляции, который может ограничится просто макроподстановкой кодов команд, взамен символьных имен.
0
0 / 0 / 0
Регистрация: 11.07.2012
Сообщений: 111
05.03.2013, 23:55
Цитата Сообщение от Omkit5o
- shuryk303 предложил на мой взгляд подходящий для вас способ.
shuryk303, не учел, что сами массивы указателей могут оказаться где угодно в памяти.
eLua - лажа, компиллятор онлайн и наверно потом станет платным.
0
omx
06.03.2013, 02:14
Цитата Сообщение от Modist
eLua - лажа, компиллятор онлайн и наверно потом станет платным.
Я этого ждал, уже боялся что ув. Modist забыл про топик. Ждём разгромных постов про то что ARM лажа, то что луа лажа, уже понятно. Вы бы хоть мельком прочитали описание, хотя бы через гугл-транслейт, раз английский осилить не можете. Что дальше? микроконтроллеры говно? Берите выше!
А что вам нравится? Пишите на яве. Благо есть армы с Jazelle или ставьте малиновую Пи и не ипите мозх.
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
06.03.2013, 03:05
Цитата Сообщение от Modist
shuryk303, не учел, что сами массивы указателей могут оказаться где угодно в памяти.
Вот ведь незадача, понасоздавали массивов указателей на функции, а куда в память положили, забыли.

ЗЫ у STM усё естъ
http://www.stm32jovo.com/portal/
0
0 / 0 / 0
Регистрация: 06.12.2016
Сообщений: 886
06.03.2013, 05:43
http://akb77.com/g/stm32/uc/

http://code.google.com/p/python-on-a-chip/
0
hosh
06.03.2013, 13:31
А почему никто не смотрит в сторону NetMF ? Я непременно буду осваивать (вот только с работой немного разгрЕбусь...)

Не могу найти, как-то делал парсер xml (немного допилить оставалось). Если найду, то выложу...
0 / 0 / 0
Регистрация: 16.01.2012
Сообщений: 199
06.03.2013, 14:12
Чего-то не могу врубиться, зачем нужно знать где в памяти лежит этот самый массив указателей. Объясните.
0
0 / 0 / 0
Регистрация: 10.03.2012
Сообщений: 1,110
06.03.2013, 14:25
Цитата Сообщение от shuryk303
Чего-то не могу врубиться, зачем нужно знать где в памяти лежит этот самый массив указателей. Объясните.
ТС нужно время разобраться, а что он собственно хочет. Вот и капризничает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.03.2013, 14:25
Помогаю со студенческими работами здесь

Требуется верстальщик (HTML/JS-скриптинг)
На проект требуется ответственный опытный HTML-верстальщик динамических web-интерфейсов. Требования: - Отличное знание языков...

Скриптинг: изменить значение слоя и сохранить картинку в png формате
Подскажите, пожалуйста, как в готовом psd файле изменить значение слоя и сохранить картинку в png формате.

C# + ARM
Всем доброго времени суток! Появилась задача разработать приложение, которое должно будет работать на архитектуре ARM. Т.е. будет что...

телефон с arm
Хотел бы спросить у знающих, есть ли какой нибудь телефон с ARM которым можно было бы легко перепрошивать (полностью все кроме бутлоадера)...

Стэк у ARM
Здраствуйте! Мучаюсь с NXP 1768. ЕСть подозрения что проблемы связанны с некоректно настроенным стэком. Собственно я его вообще не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие. Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора ВВЕДЕНИЕ Выполняя задание на управление насосной группой заполнения резервуара,. . .
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru