Инструменты пользователя

Инструменты сайта


ob:o7

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
ob:o7 [2017/04/06 23:29]
иван_денисов [O7]
ob:o7 [2024/02/26 08:26] (текущий)
iadenisov [Полезные заметки]
Строка 3: Строка 3:
 Компилятор языка программирования [[ob:oberon07|Oberon-07]]\\ Компилятор языка программирования [[ob:oberon07|Oberon-07]]\\
 для широкого класса микроконтроллеров архитектуры ARMv{6,7E}-M. для широкого класса микроконтроллеров архитектуры ARMv{6,7E}-M.
 +
 +Автор: Александр Ширяев.
 +
 +Проект основан на компиляторе Oberon → RISC из [[http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html|Project Oberon]] Н. Вирта. [[https://github.com/aixp/O7/blob/master/O7/Docu/license.txt|Лицензия]].
  
 Компилятор распространяется в открытых исходных кодах вместе с набором полезных модулей, которые объединены в подсистему **Micro**. В этих модулях хранятся адреса регистров, процедуры инициализации контроллеров, заготовки для передачи данных по протоколу UART и многое другое. Компилятор распространяется в открытых исходных кодах вместе с набором полезных модулей, которые объединены в подсистему **Micro**. В этих модулях хранятся адреса регистров, процедуры инициализации контроллеров, заготовки для передачи данных по протоколу UART и многое другое.
Строка 10: Строка 14:
 [[https://github.com/aixp/O7|Хранилище проекта на GitHub]] [[https://github.com/aixp/O7|Хранилище проекта на GitHub]]
  
-Проект основан на компиляторе Oberon → RISC из [[http://www.inf.ethz.ch/personal/wirth/ProjectOberon/index.html|Project Oberon]] Н. Вирта. [[https://github.com/aixp/O7/blob/master/O7/Docu/license.txt|Лицензия]].+[[https://github.com/iadenisov/O7|Альтернативное хранилище Ивана Денисова]] 
 +  * дополнительными модули для I2C, SPI, дисплеев 
 +  * дополнительные примеры 
 +  * исправлено положение трапа в исходниках 
 +  * поддержка "_" в идентификаторах 
 + 
  
 ===== Установка и настройка ===== ===== Установка и настройка =====
  
-Компилятор [[ob:o7|O7]] разработан на языке [[сp:docu|Компонентный Паскаль]] в виде расширения среды программирования [[:blackbox|BlackBox Component Builder]]. Поэтому, чтобы откомпилировать и использовать [[ob:o7|O7]], требуется сначала установить эту среду.+[[https://recordino.ldnova.com/|Среда разработки Рекордино]] имеет встроенный компилятор O7. 
 + 
 +Компилятор [[ob:o7|O7]] разработан на языке [[:cp|Компонентный Паскаль]] в виде расширения среды программирования [[:blackbox|BlackBox Component Builder]]. Поэтому, чтобы откомпилировать и использовать [[ob:o7|O7]], требуется сначала установить эту среду.
  
   - Установите Блэкбокс ([[blackbox:ubuntu|в Ubuntu]], [[blackbox:Windows|в Windows]]).   - Установите Блэкбокс ([[blackbox:ubuntu|в Ubuntu]], [[blackbox:Windows|в Windows]]).
   - Скачайте [[https://github.com/aixp/O7/archive/master.zip|компилятор O7]].   - Скачайте [[https://github.com/aixp/O7/archive/master.zip|компилятор O7]].
-  - Скопируйте папки **O7** и **Micro** в директорию, которую вы создали для проектов, или в корневой каталог Блэкбокса.+  - Скопируйте директории **O7****Micro**, **Mobx** в директорию, которую вы создали для проектов, или в корневой каталог Блэкбокса.
   - Откройте файл **O7/Docu/Quck-Start.odc** и нажмите по очереди первые три коммандера (черная кнопка-кружок).   - Откройте файл **O7/Docu/Quck-Start.odc** и нажмите по очереди первые три коммандера (черная кнопка-кружок).
   - Затем откройте файл **Micro/Docu/Quck-Start.odc** и нажмите второй коммандер, если вы собираетесь писать программу для контроллера с архитектурой **ARMv6-M**, третий --- если для **ARMv7-M**.   - Затем откройте файл **Micro/Docu/Quck-Start.odc** и нажмите второй коммандер, если вы собираетесь писать программу для контроллера с архитектурой **ARMv6-M**, третий --- если для **ARMv7-M**.
  
 +P.Compile:\\
 +@: компилировать текущий документ\\
 +/s: заменять символьные файлы
 +
 +Tool.DecObj: информаия об объектном файле\\
 +Tool.DecSym: информация о символьном файле\\
 +Tool.DecBin: дизассемблер bin-файлов\\
 +Tool.DecHex: дизассемблер hex-файлов
 ===== Полезные заметки ===== ===== Полезные заметки =====
  
 +  * [[ob:o7:examples|Учебник по программированию микроконтроллеров]] **NEW!**
   * [[ob:o7:stm32f103|Моя первая программа для STM32]]   * [[ob:o7:stm32f103|Моя первая программа для STM32]]
   * [[ob:o7:stm32flash|Прошивка микроконтроллера через UART]]   * [[ob:o7:stm32flash|Прошивка микроконтроллера через UART]]
 +  * [[ob:o7:timer|Работа с таймером через прерывания]]
 +  * [[ob:o7:flash|Сохранение данных в FLASH память микроконтроллера]]
   * [[ob:o7:memory|Особенности работы с памятью]]   * [[ob:o7:memory|Особенности работы с памятью]]
   * [[ob:o7:debug|Особенности отладки]]   * [[ob:o7:debug|Особенности отладки]]
-  * [[ob:o7:trimble|Обмен сообщениями (в процессе написания)]] 
   * [[ob:o7:stm32f103C8T6|Отчёт о сборке и прошивке STM32F103C8T6]]   * [[ob:o7:stm32f103C8T6|Отчёт о сборке и прошивке STM32F103C8T6]]
   * [[ob:o7:stm32f103C8T6_2|Прошивка STM32F103C8T6 под Windows 8.1]]   * [[ob:o7:stm32f103C8T6_2|Прошивка STM32F103C8T6 под Windows 8.1]]
  
-===== Видеоуроки =====+===== Видео =====
  
 +  * [[https://vk.com/video-155609632_456239121|Конвеерум #30: Компилятор Оберона для архитектуры ARM: простота в основе надежности]]
   * [[https://youtu.be/zlnj6FCY1tY|Прошивка контроллера Cortex-M3 (LPC1343F) программой на Oberon]]   * [[https://youtu.be/zlnj6FCY1tY|Прошивка контроллера Cortex-M3 (LPC1343F) программой на Oberon]]
   * [[https://youtu.be/mGi03zjahwY|Прошивка контроллера Cortex-M4 STM32F407VG программой на Oberon]]   * [[https://youtu.be/mGi03zjahwY|Прошивка контроллера Cortex-M4 STM32F407VG программой на Oberon]]
Строка 42: Строка 65:
   * Бортовые программы комплекса беспилотных летательных аппаратов (ООО «НПКЦ Новик-91»)   * Бортовые программы комплекса беспилотных летательных аппаратов (ООО «НПКЦ Новик-91»)
   * Система контроля потоков в микрофлюидных чипах (Сибирский федеральный университет)   * Система контроля потоков в микрофлюидных чипах (Сибирский федеральный университет)
 +  * Шприцевой насос (Сибирский федеральный университет)
 +  * Люминометр (Сибирский федеральный университет)
  
 ===== Полезные ссылки ===== ===== Полезные ссылки =====
  
-  * [[https://www.inf.ethz.ch/personal/wirth/Oberon/Oberon07.Report.pdf|Сообщение о языке Oberon-07]]+  * [[https://visual.sfu-kras.ru/oberon|Сообщение о языке Oberon-07]]
   * [[http://oberoncore.ru/library/wirth_sets|SET: Недооцениваемый тип данных и его компиляция для ARM]]   * [[http://oberoncore.ru/library/wirth_sets|SET: Недооцениваемый тип данных и его компиляция для ARM]]
   * [[http://forum.oberoncore.ru/viewtopic.php?f=137&t=5232|Обсуждение проекта на форуме]]   * [[http://forum.oberoncore.ru/viewtopic.php?f=137&t=5232|Обсуждение проекта на форуме]]
   * [[http://milandr.ru/index.php?mact=Products,cntnt01,default,0&cntnt01hierarchyid=5&cntnt01returnid=67|Российские микроконтроллеры (ядро ARMv6-M, ARMv7-M)]]   * [[http://milandr.ru/index.php?mact=Products,cntnt01,default,0&cntnt01hierarchyid=5&cntnt01returnid=67|Российские микроконтроллеры (ядро ARMv6-M, ARMv7-M)]]
  
ob/o7.1491510576.txt.gz · Последнее изменение: 2020/10/29 07:08 (внешнее изменение)