Introduction As we discussed in Chapter 13, co-operative schedulers provide a predictable platform for a wide range of embedded applications. On some occasions, it can be necessary to incorporate some of the features of preemptive schedulers into a co-operative scheduler framework, in a carefully controlled manner. A hybrid scheduler seeks to achieve this.
Continue reading…
Uncategorized
Task-oriented design:Multi-stage task
Multi-stage task Context ● You are developing an embedded application using one or more members of the 8051 family of microcontrollers. ● The application has a time-triggered architecture, constructed using a scheduler. Problem How do you make sure that a long task does not interfere with the normal operation of the scheduler? Background See CO […]
Continue reading…
Task-oriented design
Two patterns in this chapter encapsulate key design characteristics that underlie many successful co-operatively scheduled applications: ● MUL TI – ST AGE T ASK [page 317] considers techniques that may be used to convert long tasks (scheduled at infrequent intervals) into much shorter tasks (scheduled at frequent intervals) ● MUL TI – ST A TE […]
Continue reading…
Delays
Introduction The creation of accurate delays are key requirements in many embedded applications. In this chapter we will consider two different techniques that may be used to pro- vide such facilities: ● HARDW ARE DELA Y [page 194] which is capable of producing precise delays through the use of one of the on-chip timers. Particularly […]
Continue reading…
Watchdogs:Hardware watchdog
Hardware watchdog Context ● You are developing an embedded application using one or more members of the 8051 family of microcontrollers. ● You are designing an appropriate software foundation for your application. Problem How can you ensure that – if your application ‘hangs’ due to an unexpected software or hardware error – the system will […]
Continue reading…
Delays:Software delay
Software delay Context ● You are developing an embedded application using one or more members of the 8051 family of microcontrollers. ● You are designing an appropriate software foundation for your application. Problem How do you create a simple delay without using any hardware (timer) resources? Background See HARDW ARE DELA Y [page 194] for […]
Continue reading…
Using the ports:Port I/O
Port I/O Context ● You are developing an embedded application using one or more members of the 8051 family of microcontrollers. ● You are designing an appropriate software foundation for your application. Problem How do you write software to read from and /or write to the ports on an (8051) microcontroller? Background The Standard 8051s […]
Continue reading…
Using the ports:Port header
Port header Context ● You are developing an embedded application using one or more members of the 8051 family of microcontrollers. Problem How do you manage port access allocations in a larger project? Background In a typical embedded project, you may have a user interface created using an LCD, a keypad and one or more […]
Continue reading…
Watchdogs
Introduction Suppose there is a hungry dog guarding a house (Figure 12.1), and someone wishes to break in. If the burglar’s accomplice repeatedly throws the guard dog small pieces of meat at 2-minute intervals, then the dog will be so busy concentrating on the food that he will ignore his guard duties and will not […]
Continue reading…
An introduction to schedulers
In this chapter, we see that schedulers can play a similar role in embedded systems to that played by ‘Windows’ (or other operating systems) in many modern desktop applications. Introduction Having laid the foundations in Parts A and B, we are now in a position to look in detail at the ways in which time-triggered […]
Continue reading…