If the .noinit section starts at the beginning of the RAM,
a bootloader that is unaware of it will clear it.
Instead, move it behind the .bss section, hoping that a bootloader
will always use less .bss memory than RIOT proper.
When `ds18_read` returns -2506, DS18 test print `Temperature [ºC]: -25.-6`
whereas it should print `Temperature [ºC]: -25.06. This commit fixes this
issue.
In function `_semtech_loramac_send` parameter `payload` can be NULL (that the
case when scheduling an immediate TX, line 726). As DEBUG macro use printf,
a %s parameter can't be NULL so we have to handle that case.
Casting pointers to volatile memory to pointers to regular memory is permitted,
but using those pointers to access the memory results in undefined behavior.
This commit changes the casts to no longer drop the volatile qualifier.
References: https://en.cppreference.com/w/c/language/volatile
This commit adds the periph_uart_mode USEMODULE
It implements all functionality defined in the common uart driver
This means all parity modes, data bits, and stop bits
Make it possible to specify a section of RAM that is not touched by
the init routing so data can be kept across resets.
This should behave the same as on atmega & lpc2387.
gcc9 started realizing that _sram is basically an uint8_t[1] and thus
HARDFAULT_HANDLER_REQUIRED_STACK_SPACE cannot be added to it without
exceeding the one-sized array.
This commit casts _sram to (uintptr_t) where that happens.
gcc 9 started complaining about type mismatches:
1. all int sized return types are expected to be
"unsigned int" instead of e.g., "uint32_t"
2. all arguments are expected to be passed as (volatile)
void * pointers
This commit fixes 1. by doing ifdef'ed typedefs for I2 and I4, an fixes
2. by using void pointers, then casting within the template bodies.
Remove the check that directory are git tracked or not.
This should not be done by the script and was a mistake.
If need be to be checked it should be moved to RIOT 'info-applications'
and running tests should be done in a clean environment anyway.
Currently giving an absolute or outside of RIOT application breaks the
result directory evaluation which can lead to deleting the application.
Add an assertion to detect it.
The documentation states that the implementation is missing for
gcc < 4.7, but then unconditionally compiles it, overriding the
builtins.
(gcc 9 starts complaining about mismatch of declarations.)