Пояснительная записка по курсу: «Встроенные компьютерные системы эс» по теме: «Разработка встроенного программного обеспечения маршрутизатора 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
обратиться к администрации

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