Ситуация следующая:
Написал простенькую программку, выдающую логическую единицу на порт GPIO2_16.
Текст программы: #include <stdio.h>
#include <stdlib.h>
int main (int argc, char * argv[])
{
FILE * fp;
int out_state;
int OutIdx;
fp = fopen ("/sys/class/gpio/export","w"); /* DATA */
fprintf (fp, "48");
fclose (fp);
fp = fopen ("/sys/class/gpio/gpio48/direction","w");
fprintf (fp, "out");
fclose (fp);
fp = fopen ("/sys/class/gpio/gpio48/value","w");
fprintf (fp, "1");
fclose (fp);
}
Текст скрипта для компиляции: #!/bin/bash
/home/user/x-tools/arm-sk-linux-gnueabi/bin/arm-sk-linux-gnueabi-cc -O3 -o mbi5167 mbi5167.c
Компиляция проходит успешно.
Копирую в модуль и пробую выполнить его, на что получаю ответ: :file not found
Решением проблемы стало изменение используемого компилятора, скрипт компиляции принял вид: #!/bin/bash
/home/user/src/rootfs/main_fs/nand_fs/buildroot-2014.08-sk/output/host/usr/bin/arm-linux-gnueabihf-gcc -O3 -o mbi5167 mbi5167.c
Обращаю внимание, что часть пути к кросс-компилятору /home/user/src/rootfs/main_fs/nand_fs/ будет у всех разная и будет зависеть от того, куда вы распаковали архив!