Пытаюсь поднять кастомную плату с OMAP L132. Почти каждый раз что-то падает перед серийным дисплеем после «загрузки ядра». Я не мог понять причину сбоя из log_buf (выводы printk), поэтому я пытался (и до сих пор пытаюсь) использовать светодиоды, которые у меня есть. на борту. Светодиоды подключены через GPIO. Насколько я понимаю, ядро не может напрямую обращаться к физической памяти, и мне нужно пройти какое-то сопоставление с виртуальным адресом ядра. Однако, когда я пытаюсь настроить GPIO в функции start_kernel, происходит сбой. ioremap(...), сбой gpio_direction_output(...) с ошибкой относительно SLUB (невозможно выделить узел памяти -1; SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, ЦП=1, узлы=1) Я просто пытаюсь получить доступ к регистрам для управления GPIO, какую инициализацию я здесь пропустил? Какова самая ранняя точка, к которой GPIO может получить доступ в ядре? Должен ли я инициализировать что-то в uboot для этого?
Заранее спасибо, Арье