Очередной безграмотный технологически автор, у которого капитан милиции в XI веке ухитряется воспроизвести револьвер, казнозарядное ружье, патрон, и даже нарезную артиллерию...
Трусливая Европа, которая воевать не умеет etc etc...
Вобщем, стандартный набор российского патриота :)
Интересно другое... Всегда читерство основано на использовании технологий, в свое время разработанных именно этой самой жуткой Европой. Это не смущает? :)
До прочтения данного произведения я относился скептически к подобным жанрам, особенно 18+. Но я был действительно приятно удивлён и две недели не мог оторваться от чтения. Наконец дочитав, решил написать отзыв. Чем больше думаю об этом, тем труднее выбрать точную оценку. Книга мне безумно понравилась, и я без угрызения совести могу сказать, что обязательно её перечитаю в будущем. Однако некоторые моменты испортили общее
подробнее ...
впечатление.
Первые две книги, даже третья, развивались хорошо и не спеша, держа интригу. Но потом что-то случилось: автор как будто пытался закончить как можно скорее, игнорируя многие моменты, что привело к множеству вопросов и недопониманий. Как Аксель выжил? Почему отступил Хондар и что с ним теперь? Как обстоят дела в Империи после победы, ведь один из главных членов Тайной Стражи оказался предателем? Что мешало Сикху сразу избавиться от Акселя, как только тот лишился части души? Что двигало Августом, что такого произошло между им и владыкой Грехов? Второстепенных вопросов у меня ещё больше. Несмотря на крутой сюжет и мир, многое написано словно на скорую руку и слишком скомкано.
Например, в Эльфийском лесу явно были недовольны браком, и однажды даже было покушение на ГГ. Почему попытки не продолжались, ведь Аксель действительно приносил много проблем эльфам, особенно после смерти их бога? Или встреча в нижнем мире с богом демонов, который сказал, что их встреча не последняя. Но в конце Аксель становится смертным и лишается своей силы, и они уже точно не встретятся. Почему были выкинуты Лилиш и Шальда? Если первую убили, то вторая жила в поместье и была действительно полезной, но что с ней по итогу случилось, не ясно.
Короче говоря, слишком много недосказанностей. Многие интересные арки начались, но такое чувство, что автору становилось лень их продолжать до логического конца. Самый яркий пример — бизнес Акселя в лице корабельной верфи. Он встретился в темнице с отцом одного из своих гвардейцев, поговорили о контракте, и на этом всё закончилось. А дальше что?
Теперь к другим вещам, которые подпортили впечатление. Эмоции всех девушек, боевые заклинания, эротика — почему всё это одинаковое? Каждая девушка "прикусывает губу", "мурлыкает". Эти слова повторяются слишком часто. Заклинания тоже разочаровали, они не менялись и застыли на уровне первого года обучения в академии. Аксель ничего не умеет, кроме воздушных стен и чёрных сфер. А про бедняжку Тирру вообще молчу: всё, что она могла — это создавать огненные шары. Где разнообразие? С эротикой всё точно так же. Местами она была в тему и действительно добавляла шарма, но иногда хотелось пропустить эти сцены, потому что они вставлялись в неподходящие моменты и были абсолютно одинаковыми.
Почему Акселя почти всегда окружают только девушки? И большая часть его гвардии — тоже девушки. Спасибо, что хоть Корал был, но его арка тоже не до конца раскрыта. Можно было бы много чего увлекательного с ним сделать, ведь он получился интересным персонажем.
Я мог бы написать ещё много чего, но боюсь, что отзыв выйдет слишком длинным. Единственное, что хочется добавить в конце, это про суккубу Тирру. В начале она была просто прелесть, умная, сильная, ценная единица в отряде. Но под конец она стала беспомощной обузой и вызывала раздражение, ведя себя как ребёнок. В начале за ней такого не наблюдалось, что обидно, ведь как персонаж она мне больше всех нравилась.
В общем, автору есть куда расти и стремиться. Потенциал хороший, и надеюсь, что когда-то будет продолжение этой увлекательной истории, которое расставит все точки над "и".
назначения 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 час 50 минут назад
4 часов 39 минут назад
1 день 14 часов назад
1 день 23 часов назад
2 дней 5 часов назад
2 дней 7 часов назад