Здравствуйте! Работаю с SoC Zynq. До этого использовал систему сборки Petalinux. В своем драйвере использую procfs для отображения различного рода информации и с помощью саt в /proc/mydev информация правильно отображалась. Сейчас перешел на buildroot и когда выполняю cat /proc/mydev вывод зацикливается, т.е. cat не завершается, а постоянно выводит одно и тоже сообщение. Помогите разобраться в чем может быть причина.
В petalinux использовался для компиляции вендорный кросс-компилятор от Xilinx arm-xilinx-linux-gnu-eabi-gcc, сейчас buildroot использует свой arm-buildroot-linux-uclibcgnueabihf-gcc, стоит ли смотреть в сторону того что не правильно может быть компилирую?
Сама компиляция
define MYDEV_MODULE_BUILD_CMDS
$(MAKE) $(LINUX_MAKE_FLAGS) CC=$(TARGET_CC) HOSTCC=$(HOSTCC) LD=$(TARGET_LD) -C $(@D) KERNELDIR=$(LINUX_DIR) modules
endef
Метод proc_read
static ssize_t chrdrv_read_proc(struct file *filp, char *buffer, size_t length, loff_t *offset) {
int ret = 0;
static int finished = 0;
if (finished) {
finished = 0;
return 0;
}
finished = 1;
ret = sprintf(buffer, "%d\n, param);
return ret;
}
Попробовал использовать при сборке тулчейн от Xilinx, та же проблема.