完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
当我尝试在 rtos_sdk 的 driver_lib 目录中制作驱动程序时,我在编译 i2c_master 的步骤中得到了这个:
xtensa-lx106-elf-gcc -Os -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections -fdata-sections -fno -builtin-printf -DICACHE_FLASH -I 包含 -I ../include -I /home/pi/ESP8266_RTOS_SDK/include -I /home/pi/ESP8266_RTOS_SDK/extra_include -I /home/pi/ESP8266_RTOS_SDK/driver_lib/include -I /主页/pi/ESP8266_RTOS_SDK/include/espressif -I /home/pi/ESP8266_RTOS_SDK/include/lwip -I /home/pi/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/pi/ESP8266_RTOS_SDK/include/lwip/ipv6 -我 /home/pi/ESP8266_RTOS_SDK/include/nopoll -I /home/pi/ESP8266_RTOS_SDK/include/spiffs -I /home/pi/ESP8266_RTOS_SDK/include/ssl -I /home/pi/ESP8266_RTOS_SDK/include/json -o 。 output/eagle/debug/obj/i2c_master.o -c i2c_master.c 在 i2c_master.c:13:0 包含的文件中: i2c_master.c: 在函数 'i2c_master_getDC': ../include/gpio.h:193:66: error: 'BIT0' undeclared (first use in this function) #define GPIO_INPUT_GET(gpio_no) ((gpio_input_get()>>gpio_no )&BIT0) ^ i2c_master.c:60:15: 注意:在宏“GPIO_INPUT_GET”的扩展中 sda_out = GPIO_INPUT_GET(GPIO_ID_PIN(I2C_MASTER_SDA_GPIO)); ^ ../include/gpio.h:193:66:注意:每个未声明的标识符只针对它出现在#define GPIO_INPUT_GET(gpio_no) ((gpio_input_get()>>gpio_no)&BIT0) 中的每个函数报告一次 ^ i2c_master.c:60:15: 注意:在宏“GPIO_INPUT_GET”的扩展中 sda_out = GPIO_INPUT_GET(GPIO_ID_PIN(I2C_MASTER_SDA_GPIO)); ^ 文件包含自 ../include/i2c_master.h:4:0, 来自 i2c_master.c:15: i2c_master.c: 在函数 'i2c_master_gpio_init': /home/pi/ESP8266_RTOS_SDK/include/espressif/esp8266/pin_mux_register. h:149:47: 错误:'BIT2' 未声明(首次在此函数中使用) SET_PERI_REG_MASK(PIN_NAME, (((FUNC & BIT2) << 2) | (FUNC & 0x3)) << PERIPHS_IO_MUX_FUNC_S); \ ^ i2c_master.c:111:5: 注意:在宏“PIN_FUNC_SELECT”的扩展中 PIN_FUNC_SELECT(I2C_MASTER_SDA_MUX, I2C_MASTER_SDA_FUNC); ^ 在 i2c_master.c:13:0 包含的文件中: ../include/gpio.h:85:34: error: 'GPIO_PIN0_ADDRESS' undeclared (first use in this function) #define GPIO_PIN_ADDR(i) (GPIO_PIN0_ADDRESS + i*4 ) ^ i2c_master.c:114:20: 注意:在宏“GPIO_PIN_ADDR”的扩展中 _PIN_PAD_DRIVER_SET(GPIO_PAD_DRIVER_ENABLE)); //开漏; ^ i2c_master.c:114:158: 错误:'GPIO_PAD_DRIVER_ENABLE' 未声明(首次在此函数中使用) GPIO_REG_WRITE(GPIO_PIN_ADDR(GPIO_ID_PIN(I2C_MASTER_SDA_GPIO)), GPIO_REG_READ(GPIO_PIN_ADDR(GPIO_ID_PIN(I2C_MASTER_SDA_GPIO))) | GPIO_PIN_PAD_DRIVER_SET(GPIO_PAD_DRIVER_ENABLE)); //开漏; ^ i2c_master.c:115:20: 错误:'GPIO_ENABLE_ADDRESS' 未声明(首次在此函数中使用) GPIO_REG_WRITE(GPIO_ENABLE_ADDRESS, GPIO_REG_READ(GPIO_ENABLE_ADDRESS) | (1 << I2C_MASTER_SDA_GPIO)); ^ ../../Makefile:333: ***шибка вып***лнения рецепта для цели «.output/eagle/debug/obj/i2c_master.o» make: *** [.output/eagle/debug/obj/i2c_master.o] Ошибка 1个 + cp .output/eagle/debug/lib/libdriver/.a ../../lib/libdriver/.a cp: не удал***сь вып***лнить stat для «.output/eagle/debug/lib/libdriver/.a»:上一个 xtensa-lx106-elf-strip --strip-unneeded ../../lib/libdriver/.a xtensa-lx106-elf-strip: '../../lib/libdriver/. a': 没有那个文件 + cd .. |
|
相关推荐
1个回答
|
|
错误提示是缺少“i2c_master.h”文件。解决方法是从ESP8266_RTOS_SDK/driver_lib/include目录中复制i2c_master.h文件到您的驱动程序目录中。如果还有其他文件缺失,请查找以及复制相应的文件。如果还无法解决问题,请检查您的驱动程序源代码,确保引用了正确的文件和路径。
|
|
|
|
只有小组成员才能发言,加入小组>>
406浏览 6评论
338浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
321浏览 5评论
322浏览 4评论
309浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-8-16 06:17 , Processed in 0.718784 second(s), Total 75, Slave 60 queries .
Powered by 电子发烧友网
© 2015 www.ws-dc.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号