-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Dit repository is bedoeld voor studenten en docenten van de opleiding Elektrotechniek van de Hogeschool Rotterdam en wordt gebruikt het studiemateriaal voor de cursus "EMS30 - Embedded Systems 3" te verspreiden.
Let op! Deze wiki is nog niet volledig voor studiejaar 2019-2020.
De informatie in dit repository is zoals alle mensenwerk niet foutloos, verbeteringen en suggesties zijn altijd welkom! Maak als je ons feedback wilt geven een issue aan.
- Cursushandleiding_EMS30.pdf om dubbelzijdig af te drukken.
- Cursushandleiding_EMS30_ebook.pdf om online te bekijken.
De opdrachten kunnen dit jaar helaas niet in het lab worden uitgevoerd en moeten noodgedwongen thuis op een pc uitgevoerd worden. We maken daarbij gebruik van een aantal programma's: Thonny, Code Composer Studio, SourceTree of git for Windows, MSYS2, Eclipse, CppCheck en DrMemory. Een installatiehandleiding voor Windows vind je hier. Zorg dat je deze software vóór de eerste les geïnstalleerd hebt.
De in de lessen gegeven presentaties kun je hier vinden:
| Powerpoint | Opmerkingen en verwijzingen | |
|---|---|---|
| Presentatie_EMS30_week_1_les_1.pptx | Presentatie_EMS30_week_1_les_1.pdf | Programma's uit presentatie: breuk.h, breuk.c, main.c en makefile. |
| Presentatie_EMS30_week_1_les_2.pptx | Presentatie_EMS30_week_1_les_2.pdf | Pointers: EMS20_week2_lab1.pptx. Structs: EMS20_week2_lab1.pptx en structs.htm. Programma's uit presentatie: linked_list_static.c en linked_list_dynamic.c. |
| Presentatie_EMS30_week_2_les_1.pptx | Presentatie_EMS30_week_2_les_1.pdf | |
| Presentatie_EMS30_week_2_les_2.pptx | Presentatie_EMS30_week_2_les_2.pdf | Programma uit presentatie: breuk-test.zip. |
| Presentatie_EMS30_week_3_les_1.pptx | Presentatie_EMS30_week_3_les_1.pdf | Programma's uit presentatie: valgrindMemcheck, DrMemory en breuk-test-coverage.zip. |
| Presentatie_EMS30_week_3_les_2.pptx | Presentatie_EMS30_week_3_les_2.pdf | Programma uit presentatie: foutje.c. |
| In week 4 zijn er geen presentaties. |
Een overzicht van alle leerdoelen van week 1 t/m 4 per les kun je hier vinden: Opdrachten_Leerdoelen.pdf.
| Opdrachten | Onderwerp |
|---|---|
| Opdrachten_Week_1_Les_1.pdf | Modules in C |
| Opdrachten_Week_1_Les_2.pdf | Dynamisch geheugenallocatie |
| Opdrachten_Week_2_Les_1.pdf | Git |
| Opdrachten_Week_2_Les_2.pdf | Unittesten |
| Opdrachten_Week_3_Les_1.pdf | Memory tests en test coverage |
| Opdrachten_Week_3_Les_2.pdf | Coding standards en static code analysis |
| Eindopdracht_1.pdf Nakijkmodel.pdf | Eindopdracht 1 |
| Eindopdracht_1_Herk.pdf Nakijkmodel.pdf | Herkansing Eindopdracht 1 |
- Informatie over Python, C, de EXP430G2 LaunchPad en de CC3220S Launchpad kun je vinden op de wiki's van EMS10 en EMS20.
- Jens Gustedt. Modern C. 2de ed. Manning Publications, 2019. ISBN: 978-1-61729-581-2. URL: https://gforge.inria.fr/frs/download.php/latestfile/5298/ModernC.pdf. In dit gratis boek kun je gedetailleerde informatie over C vinden.
- Een gedetailleerde (Engelstalige) FAQ over de programmeertaal C is beschikbaar op: http://c-faq.com/.
- Veel gedetailleerde informatie over C kun je ook vinden op: http://en.cppreference.com/w/c.
- Als je bij het debuggen in Eclipse de melding "Can't find a source file at ...", dan kun je hier lezen hoe je dit kunt voorkomen.
- Lijst met datastructuren op Wikipedia: List_of_data_structures.
- Animatie van verschillende datastructuren: Visual Algorithms.
- Documentatie van make: make.html.
- Het testframework µUnit: https://nemequ.github.io/munit/.
- Een statische analyse tool voor C/C++ code, standaard opgenomen in de Eclipse CDT: Codan.
- Een statische analyse tool voor C/C++ code: Cppcheck. Er is ook een plug-in voor Eclipse beschikbaar: cppcheclipse.
- Informatie over de MISRA standaard kun je vinden op: MISRA.
- De Embedded-C-Coding-Standard van de Barr Group kun je hier vinden.
- De SEI CERT C Coding Standard kun je [hier](Documenten/SEI CERT C Coding Standard 2016-v01.pdf) vinden.
- Tool om documentatie te genereren vanuit de sourcecode: http://www.doxygen.org.
- Interessante marktstudie op het gebied van Embedded Systems: EETimes_Embedded_2019_Embedded_Markets_Study.pdf.
Harry Broeders. Dictaat Objectgeoriënteerd Programmeren in C++. 1ste ed. Hogeschool Rotterdam, 2020. URL: https://bitbucket.org/HR_ELEKTRO/cppprog. Dit dictaat wordt gebruikt bij de introductie in C++.
Joost Vennekens. Objectgericht ontwerpen. 1ste ed. De Nayer instituut, 2011. URL: https://people.cs.kuleuven.be/%7Ejoost.vennekens/DN/OO-UML-cursus.pdf. Dit dictaat wordt gebruikt bij de introductie in UML.
De in de lessen gegeven presentaties kun je hier vinden:
| Powerpoint | Opmerkingen en verwijzingen | |
|---|---|---|
| Presentatie_EMS30_week_5_les_1.pptx | Presentatie_EMS30_week_5_les_1.pdf | |
| Presentatie_EMS30_week_5_les_2.pptx | Presentatie_EMS30_week_5_les_2.pdf | |
| Presentatie_EMS30_week_6_les_1.pptx | Presentatie_EMS30_week_6_les_1.pdf | |
| Presentatie_EMS30_week_6_les_2.pptx | Presentatie_EMS30_week_6_les_2.pdf | |
| Presentatie_EMS30_week_7_les_1.pptx | Presentatie_EMS30_week_7_les_1.pdf | |
| Presentatie_EMS30_week_7_les_2.pptx | Presentatie_EMS30_week_7_les_2.pdf | |
| Presentatie_EMS30_week_8_les_1.pptx | Presentatie_EMS30_week_8_les_1.pdf | |
| Presentatie_EMS30_week_8_les_2.pptx | Presentatie_EMS30_week_8_les_2.pdf | ... volgt nog ... |
| Opdrachten | Onderwerp |
|---|---|
| Opdrachten_Week_5_Les_1.pdf | Van C naar C++ |
| Opdrachten_Week_5_Les_2.pdf | User-defined Data Type in C++ |
| Opdrachten_Week_6_Les_1.pdf | Templates |
| Opdrachten_Week_6_Les_2.pdf | Overerving en polymorfisme |
| Opdrachten_Week_7_Les_1.pdf | Datastructuren |
| Opdrachten_Week_7_Les_2.pdf | Algoritmen, performance en big-O-notatie |
| Eindopdracht_2.pdf | ... volgt nog ... |
- Op embedded.com verscheen in april 2020 een artikel waarin wordt betoogd dat het nu tijd is om over te stappen van C naar C++ voor het schrijven van embedded code: https://www.embedded.com/3-reasons-to-transition-from-c-to-c/.
- In juni 2020 heeft Bjarne Stroustrup een artikel geschreven waarin hij de ontwikkelening van C++ beschijft tussen 2006 en 2020. Het eerste deel is vooral interessant voor mensen die van geschiedenis houden, maar daarna beschrijft hij de verandereningen in C++20 (die nog niet in het dictaat zijn opgenomen) en geeft hij een beeld van de toekomst van C++: https://dl-acm-org.ezproxy.hro.nl/doi/10.1145/3386320.
- Software waarmee je UML-diagrammen kunt ontwikkelen: https://www.visual-paradigm.com/. Je kunt gebruik maken van een 30 dagen license of van de gratis community edition.