|
When I write a program having crude timing loops, even if I can increase the priority of the program, there is still the worry that some other task will occupy the CPU and the loop timing will not be met.
Suggestion: have a mechanism that assigns my program to one of the cores and refuses to allow any other program to use that core.
Notes:
- There may still be contentions for accesses to peripherals, but they should have a minor effect on timing loops.
- I'm not sure how to handle requests to the kernel when other cores are also requesting kernel services ... are they guaranteed to be of short duration?
- This is an inefficient use of resources (my program could be sleeping during a "delay" function but still refuse access to the core), but I believe this concept is still marketable, especially in safety-critical applications.
Or is there another way of dealing with this issue? There is a whole industry interested in safety-critical computers.
|
|