strong.monkey
New member
Доброго времени суток!
Заказывал на али модуль esp8266 модуль, наконец решил с ним разобраться.
собрал на макетке по схеме сборку подключил к компу, установил и настроил esp open sdk.
почитав документацию написал следующий код (стандартный blink)
программа компилируется без всяких проблем
после компиляции получаю фал прошивки который лежит в firmware
Собственно перед сомой прошивкой, очистил flash память модуля
все прекрасно подключилось процесс очистки прошел без ошибок.
Потом я прочитал файл прошивки
с помощью команды hexdump убедился что модуль чист.
Потом залил новую прошивку (blink), процесс прошел без ошибок
в итоге у меня просто горит синий светодиод, хотя должен мигать. Прошивка залилась
так как я ее смог считать с модуля и просмотреть HEX
полный пример кода и Makefile тут mirkos-vf/ESP8266
Заказывал на али модуль esp8266 модуль, наконец решил с ним разобраться.
собрал на макетке по схеме сборку подключил к компу, установил и настроил esp open sdk.
почитав документацию написал следующий код (стандартный blink)
Код:
#include "ets_sys.h"
#include "osapi.h"
#include "gpio.h"
#include "os_type.h"
#define user_procTaskPrio 0
#define user_procTaskQueueLen 1
#define GPIO BIT1
os_event_t user_procTaskQueue[user_procTaskQueueLen];
static void user_procTask(os_event_t *events);
static os_timer_t some_timer;
void some_timerfunc(void *arg)
{
//Do blinky stuff
if (GPIO_REG_READ(GPIO_OUT_ADDRESS) & GPIO)
{
//Set GPIO2 to LOW - TURN OFF the LED
gpio_output_set(0, GPIO, GPIO, 0);
}
else
{
//Set GPIO2 to HIGH - TURN ON the LED
gpio_output_set(GPIO, 0, GPIO, 0);
}
}
//Do nothing function
static void ICACHE_FLASH_ATTR user_procTask(os_event_t *events)
{
os_delay_us(10);
}
//Init function
void ICACHE_FLASH_ATTR user_init()
{
// Initialize the GPIO subsystem.
gpio_init();
//Set GPIO2 to output mode
PIN_FUNC_SELECT(PERIPHS_IO_MUX_U0TXD_U, FUNC_GPIO1);
//Set GPIO2 low
gpio_output_set(0, GPIO, GPIO, 0);
//Disarm timer
os_timer_disarm(&some_timer);
//Setup timer
os_timer_setfn(&some_timer, (os_timer_func_t *)some_timerfunc, NULL);
//Arm the timer, &some_timer is the pointer 1000 is the fire time in ms
//0 for once and 1 for repeating timer
os_timer_arm(&some_timer, 1000, 1);
//Start os task
system_os_task(user_procTask, user_procTaskPrio,user_procTaskQueue, user_procTaskQueueLen);
}
после компиляции получаю фал прошивки который лежит в firmware
Собственно перед сомой прошивкой, очистил flash память модуля
Код:
esptool.py --port /dev/tty.usbserial-A100JQM3 erase_flash
Потом я прочитал файл прошивки
Код:
esptool.py --port /dev/tty.usbserial-A100JQM3 read_flash 0 12000 test.bin
Код:
hexdump -C test.bin | head -10
Потом залил новую прошивку (blink), процесс прошел без ошибок
в итоге у меня просто горит синий светодиод, хотя должен мигать. Прошивка залилась
так как я ее смог считать с модуля и просмотреть HEX
полный пример кода и Makefile тут mirkos-vf/ESP8266