Математические методы в программировании (ММвП) презентация

Содержание

Лабораторная работа ПРОГРАММИРОВАНИЕ ДЛЯ AVR В СРЕДЕ ECLIPSE

Слайд 1Математические методы в программировании (ММвП)
Преподаватель:
Олег Чеславович Ролич
кандидат технических наук, доцент


Слайд 2Лабораторная работа ПРОГРАММИРОВАНИЕ ДЛЯ AVR В СРЕДЕ ECLIPSE


Слайд 3Рассматриваемые вопросы
Создание в среде Eclipse проекта на базе make-файла
Связь программного проекта

в Eclipse со схемотехническим в Proteus
Дополнительные полезные настройки Eclipse-проекта

Слайд 4Создание в среде Eclipse проекта на базе make-файла


Слайд 5Создание в среде Eclipse проекта на базе make-файла

Здесь должно быть указано рабочее

пространство ("надпроектная" папка), а не сам проект!!!

Слайд 6Создание в среде Eclipse проекта на базе make-файла
Закрытие окна приветствия


Слайд 7Создание в среде Eclipse проекта на базе make-файла
Необходимо убедиться в активной

перспективе «C/C++» и, в противном случае, выбрать её из списка перспектив

Окно Eclipse после закрытия окна приветствия


Слайд 8Создание в среде Eclipse проекта на базе make-файла
Если в качестве перспективы

по умолчанию установлена «Java», а не «C/C++», она меняется нажатием на кнопку «Open Perspective» и выбором из прилагаемого списка требуемой перспективы. Ненужную перспективу «Java» можно закрыть нажатием на ней правой клавишей мыши и выбором пункта «Close» в появившемся меню

Слайд 9Создание в среде Eclipse проекта на базе make-файла
Смена перспективы
Кнопка «Open Perspective»
Список

прилагаемых перспектив
(в будущем нам понадобятся две из них: «C/C++» и «Debug»)

Внимание! Если «C/C++» отсутствует в списке перспектив, её надо будет установить посредством соответствующего plug-in cdt-master-x.x.x.zip
(процесс установки plug-in см. далее)


Слайд 10Создание в среде Eclipse проекта на базе make-файла
Исходное состояние Eclipse


Слайд 11Создание в среде Eclipse проекта на базе make-файла
Добавление папки проекта с

разработанной схемой

Шаг 1.
Начальная стадия импортирования проекта

File → Import


Слайд 12Создание в среде Eclipse проекта на базе make-файла
Добавление папки проекта с

разработанной схемой

Шаг 2. Выбор типа проекта

C/C++ → Existing Code as Makefile Project → Next


Слайд 13Создание в среде Eclipse проекта на базе make-файла
Добавление папки проекта с

разработанной схемой

Шаг 3.
Указание пути к папке проекта
Existing Code Location → Browse… → Выбор папки проекта


Внимание! Проект располагается в папке рабочего пространства, выбранного при запуске Eclipse как Workspace


Слайд 14Создание в среде Eclipse проекта на базе make-файла
Добавление папки проекта с

разработанной схемой

Шаг 4.
Результат указания пути к папке проекта
Finish


Слайд 15Создание в среде Eclipse проекта на базе make-файла
Добавление папки проекта с

разработанной схемой

Шаг 5.
Результат добавления проекта к рабочему пространству



Слайд 16Создание в среде Eclipse проекта на базе make-файла
Добавление в проект исходных

Си-файлов

Шаг 1.
Главное меню «File → New → Source File»


Слайд 17Создание в среде Eclipse проекта на базе make-файла
Добавление в проект исходных

Си-файлов

Шаг 2. Указание имени исходного Си-файла
Source file: main.c → Finish


Слайд 18Создание в среде Eclipse проекта на базе make-файла
Содержимое файла main.c
/*
*

main.c
*
* Created on: 27.1.2016
* Author: Oleg
*/

#include
#include
#include

#define REG_STRING_ENABLE 0x02
#define REG_COLUMN_ENABLE 0x01

#define STR_QUANTITY 8
#define DIGIT_PERIOD 0x1000


Слайд 19Создание в среде Eclipse проекта на базе make-файла
Содержимое файла main.c
static uint8_t

aunFont[][STR_QUANTITY] = {
{
(uint8_t)~0x00,
(uint8_t)~0x00,
(uint8_t)~0x7E,
(uint8_t)~0xFF,
(uint8_t)~0x81,
(uint8_t)~0xFF,
(uint8_t)~0x7E,
(uint8_t)~0x00,
},

Слайд 20Создание в среде Eclipse проекта на базе make-файла
Содержимое файла main.c
{
(uint8_t)~0x00,
(uint8_t)~0x00,
(uint8_t)~0x80,
(uint8_t)~0xFF,
(uint8_t)~0xFF,
(uint8_t)~0x81,
(uint8_t)~0x00,
(uint8_t)~0x00,
},


Слайд 21Создание в среде Eclipse проекта на базе make-файла
Содержимое файла main.c
{
(uint8_t)~0x00,
(uint8_t)~0x00,
(uint8_t)~0xC6,
(uint8_t)~0xDF,
(uint8_t)~0xE3,
(uint8_t)~0xE3,
(uint8_t)~0x86,
(uint8_t)~0x00,
},
};


Слайд 22Создание в среде Eclipse проекта на базе make-файла
Содержимое файла main.c
int main

( void ) {
uint8_t unDispString = 1;
uint8_t unFontIndex = 0;
int32_t nDelayIn, nDelayOut;
int32_t nDigit = 0;

DDRA = 0xFF;
DDRB = 0x03;
PORTA = 0;
PORTB = 0;

Слайд 23Создание в среде Eclipse проекта на базе make-файла
Содержимое файла main.c
while (1)

{
nDelayOut = DIGIT_PERIOD;
while (--nDelayOut > 0) {
PORTA = unDispString;
PORTB |= REG_STRING_ENABLE;
PORTB &= (~REG_STRING_ENABLE);
unDispString <<= 1;
if (!unDispString) {
unDispString = 1;
}

Слайд 24Создание в среде Eclipse проекта на базе make-файла
Содержимое файла main.c
PORTA =

aunFont[nDigit][unFontIndex++];
PORTB |= REG_COLUMN_ENABLE;
PORTB &= (~REG_COLUMN_ENABLE);
unFontIndex &= (STR_QUANTITY - 1);

for (nDelayIn = 0; nDelayIn < 100; nDelayIn++) {
}
}
nDigit++;
nDigit %= (sizeof(aunFont) / STR_QUANTITY / sizeof(uint8_t));
}
return 0;
}

Слайд 25Создание в среде Eclipse проекта на базе make-файла
Создание системы построения проекта

(make-файла)


Шаг 1. Начальная стадия добавления в проект нового файла
Главное меню «File → New → File from Template»


Слайд 26Создание в среде Eclipse проекта на базе make-файла
Создание системы построения проекта

(make-файла)


Шаг 2. Завершающая стадия добавления в проект нового файла – make-файла
File name: makefile → Finish»

Имя «makefile» стандартное
Данный файл не имеет расширения


Слайд 27Создание в среде Eclipse проекта на базе make-файла
Создание системы построения проекта

(make-файла)


Шаг 3. Результат создания make-файла

Созданный makefile проекта и его изначально пустое содержимое


Слайд 28Создание в среде Eclipse проекта на базе make-файла
Создание системы построения проекта

(make-файла)

Шаг 4. Написание make-файла

Желательное совпадение значения TARGET с названием проекта


Слайд 29Создание в среде Eclipse проекта на базе make-файла
Содержимое make-файла
# Target file

name (without extension)
TARGET=LED_Display

# Define commands
CC=avr-gcc
OBJCOPY=avr-objcopy
SIZE = avr-size
REMOVE= rm -f
COPY= cp -f
MOVE= mv -f
REMOVEDIR = rmdir
MAKEDIR= mkdir –v

DEBUG=-gdwarf-2
OPTIM=-O0
M_CPU=atmega128

LINKER_FLAGS= -I. -Wl,-Map,$(TARGET).map -mmcu=$(M_CPU)

Слайд 30Создание в среде Eclipse проекта на базе make-файла

CFLAGS= -I. \
-D _AVR_IO_H_

\
-mmcu=$(M_CPU) -Wall $(OPTIM) $(DEBUG) \
-std=gnu99 \
-funsigned-char -funsigned-bitfields -fpack-struct \
-fshort-enums -MMD -MP

SOURCE= main.c

OBJS = $(SOURCE:.c=.o)

Содержимое make-файла


Слайд 31Создание в среде Eclipse проекта на базе make-файла
Содержимое make-файла
all: begin Debug

$(TARGET).bin size finished move end
$(TARGET).bin : $(TARGET).elf
$(OBJCOPY) -O ihex -R .eeprom -R .fuse -R .lock -R .signature $(TARGET).elf $(TARGET).hex
$(TARGET).elf : $(OBJS)
$(CC) $(LINKER_FLAGS) -o $(TARGET).elf $(OBJS)
$(OBJS) : %.o : %.c
$(CC) $(CFLAGS) -c -o $@ $<
size:
$(SIZE) --format=berkeley $(TARGET).elf
# Define Messages
# English
MSG_ERRORS_NONE = Errors: none
MSG_MOVE = ------ Moving output files into Debug folder ------
MSG_BEGIN = -------- begin --------
MSG_END = -------- end --------

Слайд 32Создание в среде Eclipse проекта на базе make-файла
begin:
@echo
@echo $(MSG_BEGIN)
finished:
@echo $(MSG_ERRORS_NONE)
move: Debug
@echo
@echo

$(MSG_MOVE)
@echo
$(MOVE) *.d Debug
$(MOVE) $(OBJS) Debug
$(MOVE) $(TARGET).elf Debug
$(MOVE) $(TARGET).hex Debug
$(MOVE) $(TARGET).map Debug

Содержимое make-файла


Слайд 33end:
@echo $(MSG_END)
@echo
Debug:
$(MAKEDIR) Debug
clean : begin clean_list end
clean_list :
touch Makefile
@echo $(MSG_CLEANING)
$(REMOVE) *.d
$(REMOVE)

$(OBJS)
$(REMOVE) $(TARGET).hex
$(REMOVE) $(TARGET).bin
$(REMOVE) $(TARGET).elf
$(REMOVE) $(TARGET).map
$(REMOVE) Debug/*
$(REMOVEDIR) Debug

Создание в среде Eclipse проекта на базе make-файла

Содержимое make-файла


Слайд 34Создание в среде Eclipse проекта на базе make-файла
Первая попытка построения проекта
Шаг

1.
Запуск построения проекта (запуск цели all make-файла)
Главное меню «Project → Build All (Ctrl+B)»

Слайд 35Создание в среде Eclipse проекта на базе make-файла
Успешное построение проекта

Искомый elf-файл,

необходимый для Proteus-проекта



Слайд 36Связь программного проекта в Eclipse со схемотехническим в Proteus
Шаг 1.
Вход в

диалоговую панель редактирования свойств микроконтроллера

Слайд 37Связь программного проекта в Eclipse со схемотехническим в Proteus
Шаг 2.
Выбор программного

elf-файла





Слайд 38Связь программного проекта в Eclipse со схемотехническим в Proteus
Искомый elf-файл внутри

рабочего проекта «LED_Display», который принадлежит рабочему пространству «ATmega»



Слайд 39Связь программного проекта в Eclipse со схемотехническим в Proteus
Результат выбора программного

elf-файла





Слайд 40Связь программного проекта в Eclipse со схемотехническим в Proteus
Проверка корректности связи

программного проекта в Eclipse со схемотехническим в Proteus


Шаг 1. Запуск модели


Слайд 41Связь программного проекта в Eclipse со схемотехническим в Proteus
Шаг 2. Контроль

состояния отладочных и информационных окон

Слайд 42Связь программного проекта в Eclipse со схемотехническим в Proteus
Демонстрационное видео результирующей

работы прибора в среде Proteus

Слайд 43Дополнительные полезные настройки Eclipse-проекта
Устранение семантических ошибок
Шаг 1. Выявление семантических ошибок


Слайд 44Дополнительные полезные настройки Eclipse-проекта
Устранение семантических ошибок

Шаг 2. Переход к свойствам проекта


Слайд 45Дополнительные полезные настройки Eclipse-проекта
Устранение семантических ошибок







Шаг 3. Подготовка к указанию пути

к стандартным библиотекам

Слайд 46Дополнительные полезные настройки Eclipse-проекта
Устранение семантических ошибок
Шаг 4. Непосредственное указание пути к

стандартной библиотеке

Слайд 47Дополнительные полезные настройки Eclipse-проекта
Устранение семантических ошибок
Результат устранения семантических ошибок


Слайд 48Дополнительные полезные настройки Eclipse-проекта
Во избежание повторного прохождения длительного процесса настройки аналогичных

проектов новые проекты настоятельно рекомендуется создавать на базе существующих путём копирования (Ctrl+C → Ctrl+V)

Слайд 49Дополнительные полезные настройки Eclipse-проекта
Шаг 1. Копирование текущего проекта в буфер обмена


Слайд 50Дополнительные полезные настройки Eclipse-проекта
Шаг 2. Вставка скопированного проекта из буфера обмена


Слайд 51Дополнительные полезные настройки Eclipse-проекта
Шаг 3. Коррекция имени нового проекта


Слайд 52Дополнительные полезные настройки Eclipse-проекта
Шаг 4. Очистка нового проекта


Слайд 53Дополнительные полезные настройки Eclipse-проекта
Шаг 5. Коррекция имени нового проекта в его

make-файле

Слайд 54Дополнительные полезные настройки Eclipse-проекта
Шаг 6. Построение нового проекта


Слайд 55Дополнительные полезные настройки Eclipse-проекта
Шаг 7. Контроль безошибочного построения нового проекта


Слайд 56Дополнительные полезные настройки Eclipse-проекта
Шаг 1. Подготовка к настройке изменения свойства автоматического

сохранения всех несохранённых файлов перед построением проекта

Слайд 57Дополнительные полезные настройки Eclipse-проекта
Шаг 2. Непосредственное изменение свойства автоматического сохранения всех

несохранённых файлов перед построением проекта

Слайд 58Дополнительные полезные настройки Eclipse-проекта
Установка связи проекта с различными библиотеками
Шаг 1.
Начало изменения

свойств проекта
Главное меню «Project → Properties»

Слайд 59Дополнительные полезные настройки Eclipse-проекта
Установка связи проекта с различными библиотеками






Шаг 2.


Слайд 60Дополнительные полезные настройки Eclipse-проекта
Установка связи проекта с различными библиотеками


Шаг 3. Указание

пути к библиотекам в файловой системе

Слайд 61Дополнительные полезные настройки Eclipse-проекта
Результат связи проекта с выбранной библиотекой


Слайд 62Спасибо за внимание


Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика