duplo [Tue, 20 Apr 2010 10:12:07 +0000 (10:12 +0000)]
Add implementation for the isComplete method override.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3475
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Tue, 20 Apr 2010 07:51:24 +0000 (07:51 +0000)]
Fix regression.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3474
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 19 Apr 2010 22:54:33 +0000 (22:54 +0000)]
Heap: refactor in order to add more tests.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3473
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 19 Apr 2010 22:53:42 +0000 (22:53 +0000)]
Typos.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3472
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 19 Apr 2010 22:52:01 +0000 (22:52 +0000)]
Reformat.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3471
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 19 Apr 2010 22:49:56 +0000 (22:49 +0000)]
Heap: add heap_freeSpace(), a new function.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3470
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 19 Apr 2010 22:41:40 +0000 (22:41 +0000)]
heap: Fix heap_freemem() when all the heap is full.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3469
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 19 Apr 2010 16:54:41 +0000 (16:54 +0000)]
gfx: fix missing dependency.
The file line.c must be a dependency for gfx/text.c. This fixes
"undefined reference to `gfx_rectFillC'" errors.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3468
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 19 Apr 2010 16:07:08 +0000 (16:07 +0000)]
menu: correctly show the entry at the bottom of the display.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3467
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 19 Apr 2010 16:03:37 +0000 (16:03 +0000)]
kernel: preemptive and cooperative scheduler refactoring.
Cooperative and preemptive scheduler share almost the same code.
Everything can be merged into bertos/kern/proc.c.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3466
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 19 Apr 2010 16:03:35 +0000 (16:03 +0000)]
at91sam7x: force inlining of all the UART ISR functions.
NOTE: this is not just an improvement (that is worth to be applied
anyway), it's also a workaround for a GCC bug
(http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41999): the compiler
corrupts the stack pointer and the frame pointer when calling functions
with at least one parameter inside ISR functions, declared with
__attribute__((interrupt)).
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3465
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 19 Apr 2010 16:03:33 +0000 (16:03 +0000)]
at91sam7x: add -fno-strict-aliasing -fwrapv build options to the example.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3464
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 15:50:12 +0000 (15:50 +0000)]
Add icons to the Board page.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3463
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 15:03:44 +0000 (15:03 +0000)]
Add preset load functionality.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3462
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 15:03:03 +0000 (15:03 +0000)]
Add test for project loading functionality.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3461
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 13:17:30 +0000 (13:17 +0000)]
Remove unwanted code (that search for information into files found using the TOOLCHAIN attribute of the CPU).
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3460
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 13:16:04 +0000 (13:16 +0000)]
Fix typo...
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3459
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 13:14:38 +0000 (13:14 +0000)]
Add stub of preset load method.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3458
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 13:05:46 +0000 (13:05 +0000)]
Use self.project() as readonly property
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3457
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 12:48:03 +0000 (12:48 +0000)]
Add behaviour of the groupbox into the designer form (to not define it into the code)
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3456
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 12:38:13 +0000 (12:38 +0000)]
Setup the nextId overriden method.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3455
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 12:36:41 +0000 (12:36 +0000)]
Add stub of new structure of the wizard preset path.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3454
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 10:59:49 +0000 (10:59 +0000)]
Fix wrong license comments.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3453
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Mon, 19 Apr 2010 10:00:23 +0000 (10:00 +0000)]
wizard: fix typo.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3452
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 09:40:39 +0000 (09:40 +0000)]
Attempt to fix the issue #139.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3451
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 08:42:34 +0000 (08:42 +0000)]
Adapt the BToolchainSearch dialog to the new dir structure.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3450
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Mon, 19 Apr 2010 08:41:57 +0000 (08:41 +0000)]
Add preset loading function.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3449
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Sun, 18 Apr 2010 21:38:19 +0000 (21:38 +0000)]
Fix the pio pins settings everty time we change configuration.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3448
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Sat, 17 Apr 2010 15:04:24 +0000 (15:04 +0000)]
lm3s1968: add keypad driver implementation to the example.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3447
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Sat, 17 Apr 2010 15:04:16 +0000 (15:04 +0000)]
lm3s1968: introduce lm3s_gpioPinRead().
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3446
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Fri, 16 Apr 2010 22:57:55 +0000 (22:57 +0000)]
LPC2: silent warning in nightly test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3445
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Fri, 16 Apr 2010 22:48:41 +0000 (22:48 +0000)]
AX25:add new print function compatible with TNC-2 format.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3444
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Fri, 16 Apr 2010 22:44:16 +0000 (22:44 +0000)]
New module: kfile_debug. Now you can redirect output to the debug console.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3443
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 16 Apr 2010 15:45:54 +0000 (15:45 +0000)]
proc: change proc_yield() behaviour.
The current proc_yield() behaviour is to add the current process to the
ready list and call the scheduler. However, if a process is running at
the highest priority and calls proc_yield() it is added into the ready
list, but immediately re-executed by the scheduler starving all the
other processes.
The behaviour of proc_yield() has been changed so that it first picks
the next process from the ready list and then enqueue the current
running process into the ready list.
In this way the semantic of proc_yield() is exactly the same as
timer_delay(), or any other kind of delay that requires a context
switch.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3442
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Fri, 16 Apr 2010 15:34:14 +0000 (15:34 +0000)]
AX25: refactor in order to add the possibility to specify a path for
sent frames.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3441
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Thu, 15 Apr 2010 15:00:59 +0000 (15:00 +0000)]
lm3s1968: correctly configure GPIO pins to work as UART pins also for UART1 and UART2.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3440
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 14 Apr 2010 10:47:48 +0000 (10:47 +0000)]
Bump up version.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3439
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 14 Apr 2010 10:47:42 +0000 (10:47 +0000)]
lm3s1968: integrate the porting in the wizard.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3438
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 14 Apr 2010 10:47:37 +0000 (10:47 +0000)]
CM3: integrate the Cortex-M3 porting in the wizard.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3437
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 14 Apr 2010 10:47:33 +0000 (10:47 +0000)]
rit128x96: integrate the driver in the wizard.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3436
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 14 Apr 2010 10:47:27 +0000 (10:47 +0000)]
CM3: generic timer (Systick) driver implementation.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3435
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 14 Apr 2010 10:47:23 +0000 (10:47 +0000)]
CM3: remove unneeded file ser_cm3.c.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3434
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 17:13:49 +0000 (17:13 +0000)]
lm3s1968: some optimizations in the example application.
text_xprintf() accepts printf()-like format, so there's no need to use
an additional buffer and format the string with snprintf().
Moreover, enlarge the stack of the processes to (KERN_MINSTACKSIZE * 2),
to avoid stack overflow problems with debugging enabled.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3433
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 16:33:27 +0000 (16:33 +0000)]
lm3s1968: restore prompt on UART0 in the example.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3432
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 16:28:50 +0000 (16:28 +0000)]
rit128x96: small code optimizations.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3431
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 16:28:49 +0000 (16:28 +0000)]
lm3s1968: offload Serial structure from the serial prompt process's stack.
In addition make some small code readability improvements.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3430
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 16:28:48 +0000 (16:28 +0000)]
lm3s1968: replace switch-case statements with if-then-else.
Some old compilers may trigger (e.g., Sourcery G++ Lite 2008q3-66
4.3.2) may trigger some bugs with large switch-case.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3429
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 16:28:47 +0000 (16:28 +0000)]
lm3s1968: remove unneeded build options in the example.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3428
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 13:39:51 +0000 (13:39 +0000)]
rit128x96: add distinct configuration and hardware definition files.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3427
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 13:13:45 +0000 (13:13 +0000)]
lm3s1968: add a simple serial prompt to the example.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3426
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 13:13:44 +0000 (13:13 +0000)]
lm3s1968: generic UART driver.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3425
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 13:13:42 +0000 (13:13 +0000)]
CM3: allow to declare ISR functions as static.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3424
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 13 Apr 2010 13:13:34 +0000 (13:13 +0000)]
CM3: generic IRQ management module.
Define an IRQ management module generic for all the Cortex-M3 family
processors.
Moreover, automatically set the appropriate priority and enable the IRQ
when registering an ISR via sysirq_setHandler().
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3423
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Tue, 13 Apr 2010 11:52:05 +0000 (11:52 +0000)]
Update checksum value.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3422
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 12 Apr 2010 22:15:04 +0000 (22:15 +0000)]
LPC2xxx: add kernel test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3421
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 12 Apr 2010 21:34:37 +0000 (21:34 +0000)]
LPC2xxx: add timer test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3420
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 12 Apr 2010 21:33:34 +0000 (21:33 +0000)]
LPC2xxx: add timer support.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3419
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 12 Apr 2010 21:32:25 +0000 (21:32 +0000)]
LPC2xxx: Add VIC sources to common cdef file.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3418
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Mon, 12 Apr 2010 21:24:07 +0000 (21:24 +0000)]
LPC2xxx: Add Vectored Interrupt Controller (VIC) driver.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3417
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Sun, 11 Apr 2010 15:03:55 +0000 (15:03 +0000)]
lm3s1968-gpio: coding style fixes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3416
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Sun, 11 Apr 2010 13:46:24 +0000 (13:46 +0000)]
armtest: remove deprecated build option -gen-debug.
This option may trigger build errors with recent toolchains.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3415
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Sun, 11 Apr 2010 13:46:05 +0000 (13:46 +0000)]
rit128x96: fix nightly_test warnings.
Fix the following nightly test warnings:
./bertos/drv/lcd_rit128x96.h:39:28: warning: drv/clock_lm3s.h: No such file or directory
./bertos/drv/lcd_rit128x96.h:40:26: warning: drv/ssi_lm3s.h: No such file or directory
./bertos/drv/lcd_rit128x96.h:41:27: warning: drv/gpio_lm3s.h: No such file or directory
./bertos/drv/lcd_rit128x96.c:110: warning: implicit declaration of function 'LCD_WRITE'
./bertos/drv/lcd_rit128x96.c:112: warning: implicit declaration of function 'LCD_READ'
./bertos/drv/lcd_rit128x96.c:122: warning: implicit declaration of function 'LCD_SET_COMMAND'
./bertos/drv/lcd_rit128x96.c:162: warning: implicit declaration of function 'LCD_SET_DATA'
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3414
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 16:29:53 +0000 (16:29 +0000)]
CM3: add missing include switch_ctx_cm3.h.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3413
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 16:29:52 +0000 (16:29 +0000)]
lm3s1968: rename the function __delay() to lm3s_busyWait().
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3412
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 15:30:46 +0000 (15:30 +0000)]
CM3: generic context switch implementation.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3411
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 15:05:22 +0000 (15:05 +0000)]
CM3: trim the startup IRQ vector table.
The startup IRQ vector table will be replaced by another one in RAM
after the IRQ module initialization and the reset handler disables IRQ
at the very beginning, so we can safely trim the rest of this table to
reduce the memory footprint and save some space in flash.
For example, for the lm3s1968 example:
<before>
text data bss dec hex filename
23772 1036 18140 42948 a7c4 images/lm3s1968.elf
<after>
text data bss dec hex filename
23596 1036 18140 42772 a714 images/lm3s1968.elf
Moreover, make the vector IRQ table more generic (common for all the
Cortex-M3-based boards).
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3410
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 14:30:21 +0000 (14:30 +0000)]
Coding style fixes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3409
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 14:27:35 +0000 (14:27 +0000)]
lm3s1968: use the generic OLED-RIT-128x96 (P14201) driver in the example.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3408
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 14:27:34 +0000 (14:27 +0000)]
LCD: generic OLED-RIT-128x96 (P14201) graphic display driver implementation.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3407
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 14:27:32 +0000 (14:27 +0000)]
Coding style fixes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3406
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 14:27:31 +0000 (14:27 +0000)]
lm3s1968: generic KFile-compliant SSI bus implementation.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3405
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Fri, 9 Apr 2010 14:27:30 +0000 (14:27 +0000)]
icons: add missing C includes in flipimage.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3404
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Thu, 8 Apr 2010 16:54:42 +0000 (16:54 +0000)]
lm3s1968: add graphic to the example.
Show the BeRTOS bouncing logo and statistics informations to the OLED
display.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3403
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Thu, 8 Apr 2010 16:54:40 +0000 (16:54 +0000)]
lm3s1968: RIT128x96x4 OLED display driver.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3402
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Thu, 8 Apr 2010 08:08:35 +0000 (08:08 +0000)]
Fix doxygen-style documentation.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3401
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 7 Apr 2010 10:54:08 +0000 (10:54 +0000)]
lm3s1968: add generic GPIO configuration subsystem.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3400
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Wed, 7 Apr 2010 09:44:26 +0000 (09:44 +0000)]
lm3s1968: Synchronous Serial Interface (SSI) driver.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3399
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:23 +0000 (09:28 +0000)]
lm3s1968: enable kernel preemption in the example.
Moreover, add a simple testcase to measure the voluntary context switch
overhead.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3398
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:22 +0000 (09:28 +0000)]
CM3: kernel preemption documentation.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3397
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:21 +0000 (09:28 +0000)]
CM3: kernel preemption.
Kernel preemptible is implemented using the PendSV IRQ. Inside the
SysTick handler when a process expires its time quantum a pending
(PendSV) call is triggered.
At the end of the SysTick handler the PendSV handler is called, using
the architecture's tail-chaining functionality (an ISR call without the
overhead of state saving and restoration between different IRQs), and we
perform the stack-switching.
Voluntary context switch is implemented as a soft-interrupt call
(SVCall), so any process is always suspended / resumed from an interrupt
context.
NOTE: interrupts must be disabled or enabled when resuming a process
context in function of the type of suspension. If a process was
suspended by a voluntary context switch IRQs must be disabled on resume
(voluntary context switch always happen with IRQs disabled). Instead, if
a process was suspended by the kernel preemption IRQs must be always
re-enabled, because the PendSV handler resumes directly the process
context.
If CONFIG_KERN_PREEMPT is not enabled the cooperative implementation
fallback to the default stack-switching mechanism performed directly in
thread-mode and implemented as a normal function call.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3396
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:20 +0000 (09:28 +0000)]
CM3: use a distinct stack for handler-mode and thread-mode.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3395
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:19 +0000 (09:28 +0000)]
lm3s1968: rewrite the startup vector table in assembly.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3394
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:18 +0000 (09:28 +0000)]
CM3: introduce sysirq_setPriority().
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3393
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:17 +0000 (09:28 +0000)]
lm3s1968: delay few cycles after enabling the UART peripheral clock.
Introduce a small spinning delay to give the oscillator time to
stabilize.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3392
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:16 +0000 (09:28 +0000)]
lm3s1968: make __delay() naked and usable outside the clock module.
In this way we're sure __delay() won't be inlined nor optimized by the
compiler and it can be used suitably as a simple spinning delay.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3391
38d2e660-2303-0410-9eaa-
f027e97ec537
arighi [Tue, 6 Apr 2010 09:28:15 +0000 (09:28 +0000)]
CM3: add -mthumb to the linker option.
This instructs the linker to link the binary with thumb code only, so we
can use all the built-in C functions.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3390
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Sat, 3 Apr 2010 14:27:35 +0000 (14:27 +0000)]
Do not test init_lpc2 for now.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3389
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Sat, 3 Apr 2010 11:03:02 +0000 (11:03 +0000)]
Convert newlines to unix style.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3388
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Sat, 3 Apr 2010 10:55:23 +0000 (10:55 +0000)]
LPC2: add LPC2378 example project.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3387
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Sat, 3 Apr 2010 10:35:20 +0000 (10:35 +0000)]
LPC2: add LPC2378 wizard definitions.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3386
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Sat, 3 Apr 2010 10:22:28 +0000 (10:22 +0000)]
LPC2: add init module.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3385
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Fri, 2 Apr 2010 18:13:08 +0000 (18:13 +0000)]
AT91SAM7: add compile time pll constant computation.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3384
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Fri, 2 Apr 2010 10:31:19 +0000 (10:31 +0000)]
Add some logic to display the presets into the preset page.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3383
38d2e660-2303-0410-9eaa-
f027e97ec537
duplo [Fri, 2 Apr 2010 10:23:23 +0000 (10:23 +0000)]
Add script to generate presets from Wizard-created projects.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3382
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Fri, 2 Apr 2010 10:01:37 +0000 (10:01 +0000)]
AT91SAM7: Use correct number of flash wait states; set correct FMCN.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3381
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Fri, 2 Apr 2010 10:01:25 +0000 (10:01 +0000)]
AT91SAM7: add FMCN shifts.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3380
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Fri, 2 Apr 2010 09:56:44 +0000 (09:56 +0000)]
DIV_ROUNDUP: new macro.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3379
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Thu, 1 Apr 2010 17:18:12 +0000 (17:18 +0000)]
AT91SAM7: Increase flash access speed.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3378
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Thu, 1 Apr 2010 17:13:33 +0000 (17:13 +0000)]
AT91SAM7: use new startup files.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3377
38d2e660-2303-0410-9eaa-
f027e97ec537
batt [Thu, 1 Apr 2010 17:12:39 +0000 (17:12 +0000)]
ARM7TDMI: add sections for exception handlers.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@3376
38d2e660-2303-0410-9eaa-
f027e97ec537