This is an AtMega128 and embedded systems course for lazy people, who like to know much, but small steps at a time (like me :-)
The course will be going on these pages, with discussions on avr-hun (Hungarian) and genboard-dev (English) lists, see ListsAndForums, and subscribe. The course is optimized for people who can spend 10 minutes once in every while to learn new stuff, which makes work more efficient (sometimes pays back at the very 1st project).
You will find some of it very useful, and directly useable in other projects, others will start to make you think how it can be done better. Even though we are going through the firmware of a gasoline engine management system, it is suitable for people who know nothing and not even care about engine management, but target other embedded applications.
The best way to follow the course is to
- have a local snapshot of the firmware/ files, with
- a reasonable editor at hand (notepad is lame, syntax-highlighting is nice, like programmers notepad in winavr)
- use grep or other tools to find occurences of variable and function names. When a function is explained, it's nice to see where from and how it is used.
- if all else fails, see the [web-cvs], but a local snapshot is much better.
We are looking for people who translate the course to Hungarian or other languages. If you can help, or you would like it to happen, write your name to AtMega/JTaG/Hungarian page.
After doing the following steps, you will know a powerful environment that can cut down the time you need for embedded system development.
- get the firmware (best if you get update cvs version, but at least a snapshot) GenBoard/FirmWare/CVSUsage
- OnlineCourse/Environment
- [AVR LIBC] DEMO Project: [Online Manual]
- AtMega128 the microcontroller we often use
- gcc compiler: nice [page on asm-linking] (embedding asm in C code)
- your first added code: OnlineCourse/BlinkingLEDs
- GenBoard/CodeFlowChart
- OnlineCourse/LCDLowLevel
- UartComm and (little messy:) CommToPC
- GenBoard/Firmware/BootLoader
- OnlineCourse/SoftPwm
future topics
you can suggest topics and order...
- OnlineCourse/LCDDisplay
- a simple example (driving EDIS): EdisIgnition/SoftwareModule
- OnlineCourse/EventQueue
- GenBoard/MenuSystem
- OnlineCourse/PerlScripts
- how to debug using BENCHMARK, please translate Hun=>Eng from AtMega/JTaG/Hungarian