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

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