{"title":"Fast constant time memory allocator for inter task communication in ultra low energy embedded systems","authors":"G. Rebel, F. Estévez, Ingo Schulz, P. Glosekotter","doi":"10.1109/PRIME.2013.6603114","DOIUrl":null,"url":null,"abstract":"Modern microcontrollers provide enough processing power to benefit from the advantages of multitasking schedulers or operating systems even in the area of small, battery based or energy self-sustaining devices. Many of these devices communicate with other devices via different interfaces. For a multitasking operating system, communication means to collect individual bytes in memory blocks and to transport these blocks between tasks. This paper describes how to use a combination of memory pools and memory headers to provide a fast, constant time memory allocator with low internal fragmentation. The proposed memory allocator is fast enough and has so few internal fragmentation, that it is applicable even in ultra low energy embedded systems with few kilobytes of ram. It can provide memory blocks of equal size at high frequency.","PeriodicalId":125553,"journal":{"name":"Proceedings of the 2013 9th Conference on Ph.D. Research in Microelectronics and Electronics (PRIME)","volume":"18 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2013-06-24","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2013 9th Conference on Ph.D. Research in Microelectronics and Electronics (PRIME)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/PRIME.2013.6603114","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 0
Abstract
Modern microcontrollers provide enough processing power to benefit from the advantages of multitasking schedulers or operating systems even in the area of small, battery based or energy self-sustaining devices. Many of these devices communicate with other devices via different interfaces. For a multitasking operating system, communication means to collect individual bytes in memory blocks and to transport these blocks between tasks. This paper describes how to use a combination of memory pools and memory headers to provide a fast, constant time memory allocator with low internal fragmentation. The proposed memory allocator is fast enough and has so few internal fragmentation, that it is applicable even in ultra low energy embedded systems with few kilobytes of ram. It can provide memory blocks of equal size at high frequency.