List of topics to be discussed in this blog
- Embedded System definition
- Microprocessor vs Microcontroller
- Von-Neumann architecture vs Harvard architecture
- Overview of Microprocessor – 8085 (useful links)
- Overview of Microcontroller – 8051(useful links)
- Processor/Controller selection procedure
- Programming language ‘C” vs Assembly
- Programming environment – Keil Compiler (let us use keil for study)
- First program in 8051
- I/O Port
- Interrupts
- Timers
- Serial Port
- Usage of “volatile” keyword
- Endian type
- Coding guidelines for Embedded System
- Introduction to Device drivers (As we have seen about the peripherals, let us slowly move to device driver section)
- Need for device driver
- Device driver design
- Boot up code
- Debugging techiniques
- Stack operation
- Writing Interrupt service routine
- RTOS Basics
- Context switching
- Mutex & Binary mutex
- Semaphore
- Priority inversion
- Priority inheritance
- Deadlock
- Reentrant functions
- Critical section
- Static Memory allocation
- Combine all to make a RTOS
- ARM processor basics
- Points to take care while porting code from 8 bit to 16/32 bit processor or vice-versa
List is not end… i will included further more topics in the list. Plan to give some popular interview questions post in between these topics.
Give your comments and if you feel to add any other topic add it in comments section, we can include it for our discussion.
Nice blog. 🙂
1. Where enums are stored?
2. What made .bss section to come into acceptance ?
1.Where enums are stored?
enums doesn’t occupy any storage space, they are datatypes link char, int…
2. What made .bss section to come into acceptance ?
In C statically-allocated variables without an explicit initializer are initialized to zero (for arithmetic types) or a null pointer (for pointer types). Implementations of C typically represent zero values and null pointer values using a bit pattern consisting solely of zero-valued bits. Hence, the bss section typically includes all uninitialized variables declared at the file level (i.e., outside of any function) as well as uninitialized local variables declared with the static keyword. An implementation may also assign statically-allocated variables initialized with a value consisting solely of zero-valued bits to the bss section
Refer http://www.embeddedbasics.wordpress.com/2010/01/04/memory-segment/
Excellent Job …….Very helpful . Thanks….