Skip to content

Troubleshooting

enzingerm edited this page Dec 20, 2018 · 18 revisions

Question:

When I run make in the RIOT repository, I get something like:

mkdir -p 
mkdir: missing operand
Try 'mkdir --help' for more information.
Makefile:6: recipe for target 'all' failed
make: *** [all] Error 1

What am I missing?

Answer:

You have to run make from within your application directory, not directly from the RIOT repository.


Question:

My MSB-A2 hangs in a reset loop and remains unflashable. How can I recover this node?

Answer:

Please visit How to Recover a unflashable MSB-A2


Question:

The linker says something like RIOT/cpu/lpc2387/linkerscript.x:221 cannot move location counter backwards (from 4000fb4c to 4000ec98). What's wrong?

Answer:

Your application is too big and won't fit into RAM or the ROM of the target platform.


Question:

The flashtool says something like You don't have permission to access /dev/ttyUSB0. What's wrong?

Answer:

You need to edit your udev rules.

First create a group for your serial device (e.g. serial) and add the current user.:

addgroup serial
usermod -a -G serial ${USER}

Then use lsusb to find out the Vendor and Product ID for your device. Afterwards, add the following line to the file /etc/udev/44-serial.rules (replace <idVendor> and <idProduct> with the previously determined IDs, respectively).

ATTR{idVendor}=="<idVendor>", ATTR{idProduct}=="<idProduct>", GROUP="plugdev", MODE="0664"

Reload udev rules:

udevadm control --reload-rules

Question:

Flashing of a device somehow does not work although it should / did before.

Answer:

Try a different USB port/hub or a shorter cable.


Question:

Building my application I receive a strange linker warning about undefined references although the corresponding module should be built. For example some like this:

/home/foobar/RIOT/examples/default/bin/native/nativenet.a(interface.o): In function `_nativenet_send_data':
interface.c:(.text+0x474): undefined reference to `netdev_get_hlist_len'
collect2: error: ld returned 1 exit status

Answer:

Due to inconsistencies in the Make build system, it may happen that some dependencies are not build correctly after an error or misconfiguration. In order to build everything unconditionally it's safe to call make -B clean all.

Also make sure that the names of your custom modules don't clash with RIOT's internal modules. For instance, don't put source files under the subdirectory foo/ somewhere in your application while at the same time using RIOT's internal module foo. More information can be found in the section "Pitfalls" at https://riot-os.org/api/creating-modules.html.


Question:

How can I break at the current position in gdb? Hitting Ctrl+C gives me a ^CRemote connection closed.

Answer:

Try to use make debug-server and make debug in another terminal window. Otherwise Ctrl+C is passed through to the gdb server and kills it.


Clone this wiki locally
You can’t perform that action at this time.