LINUX.ORG.RU

Адаптация модуля embedded для работы на платформах различной разрядности

 , , ,


0

1

Парни, немного не в тему, но надеюсь тут мой вопрос поймут:

Нужно выполнить задачу, написать блочный аллокатор для микроконтроллера, но есть условие, мол, модуль должен быть адаптирован для работы на платформах различной разрядности, и работать в среде freeRTOS. Про RTOS понятно - обеспечить thread-safety, не понял про разрядность что надо, чтоб собиралось под разные платформы?

Может кто просветить, что прочитать, на какие темы?

В инете не могу никак ключевые слова подобрать...

Читать на тему <stdint.h> и зачем он нужен.

Стандартные проблемы embedded - инт 16 или 32 бита, разная разрядность указателя и (unsigned) int, могут быть разные типы указателей. С широким распространением ARM'а это встречается все реже и реже, но тем не менее.

anonymous
()

видимо это про размер указателя для 8/16/32 бита в зависимости от архитектуры

там не FreeRTOS, а просто RTOS, т.е. д.б. предусмотрена защита в многозадачном окружении

Наверное лучше взять открытую реализацию и почитать исходники.

Например, здесь https://github.com/dimonomid/umm_malloc

размер будет зависеть от платформы различной разрядности

https://github.com/dimonomid/umm_malloc/blob/master/umm_malloc.c#L529

защита при многозадачности

https://github.com/dimonomid/umm_malloc/blob/master/umm_malloc_cfg.h#L84

zudwa
()

Ребят, спасибо! Что делать понял!

somedeveloper
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.