OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 23 Апрель, 2019 05:12

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 166 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.
Автор Сообщение
 Заголовок сообщения: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 12 Сентябрь, 2014 22:01 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
Да.. хорошо, что так всё просто получилось.

Я вот написал компилятор Oberon-07 → ARMv6-M (Cortex-M0...)

Написал и для ARMv7-M, но он мне пока не очень нравится, буду переписывать.


Модератор: отделено от viewtopic.php?f=90&t=5127


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Пятница, 12 Сентябрь, 2014 22:12 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8057
Откуда: Троицк, Москва
Да, все такие штуки надо бы по возможности публиковать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Суббота, 13 Сентябрь, 2014 12:23 

Зарегистрирован: Вторник, 29 Август, 2006 12:32
Сообщения: 2567
Откуда: Россия, Ярославль
Alexander Shiryaev писал(а):
Да.. хорошо, что так всё просто получилось.

Я вот написал компилятор Oberon-07 → ARMv6-M (Cortex-M0...)

Написал и для ARMv7-M, но он мне пока не очень нравится, буду переписывать.

Круто. А как раскрутка/отладка происходила на начальных этапах?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Суббота, 13 Сентябрь, 2014 19:03 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
Это кросс-компилятор.

Сначала переписал часть кодогенератора (ORG -> O7ARMv6MG) и дизассемблер (ORTool -> O7ARMv6MTool), чтобы можно было компилировать простенькие программы и проверять, что компилятор работает правильно. Потом написал часть компоновщика (Modules.Load -> O7ARMv6MLinker), чтобы можно было проверять их работоспособность на реальном железе. Потом постепенно дописал, чего не хватает до полноценной реализации.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Суббота, 20 Сентябрь, 2014 01:15 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
Российские микроконтроллеры (ядро ARMv6-M, ARMv7-M)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 02:51 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
Дописал компилятор для ARMv7[E]-M.

Эмулятора FPU нет. Операции с числами IEEE 754 (если они нужны) работают только с микроконтроллерами, в которых есть FPU (Cortex-M4F).

Операции DIV, MOD для ARMv6-M реализованы программно, т. к. там нет аппаратного деления.

Проверял с микроконтроллерами NXP LPC1114FBD48/302 (Cortex-M0) и STMicroelectronics STM32F411RE (Cortex-M4F).
Поддержку любых других добавить не сложно. Если кому нужно — сделаю.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 08:40 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
У меня LPC2103, если его можно будет программировать на BlackBox, сразу же потащу в школу.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 09:42 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
Это ARMv4T, там другой набор команд :(

Проще всего, наверное, купить эту плату (830 руб.)


Отладочные платы starterkit.ru (Cortex-M4):


Последний раз редактировалось Alexander Shiryaev Понедельник, 29 Сентябрь, 2014 11:25, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 11:17 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Как у них всё непросто!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 11:32 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
Ну да :)

А ещё недавно появились Cortex-M7. Хорошо, что у них тоже набор команд ARMv7E-M.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 11:35 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
А сколько по времени занимает написание компилятора? Я к тому, что раз тут такой зоопарк, то стоит задуматься о капиталовложениях в виде затраченных усилий.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 11:42 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
А вообще компилятор не сложно переписать для любого 32-разрядного RISC

Для этого надо переписать кодогенератор (ORG..), написать компоновщик (linker) и системные модули (настройку генератора тактовых импульсов (PLL..), обработку TRAP-ов, UART...)

Сколько по времени займёт - не знаю, у кого как. У меня 2-3 недели, если не торопиться.
Я писать компилятор для ARMv4T не хочу :) (потому что нет аппаратного FPU)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Понедельник, 29 Сентябрь, 2014 12:21 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2931
Откуда: г. Ярославль
Спасибо, буду думать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Среда, 01 Октябрь, 2014 07:35 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 661
Откуда: СССР
Alexander Shiryaev писал(а):
Проверял с микроконтроллерами NXP LPC1114FBD48/302 (Cortex-M0) и STMicroelectronics STM32F411RE (Cortex-M4F).
Поддержку любых других добавить не сложно. Если кому нужно — сделаю.


Замечательно.
А с LPC1343 и STM32F3,STM32F407VGT6 работать будет? У меня как раз есть от них тестовые платы для нашей школы Оберон-робототехники.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Среда, 01 Октябрь, 2014 15:50 

Зарегистрирован: Пятница, 02 Декабрь, 2005 14:35
Сообщения: 190
Откуда: Россия, Томск
Добрый день, Александр!

В последнее время появились довольно мощные и недорогие одноплатники (Raspberry Pi, Cubieboard2, Cubieboard8?), которые можно использовать для управления учебными робоконструкциями, в том числе с распознаванием видео в реальном времени. Очень хочется приспособить BlackBox или Astrobe (Oberon-2014) на подобные одноплатники. Вы не рассматривали возможность приложить к этому Ваши руки и знания?
У меня есть несколько толковых магистрантов-программистов (1-й курс магистратуры) на факультете информатики, кого в принципе можно привлечь в помощники. Я бы поспособствовал.
Как Вам такое предложение?

С уважением, А.Попков


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Среда, 01 Октябрь, 2014 16:41 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
Kubanych писал(а):
А с LPC1343 и STM32F3,STM32F407VGT6 работать будет?


Будет, только надо написать системные модули для этих микроконтроллеров и добавить их поддержку в компоновщик (поддержка LPC1343 уже добавлена).


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Среда, 01 Октябрь, 2014 21:49 
Аватара пользователя

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 437
Откуда: Егорьевск
А.П. писал(а):
Добрый день, Александр!

В последнее время появились довольно мощные и недорогие одноплатники (Raspberry Pi, Cubieboard2, Cubieboard8?), которые можно использовать для управления учебными робоконструкциями, в том числе с распознаванием видео в реальном времени. Очень хочется приспособить BlackBox или Astrobe (Oberon-2014) на подобные одноплатники. Вы не рассматривали возможность приложить к этому Ваши руки и знания?
У меня есть несколько толковых магистрантов-программистов (1-й курс магистратуры) на факультете информатики, кого в принципе можно привлечь в помощники. Я бы поспособствовал.
Как Вам такое предложение?

С уважением, А.Попков


Здравствуйте.

Для таких систем вижу целесообразным переписывание компилятора BlackBox для ARMv7-A, чтобы BlackBox можно было там запускать в Linux.
Если бы кто-нибудь это сделал, то было бы хорошо :)

По обработке видео -- можно ли использовать для этого FPGA, как вы считаете?
А для робототехники разве не достаточно микроконтроллеров? Что там за алгоритмы такие сложные, что необходимо использовать такие системы (кроме задач видеообработки)?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Среда, 01 Октябрь, 2014 23:33 
Аватара пользователя

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1162
Откуда: Tel-Aviv
Для обработки видео в реальном времени используют сигнальные микропроцессоры - DSP. Они как раз для таких задач и созданы.

Раз уж речь пошла о переносе компилятора под разные платформы, то почему не доработать Ofront, транслятор в C? Или же его форк, Vishap Oberon Compiler (voc)
Цитата:
Vishap Oberon Compiler (voc) is a free (GPLv3) non-commercial oberon-2 compiler.

Platforms:
voc produces x86_64, x86, ppc, armv{4-7} binaries and works on those platforms.
On x86_64 it supports 64bit LONGINT types.
By using currently stable C backend voc is easily ported to any platform for which C compiler exists.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Четверг, 02 Октябрь, 2014 05:21 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 2296
Роман, ну во первых, он GPLv3, а это для меня не годится, например, так как хотелось бы делать прошивки для коммерческих приборов в будущем, а GPLv3 запрещает коммерческое использование. Александр пока не озвучил лицензию, кстати.

Во вторых, интуитивно, транслятор всегда хуже, чем компилятор и разрабатывать его (а тем более адаптировать чей-то чужой) не так весело :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Po - Project Oberon @ BlackBox
СообщениеДобавлено: Четверг, 02 Октябрь, 2014 07:44 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 661
Откуда: СССР
Alexander Shiryaev писал(а):
(поддержка LPC1343 уже добавлена).


Для того, что уже готово, было бы неплохо общими силами подготовить нечто вроде пособия "BlackBox для микроконтроллеров" с объяснениями примеров, чтобы заинтересовать молодежь


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 166 ]  На страницу 1, 2, 3, 4, 5 ... 9  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2019, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB