Использование BCM2835 с ядром RT-PREEMPT

Я делаю проект, который посылает сигнал 40 кГц от антенны. Я обнаружил, что сигнал не слишком точный, поэтому я решил попробовать ядро ​​в реальном времени.

Я использую Raspbian Jessie на своем Raspberry-Pi 2B. После чистой установки скрипт запускается без проблем. bcm2835_delayMicroseconds может быть запущен.

Я следую этому уроку http://www.frank-durr.de/?p=203 скомпилировал и установил ядро ​​RT. Однако сценарий больше не может быть успешно запущен. После показа "ВЫСОКИЙ СОН", и он задерживается.

Это фрагмент кода:

fprintf(stdout , "HIGH\n");
bcm2835_gpio_write(PIN, HIGH);
fprintf(stdout , "SLEEP\n");
bcm2835_delayMicroseconds(12);
fprintf(stdout , "LOW\n");
bcm2835_gpio_write(PIN, LOW);
fprintf(stdout , "SLEEP\n");
bcm2835_delayMicroseconds(12);

Я что-то пропускаю при компиляции ядра?

2 ответа

Решение

Я только что видел и запомнил эту тему. Около полугода назад я хочу генерировать 40 кГц из малины. Но в конце концов я обнаружил, что использую не тот инструмент. Я считаю, что Raspberry не может справиться с такой задачей, поскольку она работает под управлением ОС. Я перешел на Arduino, и проблема сразу решается без проблем. Использование правильного инструмента для вашей задачи очень важно!

Чтобы использовать PREEMPT_RT, вам просто нужно:

  • получить конфигурацию вашего текущего ядра
  • получить исходные коды ядра
  • исправьте исходные коды ядра с помощью исправления PREEMPT_RT (или получите уже исправленное ядро)
  • настроить новое ядро ​​как текущее ядро ​​(т. е. используя make oldconfig)
  • включить полную предопределенность в конфигурации ядра (например, запустив make menuconfig).
  • скомпилировать ядро ​​стандартным способом
  • установить новое ядро

Поэтому никаких конкретных действий не требуется.

Затем, если производительность все еще недостаточна, вы можете настроить приоритеты конкретных потоков IRQ.

Из вашей конкретной ошибки кажется, что новое ядро ​​было скомпилировано с конфигурацией, отличной от текущей (например, GPIO не включены).

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