1. Как можно видеть в предыдущих примерах примитивных выражений использовался только stdio.h (от англ. standard input/output header — стандартный заголовочный файл ввода/вывода) заголовочный файл стандартной библиотеки языка Си, содержащий определения макросов, константы и объявления функций и типов, используемых для различных операций стандартного ввода и вывода (спасибо Википедии). Если начинать работать непосредственно с данными, потребуется несколько расширить наш заголовочный файл. Создадим новый проект count_binary. Подобный проект существует в виде шаблона, при необходимости, вы можете использовать его.
2. В меню File выберите New > Nios II Application. На рис. 11 показан пример окна.
рис. 11
3. В строке Project name напишем, count_binary. В строке BSP location укажем созданный нами BSP проект hello_world_bsp, поскольку мы не изменяли проектом пакет поддержки платы (BSP), необходимым для интерфейса с нашим устройством. Кликнем Finish.
4. В окне Console нижней части экрана отображается процесс сборки программного проекта. В случае успешного завершения на левой вкладке Project Explorer появляются папка с проектом (рис. 12) count_binary (в дополнении к уже существующим – hello_garry_potter, hello_world и hello_world_bsp).
рис.12
5. Добавим в проект заголовочный и исходный файлы (count_binary.h и count_binary.c), аналогично п.5 и п.6 раздела "Собственное простое приложени".
6. Отредактируем файл count_binary.h. Помимо стандартного заголовочного файла нам потребуется заголовочный файл, определяющий ширину и тип данных - alt_types.h. На рис. 13 показан результат.
рис. 13
7. Отредактируем файл count_binary.c. Алгоритм работы программы предельно прост: в начале каждого цикла счёта выводится строка: "New start!", далее выводятся значения инкрементного восьми разрядного двоичного счётчика, по окончании счёта, всё снова повторяется. Текст программы приводится на рис. 14.
рис. 14
Подробнее рассмотрим код программы. Сначала объявляется глобальная переменная count в классе памяти static (alt_u8 – означает 8 бит данных типа unsigned integer). Далее следует функция start_message, выводящая в окне Nios II Console строку "New start!". Внутри тела блока main в бесконечном цикле мы сверяем значение счётчика, если он равен нулю, выводим сообщение "New start!", затем значения счётчика. Всё просто!
8. После редактирования необходимо сохранить наши файлы, выбираем File > Save All. Значки звёздочка (*) пропадают с вкладок открытых файлов в рабочем пространстве.
9. Всё готово для сборки проекта. Правым кликом мыши на count_binary выбираем Build project. При этом появляется информационное окно сборки проекта, а в окне Console нижней части экрана отображается сам процесс сборки.
рис. 15
10. В случае успешной сборки, в Console (рис. 15) появляется строка [count_binary build complete]. Обратите внимание на строки выше, начинающиеся словом Info:. В них сообщается о размере программы (код + данные инициализации) и о свободном месте в оперативной памяти под стек и динамические данные.
11. Для запуска программы в аппаратной части, правым кликом мыши на проект count_binary выбираем Run As > 3 Nios II Hardware. При этом может появиться окно Run Configurations, в котором вы можете создавать, редактировать и запускать различные аппаратные конфигурации (см. п. 15 раздела "Создание приложения по шаблону").
12. В процессе запуска конфигурации в окне Console нижней части экрана отображается процесс запуска. В случае успеха, окно Console автоматически переключается на вкладку Nios II Console, в которой работу программы (рис. 16).
рис. 16
13. Для завершения запущенной программы необходимо нажать на красный квадрат в правом углу Nios II Console (Terminate and Remove Launch) – завершение и удаление запуска. Практику создания собственного проекта работы с данными можно считать законченной.