Module also offered within study programmes:
General information:
Name:
Aplikacje mikrokontrolerów
Course of study:
2014/2015
Code:
IET-1-625-s
Faculty of:
Computer Science, Electronics and Telecommunications
Study level:
First-cycle studies
Specialty:
-
Field of study:
Electronics and Telecommunications
Semester:
6
Profile of education:
Academic (A)
Lecture language:
Polish
Form and type of study:
Full-time studies
Course homepage:
Responsible teacher:
Worek Cezary (worek@agh.edu.pl)
Academic teachers:
Krzak Łukasz (lkrzak@agh.edu.pl)
Worek Cezary (worek@agh.edu.pl)
Module summary

Description of learning outcomes for module
MLO code Student after module completion has the knowledge/ knows how to/is able to Connections with FLO Method of learning outcomes verification (form of completion)
Social competence
M_K001 Student potrafi zespołowo opracować implementację oprogramowania, dbając o jakość kodu źródłowego. ET1A_K03, ET1A_K02, ET1A_K04 Execution of laboratory classes
Skills
M_U001 Student potrafi efektywnie posługiwać się interfejsem prostego systemu operacyjnego w celu implementacji aplikacji wielowątkowej działającej na mikrokontrolerze. ET1A_U24, ET1A_U10 Execution of laboratory classes,
Test
M_U002 Student potrafi efektywnie napisać oprogramowanie w języku C na mikrokontroler. ET1A_U24, ET1A_U10, ET1A_U05 Execution of laboratory classes,
Test
Knowledge
M_W001 Student rozumie podstawy działania aplikacji wielowątkowych, wykorzystujących system operacyjny. Zna podstawowe aspekty programowania wielowątkowego a także związane z tym możliwości i zagrożenia. ET1A_W17, ET1A_W07, ET1A_W08 Test,
Execution of laboratory classes
M_W002 Student posiada więdzę dot. tworzenia oprogramowania w języku C dla mikrokontrolerów. Rozumie proces budowania kodu i jego późniejsze działanie na mikrokontrolerze. ET1A_W17, ET1A_W07, ET1A_W08 Test,
Execution of laboratory classes
M_W003 Student zna aktualne trendy i kierunki rozwoju rynku mikrokontrolerów. ET1A_W21, ET1A_W08 Execution of laboratory classes
FLO matrix in relation to forms of classes
MLO code Student after module completion has the knowledge/ knows how to/is able to Form of classes
Lecture
Audit. classes
Lab. classes
Project classes
Conv. seminar
Seminar classes
Pract. classes
Zaj. terenowe
Zaj. warsztatowe
Others
E-learning
Social competence
M_K001 Student potrafi zespołowo opracować implementację oprogramowania, dbając o jakość kodu źródłowego. - - + - - - - - - - -
Skills
M_U001 Student potrafi efektywnie posługiwać się interfejsem prostego systemu operacyjnego w celu implementacji aplikacji wielowątkowej działającej na mikrokontrolerze. + - + - - - - - - - -
M_U002 Student potrafi efektywnie napisać oprogramowanie w języku C na mikrokontroler. + - + - - - - - - - -
Knowledge
M_W001 Student rozumie podstawy działania aplikacji wielowątkowych, wykorzystujących system operacyjny. Zna podstawowe aspekty programowania wielowątkowego a także związane z tym możliwości i zagrożenia. + - + - - - - - - - -
M_W002 Student posiada więdzę dot. tworzenia oprogramowania w języku C dla mikrokontrolerów. Rozumie proces budowania kodu i jego późniejsze działanie na mikrokontrolerze. + - + - - - - - - - -
M_W003 Student zna aktualne trendy i kierunki rozwoju rynku mikrokontrolerów. + - + - - - - - - - -
Module content
Lectures:

Tematy poruszane na wykładzie:

1. Architektura i komponenty systemów wbudowanych, opartych o układy mikrokontrolerów.

W wykładzie znajdują się odpowiedzi na pytania: co to jest system wbudowany, jakie są najnowsze trendy i rozwiązania spotykane w układach mikrokontrolerów oraz jakimi kryteriami należy się kierować w wyborze mikrokontrolera. Obejmuje również wstęp do narzędzi wykorzystywanych podczas ćwiczeń laboratoryjnych.

2. Programowanie mikrokontrolerów w języku C.

W wykładzie skupiono się na przedstawieniu specyficznych aspektów programowania mikrokontrolerów w języku C dot. m.in. wykorzystania standardowej biblioteki języka C, kodu startowego, modelu pamięci, sposobu budowania kodu, a także standardów języka.

3. Wprowadzenie do systemu czasu rzeczywistego i programowania wielowątkowego na mikrokontrolerze.

W cyklu 3 wykładów omówiono zagadnienia czasu rzeczywistego w aplikacjach mikrokontrolerów, pojęcie wielowątkowości i jego realizacja w postaci mikro-jądra systemu operacyjnego, podstawowe funkcje systemu operacyjnego. Wykład zawiera również omówienie technik związanych z programowaniem wielowątkowym na mikrokontrolerze z wykorzystaniem bezpiecznych technik współdzielenia zasobów.

4. Dobre praktyki tworzenia aplikacji dla mikrokontrolerów.

W cyklu 2 wykładów omówiono dobre praktyki związanie z tworzeniem oprogramowania dla mikrokontrolerów, uwzględniające ograniczoną dostępność mocy obliczeniowej i pojemności pamięci a także efektywne metody wykorzystania układów peryferyjnych mikrokontrolerów, takich jak układy komunikacyjne, przetworniki, liczniki itp.

Laboratory classes:

Ćwiczenia laboratoryjne umożliwiają praktyczne zapoznanie studentów z tematami poruszanymi w ramach wykładu. Ćwiczenia obejmują głownie zadania związane z implementacją oprogramowania na dostarczone płyty z mikrokontrolerem wyposażonym w rdzeń z rodziny ARM Cortex-M.

Poruszane zagadnienia:

  • efektywne wykorzystanie języka C w aplikacjach mikrokontrolerowych,
  • metody diagnostyki aplikacji mikrokontrolerowych
  • programowanie wielowątkowe wykorzystujące system operacyjny
  • architektura oprogramowania i programowanie zorientowane na komponenty
  • wykorzystanie bibliotek do stworzenia pełnej aplikacji, realizujacej zadaną specyfikację.

Student workload (ECTS credits balance)
Student activity form Student workload
Summary student workload 80 h
Module ECTS credits 3 ECTS
Participation in lectures 14 h
Participation in laboratory classes 28 h
Preparation for classes 28 h
Realization of independently performed tasks 8 h
Examination or Final test 2 h
Additional information
Method of calculating the final grade:

1. Podstawą do wyznaczenia oceny końcowej jest średnia z ocen zdobytych podczas laboratoriów
oraz ocena z końcowego kolokwium zaliczeniowego.
2. Ocena z kolokwium zaliczeniowego może zostać podniesiona o max. 1 stopień w przypadku, gdy student wykazał się znaczną aktywnością na zajęciach laboratoryjnych lub wykonał prace dodatkowe.

Prerequisites and additional requirements:
  • znajomość metodyk i technik programowania z wykorzystaniem języka C
  • znajomość podstaw techniki cyfrowej
  • znajomość techniki mikroprocesorowej
Recommended literature and teaching resources:

1. Sommerville Ian, Inżynieria oprogramowania, WNT, 2008
2. Heath S., Embedded systems design, Newnes, 2003
3. Labrosse, J.J., MicroC/OS-II The real-time kernel, CMP Books, 2002
4. Labrosse, J.J., Embedded Systems Building Blocks, CMP Books, 1999
5. Krzysztof Paprocki, Mikrokontrolery STM32 w praktyce, Wydawnictwo BTC, 2011
6. Marek Galewski, STM32. Aplikacje i ćwiczenia w języku C, Wydawnictwo BTC, 2011

Scientific publications of module course instructors related to the topic of the module:
  1. Bartłomiej Świerczek, Cezary Worek, Paweł Zgrzebnicki, “System szyfrowania danych na dyskach twardych w komputerach klasy PC“, Krajowa Konferencja Elektroniki, Kołobrzeg, czerwiec 2004, s. 363–367. [referat]
  2. Andrzej Kuroś, Cezary Worek, „Implementacja systemu operacyjnego eCOS na mikrokontroler LPC2124”, Elektronika Praktyczna Plus, 2006 nr 1 wyd. spec. s. 53–57. [artykuł w czasopiśmie]
  3. Artur Lipowski, Cezary Worek, „Systemy operacyjne w systemach mikroprocesorowych”, Elektronika Praktyczna Plus, 2006 nr 1 wyd. spec. s. 39–42. [artykuł w czasopiśmie]
  4. Łukasz Krzak, Rafał Mielniczuk, Cezary Worek, ”Software-defined digital radio baseband processor using Blackfin DSP”, ICSES 2008 International Conference On Signals And Electronic Systems, September 14–17, 2008, Kraków, Poland, conference proceedings s. 523–525. [referat]
Additional information:

None