Skip to content

Commit cec6289

Browse files
committed
2021
Added lesson-42 (State Machines Part-8: Semantics of Hierarchical State Machines) 0.34 0.34 0.34 0.35 Augmented project for Lesson-34 by adding the original code that was later modified in the lesson. The origianl code is: bsp0.h, bsp0.c, and main0.c 0.35 0.36 Added GNU-ARM toolchain build to lesson-27 added project and QM model for lesson-36 0.36 added #define __FPU_PRESENT to tm4c_cmsis.h for lessons 12-16 0.36a Added lesson-24_gnu to show how to modify the MiROS RTOS for the GNU-ARM toolchain 0.36b Added IAR and GNU toolchains to the RTOS section (lessons 22-26) 0.37a Updated lesson-10 0.37 Added lesson-37: State Machines Part-3 0.38 Added lesson 38 (State Tables) 0.39 Added projects lesson-39 and lesson-39_smc 0.21 Lesson-21: added IAR workspace and project 0.40 Added lesson #40 0.40 removed the "tests" directory 0.41 Added lesson-41: State Machines Part-7: Automatic Code Generation 0.19 Updated lesson-19 for the new CCS 11. Specifically added external GNU-ARM compiler and a README.md Revert "0.19" This reverts commit b454ed4. 0.19 Updated for CCS 11. Added README.md to document the updates needed.
1 parent 2a9a07d commit cec6289

File tree

479 files changed

+283076
-21
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

479 files changed

+283076
-21
lines changed

.gitignore

+52
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
*.obj
2+
*.o
3+
*.d
4+
*.lib
5+
*.a
6+
*.elf
7+
*.err
8+
*.hex
9+
*.map
10+
*.dep
11+
*.pdf
12+
*.PDF
13+
*.Hbp
14+
*.nav
15+
*.tps
16+
*.tws
17+
*.tmp
18+
*.log
19+
*.chm
20+
*.zip
21+
*.pdb
22+
*.ncb
23+
*.suo
24+
*.chw
25+
*.sfr
26+
*.ewt
27+
*.user
28+
*.miro
29+
*.avrsuo
30+
*.Debug
31+
*.Release
32+
lint*.txt
33+
*.bak
34+
*.qlc
35+
JLink*.*
36+
version-*
37+
metrics.dox
38+
39+
qpc/
40+
CMSIS/
41+
test*/
42+
tests/
43+
44+
Debug/
45+
Release/
46+
Spy/
47+
QSpy/
48+
49+
dbg/
50+
rel/
51+
spy/
52+

LICENSE

+661-21
Large diffs are not rendered by default.

README.md

+31
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
[![Modern Embedded Programming Course](img/thumbnail.jpg)](https://www.youtube.com/playlist?list=PLPW8O6W-1chwyTzI3BHwBLbGQoPFxPAPM)
2+
3+
4+
# What is it?
5+
This repository is a companion to the ["Modern Embedded Systems Programming" video course](https://www.youtube.com/playlist?list=PLPW8O6W-1chwyTzI3BHwBLbGQoPFxPAPM),
6+
which consists of focused, fast-paced, hands-on lessons that teach you how to program embedded microcontrollers in C. The course begins with the fundamentals, but gradually covers increasingly advanced concepts all the way to the contemporary modern embedded programming practice.
7+
8+
The course is specifically designed not just to be watched, but to be actively followed along on your own computer (Windows based PC) and a small, self-contained, very inexpensive evaluation board. This companion web-page provides the project downloads that you can open in a specific embedded toolchain and run on your PC at home.
9+
10+
The goal of the course is not just to teach C--other sources do it already quite well. But there are virtually no courses that would step down to the machine level and show you exactly what happens inside a microcontroller.
11+
12+
So, starting from Lesson 1 you will actually see how the ARM Cortex-M processor executes your code, how it manipulates registers, and how an embedded microcontroller can "do" things in the real world, such as turn on and off an LED.
13+
14+
This deeper understanding will allow you to use the C language more efficiently and with greater confidence. You will gain understanding not just what your program does, but also how the C statements translate to machine instructions and get a sense for how fast the processor can execute them. Also, you will get some familiarity with the ARM Cortex-M core, which will look really good on your resume.
15+
16+
The course has been going from January 2013, but it is never too late to join. Stay tuned...
17+
18+
19+
---------------------------------------------------------------------
20+
# Comments/Discussion
21+
If you'd like to discuss this course or related subjects, plese use the ["Issues" tab](https://github.com/QuantumLeaps/modern-embedded-course/issues).
22+
23+
24+
---------------------------------------------------------------------
25+
# Contact Information
26+
27+
[www.state-machine.com/quickstart](https://www.state-machine.com/quickstart)
28+
29+
30+
31+

img/thumbnail.jpg

210 KB
Loading

lesson-01/main.c

+27
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
2+
int main() {
3+
int counter = 0;
4+
++counter;
5+
++counter;
6+
++counter;
7+
++counter;
8+
++counter;
9+
++counter;
10+
++counter;
11+
++counter;
12+
++counter;
13+
++counter;
14+
++counter;
15+
++counter;
16+
++counter;
17+
++counter;
18+
++counter;
19+
++counter;
20+
++counter;
21+
++counter;
22+
++counter;
23+
++counter;
24+
++counter;
25+
26+
return 0;
27+
}

0 commit comments

Comments
 (0)