Прекраснейший текст! Не текст, а горький мёд. Лучшее, из того, что написал Михаил Евграфович. Литературный язык - чистое наслаждение. Жемчужина отечественной словесности. А прочесть эту книгу, нужно уже поживши. Будучи никак не моложе тридцати.
Школьникам эту книгу не "прожить". Не прочувствовать, как красива родная речь в этом романе.
Интереснейшая история в замечательном переводе. Можжевельник. Мрачный северный город, где всегда зябко и сыро. Маррон Шед, жалкий никудышный человек. Тварь дрожащая, что право имеет. Но... ему сочувствуешь и сопереживаешь его рефлексиям. Замечательный текст!
Первые два романа "Чёрной гвардии" - это жемчужины тёмной фэнтези. И лучше Шведова никто историю Каркуна не перевёл. А последующий "Чёрный отряд" - третья книга и т. д., в других переводах - просто ремесловщина без грана таланта. Оригинальный текст автора реально изуродовали поденщики. Сюжет тащит, но читать не очень. Лишь первые две читаются замечательно.
назначения LED0, светодиод RESET, светодиод POWER, светодиод STATUS (моргание которого показывает интенсивность обмена по DEBUG USB). Разъём USB для питания и отладки — DEBUG USB, разъём USB общего назначения SAM4S USB, разъём для внешнего LCD — LCD CONNECTOR, три разъёма для плат расширения.
На обратной стороне платы размещён также разъём кардридера SD-Card и чип отладчика EDBG.
Плата может быть запитана подключением USB-кабеля к разъёму DEBUG USB и с другой стороны к источнику питания USB или компьютеру. Также есть отдельный четырёхштырьковый разъём питания. После включения и сброса процессор запускает программу из флэш, если там что-то прошито.
Немаловажной деталью устройства является чип «The Atmel Embedded Debugger (EDBG)» установленный на обратной стороне платы и подключенный к разъёму DEBUG USB. Будучи соединённым через последовательные каналы TWI, SPI, UART с процессором, он позволяет выполнять отладку приложения используя протокол OpenOCD (Open On-Chip Debugger).
Кроме того, EDBG создаёт на хост-компьютере виртуальный ком-порт Virtual COM Port, который может служить приложению в качестве стандартного ввода вывода.
Подробнее см.
SAM4S DatasheetSAM4S Xplained Pro User GuideAtmel Embedded Debugger User GuideSAM4S ARM Cortex-M4 Microcontrollers
Плата Oled1
Содержит LCD-дисплей, размером 128×32 пикселя, три кнопки (BUTTON 1 .. BUTTON 3) и три светодиода (LED1 .. LED3). В примерах подключается к разъёму расширения EXT3.
OLED1 Xplained Pro User Guide
Небольшая макетная плата расширения для сборки своего устройства.
Также в комплект входят два USB-кабеля.
2. Организация среды разработки
Много лет я являюсь пользователем ОС Linux, как для профессиональной работы, так и в домашних целях. Поэтому все дальнейшее также проделывалось в Linux (Fedora Core 21).
В качестве среды разработки я использую редактор emacs, для которого существует модуль ada-mode поддерживающий редактирование исходного кода Ada, навигацию по коду, вызов компилятора, переход на ошибки, и др. что обычно требуется разработчику. Поэтому все проекты содержат файлы proj.adp, которые служат в качестве простенького файла проекта для библиотеки ada-mode.
Необходимые пакеты
С сайта компании AdaCore скачиваем бинарную версию компилятора: gnat-gpl-2015-arm-elf-linux-bin
исходные коды GNAT:
gnat-gpl-2015-src
исходные коды компилятора gcc:
gcc-4.9-gpl-2015-src
и исходные файлы для сборки runtime-библиотек (для «голого железа» — Bare Boards — устройств без ОС):
bb-runtimes-gpl-2015-src
Компилятор устанавливаем в каталог /usr/gnat (там же у меня установлен и native-компилятор для x86 — gnat-gpl-2015-x86_64-linux-bin), для этого достаточно запустить в его каталоге скрипт./doinstall.
Сборка ZFP
Далее собираем runtime-библиотеку для нашей платформы.
Здесь необходимо пояснить, что для GNAT существует понятие «профиля компилятора», которое описывает совокупность доступных средств языка, функциональность и объём runtime-библиотеки.
По степени увеличения функциональности существуют предопределённые профили Zero Footprint Profile (ZFP), Cert Profile, Ravenscar Profiles (два варианта профиля — sfp и full), Full Ada Language Support.
Основной мотивацией существования профилей AdaCore называет лёгкость и снижение цены сертификации приложения на соответствие требованиям надёжности и безопасности при использовании ограниченного профиля. Подробнее здесь.
Кроме того, и это может быть важно для применения в микроконтроллерах, библиотека урезанного профиля имеет существенно меньший размер, чем более функциональная.
Для процессора sam4s официально поддерживается только один профиль — Zero Footprint Profile (ZFP). Это наиболее ограниченная версия языка, из которой исключено всё, что касается динамической семантики.
В частности исключены все средства поддержки многозадачности, как task и protected objects. Поэтому этот рантайм позволяет разрабатывать только однозадачные приложение. Но, даже в случае однозадачной программы, обмен с устройствами по прерыванием создаёт подобие многозадачной среды.
Кроме, того есть ограничения на обработку исключений (допустимы только локальные обработчики), отсутствуют контролируемые типы, полный список можно узнать заглянув в
Последние комментарии
1 день 1 час назад
1 день 11 часов назад
2 дней 28 минут назад
2 дней 7 часов назад
2 дней 8 часов назад
2 дней 9 часов назад