(no subject)

Hello again,

Apologies, if I am becoming a nuisance to you guys. But I really want to be able to get the RIOT OS working so that I can include it within my Honours project.

I have managed to get a few more toys to play with e.g. a couple of Udoo NEOs, a BeagleBone and a Waspmote-Pro. Currently I am testing out the gnrc_networking application on the Waspmote-pro but I am having some issues when trying to run it. For an example, all I am getting is the “pyterm shell” and nothing else:

"

baksiso@baksiso-Lenovo-G580:~/RIOT/examples/gnrc_networking$ make term /home/baksiso/RIOT/dist/tools/pyterm/pyterm -p “/dev/ttyUSB0” -b “9600” No handlers could be found for logger “root” 2018-07-12 02:13:38,166 - INFO # Connect to serial port /dev/ttyUSB0 Welcome to pyterm! Type ‘/exit’ to exit.

"

However, I am able to run the “default” application or the “hello-world” and they worked perfectly.

Additionally, when I tried to flash the application onto the boar, I was getting the following:

"

text data bss dec hex filename 78024 11250 9732 99006 182be /home/baksiso/RIOT/examples/gnrc_networking/bin/waspmote-pro/gnrc_networking.elf avrdude -p m1281 -c stk500v1 -P /dev/ttyUSB0 -b 115200 -F -U flash:w:/home/baksiso/RIOT/examples/gnrc_networking/bin/waspmote-pro/gnrc_networking.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.05s

avrdude: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.04s

avrdude: Device signature = 0x000000 avrdude: Yikes! Invalid device signature. avrdude: Expected signature for ATmega1281 is 1E 97 04 avrdude: NOTE: “flash” memory has been specified, an erase cycle will be performed To disable this feature, specify the -D option. avrdude: erasing chip avrdude: reading input file “/home/baksiso/RIOT/examples/gnrc_networking/bin/waspmote-pro/gnrc_networking.hex” avrdude: input file /home/baksiso/RIOT/examples/gnrc_networking/bin/waspmote-pro/gnrc_networking.hex auto detected as Intel Hex avrdude: writing flash (89274 bytes):

Writing | ################################################## | 100% 16.77s

avrdude: 89274 bytes of flash written avrdude: verifying flash memory against /home/baksiso/RIOT/examples/gnrc_networking/bin/waspmote-pro/gnrc_networking.hex: avrdude: load data flash data from input file /home/baksiso/RIOT/examples/gnrc_networking/bin/waspmote-pro/gnrc_networking.hex: avrdude: input file /home/baksiso/RIOT/examples/gnrc_networking/bin/waspmote-pro/gnrc_networking.hex auto detected as Intel Hex avrdude: input file /home/baksiso/RIOT/examples/gnrc_networking/bin/waspmote-pro/gnrc_networking.hex contains 89274 bytes avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 18.82s

avrdude: verifying … avrdude: 89274 bytes of flash verified

avrdude: safemode: Fuses OK (E:00, H:00, L:00)

avrdude done. Thank you.

"

But I am assuming (blindly) that it is finding the mote and that it is flashing the application onto the board successfully.

Would really appreciate any answer!

Kind regards,

Svilen

P.S. Do you think that I will successfully be able to run the gnrc_networking application on any of the above-mentioned boards?

Hi Svilen!

I have ported the waspmote-pro into RIOT, I’m not proud of the current status of the port but it works good so far.

Your problem might be related to the way you connect the UART on the waspmote. The UART0 of the atmega MCU is multiplexed between the internal FTDI USB-Serial converter and the XBee header. If you plug an XBee and make the modifications to multiplex the UART0 to be used on XBee, then UART1 is used for STDIO, which you can connect using a USB-Serial external adapter. You can find the pinouts on the Waspmote’s data sheet.

So far, it should work properly with the gnrc_minimal example and the XBee radio driver, but there are currently some issues[1] which you would need to solve (there are PRs for it) if you want a good experience with it.

Another thing to notice, is that the use of xtimer won’t be accurate, since the timer won’t be initialised properly due to the “weird” clock source (xtimer works on multiples of 1MHz timer speed). You’ll need to take a look at [2] and [3].

The gnrc_networking example definitely won’t work because is too big in memory for the waspmote-pro (8K RAM, 128K Flash). Since the linker won’t throw any error (I don’t know why) the flashing process takes place but obviously it won’t work since the memory would be filled with non-sense data.

I hope this helps.

Best regards,

Francisco Javier Acosta Padilla
Research Engineer at INFINE team Inria Saclay Ile-de-France

[1] https://github.com/RIOT-OS/RIOT/issues/9001 [2] https://github.com/RIOT-OS/RIOT/pull/6507 [3] https://github.com/kYc0o/RIOT/tree/xtimer_waspmote

Hi Svilen,

Apologies, if I am becoming a nuisance to you guys

no need for apologies, this list was made for questions.

@Paco:> Your problem might be related to the way you connect the UART on the waspmote.

But this won't explain why hello-world and default work, right?

I assume it is memory overflow which is (for whatever reason) not detected during the build process. The waspmote has 8K RAM AFAIK but the gcc output you posted indicates higher RAM consumption. You better go with gnrc_minimal then.

Do you think that I will successfully be able to run the

gnrc_networking application on any of the above-mentioned boards?

No. We do not support these boards: "If your device can run Linux, run Linux".

Why don't you go with an STM32-Nucleo board at first? These boards are widely available and cheap. For communication you could add external interfaces later such as 802.15.4, LoRa, Ethernet ....

Best Peter

Yeah, you’re right. I’m going to continue doing some pseudo experiments and I’ll be on the look out for the STM32-Nucleo as well.

One last question for today (I hope) - if I we’re to run a Linux instance on a powerful board, doesn’t that mean that I’ll be working “natively” from the boards? Or let me rephrase that question - would I still be able to do some proper evaluation/testing if I were to test out some of the RIOT applications on an Linux instance, on a powerful board?

На четвъртък, 12 юли 2018 г. Peter Kietzmann <peter.kietzmann@haw-hamburg.de> написа:

Hi Svilen,

don't know if I get your question correctly but "yes", you can run RIOT native on a single-board linux computer. However, using an external interface with it (e.g., 802.15.4) is a bit tricky and not natively supported.

Cheers Peter