The need for increasingly powerful computer systems on the one side and physical limitations on the other have brought about the development of multi-core processors which are becoming part of embedded systems and may often perform time-critical functions. It is particularly important that such systems involve a communication mechanism between various software tasks that need to be synchronised and able to exchange information in a reliable way and predictably in terms of time. Asymmetric multi-core processors belong to a special type of multi-core systems in which one chip combines several processor cores of different types and capacities. In case of such systems, separate operating systems are run on each individual core, which further complicates the communication between tasks. To this end, an adequate communication channel needs to be established between tasks running on different operating systems. For the purpose of the thesis we developed a communication mechanism between tasks on a dual-core controller LPC4350 by using shared memory. We also examined the standard mechanisms for synchronisation and communication and applied their key concepts in our solution. The communication mechanism was implemented on the mbox{FreeRTOS} operating system and used on a practical example involving a simple temperature controller.
|