И я этим не занят. И никто этим не занят. Тенсилика уж лет 5 как забила болт на gcc. Вся информация мною взята из открытых источников.О многоуважаемый автор поддержки call0 ABI в xtensa gcc.
Извините что я не занят набором соглашений между программами, библиотеками и операционной системой, обеспечивающих взаимодействие этих компонентов на низком уровне на данной платформе и не обладаю информацией, необходимой для этого от Cadence, но имеющиеся у вас.
Блин вам в каждом ответе даю подсказки - зарегистрируйтесь там http://ip.cadence.com/ipportfolio/tensilica-ip и возможно что-то из IP подойдет к ESP8266...И я этим не занят. И никто этим не занят. Тенсилика уж лет 5 как забила болт на gcc. Вся информация мною взята из открытых источников.
Да... Образцово-показательный бред. Я понял, что говорить с вами бесполезно. Спасибо, и, персонально вам, до свидания.Блин вам в каждом ответе даю подсказки - зарегистрируйтесь там http://ip.cadence.com/ipportfolio/tensilica-ip и возможно что-то из IP подойдет к ESP8266...
А то так и будите отвечать на http://www.esp8266.com/ что мол RSSI "это внутреняя фича чипа" и не давать процедуры как его считать.
Т.е. считаете, что в ESP8266 периферия проца эксклюзивная и у неё полностью собственный дизайнДа... Образцово-показательный бред. Я понял, что говорить с вами бесполезно. Спасибо, и, персонально вам, до свидания.
В esp-lwip с гитхаба только версия LwIP 1.4.1 и надо менять libmain.a - либу из SDK. + Ещё данный LwIP, на сегодня, не проверен полностью на работоспособность автором портирования.
MakeFAIL в третьем пункте позабавилУ меня попросили поделиться информацией о сборке LWIP под Windows. Может быть кому-нибудь еще пригодиться:
- Берем esp-lwip с гитхаба
- Загружаем в Unofficial Developer Kit
- Делаем Makefail под Windows (приложил мой пример в аттаче)
- Все собирается.
Поделитесь, если есть чем.Довольно скоро поделюсь своими наработками, тема получается достаточно интересная.
В архиве нет eagle.app.v6.cpp.irom.ldУдалось модифицировать скрипт линкера и makefile так, чтобы все функции и методы по дефолту шли в irom, и только помеченные - в iram.
Без проблем, включу в сл.версию. (1.0.13)Предлагаю CHERTS включить это в UDK.
Дык второй приаттаченный архивВ архиве нет eagle.app.v6.cpp.irom.ld
Слона то я и не заметил.... сорииДык второй приаттаченный архив
Что то я не понял в чем прикол,Удалось модифицировать скрипт линкера и makefile так, чтобы все функции и методы по дефолту шли в irom, и только помеченные - в iram.
------------------------------------------------------------------------------
Section info:
Section| Description| Start (hex)| End (hex)|Used space
------------------------------------------------------------------------------
data| Initialized Data (RAM)| 3FFE8000| 3FFE89F0| 2544
rodata| ReadOnly Data (RAM)| 3FFE89F0| 3FFE8E44| 1108
bss| Uninitialized Data (RAM)| 3FFE8E48| 3FFF0A28| 31712
text| Cached Code (IRAM)| 40100000| 40106396| 25494
irom0_text| Uncached Code (SPI)| 40240000| 40263318| 144152
Total Used RAM : 35364
Free RAM : 46556
Free IRam : 7292
------------------------------------------------------------------------------
------------------------------------------------------------------------------
Section info:
Section| Description| Start (hex)| End (hex)|Used space
------------------------------------------------------------------------------
data| Initialized Data (RAM)| 3FFE8000| 3FFE89F0| 2544
rodata| ReadOnly Data (RAM)| 3FFE89F0| 3FFE8E44| 1108
bss| Uninitialized Data (RAM)| 3FFE8E48| 3FFF0A28| 31712
text| Cached Code (IRAM)| 40100000| 401062CE| 25294
irom0_text| Uncached Code (SPI)| 40240000| 402633EC| 144364
Total Used RAM : 35364
Free RAM : 46556
Free IRam : 7492
------------------------------------------------------------------------------
--- C:\Espressif\examples\hello_world_cpp\user\user_main.cpp 2015-01-26 10:28:22.000000000 +0500
+++ C:\Espressif\examples_new\hello_world_cpp_irom\user\user_main.cpp 2015-03-19 11:59:31.663470800 +0500
@@ -128,7 +128,7 @@
// User code
// =============================================================================================
-LOCAL void ICACHE_FLASH_ATTR hello_cb(void *arg)
+LOCAL void hello_cb(void *arg)
{
static int counter = 0;
ets_uart_printf("Hello World #%d!\r\n", counter++);
@@ -136,7 +136,7 @@
}
-extern "C" void user_init(void)
+extern "C" void ICACHE_IRAM_ATTR user_init(void)
{
do_global_ctors();
// Configure the UART
Добывил Ваш пример в UDK.Удалось модифицировать скрипт линкера и makefile так, чтобы все функции и методы по дефолту шли в irom, и только помеченные - в iram.
Да, пример в этом смысле не очень показательный. Вы для повышения показательности уберите ICACHE_FLASH_ATTR у hello_cb в hello_world_cpp и скомпилируйте.Разница между C:\Espressif\examples\hello_world_cpp и Вашим примером:
std::_Rb_tree_insert_and_rebalance находится в libstdc++.a, нужно добавить эту библиотеку в линковку.Все было прекрасно пока я не решил использовать контейнеры с++. Вектор скомпилился, но проц постоянно перезагружался при чтении вектора, а map так вообще не линкуется т.к. видите ли "undefined reference to std::_Rb_tree_insert_and_rebalance" и еще что-то в этом духе.
Подскажите пожалуйста что бы это могло значить и как победить сей недуг?