1
0
mirror of https://github.com/RIOT-OS/RIOT.git synced 2024-12-29 04:50:03 +01:00
Commit Graph

719 Commits

Author SHA1 Message Date
René Kijewski
467b41ad49 make: easifier usage of module subdirectories
Many modules have subdirectories. Often these subdirectories should only
be included under certain circumstances. Modules that use submodules
currently need to use this pattern:

```make
DIRS = …

all: $(BINDIR)$(MODULE).a
   @for i in $(DIRS) ; do $(MAKE) -C $$i ; done ;

include $(RIOTBASE)/Makefile.base

clean::
   @for i in $(DIRS) ; do $(MAKE) -C $$i clean ; done ;
```

This PR moves the `all:` and `clean::` boilerplate into `Makefile.base`.
2014-06-17 15:49:32 +02:00
René Kijewski
840c0f0a57 make: detect their module name automatically
For many modules the `Makefile` contains a line like
```
MODULE:=$(shell basename $(CURDIR))
```
This conclusively shows that we do not have to set the module name
manually.

This PR removes the need to set the module name manually, if it is the
same as the basename. E.g. for `…/sys/vtimer/Makefile` the variable
make `MODULE` will still be `vtimer`, because it is the basename of the
Makefile.
2014-06-17 15:49:32 +02:00
René Kijewski
2e9a1773e9 native: use real_pipe() and read_close() 2014-06-14 00:39:02 +02:00
Hauke Petersen
09e3ac20f1 cpu: added low-level pwm driver impl for lpc2387 2014-06-11 19:54:11 +02:00
Thomas Eichinger
b4fceaca89 Merge pull request #1313 from thomaseichinger/cortexm_crash
cpu:cortex_common: add core_panic function
2014-06-11 15:02:46 +02:00
Thomas Eichinger
3639ae9b25 cpu:cortex_common: add core_panic function 2014-06-11 14:43:02 +02:00
Hauke Petersen
ebb496cc26 cpu: renamed cortexm_common->cortex-m3_common and cleanup 2014-06-11 00:24:10 +02:00
René Kijewski
ce428a8937 Merge pull request #1292 from Kijewski/issue-1288
core/cortex-m: add missing NORETURNs to thread_arch
2014-06-09 22:11:29 +02:00
Ludwig Ortmann
dbc36fc2c5 native: add id option 2014-06-06 16:30:54 +02:00
René Kijewski
b6dc5c9b76 core/cortex-m: add missing NORETURNs to thread_arch 2014-06-05 21:01:35 +02:00
Ludwig Ortmann
1e5e19bc23 native: set optional path with unix socket option
fixes #1045
2014-06-03 16:46:40 +02:00
Ludwig Ortmann
e36590cda7 native: fix coding style 2014-06-03 16:46:40 +02:00
René Kijewski
abdb3ef2a4 x86: add read-before-write check at runtime
Finding read-before-writes statically is quite difficult. In native we
can use valgrind, but on boards without an MMU we are out of luck.

x86 has an MMU, let's use it.

If `-DDEBUG_READ_BEFORE_WRITE` was set, then pages on the heap get
initialized upon first use. If the page was read before written, then a
debug message with the virtual and physical address of the memory
location is printed, as well as the address of the offending instruction.
2014-05-31 19:45:19 +02:00
Thomas Eichinger
c70ae14ff0 cleanup licenses to fix #392 2014-05-27 11:54:55 +02:00
Martin Lenders
2362623490 Fix trailing whitespaces
Fixes #1138
2014-05-26 14:54:23 +02:00
Thomas Eichinger
1e983c9670 s/PROJECT/APPLICATION/g
fixes #548
2014-05-26 13:21:09 +02:00
René Kijewski
4e4f908379 Initial import of the x86 port
Currently this works only in qemu.
2014-05-25 13:40:29 +02:00
Oleg Hahm
ad28f4f1c0 cosmetics: converted tabs into spaces for lpc1768 header 2014-05-24 15:57:29 +02:00
Oleg Hahm
ef4fe6616c documentation: unified descriptive text for cpu 2014-05-24 15:56:57 +02:00
Oleg Hahm
a2db556139 cosmetics: cleaned up arm_common.h
* converted tabs to white spaces, fixed indentation, and removed SVN clutter
2014-05-24 15:16:26 +02:00
Oleg Hahm
de6e70c594 copyriot: fixed copyriot header for arm_common 2014-05-24 15:12:36 +02:00
René Kijewski
1b89f334e3 msp430: provide oneway-malloc implicitly
For MSP430 boards oneway-malloc is already used *if* `malloc.h` was
included. The problem is that `malloc.h` is not a standard header, even
though it is common. `stdlib.h` in the right place to look for
`malloc()` and friends.

This change removes this discrepancy. `malloc()` is just named like
that, without the leading underscore. The symbols now are weak, which
means that they won't override library functions if MSP's standard
library will provide these functions at some point. (Unlikely, since
using `malloc()` on tiny systems is less then optimal ...)

Closes #1061 and #863.
2014-05-22 15:40:25 +02:00
Oleg Hahm
bf00b019e4 documentation: CMSIS cleanup
Put all CMSIS documentation into a dedicated subgroup of cpu.
2014-05-22 13:01:36 +02:00
René Kijewski
06eb95d687 Merge pull request #1216 from LudwigOrtmann/issue-1215
native: set _native_pid correctly in daemon mode
2014-05-20 14:09:44 +02:00
Ludwig Ortmann
c9f68e79b9 native: set _native_pid correctly in daemon mode
This fixes a bug that leads to all unix sockets being created as
`/tmp/riot.tty.0`.
2014-05-20 08:53:26 +02:00
Oleg Hahm
31351a0dc0 msp430: workaround: define errno values if not provided by MSP430 lib 2014-05-19 18:54:20 +02:00
Oleg Hahm
9bef59cc55 documentation: fix CMSIS doxygen for SAM3x8e 2014-05-19 10:45:05 +02:00
Oleg Hahm
ef5ec344fd core: prefix API functions correctly
Also changed names for bitarithm functions and rename thread_pid to sched_active_pid.
2014-05-18 08:53:20 +02:00
Ludwig Ortmann
aa4e61fab2 documentation: clean up doxygen mess after cortex
fixes #1190
2014-05-16 19:47:54 +02:00
Ludwig Ortmann
cbf39bf012 native: add missing include
crash.c was missing native_internal.h
2014-05-16 17:24:45 +02:00
Oleg Hahm
5d7f7dd686 Merge pull request #1079 from BytesGalore/add_NORETURNs
core: and cpu: Added NORETURN to functions that should not return
2014-05-16 00:33:20 +02:00
Ludwig Ortmann
9b47af0b54 Merge pull request #1184 from LudwigOrtmann/native_license_unification
Native license unification
2014-05-15 18:36:15 +02:00
Ludwig Ortmann
98bbb80571 documentation: append my email to my name everywhere 2014-05-15 18:07:17 +02:00
Ludwig Ortmann
3a3c04e66e native/tramp.S: add missing license header 2014-05-15 18:07:17 +02:00
Jan S
ba907471f3 fixed printf specifiers 2014-05-15 17:42:57 +02:00
René Kijewski
0b9c0fb475 Merge pull request #1154 from Kijewski/issue-1150
msp430: fix missing members in `struct tm`
2014-05-15 14:59:24 +02:00
Ludwig Ortmann
b43fa2327e native/tramp.S: use ret instead of manual return 2014-05-15 11:38:24 +02:00
Ludwig Ortmann
e0a1217f20 native: refactor one debug/errx use in irq_cpu.c 2014-05-15 11:37:18 +02:00
René Kijewski
55b12034a9 msp430: fix missing members in struct tm
Closes #1150.
2014-05-14 19:57:41 +02:00
Thomas Eichinger
7a031e5669 net: handle macro redefinitions for OS X
undefine macros and reorder header includes to get rid of system
defined macros on OS X

fixes #1165
2014-05-14 19:43:58 +02:00
René Kijewski
d98ebf62cd native: fixup #1145: function declaration 2014-05-14 16:54:34 +02:00
René Kijewski
8038e96d09 Merge pull request #1119 from Kijewski/error_old-style-definition
Exterminate old-style function definitions
2014-05-14 13:31:30 +02:00
Ludwig Ortmann
ba00bdb853 Merge pull request #1159 from thomaseichinger/fix_license_sam3x8e
sam3x8e: fix license to LGPL
2014-05-14 11:53:52 +02:00
Ludwig Ortmann
a109968112 Merge pull request #1156 from LudwigOrtmann/license_header_fix
license: fix license header grammar
2014-05-14 10:22:19 +02:00
Thomas Eichinger
1ab77eea4d fix license to LGPL
fixes #1155 needs @haukepetersen to review
2014-05-14 10:20:32 +02:00
Thomas Eichinger
60b03ab7c1 Merge pull request #1157 from thomaseichinger/fix_licenses
mc1322x: redbee-econotag: fix licenses to LGPL
2014-05-14 10:05:17 +02:00
Thomas Eichinger
38f3ea6d78 fix licenses to LGPL fixes #1148 2014-05-14 10:04:34 +02:00
Ludwig Ortmann
2314915ff2 license: fix license header grammar
insert missing "is"
2014-05-14 09:49:09 +02:00
Ludwig Ortmann
166b88f1ae native: internal getpid syscall 2014-05-14 09:13:57 +02:00
Ludwig Ortmann
4c961bfb6e native: refactor getpid calls 2014-05-14 09:13:57 +02:00
Hauke Petersen
3cc435c074 board: Initial import of arduino-due
- switched to flashing using the programming port
- fixed Makefile.include
- fixes some documentation

- removed newlib nano.specs

- added OSX flashing support

- fixed flasher and port for OSX

- fixed port on OSX

- fixed bossac linux tool

- added license header
2014-05-13 21:20:09 +02:00
Hauke Petersen
31915bfe61 cpu: Initial import of SAM3X8E
- fixed spelling in uart driver
- marked cortexm-common a phony target
- fixed Makefiles
- added reboot interface implementation
- fixed documentation

- added UART0_BUFSIZE define

- added license header

- fixed documentation issues
2014-05-13 21:19:38 +02:00
Hauke Petersen
27133d25fe cpu: Initial import of cortexm_common files
- fixes to cortexm-common
- Added ARM CMSIS headers to cortexm_common
- thread_exit fixes to cortexm-common
- cortexm-common adjusted documentation

- cortexm_common added eINT dINT defines for now
2014-05-13 21:19:18 +02:00
Ludwig Ortmann
27eb2aedc1 native: update README
Move README to to README.md
Fix spelling and markup
2014-05-13 11:25:34 +02:00
René Kijewski
628419eb11 Exterminate old-style function declaration/prototypes 2014-05-12 21:57:09 +02:00
René Kijewski
9a9caf2c68 Exterminate old-style function definitions 2014-05-12 21:57:09 +02:00
Jan S
e7cf6bf745 removed unreachable code 2014-05-09 23:45:07 +02:00
Jan S
350e34f924 typo fix 2014-05-09 23:38:38 +02:00
Martin
4e73169b38 added NORETURNs to functions that should not return
and added `UNREACHABLE();` to hint the compiler unreachable lines

added right signature for first parameter of `thread_stack_init()`
added `UNREACHABLE();` macro to `cpu/lpc1768/atom.c` and `cpu/msp430-common/cpu.c`
2014-05-08 06:25:25 +02:00
René Kijewski
6f3d0871aa core/cpu: put __builtin_unreachable() into one place 2014-05-07 19:24:55 +02:00
Hauke Petersen
7545eff784 core/cpu/board: moved F_CPU define to board 2014-05-06 10:36:09 +02:00
René Kijewski
d19e885fb9 arm_common: no needless _gettimeofday() warning
The `arm_common` syscalls implement `_gettimeofday()` for the benefit of
newlib. The syscall call only work if the `rtc` module or the `vtimer`
modules is transcluded. If neither module is used, a warning is printed
by means of `#warning`.

This warning is useless if the user does not invoke `gettimeofday()`.
Further this warning prevents the use of `-Werror`.

This PR puts the function in its own file, that will only be linked if
it was used. And if the function was used, then a link time error occur
if neither `rtc` nor `vtimer` was transcluded.
2014-05-05 14:45:11 +02:00
Christian Mehlis
8c63eccb1a ARM: fix several warnings 2014-04-30 20:39:35 +02:00
Oleg Hahm
162d9b0008 Merge pull request #1006 from Kijewski/issue-967
msp430: Fix variable usage in cc430-rtc.c
2014-04-30 18:27:27 +02:00
Martin
619039e0e2 add pthread condition variable implementation 2014-04-29 18:39:03 +02:00
René Kijewski
2793426c89 msp430: Fix variable usage in cc430-rtc.c
Closes #967.
2014-04-29 00:04:38 +02:00
René Kijewski
4c66f72ba3 Merge pull request #1022 from LudwigOrtmann/issue_505
native: update support for FreeBSD
2014-04-26 15:51:54 +02:00
Thomas Eichinger
d89faccc78 Merge pull request #1031 from LudwigOrtmann/issue_676
redbee-econotag: fix maca
2014-04-24 10:19:22 +02:00
Ludwig Ortmann
c2b9d94a0c native: add tapsetup-freebsd.sh 2014-04-20 07:31:40 +02:00
Ludwig Ortmann
42aa3d9f5b native: update support for FreeBSD
works with FreeBSD 10.0 amd64/i386

fixes: #505
2014-04-20 07:31:40 +02:00
Ludwig Ortmann
6044dc28dc native: add help option
Closes: #840
2014-04-19 12:44:11 +02:00
René Kijewski
542a2e5d9d Merge pull request #995 from Kijewski/issue-993
Make: exterminate 'clean' buildtarget clutter
2014-04-18 16:11:15 +02:00
Ludwig Ortmann
3a1980af36 redbee-econotag: fix maca
I suspect that the transceiver will still not work as there are many
many warnings, but at least it builds now.

closes: #676
2014-04-18 16:05:23 +02:00
900db3436a native: optionally exit() after last thread has ended
Used when compiled with NATIVE_AUTO_EXIT defined.
2014-04-12 15:47:01 +02:00
René Kijewski
300d6b3e35 Make: exterminate 'clean' buildtarget
Closes #993.

We do not need to descend into the modules to know what to do on
`make clean BOARD=blub`. We can just invoke `rm -rf bin/blub`.

This PR only keeps the descending into the USEPKGs, since they might
want to delete cached/downloaded/extracted data.
2014-04-09 23:07:52 +02:00
Ludwig Ortmann
9f24ae2e62 Merge pull request #946 from Kijewski/native-write
native: don't use RIOT read/write in UART
2014-04-09 18:17:09 +02:00
Ludwig Ortmann
b9ffc1a99e fixup for #710: use subfolder in bin dirs (native)
Update native Makefiles to provide changed object target paths
Fixes #989
2014-04-09 15:25:05 +02:00
Oleg Hahm
aeb54158f6 cpu: satisfy compiler in crash.c 2014-04-09 12:27:53 +02:00
Ludwig Ortmann
ab08fbb5a6 Merge pull request #957 from rousselk/hwtimer-msp430-handle-overflow
Handle race conditions preventing MSP430 timers to be set correctly
2014-04-09 11:21:37 +02:00
Kévin Roussel
b6fbe33539 Handle race conditions preventing timers to be set correctly on MSP430 MCUs
when the counter is incrementing and/or overflowing
2014-04-09 10:28:39 +02:00
René Kijewski
3f59eefbaf Use subfolders in bin dir
Creating all object files in one directory is bound to produce name
clashes. RIOT developers may take care to use unique file names, but
external packages surely don't.

With this change all the objects of a module (e.g. `shell`) will be
created in `bin/$(BOARD)/$(MODULE)`.

I compared the final linker command before and after the change. The
`.o` files (e.g. `startup.o`, `syscall.o` ...) are included in the same
order. Neglecting the changed path name where the `.o` files reside, the
linker command stays exactly the same.

A major problem could be third party boards, because the location of the
`startup.o` needs to the specified now in
`boards/$(BOARD)/Makefile.include`, e.g.
```Makefile
export UNDEF += $(BINDIR)msp430_common/startup.o
```
2014-04-09 00:28:14 +02:00
Oleg Hahm
1e9a43d0f8 Merge pull request #778 from LudwigOrtmann/dependency_files
Make: Prepend path to dependency info files with sed
2014-04-08 23:22:21 +02:00
René Kijewski
2749531324 Merge pull request #789 from LudwigOrtmann/native_gprof
native profiling tools support
2014-04-05 02:26:15 +02:00
Ludwig Ortmann
91814e52ae make: replace MAKEBASE with RIOTBASE
closes https://github.com/RIOT-OS/RIOT/issues/959
2014-04-01 16:40:28 +02:00
Ludwig Ortmann
b2930113ef remove some newlines 2014-04-01 10:47:12 +02:00
Ludwig Ortmann
a1aa0df9ae change new/overlooked Makefiles 2014-04-01 10:44:10 +02:00
Ludwig Ortmann
1bd3f7bb86 pipe through sed instead
addresses: https://github.com/RIOT-OS/RIOT/pull/778#discussion_r10041955
2014-04-01 10:44:10 +02:00
René Kijewski
0b75a11291 native: don't use RIOT read/write in UART 2014-03-30 22:33:50 +02:00
Oleg Hahm
c25b785984 msp430: don't enable Timer 0 by default 2014-03-26 15:00:56 +01:00
Oleg Hahm
c8bf4efbb4 msp430: cc430: handle hwtimer interrupts correctly
TAIFG should count the overflows, instead of using the first CCR for this purpose.
Without this commit ARCH_MAXTIMERS returns the wrong number as
effectively one timer less can be used.

Additional fixed comment style and added timer debug.
2014-03-26 15:00:51 +01:00
Oleg Hahm
ef8bfb38a1 msp430: show overflow counter in hwtimer debug 2014-03-26 14:09:16 +01:00
Oleg Hahm
e93b44e8b5 msp430: remove expensive modulo call 2014-03-26 14:09:16 +01:00
Hauke Petersen
28f267f8f6 Merge pull request #923 from haukepetersen/mbed_enableIRQ
cpu: added enableIRQ implementation to cpu/lpc1768
2014-03-26 13:55:43 +01:00
Hauke Petersen
8a937e1a1c hwtimer: clean up of interfaces to board/cpu 2014-03-26 13:19:18 +01:00
Hauke Petersen
d3678ca9dd cpu: added enableIRG implementation to cpu/lpc1768 2014-03-25 19:54:06 +01:00
Ludwig Ortmann
f490a7065d Merge pull request #700 from LudwigOrtmann/sniper_700
kernel_init: config_load, native: config_load: set id/address to PID
2014-03-19 15:04:19 +01:00
Ludwig Ortmann
0501fe8980 native: config_load: set PID as id, net address 2014-03-18 08:07:30 +01:00
Oleg Hahm
a427cce09b Merge pull request #881 from rousselk/msp430-stackptr-align
Ensure that stack pointer is correctly aligned during thread creation on MSP430
2014-03-17 17:37:49 +01:00
Oleg Hahm
3c54edf4d6 Merge pull request #822 from LudwigOrtmann/reboot_signature
core: change reboot signature.
2014-03-16 18:42:23 +01:00
Ludwig Ortmann
8ef02d3b9d native profiling support
only works with Linux for now
2014-03-14 12:50:50 +01:00
Kévin Roussel
054367c23a Ensure that stack pointer is correctly aligned during thread creation on MSP430 2014-03-13 12:40:57 +01:00
Ludwig Ortmann
9b61d95545 make: don't ignore failures in for loops
Add `|| exit 1` to all constructs like `@for i in $(DIRS) ; do "$(MAKE)" -C $$i ; done ;`, so that compilation stops on the first error.
2014-03-12 11:09:04 +01:00
Ludwig Ortmann
063a15ce9b Change reboot signature.
Change from `void reboot(void)` to `int reboot(int mode)`.
Move reboot definition to core, rename architecture implementations
from reboot to reboot_arch.
Declare reboot mode(s) in kernel.h, reboot_arch in kernel_internal.h
Currently only one reboot mode is handled, its use is enforced.

Rationale:
A reboot function is already defined in <unistd.h> on BSD systems.
(See: http://www.openbsd.org/cgi-bin/man.cgi?query=reboot&sektion=2)
This patch not only allows native to build sensibly on these systems
but also streamlines RIOTs compatability with existing software.
2014-03-10 11:14:27 +01:00
Martin Lenders
49b1f44b2e Merge pull request #804 from LudwigOrtmann/native_include_separation
native/make: Don't use INCLUDES for building any native at all.
2014-03-03 15:12:56 +01:00
Ludwig Ortmann
05dc8ec1cb Merge pull request #790 from LudwigOrtmann/fixup_685
core: fixup for 685
2014-02-28 10:43:14 +01:00
Ludwig Ortmann
2cd3f04fc6 Don't use INCLUDES for building any native at all.
native modules will never need the dynamic INCLUDES, so we define our
own NATIVEINCLUDES. Due to the current make structure, the only way to
not use INCLUDES is to redefine the build rules.
2014-02-27 10:30:30 +01:00
Oleg Hahm
72966fec39 adding sys/time.h for msp-430 2014-02-27 00:17:14 +01:00
Ludwig Ortmann
470bd7f17f Fixup for #685
- use DEVELHELP for native as well
- fix function name in documentation
- improve documentation language/spelling
2014-02-26 21:49:54 +01:00
Oleg Hahm
0c14597ec2 Merge pull request #685 from rousselk/panic
Panic
2014-02-26 16:26:27 +01:00
Oleg Hahm
b4a8788210 fixed typo 2014-02-26 08:18:17 +01:00
Oleg Hahm
07b0cd8863 added gettimeofday syscall
RIOT's gettimeofday needs to be called from syscalls.c to assure that gcc actually links it.

If an RTC if available and enabled it will be used instead.
2014-02-25 17:41:45 +01:00
Kévin Roussel
f4f2519a58 LPC1768 implementation of 'core_panic()'
copied from 'arm_common', for make-related reasons...
2014-02-25 10:50:51 +01:00
Kévin Roussel
4f8a29d892 Implemented the crash-handling/reboot mechanism for ARM-based MCUs 2014-02-25 10:50:51 +01:00
Kévin Roussel
03fe9de135 Implemented crash-handling mechanism for 'native' platform 2014-02-25 10:50:51 +01:00
Kévin Roussel
1183555cc3 Implement the crash-handling/reboot mechanism for MSP430 MCUs 2014-02-25 10:50:51 +01:00
Christian Mehlis
261d414649 native: removed unreachable code 2014-02-25 09:02:39 +01:00
Ludwig Ortmann
86812c2abb make calloc "usable" early on
closes #741

Old versions of the gnu libc uses calloc to allocate dymanic memory
when some error occurs in dlsym.
This results in a segfault as natives calloc wrapper has not been
initialized yet.
As this is a circular dependency and the libc can cope with this, we
just return NULL from the calloc wrapper and hope for the best.

Recent libc versions use a static buffer instead.
2014-02-22 13:08:45 +01:00
Christian Mehlis
0309fecc19 fix warning: invalid suffix on literal
C++11 requires a space between
literal and identifier [-Wliteral-suffix]
2014-02-18 17:05:01 +01:00
Oleg Hahm
b42496475a Merge pull request #724 from rousselk/reboot
Reboot
2014-02-18 13:33:49 +01:00
Christian Mehlis
6578669e46 Merge pull request #718 from Kijewski/issue-693
"Exterminate `} else {`"
2014-02-18 12:42:54 +01:00
Christian Mehlis
cb9c5d00de repace project by application in documentation 2014-02-18 12:28:32 +01:00
Kévin Roussel
dc6f920f33 Merge remote-tracking branch 'origin/reboot' into reboot 2014-02-17 12:00:19 +01:00
René Kijewski
2349d0806e "Exterminate } else {" 2014-02-16 23:29:47 +01:00
Oleg Hahm
6c0482b976 Merge pull request #701 from Kijewski/issue-672
Use `filter` instead of `findstring`
2014-02-16 12:33:29 +01:00
Oleg Hahm
0467181093 replaced tabs with spaces 2014-02-15 17:29:49 +01:00
Oleg Hahm
85a05dd794 added reboot and reset handler for lpc1768 2014-02-15 17:29:49 +01:00
Christian Mehlis
38529e3296 replace all endless for loops by while 2014-02-14 17:47:33 +01:00
Kévin Roussel
4eee19f32c Merge pull request #1 from LudwigOrtmann/native_reboot
implement rudimentary native reboot
2014-02-14 16:35:58 +01:00
Kévin Roussel
f6d7910352 Added while(1) to ensure GCC valids NORETURN; fixed indentation 2014-02-14 16:33:47 +01:00
Ludwig Ortmann
561eefab07 implement rudimentary native reboot 2014-02-14 16:20:36 +01:00
René Kijewski
102dc45382 Eliminate findstring in more places 2014-02-14 14:30:16 +01:00
Kévin Roussel
7ad37edb82 Added while(1) to ensure GCC valids NORETURN; fixed indentation 2014-02-14 12:13:10 +01:00
Kévin Roussel
c33087bdcd Implemented reboot() function for ARM-based MCUs 2014-02-14 11:56:18 +01:00
Kévin Roussel
7073489dac Implemented reboot() function for MSP430 MCUs 2014-02-12 15:26:02 +01:00
Christian Mehlis
d794900386 Merge pull request #666 from LudwigOrtmann/native_valgrind_config
Native valgrind config
2014-02-12 11:01:34 +01:00
Ludwig Ortmann
114aaa65e5 Merge pull request #626 from LudwigOrtmann/issue_621
add EUI-64 support for nativenet
2014-02-11 19:30:23 +01:00
Ludwig Ortmann
336c5159b2 use pkg-config to add valgrind include path
makes knowledge of VALGRIND_VALGRIND_H vs. VALGRIND_H optional
2014-02-11 19:22:39 +01:00
Ludwig Ortmann
2525920426 remove trailing whitespace and newlines 2014-02-11 18:45:06 +01:00
Ludwig Ortmann
d5d3bbcd44 add EUI-64 support for nativenet 2014-02-10 08:33:57 +01:00
Martin
6a29d18324 changed assignment to const char* 2014-02-10 08:29:22 +01:00
Martin
174a75102b changed clonedev assignment according to const string 2014-02-10 08:21:32 +01:00
Ludwig Ortmann
85c6b6587e replace uint16_t with radio_address_t in maca
adpots includes and makes them adhere to the coding conventions
2014-02-07 18:56:04 +01:00
Oleg Hahm
355f6610d5 Merge pull request #482 from OlegHahm/driver_includes
Driver includes
2014-02-07 17:21:45 +01:00
Oleg Hahm
62046d6ea0 Merge pull request #649 from BytesGalore/fix_missing_typecasts
Fix added missing typecasts to stack (arm/msba2) and send/receive buffer (native)
2014-02-07 12:25:08 +01:00
Martin
22b777300d added typecasts for the used send/receive buffer pointer buff 2014-02-07 09:26:56 +01:00
Martin
b4f36f4af9 added typecast for starck_start in arm_cpu to ensure correct calculation 2014-02-07 09:17:21 +01:00
Martin
f19ec9649f added typecast for starck_start in native 2014-02-07 09:14:58 +01:00
Oleg Hahm
70747d8bb4 streamlined driver include pathes 2014-02-05 18:56:47 +01:00
Ludwig Ortmann
5681fcc481 native readme update 2014-02-04 18:41:38 +01:00
Oleg Hahm
fb423e2c48 Merge pull request #606 from OlegHahm/license_issues
added license headers and doxygen file information
2014-02-04 03:01:23 -08:00
Oleg Hahm
d9c31a01e5 addressed comments from @mehlis 2014-02-03 00:47:38 +01:00
Oleg Hahm
4bc6dfbf69 added license headers and doxygen file information
plus replaced tabs with spaces
2014-02-02 22:22:03 +01:00
Ludwig Ortmann
f04eaa3d20 update native readme 2014-02-01 12:10:08 +01:00
Ludwig Ortmann
fd083c95a6 check for active_thread != NULL in syscalls.c before using it
fixes #498
2014-01-31 09:31:22 +01:00
Ludwig Ortmann
f0340b90a2 guard pre-err() warn() calls 2014-01-29 19:13:49 +01:00
Ludwig Ortmann
176f379c7a dont err() but warn() if no thread exists in native_isr_entry 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
796b656e31 force-debug (eINT && in_isr) in DEVELHELP 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
6f5d4dcdb4 block all signals per default 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
bdd4252961 guard setitimer 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
0766b92f7b Don't unblock signals again.
A late signal could kill the process otherwise.
2014-01-29 18:44:42 +01:00
Ludwig Ortmann
2c80f68d62 handle more errors and remove race condition in native_isr_entry 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
a55e85f8d0 guard swapcontext in _native_syscall_leave 2014-01-29 18:44:42 +01:00
Ludwig Ortmann
7f1db86ae2 handle some should-be impossible paths 2014-01-29 18:44:41 +01:00
Ludwig Ortmann
573b154f44 handle select errors EAGAIN | EWOULDBLOCK in lpm 2014-01-29 18:44:18 +01:00
Ludwig Ortmann
3c087107f2 fix call to err() 2014-01-29 16:54:36 +01:00
56ee585c81 update Kaspar's email address
kaspar.schleiser@fu-berlin.de is obsolete.
(2nd try, first try was overwritten by some overzealous documenter)
2014-01-28 11:53:19 +01:00
Ludwig Ortmann
f04c3dc433 Merge pull request #559 from LudwigOrtmann/native_syscall_guards
Native syscall guards
2014-01-24 09:36:26 -08:00
Ludwig Ortmann
d8745e2861 add local debug macro
addresses https://github.com/RIOT-OS/RIOT/pull/559#issuecomment-33241773
2014-01-24 18:26:44 +01:00
Ludwig Ortmann
b22380990f fix DEBUG in syscalls 2014-01-24 17:30:47 +01:00
Ludwig Ortmann
4939473afb guard malloc/free family 2014-01-24 17:30:47 +01:00
Ludwig Ortmann
7685357990 Merge pull request #547 from LudwigOrtmann/native_hwtimer_fix
Native hwtimer fix
2014-01-24 08:10:42 -08:00
Ludwig Ortmann
7148f1db23 change wording
addresses https://github.com/RIOT-OS/RIOT/pull/555#discussion_r9118361
2014-01-23 17:25:41 +01:00
Ludwig Ortmann
f58b312129 improve error messages when tap ioctls fail 2014-01-23 17:16:00 +01:00
Ludwig Ortmann
e32bfa53d0 fix overdue mitigation 2014-01-23 00:03:23 +01:00
Ludwig Ortmann
91ebc1d0b5 improve debug messages 2014-01-22 22:19:53 +01:00
Ludwig Ortmann
332cf8807f fix callback offset 2014-01-22 22:19:53 +01:00
Oleg Hahm
8de53e2b78 Merge pull request #530 from thomaseichinger/msp430-intrinsics.h-fix
safeguard intrinsics.h include in lpm_cpu.c
2014-01-22 10:59:11 -08:00
Ludwig Ortmann
855eea6a53 add missing newlines 2014-01-22 18:26:53 +01:00
Ludwig Ortmann
ca53203f1f Merge pull request #539 from LudwigOrtmann/native_signal_patches
Native signal patches
2014-01-21 08:40:30 -08:00
Ludwig Ortmann
2b4a323a18 unclutter native_isr_entry a bit
remove heap_address - hopefully superflous, does not work in valgrind
remove stale TODO
2014-01-21 17:39:43 +01:00
Ludwig Ortmann
7789bbca16 fix signal trampoline
save and use the program counter on stack
removes race condition in trampoline
also push/pop full memory words explicitly
2014-01-21 17:39:15 +01:00
Oleg Hahm
0409d4b3a1 Merge pull request #521 from OlegHahm/fix_includes_for_msp430
Fix includes for msp430
2014-01-21 04:49:06 -08:00
Ludwig Ortmann
98a2d554b5 osx fixes 2014-01-21 12:30:53 +01:00
Thomas Eichinger
eff2c9aea3 safeguard intrinsics.h include since it is only provided by msp430-gcc >= 4.6 2014-01-21 11:27:21 +01:00
Oleg Hahm
a57b853401 removed own implementation of errno headers 2014-01-20 14:05:47 +01:00
Oleg Hahm
9eebc532ef Merge pull request #459 from rousselk/msp430-lpm-freq
Msp430 lpm freq
2014-01-16 04:57:27 -08:00
Ludwig Ortmann
fc6cd24ece reduce HWTIMERMINOFFSET 2014-01-15 12:40:55 +01:00
Ludwig Ortmann
dbcc898bcc update internal timer on hwtimer_arch_set 2014-01-15 12:40:03 +01:00
Ludwig Ortmann
d3a1c1bda7 add comment
addresses https://github.com/RIOT-OS/RIOT/pull/501#discussion_r8881054
2014-01-15 11:24:59 +01:00
Ludwig Ortmann
921b70d5e8 fix pre-init
set the internal relative time - don't rely on hwtimer_now() being
called externally
2014-01-14 17:23:15 +01:00
Ludwig Ortmann
396f6c2819 fix debug msg 2014-01-14 17:23:03 +01:00
Ludwig Ortmann
6fe1ecd1b4 Merge pull request #479 from LudwigOrtmann/nativenet_lenchck
Nativenet length check and cleanup
2014-01-10 01:47:35 -08:00
Oleg Hahm
fe575d52df Merge pull request #364 from OlegHahm/float_stack_sizes
added a dedicated stacksize for float printfs
2014-01-09 10:48:38 -08:00
Thomas Eichinger
dadd64e2f9 Merge pull request #473 from LudwigOrtmann/nativenet_osx_xmas
add io signal generating child for nativenet in osx
2014-01-09 07:14:34 -08:00
Ludwig Ortmann
83db6f6364 remove superflous include 2014-01-09 12:33:02 +01:00
Ludwig Ortmann
76b017aefd check payload length validity
make sure the payload does not exceed the amount of data received
2014-01-08 14:58:57 +01:00
Ludwig Ortmann
ac0ec1f6b3 nativenet clean up
Make nativenet tap payload type consistent with radio_packet_t
Also remove a trailing space
2014-01-08 14:57:11 +01:00
Kévin Roussel
32a6e168ff function 'lpm_get()' now returns LPM_UNKNOWN by default 2014-01-08 09:59:05 +01:00
Ludwig Ortmann
98d1136761 update native README 2014-01-07 10:20:58 +01:00
Oleg Hahm
775c0dee5c added missing mute prefixes in nativenet and shell 2014-01-05 16:11:08 +01:00
Oleg Hahm
9df07f9238 muting compiler and binutils optionally
Instead of muting all compiler and other binutils output by default,
introduce a variable to make this behaviour configurable.
2014-01-05 16:11:08 +01:00
Oleg Hahm
02612ff0ca further Makefile cleanup 2014-01-05 16:11:08 +01:00
Oleg Hahm
c7d985d371 removed redundant include pathes from Makefiles 2014-01-05 16:11:08 +01:00
Oleg Hahm
26c50522d5 simplified and unified cpu build structure 2014-01-05 16:11:07 +01:00
Kévin Roussel
5d393d270b Sets MCU frequency in 'board.h', instead of the common 'cpu.h' file 2013-12-24 15:41:32 +01:00
Kévin Roussel
2b4febf8df Basic implementation of LPM-related functions for MSP430 MCUs 2013-12-24 15:38:26 +01:00
Ludwig Ortmann
ea8b735232 fix nativenet_send documentation 2013-12-24 11:57:54 +01:00
Ludwig Ortmann
648bdaeed6 add io signal generating child for nativenet in osx 2013-12-24 11:54:00 +01:00
Ludwig Ortmann
1ac1646837 further clean up / filtering for cpu 2013-12-23 00:18:21 +01:00
Ludwig Ortmann
cf87e647c0 make native includes RIOT posix compatible 2013-12-22 23:26:54 +01:00
Ludwig Ortmann
ef315ed662 improve nativenet send functions return type 2013-12-21 16:56:42 +01:00
Ludwig Ortmann
751cfe6475 fix native hwtimer
The hardware timer used relative offsets that were never updated
before. This leads to two problems:
a) later timers will get pushed into the future by the amount of
   previous timers
b) if a short timer is set continuously, a longer timer will never be
   called

Example:
a)
Timer a with 500 ms is set, timer b with 600 ms is set.
timer a expires after 500 ms, timer b will be set to expire in 600 ms
which totals to 1100 ms.
b)
Timer a is set to 500 ms, timer b is set to 600 ms.
Timer a expires and is set again. Now timer a will expire in 500 ms
and timer b will be pushed further into the future. Repeating this
will lead to b never expiring.
2013-12-20 18:55:47 +01:00
Martin Lenders
69809928d3 Make UART0_BUFSIZE configurable by CPU 2013-12-20 11:10:42 +01:00
Oleg Hahm
1cc2767bb4 Merge pull request #318 from OlegHahm/lpc1768
initial support for the mbed NXP LPC168
2013-12-19 09:03:22 -08:00
Oleg Hahm
cdb77c2392 Merge pull request #437 from OlegHahm/include_directives
making include directives consistent
2013-12-19 08:38:14 -08:00
Thomas Eichinger
aa84138531 Merge pull request #451 from OlegHahm/mc1322x_check
Fixes check for Mc1322x  CPU in arm_common
2013-12-19 06:34:58 -08:00
Oleg Hahm
903ec54a43 making include directives consistent 2013-12-19 15:31:37 +01:00
Oleg Hahm
aabef88d20 fix check for used cpu in arm_common 2013-12-19 15:25:12 +01:00
Ludwig Ortmann
50d488e6bc remove suprerfluous thread_yield declaration 2013-12-19 13:05:53 +01:00
Ludwig Ortmann
437c0ee5c9 msp430 lpm stub 2013-12-19 13:04:08 +01:00
Ludwig Ortmann
76cfdc33b1 stack alignment workaround
Should be fixed in thread.c instead, this is just a temporary
workaround to enable msp-430 threads in the mean time.
2013-12-19 13:04:08 +01:00
Ludwig Ortmann
2a8411b6a3 fix main return for msp430
mspgcc handles main specially, this introduces code to make main
behave normally
2013-12-19 13:04:08 +01:00
Ludwig Ortmann
69f6748a7c clean up msp430 cpu-conf.h 2013-12-19 13:04:08 +01:00
Oleg Hahm
37a7393a6b Merge pull request #408 from rousselk/simplify-msp430-headers
Simplify msp430 headers
2013-12-19 02:23:21 -08:00
Kévin Roussel
c1f8106138 Quoted (instead of brackets) the custom header files #includes 2013-12-19 10:22:44 +01:00
Oleg Hahm
ead2e117a1 Merge pull request #439 from OlegHahm/thread_yield_prototype
put prototype for thread_yield() in core/include
2013-12-18 13:36:55 -08:00
Christian Mehlis
2a9aac7f0b Merge pull request #423 from OlegHahm/fix_warnings
Fix warnings
2013-12-18 12:02:37 -08:00
Thomas Eichinger
cfa8879760 Merge pull request #435 from OlegHahm/fix_assembler_ifdef
macros are not handled by the preprocessor in ASM
2013-12-18 11:53:27 -08:00
Oleg Hahm
2cdfc5b585 Merge pull request #382 from OlegHahm/transceiver_return
transceiver return signed values for sending
2013-12-18 09:33:32 -08:00
Oleg Hahm
d87d827d88 transceiver return signed values for sending
negative values indicate an error value
2013-12-18 18:22:59 +01:00
Oleg Hahm
227c847135 put prototype for thread_yield() in core/include 2013-12-18 17:47:49 +01:00
Oleg Hahm
856548c63d macros are not handled by the preprocessor in ASM 2013-12-18 16:56:13 +01:00
Thomas Eichinger
0afb992fc7 changed copyright statement 2013-12-18 11:16:41 +01:00
Thomas Eichinger
1d2f1479b6 hwtimer_wait issue fixed 2013-12-18 11:11:15 +01:00
Thomas Eichinger
1fcb47f9ed fixed interrupt handling for hwtimer 2013-12-18 11:11:15 +01:00
Thomas Eichinger
1e39e7e486 change to the mc1322x IRQ handling
since mc1322x lacks a VIC this is a kind of SW VIC with low latency and
compatibility to the VIC API in mind.
2013-12-18 11:11:14 +01:00
Thomas Eichinger
a1cd29d68e added basic install_irq function 2013-12-18 11:10:21 +01:00
Thomas Eichinger
a26b7ac4ba remove isr.c to change interrupt handling to VIC model 2013-12-18 11:10:20 +01:00
Thomas Eichinger
8aeaea6fdc changed CFLAGS to CFLAGS_BASIC (no -mthumb flag) 2013-12-18 11:10:20 +01:00
Thomas Eichinger
39c69166c5 fixes startup code and adds proper irq handler for mc1322x 2013-12-18 11:10:20 +01:00
Kévin Roussel
c6e43adb62 Removed 'flashrom.c' from the 'msp430-common' directory
since flash management differs with the MSP430 family
2013-12-18 10:51:46 +01:00
Kévin Roussel
63d78a231c Made the headers of files in 'cpu/msp430x16x' and 'cpu/cc430' generic 2013-12-18 10:49:23 +01:00
Kévin Roussel
6428daf9c7 Removed all references to a specific MCU in "generic" files
Inclusion of generic <msp430.h> file is done in cpu.h
2013-12-18 10:49:23 +01:00
Hauke Petersen
edcabf7cb6 Fixed a lot of comments by removing tabs and correcting format. 2013-12-16 14:00:33 +01:00
Hauke Petersen
3785fe956b Fixed doxygen comments, focused on file headers and group definitions 2013-12-16 14:00:24 +01:00
Ludwig Ortmann
0817675f5e fix native hwtimer unsetting
reverts bug introduced by 2bfb062
2013-12-14 00:12:47 +01:00
Ludwig Ortmann
d03d7b1773 clean up native hwtimer 2013-12-14 00:07:49 +01:00
Oleg Hahm
72586f7a6d limit maximum payload size to 255 for nativenet if 6lowpan is used 2013-12-13 18:53:48 +01:00
Christian Mehlis
2bfb06230a fix: native hwtimer backend emulation
searching for the next pending timer was broken
this commit rewrites this functionality
2013-12-11 16:22:14 +01:00
Christian Mehlis
b17ffabce5 reduce minimal timer from 100ms to 10ms 2013-12-10 22:08:49 +01:00