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

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