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

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