Конфигурация узла UAVCAN (DroneCAN)

Я портировал uavcan (dronecan) на плату stm32 nucleo-f413. Прошивка чибиос на основе rtos.

Во время инициализации узла выполнение переходит к «_unhandled_exception», выполняя оператор

mem_blocks_per_iface = allocator.getBlockCapacity() / (num_ifaces_ +1U) + 1U;

внутри конструктора CanIOManager::CanIOManager.

Я проверил стек вызовов для того же, и он выглядит следующим образом:

      VectorFC() at vectors.S:1,021 0x80002da 
<signal handler called>() at 0xfffffffd 
uavcan::PoolAllocator<16384u, (unsigned char)48, char>::getBlockCapacity at dynamic_memory.hpp:80 0x801f110 
uavcan::CanIOManager::CanIOManager() at uc_can_io.cpp:298 0x8012690 
uavcan::Dispatcher::Dispatcher() at dispatcher.hpp:146 0x801bac6    
uavcan::Scheduler::Scheduler() at scheduler.hpp:100 0x801bcac   
uavcan::Node<16384u>::Node() at node.hpp:85 0x801d768   
app::(anonymous namespace)::getNode at main.cpp:121 0x801caa6   
configureNodeInfo() at main.cpp:159 0x801cb4c   

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

Я пробовал изменять размер стека, размер пула и размеры блоков, но все равно не помогло. Если кто сталкивался с подобной проблемой, прошу помощи. Спасибо

0 ответов

Другие вопросы по тегам