|
||||
Меню:
Главная
Форум
Литература: Программирование и ремонт Импульсные блоки питания Неисправности и замена Радиоэлектронная аппаратура Микросхема в ТА Рубрикатор ТА Кабельные линии Обмотки и изоляция Радиоаппаратура Гибкие диски часть 2 часть 3 часть 4 часть 5 Ремонт компьютера часть 2 Аналитика: Монтаж Справочник Электроника Мощные высокочастотные транзисторы 200 микросхем Полупроводники ч.1 Часть 2 Алгоритмические проблемы 500 микросхем 500 микросхем Сортировка и поиск Монады Передача сигнала Электроника Прием сигнала Телевидиние Проектирование Эвм Оптимизация Автомобильная электроника Поляковтрансиверы Форт Тензодатчик Силовые полевые транзисторы Распределение частот Резисторные и термопарные Оберон Открытые системы шифрования Удк |
[14] •пропускать с входа на выход данные, не предназначенные для этого узла, •получать пакеты данных для узла и • Для подключения ПК к такой сети нужно включать его в разрыв кольца (через микросхему МАХ232) и выполнять получение/отправку пакетов и мониторинг кольца с помощью специально написанного для этого пакета программ, аналогичного сетевому драйверу узла сети. Недостатки такой сети: 1.низкая надежность - при отказе узла или ошибках в его сетевом драйвере работа кольца нарушается; 2.низкая скорость - 115 Кбит/с при включении в колько ПК. Чтобы реально освоить Форт, необходимо написать свой пакет разработки - этот принцип уже давно сформулирован как "настоящий фортер всегда пишет себе свой Форт". Уникальность этой книги заключается в том, что здесь пошагово и очень подробно описан процесс создания своего Форта в виде множества практических упражнений, на первый взгляд не связанных явно с Фортом. Для упрощения мы будем использовать Форт на основе байт-кода - это с одной стороны не даст нам углубиться в детали конкретной платформы, а с другой позвоит полностью покрыть весь диапазон от разработки средств разработки и операционной системы до высокоуровневых приложений. 10.1 Для преподавателей Если вы решите использовать этот раздел для обучения, на первом занятии необходимо: 1.научить включать и корректно выключать компьютер; 2.пользоваться поисковыми системами41; 3.искать информацию за счет использования поисковых систем и общением через форумы, по электронной почте и в off-line. Принцип обучения - преподаватель только дает вводную информацию и ставит задачу, поиск информации и обоснованный выбор методов решения ученик должен делать самостоятельно см. выше. 41 http: google.com, http: ya.ru Практикум 10.2Выбор языка для интерпретатора байт-кода Язык - только C++ а.к.а. платформенно-независимый ассемблер: • компиляторы есть для всех типов компьютеров (платформ) от самых мелких 8-битных контроллеров (PIC, Atmel AVR) до супер-ЭВМ с сотнями процессоров; сборки мусора, динамической типизации и т.д. ВУЗе давить ! В этой книге не используются ООПшные возможности C++, кроме комментариев и мелких вкусностей типа определения переменных по мере необходимости - для наших задач достаточно функциональности pure С. Если вы вынуждены использовать компилятор, который понимает только чистый С, вам придется немного подправить примеры, например заменить комментарии на /* комментарии */ и вынести объявления переменных в начало определений функций. Если вам нравится писать на другом языке42, будет еще лучше - в этом случае вам Особые извращенцы с удовольствием все напишут на чистом ассемблере, Лиспе и Фортране. 10.3Выбор рабочей операционной системы В качестве рабочей среды крайне желательно использовать Linux или другой вариант OpenSource UNIX (*BSD, QNX Neutrino) - если есть возможность использовать лицензи-онно чистое ПО, применение ворованных Windows и Delphi в учебных заведениях нужно преследовать по всей строгости закона. 10.4Целевая платформа Целевая платформа - по желанию, это может быть и обычный Win/Linux/DOS, и спаянный собственными руками 8-битный компьютер на Atmel AVR, и мобильник43. В книге будет приведен пошаговый пример написания Форта для Linux. 10.5Установите средства разработки используя документацию на них, для поиска пакетов используйте Internet. Linux/UNIX: установите gcc, libc6-dev и любой стандартный Форт для вашей ОС44. 42особенно популярен Паскаль и Java 43используя интерпретатор байт-кода на Java ME 44BFCD, порт SP-FORTH для Linux, GNU Forth, FICL и т.д. версия 26 октября 2005 г.ФОРТ Windows: установите бесплатный Visual С/-Ь 6 или один из клонов gcc для Windows (отдельно или в составе пакетов MinGW/???), выбор форт-систем очень большой, я использую SP-FORTH. DOS: Borland раздавал в свободное пользование Turbo С 2.0, также можно использовать порт gcc для DOS - DJGPP2, Форт - GP-FORTH, для систем с 386+ процессором очень удобен SMAL32, доступны старые версии SP-FORTH. Единственное критическое требование - ваша форт-система должна быть регистро-зависимой, то есть отличать IF и if (это важно для написания ассемблера виртуальной машины, целевого компилятора и вашей собственной форт-системы). 10.6 Напишите пустую программу, выводящую параметры, указанные в командной строке Вот "рыба" для написания программ для POSIX систем (Linux, *UNIX, Windows, DOS и т.д.): #include <stdio.h> #include <stdlib.h> #include <assert.h> #define uint unsigned int int main(int argc, char *argv[]) { assert(argc>l); for (uint i=0;i<argc;i++) printf ("°/.s\n",argv[i]); Макрос assert (<условие>) будет использоваться для run-time проверки корректности значений переменных, в частности здесь мы проверяем что программа была запущена как минимум с одним параметром ком.строки45. Поместите этот код в файл vm.cpp и откомпилируйте его: forth@debian:~$ cd /tmp forth@debian:/tmp$ vim vm.cpp forth@debian:/tmp$ gcc -o vm vm.cpp forth@debian:/tmp$ ./vm vm: vm.cpp:9: int main(int, char **): Assertion argc>l failed. Aborted forth@debian:/tmp$ ./vm 1 2 3 5 this is a test this is 45 это будет имя бинарного файла с байт-кодом ФОРТверсия 26 октября 2005 г. |
Среды: Smalltalk80 MicroCap Local bus Bios Pci 12С ML Микроконтроллеры: Atmel Intel Holtek AVR MSP430 Microchip Книги: Емкостный датчик 500 схем для радиолюбителей часть 2 (4) Структура компьютерных программ Автоматическая коммутация Кондиционирование и вентиляция Ошибки при монтаже Схемы звуковоспроизведения Дроссели для питания Блоки питания Детекторы перемещения Теория электропривода Адаптивное управление Измерение параметров Печатная плата pcad pcb Физика цвета Управлении софтверными проектами Математический аппарат Битовые строки Микроконтроллер nios Команды управления выполнением программы Перехода от ahdl к vhdl Холодный спай Усилители hi-fi Электронные часы Сердечники из распылённого железа Анализ алгоритмов 8-разрядные КМОП Классификация МПК История Устройства автоматики Системы и сети Частотность Справочник микросхем Вторичного электропитания Типы видеомониторов Радиобиблиотека Электронные системы Бесконтекстный язык Управление техническими системами Монтаж печатных плат Работа с коммуникациями Создание библиотечного компонента Нейрокомпьютерная техника Parser Пи-регулятор ч.1 ПИ-регулятор ч.2 Обработка списков Интегральные схемы Шина ISAВ Шина PCI Прикладная криптография Нетематическое: Взрывной автогидролиз Нечеткая логика Бытовые установки (укр) Автоматизация проектирования Сбор и защита Дискретная математика Kb радиостанция Энергетика Ретро: Прием в автомобиле Управление шаговым двигателем Магнитная запись Ремонт микроволновки Дискретные системы часть 2 | ||