You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi Paul,
I'm using ESP32 as host controller, and it's architecture is Xtensa LX6.
I have realized that there is a library named libtimescale_core.a_xtensa at src folder, and form #1 I already knew that the library is compiled for ESP8266.
ESP8266’s architecture is Xtensa L106, slightly different form Xtensa LX6. I have tested the libtimescale_core.a_xtensa library using the code below:
//////////////
#include <stdio.h>
#include "esp_system.h"
#include "timescale.h"
void app_main(void)
{
printf("SDK version:%s\n", esp_get_idf_version());
double x0[3] = {0}, q[3] = {128e6 * 512 * 3e-20, 128e6 * 512 * 3e-20 * 0.1, 128e6 * 512 * 3e-20 * 0.01}, T = 1e-6l * 0x100000;
timescale_instance_t * inst = timescale_init(NULL, x0, q, T);
printf("inst=%lu\n", (unsigned long)inst);
}
///////////
The ESP8266's result: inst=1074814716, and it seems all OK.
The ESP32's result: inst=0. And when I compile my app , there is some warnings like below:
"libtimescale_core.a(timescale.c.obj): warning: incompatible Xtensa configuration (ABI does not match)"
It seems that the library is not compatible with ESP32's architecture.
@pkettle
We had the same problem.
Timescale_xtensa is compiled using ABI=CALL0 only for ESP8266.
Can you help me to recomplie Timescale_xtensa use ABI=WINDOWED for ESP32 ?
Hi Paul,
I'm using ESP32 as host controller, and it's architecture is Xtensa LX6.
I have realized that there is a library named libtimescale_core.a_xtensa at src folder, and form #1 I already knew that the library is compiled for ESP8266.
ESP8266’s architecture is Xtensa L106, slightly different form Xtensa LX6. I have tested the libtimescale_core.a_xtensa library using the code below:
//////////////
#include <stdio.h>
#include "esp_system.h"
#include "timescale.h"
void app_main(void)
{
printf("SDK version:%s\n", esp_get_idf_version());
double x0[3] = {0}, q[3] = {128e6 * 512 * 3e-20, 128e6 * 512 * 3e-20 * 0.1, 128e6 * 512 * 3e-20 * 0.01}, T = 1e-6l * 0x100000;
timescale_instance_t * inst = timescale_init(NULL, x0, q, T);
printf("inst=%lu\n", (unsigned long)inst);
}
///////////
The ESP8266's result: inst=1074814716, and it seems all OK.
The ESP32's result: inst=0. And when I compile my app , there is some warnings like below:
"libtimescale_core.a(timescale.c.obj): warning: incompatible Xtensa configuration (ABI does not match)"
It seems that the library is not compatible with ESP32's architecture.
Then, can you please provide the libtimescale_core.a for ESP32 ?
The ESP32's SDK is not under the mynewt framework.
For the toolchain, please refer this link https://docs.espressif.com/projects/esp-idf/en/latest/get-started/linux-setup.html
Than you very much!
The text was updated successfully, but these errors were encountered: