OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Четверг, 28 Март, 2024 22:03

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




Начать новую тему Ответить на тему  [ Сообщений: 166 ]  На страницу Пред.  1 ... 4, 5, 6, 7, 8, 9  След.
Автор Сообщение
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Среда, 04 Май, 2016 09:34 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 717
Откуда: Барнаул
Kubanych писал(а):
8 битный ардуиновый Оберон сделать насколько сложно?
Да принципиальных проблем нет.
Есть, например вариант Компонетного Паскаля для 8-ми битных MCS 51, Оберон07 для 16-ти битного DCPU-16. У нас есть Активный Оберон для PDP-11.
Конечно, есть некоторая специфика, но главная проблема - кто и зачем будет писать компилятор( или back end ) для avr8.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Среда, 04 Май, 2016 12:41 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
Kemet писал(а):
Да принципиальных проблем нет... главная проблема - кто и зачем будет писать компилятор( или back end ) для avr8.


Это хорошо. Один раз я ковырялся в структурах данных, созданных фронтэндом блэкбокса, извлекал оттуда нужную информацию.
Значит, в целом 8 битный компилятор есть, надо поработать над бэкэндом.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Четверг, 08 Сентябрь, 2016 22:36 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
На базе такой же платы с STM32F103 и компилятора O7 запустил OLED дисплей по протоколу I2С.

Изображение


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 09 Сентябрь, 2016 11:40 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
Аппаратный I2C или программно реализовано?

Ну и "чтоб два раза не вставать": ARMv4TP.odc для архитектуры 7TDMI компилятор?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 09 Сентябрь, 2016 12:37 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Artyemov писал(а):
Аппаратный I2C или программно реализовано?

На сколько я могу судить, I2C - аппаратный.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 09 Сентябрь, 2016 14:14 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
"На сколько я могу судить…" - от чего такая неуверенность?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 09 Сентябрь, 2016 19:29 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Artyemov писал(а):
"На сколько я могу судить…" - от чего такая неуверенность?

Модуль для I2C за авторством Александра Ширяева, и судя по тому, что в МК есть аппаратная поддержка I2C и по тому, что я вижу в коде, я могу сделать такой вывод. Но окончательно и наверняка ответит только он.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Понедельник, 09 Январь, 2017 14:21 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
Намедни я решил применить Oberon к SAM3S1 атмеловскому и начал с описания периферии.
Результат компиляции на картинке:
Вложение:
O7_quasiErrors.png
O7_quasiErrors.png [ 10.11 КБ | Просмотров: 9446 ]


Оказывается, что буква "_" (ASCII-код 5FH) за букву не считается, в соответствии с Oberon07.Report.pdf, и значит в идентификаторах применяться не может.
Это ещё поля в регистрах не описывались ;)
Следующий момент: почему "_" в позиции 90 вызвала ошибку (остальные ошибки - индуцированные), а за 4 позиции до того - нет?
КП (по Cntl-K) этот модуль компилирует без ошибок (это к тому, что синтаксических ошибок нет).

Предложение Александру Ширяеву: "причислить "_" к лику св…" :) - ввести в список букв (letter = "A" | "B" | … | "Z" | "a" | "b" | … | "z" | "_".), и если есть контакт с Никлаусом Вальтеровичем, то узаконить " "_" - буква".
"_" в идентификаторах хорошо с читаемостью кода помогает: XXXXX_xxxxxx Xxxx_XXXX _XXXX_Xxxxxx - визувально.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Понедельник, 09 Январь, 2017 14:58 
Аватара пользователя

Зарегистрирован: Вторник, 28 Август, 2007 00:55
Сообщения: 520
Откуда: Украина, Днепропетровская обл.
Хотя компилятором пока пользоваться не собираюсь, но присоединяюсь к просьбе.

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Понедельник, 09 Январь, 2017 15:48 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
В микроконтроллерах "потроха" достаточно вычурными аббревиатурами обзываются и разбирать как поделить идентификатор на составные не самая простая задача.

"_" вообще в стандарте не фигурирует ни как буква, ни как спецсимвол, ни как что-то вообще. И в самом тексте "_" нет :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Среда, 11 Январь, 2017 21:52 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Добавил поддержку SAM3S в компоновщик.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 13 Январь, 2017 17:13 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
А "_" в категорию букв включить?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 13 Январь, 2017 18:28 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Artyemov писал(а):
Оказывается, что буква "_" (ASCII-код 5FH) за букву не считается, в соответствии с Oberon07.Report.pdf, и значит в идентификаторах применяться не может.
Это ещё поля в регистрах не описывались ;)
Следующий момент: почему "_" в позиции 90 вызвала ошибку (остальные ошибки - индуцированные), а за 4 позиции до того - нет?

Так у Вирта в компиляторе, я ничего не менял.

Можете добавить "_" в O7S.Identifier, но это уже будет расширение того языка, который описан в "language report".


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 13 Январь, 2017 22:19 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 8500
Откуда: Троицк, Москва
Александр Владимирович, за Вами должок в духе http://www.inr.ac.ru/~info21/oberon_inn ... onAgro.htm
и в виде докладика на Дне Оберона 2017.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Среда, 01 Февраль, 2017 00:41 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Переместил все примеры подсистемы Micro в отдельную подсистему: Mobx


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Среда, 01 Февраль, 2017 01:02 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 02:12
Сообщения: 473
Откуда: KZ
Добавил в примеры модуль для работы с таймером SysTick.
Код:
MODULE MobxSysTickTest0;

    IMPORT ARMv7M := MicroARMv7M, PeriodicTimer := MobxARMv7MSTM32SysTick0, Sys := MicroSTM32F103x8System;

    CONST periodicTimerFreq = 16 (* Hz *);

    PROCEDURE MainLoop;
    BEGIN
        REPEAT
            IF PeriodicTimer.OnTimer() THEN
                ...
            END;
            ARMv7M.WFI
        UNTIL FALSE
    END MainLoop;

    PROCEDURE Init;
    BEGIN
        PeriodicTimer.Init(Sys.HCLK, periodicTimerFreq)
    END Init;

BEGIN
    Init; MainLoop
END MobxSysTickTest0.

(^Q)O7ARMv7MLinker.Link STM32F103C8 MobxSysTickTest0


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Среда, 01 Февраль, 2017 06:42 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
А почему бы этот модуль не поместить в Micro, а вот этот твой пример с форума должен как раз быть в Mobx ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Среда, 01 Февраль, 2017 13:11 

Зарегистрирован: Пятница, 13 Март, 2015 16:40
Сообщения: 597
Alexander Shiryaev писал(а):
Добавил в примеры модуль для работы с таймером SysTick.


Ещё полезная функция у SysTick: определить время выполнения программного фрагмента (да, пока не Оберон ;)):
Код:
   LDR   R8,   =SysTick_BASE_ADDRSS
   LDR   R0,   [R8,   #(REG_SysTick_VAL - SysTick_BASE_ADDRSS)]
   
   LDR   R12,   =TEST_BITMAP
   MOV   R11,   #0
   MOV   R10,   #10
   BL   LCM32128A_BITMAP_WRITE
   
   LDR   R7,   [R8,   #(REG_SysTick_VAL - SysTick_BASE_ADDRSS)]


разница содержимого R7 и R0 - длительность выполнения подпрограммы LCM32128A_BITMAP_WRITE в тактах ядра


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 03 Февраль, 2017 20:26 

Зарегистрирован: Суббота, 04 Март, 2006 15:13
Сообщения: 674
Откуда: СССР
А вместо ARM можно выводить на llvm?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Компилятор Oberon → ARMv6-M, ARMv7E-M
СообщениеДобавлено: Пятница, 03 Февраль, 2017 21:30 

Зарегистрирован: Вторник, 26 Январь, 2010 09:31
Сообщения: 717
Откуда: Барнаул
Kubanych писал(а):
А вместо ARM можно выводить на llvm?
Я пробовал (для другого компилятора ) и пришел к выводу что это сейчас бессмысленно. Лучше транслировать в Си и компилировать используя соответствующий компилятор для Си.


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

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


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

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


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

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