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

562 Commits

Author SHA1 Message Date
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