有相当古老的 uClinux-dist-20080808和 uClinux-dist-20080808-20090112 和 uClinux_on_stm32 补丁用于STM32F10x MCU,如AN3012所述。
我使用 Ubuntu 18.04(在 VirtualBox 内)构建 uClinux 并逐步完成 AN3012。
因此,我运行“make menuconfig”,输入第 15 页 (AN3012) 所示的设置,然后退出菜单。终端中有许多消息,最后我得到了这个:
配置写入 .config
make[2]: 离开目录'/home/maksim/Projects/STM/uClinux-dist/config' make[1]: 离开目录'/home/maksim/Projects/STM/uClinux-dist' make[1]: 进入目录 '/home/maksim/Projects/STM/uClinux-dist' Makefile:228: *** 混合隐式和普通规则:不推荐使用的语法
Makefile:245: *** 混合隐式和普通规则:不推荐使用的语法
KCONFIG_NOTIMESTAMP=1 make ARCH=arm CROSS_COMPILE=arm-uclinuxeabi- -C linux-2.6.x menuconfig
make[2]:进入目录'/home/maksim/Projects/STM/uClinux-dist/linux-2.6.x'
Makefile:434: *** 混合隐式和普通规则:不推荐使用的语法
Makefile:1563: *** 混合隐式和普通规则:不推荐使用的语法
make[2]: *** 没有规则来制作目标'menuconfig'。停止。
make[2]: 离开目录'/home/maksim/Projects/STM/uClinux-dist/linux-2.6.x'
Makefile:183: 目标“linux_menuconfig”的配方失败
make[1]: *** [linux_menuconfig] 错误 2
make[1]: 离开目录'/home/maksim/Projects/STM/uClinux-dist'
Makefile:127:目标“menuconfig”的配方失败 make:*** [menuconfig] 错误 2
请帮助了解问题所在并进行修复。非常感谢您的帮助!
对于那些想要重现该问题的人的注意事项:
1)您需要修复 uCLinux-dist/kconfig/config/zconf.hash.c(在第 165 行插入下面的代码段)
#if defined __GNUC_STDC_INLINE__ || defined __GNUC_GNU_INLINE__
__attribute__ ((__gnu_inline__))
#endif
2) uClinux uClinux-dist-20080808 在这里可用
3) uClinux-dist-20080808-20090112 补丁在这里可用
4) uClinux_on_stm32 补丁在这里可用