我刚刚下载了 RTOS sdk 并按照以下步骤操作:
https://github.com/espressif/esp8266_rtos_sdk
我可以在examples文件夹中编译应用程序。但是我需要使用 gpio 功能,所以想生成驱动程序库。
我遵循了方法 1,Readme.md 存在于 driver_lib 中。但它会导致错误。
请帮忙。
esp8266@esp8266-VirtualBox:~/ESP8266_RTOS_SDK/driver_lib$ ./make_lib.sh
echo 'make_lib.sh 版本 20160307'
make_lib.sh版本20160307
回声 ''
+ cd
使清洁
make: *** No rule to make target `clean'. Stop.
make COMPILE=gcc
make: *** No targets specified and no makefile found. Stop.
cp .output/eagle/debug/lib/lib.a .。/../lib/lib.a
cp: cannot stat '.output/eagle/debug/lib/lib.a': 没有这样的文件或目录
xtensa-lx106-elf-strip --strip-不需要../../lib/lib.a
Xtensa-LX106-ELF-STRIP:'../../lib/lib.a': 没有这样的文件
光盘 ..
esp8266@esp8266-VirtualBox:~/ESP8266_RTOS_SDK/driver_lib$ ./make_lib.sh 驱动程序
echo 'make_lib.sh 版本 20160307'
make_lib.sh版本20160307
回声 ''
CD驱动程序
使清洁
rm -f -r .output/eagle/debug
make COMPILE=gcc
依赖: xtensa-lx106-elf-gcc -M -Os -g -Wpointer-arith -Wundef -Werror -Wl,-EL -fno-inline-func
tions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections -fdata-sections -fno-builtin-printf -DICACHE_FLASH -I include -I ../include -I /home/esp8266/ESP8266_RTOS_SDK/include -I /home/esp8266/ESP8266_RTOS_SDK/extra_include -I /home/esp8266/ESP8266_RTOS_SDK/driver_lib/include -I /home/esp8266/ESP8266_RTOS_SDK/include/espressif -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv6 -I /home/esp8266/ESP8266_RTOS_SDK/include/nopoll -I /home/esp8266/ESP8266_RTOS_SDK/include/spiffs -I /home/esp8266/ESP8266_RTOS_SDK/include/ssl -I /home/esp8266/ESP8266_RTOS_SDK/include/json uart.c
依赖: xtensa-lx106-elf-gcc -M -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 include -I ../include -I /home/esp8266/ESP8266_RTOS_SDK/include -I /home/esp8266/ESP8266_RTOS_SDK/extra_include -I /home/esp8266/ESP8266_RTOS_SDK/driver_lib/include -I /home/esp8266/ESP8266_RTOS_SDK/include/espressif -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv6 -I /home/esp8266/ESP8266_RTOS_SDK/include/nopoll -I /home/esp8266/ESP8266_RTOS_SDK/include/spiffs -I /home/esp8266/ESP8266_RTOS_SDK/include/ssl -I /home/esp8266/ESP8266_RTOS_SDK/include/json spi_interface.c
依赖: xtensa-lx106-elf-gcc -M -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 include -I ../include -I /home/esp8266/ESP8266_RTOS_SDK/include -I /home/esp8266/ESP8266_RTOS_SDK/extra_include -I /home/esp8266/ESP8266_RTOS_SDK/driver_lib/include -I /home/esp8266/ESP8266_RTOS_SDK/include/espressif -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv6 -I /home/esp8266/ESP8266_RTOS_SDK/include/nopoll -I /home/esp8266/ESP8266_RTOS_SDK/include/spiffs -I /home/esp8266/ESP8266_RTOS_SDK/include/ssl -I /home/esp8266/ESP8266_RTOS_SDK/include/json i2c_master.c
依赖: xtensa-lx106-elf-gcc -M -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 include -I ../include -I /home/esp8266/ESP8266_RTOS_SDK/include -I /home/esp8266/ESP8266_RTOS_SDK/extra_include -I /home/esp8266/ESP8266_RTOS_SDK/driver_lib/include -I /home/esp8266/ESP8266_RTOS_SDK/include/espressif -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv6 -I /home/esp8266/ESP8266_RTOS_SDK/include/nopoll -I /home/esp8266/ESP8266_RTOS_SDK/include/spiffs -I /home/esp8266/ESP8266_RTOS_SDK/include/ssl -I /home/esp8266/ESP8266_RTOS_SDK/include/json hw_timer.c
依赖: xtensa-lx106-elf-gcc -M -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 include -I ../include -I /home/esp8266/ESP8266_RTOS_SDK/include -I /home/esp8266/ESP8266_RTOS_SDK/extra_include -I /home/esp8266/ESP8266_RTOS_SDK/driver_lib/include -I /home/esp8266/ESP8266_RTOS_SDK/include/espressif -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv6 -I /home/esp8266/ESP8266_RTOS_SDK/include/nopoll -I /home/esp8266/ESP8266_RTOS_SDK/include/spiffs -I /home/esp8266/ESP8266_RTOS_SDK/include/ssl -I /home/esp8266/ESP8266_RTOS_SDK/include/json gpio.c
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 include -I ../include -I /home/esp8266/ESP8266_RTOS_SDK/include -I /home/esp8266/ESP8266_RTOS_SDK/extra_include -I /home/esp8266/ESP8266_RTOS_SDK/driver_lib/include -I /home/esp8266/ESP8266_RTOS_SDK/include/espressif -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv6 -I /home/esp8266/ESP8266_RTOS_SDK/include/nopoll -I /home/esp8266/ESP8266_RTOS_SDK/include/spiffs -I /home/esp8266/ESP8266_RTOS_SDK/include/ssl -I /home/esp8266/ESP8266_RTOS_SDK/include/json -o .output/eagle/debug/obj/gpio.o -c gpio.c
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 include -I ../include -I /home/esp8266/ESP8266_RTOS_SDK/include -I /home/esp8266/ESP8266_RTOS_SDK/extra_include -I /home/esp8266/ESP8266_RTOS_SDK/driver_lib/include -I /home/esp8266/ESP8266_RTOS_SDK/include/espressif -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv6 -I /home/esp8266/ESP8266_RTOS_SDK/include/nopoll -I /home/esp8266/ESP8266_RTOS_SDK/include/spiffs -I /home/esp8266/ESP8266_RTOS_SDK/include/ssl -I /home/esp8266/ESP8266_RTOS_SDK/include/json -o .output/eagle/debug/obj/hw_timer.o -c hw_timer.c
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 include -I ../include -I /home/esp8266/ESP8266_RTOS_SDK/include -I /home/esp8266/ESP8266_RTOS_SDK/extra_include -I /home/esp8266/ESP8266_RTOS_SDK/driver_lib/include -I /home/esp8266/ESP8266_RTOS_SDK/include/espressif -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv4 -I /home/esp8266/ESP8266_RTOS_SDK/include/lwip/ipv6 -I /home/esp8266/ESP8266_RTOS_SDK/include/nopoll -I /home/esp8266/ESP8266_RTOS_SDK/include/spiffs -I /home/esp8266/ESP8266_RTOS_SDK/include/ssl -I /home/esp8266/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:错误:“BIT0”未声明(在此函数中首次使用)
#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,
from i2c_master.c:15:
i2c_master.c:在函数“i2c_master_gpio_init”中:
/home/esp8266/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:错误:“GPIO_PIN0_ADDRESS”未声明(在此函数中首次使用)
#define GPIO_PIN_ADDR(i) (GPIO_PIN0_ADDRESS + i*4)
^
i2c_master.c:114:20:注意:在宏“GPIO_PIN_ADDR”的扩展中
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)); //open drain;
^
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)); //open drain;
^
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));
^
make: *** [.output/eagle/debug/obj/i2c_master.o] Error 1
cp .output/eagle/debug/lib/libdriver.a ../../lib/libdriver.a
cp: cannot stat '.output/eagle/debug/lib/libdriver.a': 没有这样的文件或目录
xtensa-lx106-elf-strip --strip-不需要../../lib/libdriver.a
光盘 ..
esp8266@esp8266-virtualbox:~/esp8266_rtos_sdk/driver_lib$