Wiki
Clone wikiEMS30 / Home
EMS30 - Embedded Systems 3
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.
Deze cursus wordt niet meer aangeboden en is voor het laatst in het studiejaar 2022-2023 gegeven en is vervangen door EMS31
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
- Cursushandleiding_EMS30.pdf om dubbelzijdig af te drukken.
- Cursushandleiding_EMS30_ebook.pdf om online te bekijken.
Benodigde software
De opdrachten worden thuis op een pc uitgevoerd. We maken daarbij gebruik WSL (Windows Subsystem for Linux). Een installatiehandleiding vind je hier. Zorg dat je deze software vóór de eerste les geïnstalleerd hebt.
Benodigde hardware
Naast je eigen pc maak je ook gebruik van de MSP430G2 Launchpad die je ook al bij EMS10 hebt gebruikt en de CC3220S Launchpad die je ook al bij EMS20 hebt gebruikt. Beide zijn, indien nodig, te koop in de winkel op Academie Plein.
Week 1 t/m 4
Planning week 1 t/m 4
Een overzicht van alle leerdoelen van week 1 t/m 4 per les kun je hier vinden: Opdrachten_Leerdoelen_Deel1.pdf.
Eindopdracht week 1 t/m 4
Deze eindopdrachten zijn niet meer relevant en daarom niet meer beschikbaar.
Informatie week 1 t/m 4
- 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://hal.inria.fr/hal-02383654/document. 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.
- Een dictaat over C waar nog aan wordt gewerkt vind je hier: De programmeertaal C – een overzicht.
- Documentatie van make: make.html.
- Documentatie van CMake: CMake.
- Lijst met datastructuren op Wikipedia: List_of_data_structures.
- Informatie en voorbeelden over dynamische geheugenallocatie in C: Dynamic Memory Allocation in C using malloc(), calloc(), free() and realloc().
- Animatie van verschillende datastructuren: Visual Algorithms.
- Gebruik van Git in Visual Studio Code: Git in Visual Studio Code.
- Gebruik van Git in Code Composer Studio: Git in Code Composer Studio.
- Zie ook filmpjes over het gebruik van Git in CCS op de PEE20 wiki
- Plugin voor het gebruik van gitflow in Visual Studio Code: Gitflow.
- Het testframework Catch2 dat we gebruiken met CTest: Catch2.
- Een statische analyse tool voor C/C++ code: Cppcheck. Er is ook een plug-in voor Visual Studio Code beschikbaar: Cppcheck Plug-in. Deze is al geïnstalleerd in WSL:EMS30.
- 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 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.
Tips en Tricks week 1 t/m 4
- Plug-in om samen te werken binnen Visual Code Studio: Live Share.
- Git opzetten in WSL-distributie.
- Gebruik deze .gitignore file in Visual Studio Code projecten om je Git repository 'schoon' te houden: .gitignore.
- Gebruik deze .gitignore file in Code Composer Studio projecten om je Git repository 'schoon' te houden: .gitignore.
- ...
Week 5 t/m 8
Studiemateriaal week 5 t/m 8
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.
Planning week 5 t/m 8
Een overzicht van alle leerdoelen van week 5 t/m 8 per les kun je hier vinden: Opdrachten_Leerdoelen_Deel2.pdf.
Powerpoint | Onderwerp | Labopdrachten | |
---|---|---|---|
Week_5_les_1.pptx | Week_5_les_1.pdf | Van C naar C++ | Opdrachten_Week_5_Les_1.pdf |
Week_5_les_2.pptx | Week_5_les_2.pdf | User-defined Data Type in C++ | Opdrachten_Week_5_Les_2.pdf |
Week_6_les_1.pptx | Week_6_les_1.pdf | Templates | Opdrachten_Week_6_Les_1.pdf |
Week_6_les_2.pptx | Week_6_les_2.pdf | Overerving en polymorfisme | Opdrachten_Week_6_Les_2.pdf |
Week_7_les_1.pptx | Week_7_les_1.pdf | Datastructuren | Opdrachten_Week_7_Les_1.pdf |
Week_7_les_2.pptx | Week_7_les_2.pdf | Algoritmen, performance en big-O-notatie | Opdrachten_Week_7_Les_2.pdf |
Week_8_les_1.pptx | Week_8_les_1.pdf | UML use cases en klassediagram | Zie: eindopdracht week5 t/m 8 |
Week_8_les_2.pptx | Week_8_les_2.pdf | UML sequentie-, toestands- en activiteitendiagram | Zie: eindopdracht week5 t/m 8 |
Eindopdracht week 5 t/m 8
Deze eindopdrachten zijn niet meer relevant en daarom niet meer beschikbaar.
Informatie week 5 t/m 8
- 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.
- De styleguide die wij gebruiken bij het schrijven van C++ code kun je hier vinden: https://github.com/isocpp/CppCoreGuidelines/blob/master/CppCoreGuidelines.md.
- Gratis boek: A Complete Guide to Standard C++ Algorithms: https://github.com/HappyCerberus/book-cpp-algorithms.
- 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.
Updated