12/12/2018 ΔΙΑΛΕΞΗ Dr. Václav Šimek
ΔΙΑΛΕΞΗ
Dr. Václav Šimek
Faculty of Information Technology, Brno University of Technology
Brno, Czech Republic
Programming embedded applications for ARM in C
Have you ever wondered about the existence of hidden pitfalls in the background of embedded programming in C language? Are you aware of their implications from the perspective of a real world impact? Do you want to take a quick glance at good coding practices? Are there any means how to facilitate getting most of the ARM platform on a code level? If you can say YES loud enough to at least some of these questions then you're welcome to join us on this quick journey into the embedded realm.
Embedded systems are nearly ubiqutious these days and it's possible to find an example of their practical employment in nearly any area ranging from industrial production to common aspects of everyday life. Their technical background may assume many different forms. However, one of most popular approaches how to implement embedded systems is typically based around some variant of 32-bit ARM core. Those little, yet quite powerful and versatile, beasts may seem to be extremely
difficult to handle at first. Nevertheless, they are really quite simple to use, especially with certain knowledge in mind and reasonable development tools at hand. During our short journey into
the embedded domain we'll explore fundamental hardware basics (don't worry, no reason to get scared!) of ARM platform with a closer attentiton given to features of Cortex-M cores. Next, our attention will be focused on good coding principles and some standards/libraries that might come handy, e.g. MISRA C.MISRA C is a set of software development guidelines for the C programming language. Its aims are to facilitate code safety, security, portability and reliability in the context of embedded systems when being porgrammed in C language. Finally, selection of development tools will be brought to general attention together with number of practical examples.
Features and notions used during the lecture: coding practices, ACLE/CMSIS/MISRA-C standards, toolchain, debugger, hardware modules, ARM core, instrucions set, programmer's model, handling of exceptions. Explanation of these elements is provided on sufficient level to handle the given area on a sufficient level to start building own small interpreters.
Πέμπτη 13 Δεκέμβρη 2018
Εργ 1, 2ος Όροφος, ΠΚ
12:15 – 14:00
