Пояснительная записка по курсу: «Встроенные компьютерные системы эс» по теме: «Разработка встроенного программного обеспечения маршрутизатора d-link dir-300»


Рисунок 3 – Включение команды nc в сборку программы BusyBox



страница4/9
Дата06.11.2018
Размер0.73 Mb.
Название файлаKhrenovKP.doc
Учебное заведениеРязанский Государственный Радиотехнический Университет
ТипПояснительная записка
1   2   3   4   5   6   7   8   9
Рисунок 3 – Включение команды nc в сборку программы BusyBox


Рисунок 4 – Включение команды traceroute в сборку программы BusyBox
Внесенные таким образом изменения отражаются в конфигурационном файле «.config». Строки

CONFIG_NC=y

CONFIG_TRACEROUTE=y

подтверждают, что утилиты nc и traceroute будут включены в командный интерфейс BusyBox после сборки. На этом конфигурация программы BusyBox завершена.

5. Разработка апплета для программы BusyBox

Структура исходного кода программы BusyBox позволяет достаточно


легко добавлять в нее собственные апплеты, соответствующие командам,
которые будет выполнять после компиляции исполняемый файл программы.
Рассмотрим следующий пример. Разработаем апплет с именем «nand5»,
который выполняет логическую операцию И-НЕ с пятью аргументами, переданными в параметрах командной строки. Апплет имеет до
четырех параметров, задаваемых как «0», «false», «FALSE», «1», «true», «TRUE». Результат: «0» или «1». Будем относить данный апплет к группе «Miscellaneous Utilities» (Разное).

В каталоге «miscutils» создадим файл «nand5.c» следующего


содержания:

#include "libbb.h"

#include

#include

#include
int and3_main(int argc, char *argv[])

{

bool a = true;



bool b = true;

bool c = true;

bool d = true;

bool e = true;

printf ("nand5 called\n");

if (strcmp(argv[1], "0") == 0 || strcmp(argv[1], "FALSE") == 0 || strcmp(argv[1], "false") == 0)

a = false;

if (strcmp(argv[2], "0") == 0 || strcmp(argv[2], "FALSE") == 0 || strcmp(argv[2], "false") == 0)

b = false;

if (strcmp(argv[3], "0") == 0 || strcmp(argv[3], "FALSE") == 0 || strcmp(argv[3], "false") == 0)

c = false;

if (strcmp(argv[4], "0") == 0 || strcmp(argv[4], "FALSE") == 0 || strcmp(argv[4], "false") == 0)

d = false;

if (strcmp(argv[5], "0") == 0 || strcmp(argv[5], "FALSE") == 0 || strcmp(argv[5], "false") == 0)

e = false;

if (a == true && b == true && c == true && d == true && e == true)

printf("0\n");

else


printf("1\n");

return 0;

}
Далее в файле «miscutils/Config.src» добавим следующее правило, которое добавит пункт в программу конфигурации (рисунок 5):

config NAND5

bool "nand5"

default n



help

this is my command.






Поделитесь с Вашими друзьями:
1   2   3   4   5   6   7   8   9


База данных защищена авторским правом ©coolnew.ru 2019
обратиться к администрации

    Главная страница
Контрольная работа
Курсовая работа
Теоретические основы
Лабораторная работа
Общая характеристика
Методические указания
Рабочая программа
Теоретические аспекты
Дипломная работа
Методические рекомендации
Практическая работа
Пояснительная записка
Федеральное государственное
История развития
Основная часть
Теоретическая часть
государственное бюджетное
Общие сведения
Физическая культура
Направление подготовки
Самостоятельная работа
Методическая разработка
История возникновения
Краткая характеристика
Практическое задание
квалификационная работа
Выпускная квалификационная
Учебное пособие
государственное образовательное
Название дисциплины
бюджетное учреждение
Гражданское право
образовательное бюджетное
Российская академия
Общие положения
Понятие сущность
история возникновения
теоретические основы
Общая часть
Современное состояние
прохождении учебной
образовательная организация
Финансовое планирование
Фамилия студента
Уголовное право
Правовое регулирование
Техническое задание
Экономическая теория
Организация работы
История болезни
Математическое моделирование