• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Нужна помощь PlatformIO и нативный SDK

condemil

New member
PlatformIO убирает необходимость самому собирать тулчейн чем очень удобен для более быстрого вхождения. У меня получилось написать, собрать, прошить и запустить простой пример с использованием библиотек от проекта ардуино (framework = arduino в platformio.ini), но при попытке использовать нативный SDK устройство выдаёт:

[inline]Fatal exception (0): epc1=0x40240655, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
[/inline]

Может кто-то уже сталкивался с таким поведением или знает в чем может бы проблема.

Накиданный мной пример состоит из пустого файла [inline]user_config.h[/inline] и [inline]user_main.c[/inline] со следующем содержанием:

Код:
#include "ets_sys.h"
#include "osapi.h"

void user_init(void)
{
    os_printf("SDK version:%s\n", system_get_sdk_version());
}
 

Victor

Administrator
Команда форума
в чем может бы проблема
Первое, что приходит на ум
Код:
void user_rf_pre_init(void)
{
}
Не думаю, что сейчас это хорошая затея (на мой субъективный взгляд)
PlatformIO с ESP8266 через Arduino IDE core. Arduino IDE быстро развивается и не думаю, что в PlatformIO так же оперативно все обновляют.
 

condemil

New member
Добавлять функцию [inline]user_rf_pre_init[/inline] также пробовал, это не дало каких-либо изменений.

Я не совсем понял Вашу мысль про PlatformIO. Если Вы про то, что можно использовать SDK из проекта Arduino, то как бы Вы собирали проект? Если через makefile, то это нужно разбираться с процессом сборки под ESP8266 что уже не является быстрым стартом с нативным SDK.
 

Victor

Administrator
Команда форума

condemil

New member
В их понятиях Framework это набор библиотек, которые будут собраны и добавлены к проекту

Например, при запуске без [inline]framework = arduino[/inline] будет выполнено следующее:

Код:
ph $ platformio run

[Sat Jun 27 14:00:28 2015] Processing esp01 (platform: espressif, upload_port: /dev/cu.SLAB_USBtoUART, board: esp01, targets: upload)

-----------------------------------------------------------------------------------------------------------------------------------------------------------------------

xtensa-lx106-elf-gcc -o .pioenvs/esp01/src/user_main.o -c -std=c99 -Wpointer-arith -Wno-implicit-function-declaration -Wl,-EL -fno-inline-functions -nostdlib -Os -mlongcalls -mtext-section-literals -falign-functions=4 -U__STRICT_ANSI__ -MMD -DF_CPU=80000000L -D__ets__ -DICACHE_FLASH -DARDUINO_ESP8266_ESP01 -DARDUINO_ARCH_ESP8266 -DESP8266 -DPLATFORMIO=020102 -I/Users/ph/.platformio/packages/sdk-esp8266/include -Isrc src/user_main.c

xtensa-lx106-elf-gcc -o .pioenvs/esp01/firmware.elf -nostdlib -Wl,--no-check-sections -u call_user_start -Wl,-static -T /Users/ph/.platformio/packages/sdk-esp8266/ld/eagle.app.v6.ld .pioenvs/esp01/src/user_main.o -L/Users/ph/.platformio/packages/sdk-esp8266/lib -L.pioenvs/esp01 -Wl,--start-group -lc -lgcc -lphy -lpp -lnet80211 -llwip -lwpa -lmain -ljson -lupgrade -lsmartconfig -lat -lssl -Wl,--end-group

/Users/ph/.platformio/packages/tool-esptool/esptool -eo .pioenvs/esp01/firmware.elf -bo .pioenvs/esp01/firmware_00000.bin -bm qio -bf 40 -bz 512K -bs .text -bs .data -bs .rodata -bc -ec -eo .pioenvs/esp01/firmware.elf -es .irom0.text .pioenvs/esp01/firmware_10000.bin -ec -v
Так что Arduino IDE не используется если этого не требуется
 

Ivan Kravets

New member
PlatformIO убирает необходимость самому собирать тулчейн чем очень удобен для более быстрого вхождения. У меня получилось написать, собрать, прошить и запустить простой пример с использованием библиотек от проекта ардуино (framework = arduino в platformio.ini), но при попытке использовать нативный SDK устройство выдаёт:

[inline]Fatal exception (0): epc1=0x40240655, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
[/inline]

Может кто-то уже сталкивался с таким поведением или знает в чем может бы проблема.

Накиданный мной пример состоит из пустого файла [inline]user_config.h[/inline] и [inline]user_main.c[/inline] со следующем содержанием:

Код:
#include "ets_sys.h"
#include "osapi.h"

void user_init(void)
{
    os_printf("SDK version:%s\n", system_get_sdk_version());
}
Здравствуйте!

Откройте, пожалуйста, новый "тикет" здесь https://github.com/platformio/platformio/issues
В понедельник разберемся.

Спасибо за использование http://platformio.org
 
Сверху Снизу