На своем компьютере, я использую ОС debian gnu/linux.
При компиляции uClinux для STR710 возникли 2 проблемы:
Проблема 1.
компилирую в соответствии с указаниями an-2119.pdf: ядро 2.4, uClibc, все настройки – по умолчению. На шаге компиляции «make user_only» возникает ошибка:
gcc -I/usr/include -c -o build/compr_rtime.o compr_rtime.c
compr_rtime.c:31: error: syntax error before "uint32_t"
compr_rtime.c: In function `jffs2_rtime_compress':
compr_rtime.c:39: error: `sourcelen' undeclared (first use in this function)
compr_rtime.c:39: error: (Each undeclared identifier is reported only once
compr_rtime.c:39: error: for each function it appears in.)
compr_rtime.c:39: error: `dstlen' undeclared (first use in this function)
compr_rtime.c:43: error: `data_in' undeclared (first use in this function)
compr_rtime.c:45: error: `cpage_out' undeclared (first use in this function)
compr_rtime.c: At top level:
compr_rtime.c:71: error: syntax error before "uint32_t"
compr_rtime.c: In function `jffs2_rtime_decompress':
compr_rtime.c:79: error: `destlen' undeclared (first use in this function)
compr_rtime.c:84: error: `data_in' undeclared (first use in this function)
compr_rtime.c:85: error: `cpage_out' undeclared (first use in this function)
make[2]: *** [build/compr_rtime.o] ошибка 1
make[2]: Leaving directory `/home/ivan/ucLinux/uClinux-dist/user/mtd-utils'
make[1]: *** [all] ошибка 2
make[1]: Leaving directory `/home/ivan/ucLinux/uClinux-dist/user'
make: *** [user_only] ошибка 2
В принципе, удалось от нее избавиться, заменив uint32_t на __u32. Но правильный ли это путь?
Проблема 2.
Если, при конфигурировании, в ядро добавить gdbserver, то возникает ошибка (make user_only):
arm-elf-gcc -c -O2 -g -fomit-frame-pointer -Dlinux -D__linux__ -Dunix -D__uClinux__ -DEMBED -I/home/ivan/ucLinux/uClinux-dist/lib/uClibc/include -I/home/ivan/ucLinux/uClinux-dist/lib/libm -I/home/ivan/ucLinux/uClinux-dist/lib/libcrypt_old -I/home/ivan/ucLinux/uClinux-dist -fno-builtin -nostartfiles -I/home/ivan/ucLinux/uClinux-dist/linux-2.4.x/include -Ibfd -I./bfd -Igdb -Iinclude -Iconfig -I. gdbreplay.c
cc1: warning: -g with -fomit-frame-pointer may not give sensible debugging
gdbreplay.c: In function `perror_with_name':
gdbreplay.c:58: `sys_nerr' undeclared (first use in this function)
gdbreplay.c:58: (Each undeclared identifier is reported only once
gdbreplay.c:58: for each function it appears in.)
gdbreplay.c:58: `sys_errlist' undeclared (first use in this function)
make[2]: *** [gdbreplay.o] ошибка 1
make[2]: Leaving directory `/home/ivan/ucLinux/uClinux-dist/user/gdbserver'
make[1]: *** [all] ошибка 2
make[1]: Leaving directory `/home/ivan/ucLinux/uClinux-dist/user'
make: *** [user_only] ошибка 2
Подскажите, пожалуйста, как устранить эту проблему.