Missing "__libc_init_array();" wenn using samd without USB
-
Hello all,
I tried to build atsam gateway without USB support and had the problem that the sercom pointer were not initialized. The problem is that without the "USBCON" define, “__libc_init_array()” is not called within the MyMainSAMD.cpp main(). After moving “__libc_init_array()” out of the “USBCON” condition, everything works fine.
/* * The MySensors Arduino library handles the wireless radio link and protocol * between your home built sensors/actuators and HA controller of choice. * The sensors forms a self healing radio network with optional repeaters. Each * repeater and gateway builds a routing tables in EEPROM which keeps track of the * network topology allowing messages to be routed to nodes. * * Created by Henrik Ekblad <henrik.ekblad@mysensors.org> * Copyright (C) 2013-2020 Sensnology AB * Full contributor list: https://github.com/mysensors/MySensors/graphs/contributors * * Documentation: http://www.mysensors.org * Support Forum: http://forum.mysensors.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. */ // Initialize library and handle sketch functions like we want to extern "C" void __libc_init_array(void); int main(void) { init(); __libc_init_array(); // after #if defined(USBCON) // __libc_init_array(); before USBDevice.init(); USBDevice.attach(); #endif _begin(); // Startup MySensors library for(;;) { _process(); // Process incoming data if (loop) { loop(); // Call sketch loop } if (serialEventRun) { serialEventRun(); } } return 0; }I don't know why it is within the condition and if it is good to move it outside, but it seems to work.
-
Hello all,
I tried to build atsam gateway without USB support and had the problem that the sercom pointer were not initialized. The problem is that without the "USBCON" define, “__libc_init_array()” is not called within the MyMainSAMD.cpp main(). After moving “__libc_init_array()” out of the “USBCON” condition, everything works fine.
/* * The MySensors Arduino library handles the wireless radio link and protocol * between your home built sensors/actuators and HA controller of choice. * The sensors forms a self healing radio network with optional repeaters. Each * repeater and gateway builds a routing tables in EEPROM which keeps track of the * network topology allowing messages to be routed to nodes. * * Created by Henrik Ekblad <henrik.ekblad@mysensors.org> * Copyright (C) 2013-2020 Sensnology AB * Full contributor list: https://github.com/mysensors/MySensors/graphs/contributors * * Documentation: http://www.mysensors.org * Support Forum: http://forum.mysensors.org * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * version 2 as published by the Free Software Foundation. */ // Initialize library and handle sketch functions like we want to extern "C" void __libc_init_array(void); int main(void) { init(); __libc_init_array(); // after #if defined(USBCON) // __libc_init_array(); before USBDevice.init(); USBDevice.attach(); #endif _begin(); // Startup MySensors library for(;;) { _process(); // Process incoming data if (loop) { loop(); // Call sketch loop } if (serialEventRun) { serialEventRun(); } } return 0; }I don't know why it is within the condition and if it is good to move it outside, but it seems to work.
@ltigges
Hi, I can confirm your issue. Thank you for reporting!
Best will be to open a new issue in in the GitHub repo at MySensors/issues.
It would be great if you could do that- thank you.
BR Immo
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login