大家好。我是新手。我已经安装了 esp open sdk [
https://github.com/esp8266/esp8266-wiki/wiki/Toolchain]
我写了一个简单的代码来使 LED 闪烁。
#include "ets_sys.h"
#include "osapi.h"
#include "gpio.h"
#include "os_type.h"
#include "user_config.h"
#define user_procTaskPrio 0
#define user_procTaskQueueLen 1
os_event_t user_procTaskQueue[user_procTaskQueueLen];
本地 os_
timer_t blink_timer;
本地 uint8_t led_state=0;
LOCAL void ICACHE_FLASH_ATTR blink_cb(void *arg)
{
led_state = !led_state;
GPIO_OUTPUT_SET(2, led_state);
}
静态无效 ICACHE_FLASH_ATTR
loop(os_event_t *events)
{
os_printf("你好\n\r");
os_delay_us(10000);
system_os_post(user_procTaskPrio, 0, 0 );
}
void ICACHE_FLASH_ATTR
user_init()
{
PIN_FUNC_SELECT(PERIPHS_IO_MUX_GPIO2_U, FUNC_GPIO2);
os_timer_disarm(&blink_timer);
os_timer_setfn(&blink_timer, (os_timer_func_t *)blink_cb, (void *)0);
os_timer_arm(&blink_timer, 1000, 1);
GPIO_OUTPUT_SET(2, led_state);
//启动os任务
system_os_task(loop, user_procTaskPrio,user_procTaskQueue, user_procTaskQueueLen);
system_os_post(user_procTaskPrio, 0, 0 );
我
已经成功生成了二进制文件并刷新了它。
raja@raja-Inspiron-N5110:/opt/Espressif/source-code-examples/blinkMe$ make ESPPORT=/dev/ttyUSB0 flash
CC user/user_main.c
AR build/app_app.a
LD build/app.out
FW 固件/
esptool.py v2.1-beta1
为 ESP8266 创建图像...
esptool.py --port /dev/ttyUSB0 write_flash 0x00000 firmware/0x00000.bin 0x40000 firmware/0x40000.bin
esptool.py v2.1-beta1
Connecting... .
正在检测芯片类型... ESP8266
芯片是 ESP8266
上传存根...
运行存根...
运行存根...
配置闪存大小...
自动检测闪存大小:4MB
闪存参数设置为 0x0040
压缩 29584 字节为 20449。 ..
在 1.8 秒内(有效 130.4 kbit/s)在 0x00000000 处写入 29584 字节(20449 压缩)...
已验证数据哈希。
Compressed 136028 bytes to 102576...
Write 136028 bytes (102576 compressed) at 0x00040000 in 9.1 seconds (effective 119.7 kbit/s)...
数据哈希验证。
离开...
硬重置...
但是我没有得到想要的输出。LED 未按预期闪烁。
然后我尝试闪现连接到 wifi 的例子。它没有连接。
当我使用 arduino 时,我能够使 LED 闪烁并成功连接到 wifi 并启动网络服务器。
[nmap -sn IP_address/24 仅在我刷新 arduino IDE 而不是 gcc 编译的二进制文件时显示输出。]
我想尝试使用 ESP-GDBStub 进行调试。我稍后会更新它。
谁能解释我哪里出错了?
0