asterix [Fri, 2 Sep 2011 16:00:45 +0000 (16:00 +0000)]
Read max data rating of sd. Add fuction to read the SSR sd register. Add read block function. Some fixes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5011
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 2 Sep 2011 15:59:09 +0000 (15:59 +0000)]
Use dmac for data blk transfer from sd. Fix set bus with function. Clean up.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5010
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 2 Sep 2011 15:57:56 +0000 (15:57 +0000)]
Add missing define.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5009
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 1 Sep 2011 08:20:23 +0000 (08:20 +0000)]
Reformat fuction to avoid alignement problem.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5008
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 1 Sep 2011 08:19:07 +0000 (08:19 +0000)]
Add bitarray module to build its test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5007
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 1 Sep 2011 08:18:12 +0000 (08:18 +0000)]
Silent warnings.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5006
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Wed, 31 Aug 2011 15:29:44 +0000 (15:29 +0000)]
Add search fist non zero bit for bitarray. This implemention is platform independent using the De Bruijin algorithm.
Signed off by Lafras Henning <lafras@xietel.com>.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5005
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 30 Aug 2011 17:02:23 +0000 (17:02 +0000)]
Fix set bus width function and factorize it. Add status check errors. Other minor fixes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5004
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 30 Aug 2011 16:59:50 +0000 (16:59 +0000)]
Add some fuction to read block from sd using dmac.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5003
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 30 Aug 2011 16:58:30 +0000 (16:58 +0000)]
Add missing define.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@5002
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 4 Aug 2011 17:41:22 +0000 (17:41 +0000)]
Fix send command of controls loop. Clean up.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4993
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 4 Aug 2011 17:37:44 +0000 (17:37 +0000)]
Refactor internal sd api to take the sd context.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4992
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 4 Aug 2011 14:31:28 +0000 (14:31 +0000)]
Use log for all messages. Refactor and clean command code.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4991
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Wed, 3 Aug 2011 17:46:00 +0000 (17:46 +0000)]
Clean up, and continue the develop.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4990
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Wed, 3 Aug 2011 08:47:29 +0000 (08:47 +0000)]
Compile these functions only for sam3x.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4989
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 2 Aug 2011 17:33:48 +0000 (17:33 +0000)]
Read 4byte each time from reply register.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4988
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 2 Aug 2011 17:21:18 +0000 (17:21 +0000)]
Add first implementation of hsmci controller for sam3x.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4987
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 2 Aug 2011 17:19:48 +0000 (17:19 +0000)]
Add first implementation of new sd api.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4986
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 2 Aug 2011 17:18:36 +0000 (17:18 +0000)]
Define response offest register.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4985
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 2 Aug 2011 08:35:10 +0000 (08:35 +0000)]
The timer delay takes already ms, fixed it.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4984
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 25 Jul 2011 13:56:30 +0000 (13:56 +0000)]
Fix typos.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4983
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 25 Jul 2011 09:26:40 +0000 (09:26 +0000)]
Add hsmci (sd/mmc) register definition for sam3x.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4982
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 22 Jul 2011 07:33:08 +0000 (07:33 +0000)]
Readd the buffer len settings for old compatibility.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4981
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 21 Jul 2011 16:41:43 +0000 (16:41 +0000)]
Enable the receiver.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4980
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 21 Jul 2011 16:40:57 +0000 (16:40 +0000)]
Power on all devices.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4979
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 21 Jul 2011 15:50:07 +0000 (15:50 +0000)]
Add i2s implementation for the sam3x.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4978
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 21 Jul 2011 15:49:29 +0000 (15:49 +0000)]
Add alpha api implementation for i2s module.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4977
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Wed, 20 Jul 2011 10:28:16 +0000 (10:28 +0000)]
Reformat.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4976
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 18 Jul 2011 14:37:11 +0000 (14:37 +0000)]
Fix comment.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4975
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 18 Jul 2011 14:32:50 +0000 (14:32 +0000)]
Set volume on both channel. Semplfy the code.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4974
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 18 Jul 2011 13:37:21 +0000 (13:37 +0000)]
Move some settings into cfg file.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4973
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 15 Jul 2011 16:34:48 +0000 (16:34 +0000)]
Clean up and write the first implementation of i2s module for sam3x.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4972
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 15 Jul 2011 16:28:08 +0000 (16:28 +0000)]
Add board implentation of the codec hw.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4971
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 15 Jul 2011 16:25:52 +0000 (16:25 +0000)]
Implement some fuctions to manage codec through 2 wire connection. Add configuration parameter
into the cfg module.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4970
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 14 Jul 2011 17:20:58 +0000 (17:20 +0000)]
Define wm8731 context, add log.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4969
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 14 Jul 2011 17:09:43 +0000 (17:09 +0000)]
Add first implentatio of ssc module for sam3x.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4968
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 14 Jul 2011 17:08:25 +0000 (17:08 +0000)]
Add first implementation of wm8731 audio codec module.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4967
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 14 Jul 2011 17:07:48 +0000 (17:07 +0000)]
Add DMAC's register definitions.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4966
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 14 Jul 2011 17:06:29 +0000 (17:06 +0000)]
Add some missign register defines. Reformat.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4965
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 12 Jul 2011 10:25:05 +0000 (10:25 +0000)]
Fix the macro alignment bug.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4964
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 10:07:51 +0000 (10:07 +0000)]
Remove unneeded file.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4957
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 10:04:02 +0000 (10:04 +0000)]
Reorder includes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4956
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 09:56:53 +0000 (09:56 +0000)]
Fix sam3n example name, and re-add the others project.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4955
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 09:55:26 +0000 (09:55 +0000)]
Revert commit.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4954
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 09:32:41 +0000 (09:32 +0000)]
Comply the prj to the new name.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4953
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 09:13:13 +0000 (09:13 +0000)]
Remane the prj to insert it into nightly test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4952
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 09:05:59 +0000 (09:05 +0000)]
Comply the demo project to new spi dma interface.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4951
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 09:04:24 +0000 (09:04 +0000)]
Add spi with dma implementation for sam3, and define generic header for both. Note: this module should be
refactor!
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4950
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 13 Jun 2011 09:00:45 +0000 (09:00 +0000)]
Add ssc pins definition for sam3 family.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4949
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Fri, 10 Jun 2011 16:27:07 +0000 (16:27 +0000)]
sam3 i2c: Fix handling of CR start/stop bits and simplify initialization.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4948
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 10 Jun 2011 10:13:01 +0000 (10:13 +0000)]
Move the pdc definition in separate file and comply the other headers.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4947
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 10 Jun 2011 10:09:37 +0000 (10:09 +0000)]
Add ssc register defines for sam3x.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4946
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Thu, 9 Jun 2011 16:11:41 +0000 (16:11 +0000)]
Add hw defines for i2c bitbang.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4945
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Thu, 9 Jun 2011 15:51:49 +0000 (15:51 +0000)]
sam3 i2c: change stop function name, and read before set is not needed.
Move set stop bit before reading a byte, and wait transfer bit complete
when reading last byte.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4944
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Thu, 9 Jun 2011 15:51:48 +0000 (15:51 +0000)]
sam3 i2c: fix slave address setting.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4943
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Mon, 6 Jun 2011 11:07:01 +0000 (11:07 +0000)]
sam3 ethernet: remove kludge to fix early sam3x-ek ethernet.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4942
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Mon, 6 Jun 2011 11:06:59 +0000 (11:06 +0000)]
sam3: add twi definitions for SAM3N, SAM3S and SAM3U
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4941
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Tue, 31 May 2011 15:53:53 +0000 (15:53 +0000)]
sam3: add TWI (i2c) driver.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4940
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Tue, 31 May 2011 15:53:51 +0000 (15:53 +0000)]
sam3: add twi to generic hw include file.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4939
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Mon, 30 May 2011 15:51:23 +0000 (15:51 +0000)]
sam3x: add TWI register definitions, and add peripherals port defines.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4938
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Mon, 30 May 2011 13:46:38 +0000 (13:46 +0000)]
sam3x: add TWI I/O pins defines.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4937
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Mon, 30 May 2011 13:46:37 +0000 (13:46 +0000)]
nand driver: change some logging levels.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4936
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Fri, 27 May 2011 10:37:26 +0000 (10:37 +0000)]
Enable arduino-mega_aprs nightly test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4935
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Fri, 27 May 2011 10:27:23 +0000 (10:27 +0000)]
Update triface empty and kernel templates and enable them in nightly test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4934
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Fri, 27 May 2011 10:15:42 +0000 (10:15 +0000)]
Update triface example and fix nightly tests
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4933
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Fri, 27 May 2011 09:17:06 +0000 (09:17 +0000)]
Fix nightly test warnings in hashtable implementation.
The warning is reported with latest versions of GCC, starting
from 4.5.
The array definition didn't use a constant expression (as defined
by the standard). Defining an enum value fixes the issue.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4932
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 14:53:15 +0000 (14:53 +0000)]
Fix compilation issues in sam7 tcp server example.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4931
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 14:42:37 +0000 (14:42 +0000)]
Update sam7x tcp server project and prepare for nightly test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4930
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 14:03:23 +0000 (14:03 +0000)]
Rename sam7 tcp server example.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4929
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:47:50 +0000 (13:47 +0000)]
sam3x tcp_server: use the correct input function in netif
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4928
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:33 +0000 (13:41 +0000)]
Enable all arduino nightly tests
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4927
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:31 +0000 (13:41 +0000)]
Update arduino empty template, make it compile
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4926
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:26 +0000 (13:41 +0000)]
Update arduino kernel template, make it compile
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4925
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:23 +0000 (13:41 +0000)]
Update arduino kernel footprint benchmark, make it compile
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4924
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:19 +0000 (13:41 +0000)]
Update arduino context switch benchmark, fix compiling issues
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4923
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:15 +0000 (13:41 +0000)]
Update sam3x tcp server example to the latest Ethernet changes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4922
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:13 +0000 (13:41 +0000)]
Update the tcp_server example to use the correct ip input callback.
Use tcpip_input() as the network interface function, it's required when
using a kernel.
Change the IP address shown into a string and add a comment.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4921
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:11 +0000 (13:41 +0000)]
Make MAC address configurable using hw files.
Users can now modify the hw_eth.c file to change MAC address. Adjust the
drivers accordingly.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4920
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 13:41:08 +0000 (13:41 +0000)]
Fix lwIP ethernet interface port.
Remove leftovers from old lwIP ethernetif ports and
only use the new API.
The same processing is done in upper layers when using tcpip_input as
the input function of netif.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4919
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 24 May 2011 08:07:13 +0000 (08:07 +0000)]
Fix warnings in nightly tests
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4918
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 23 May 2011 16:39:56 +0000 (16:39 +0000)]
Implement the dac streaming api.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4917
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 23 May 2011 16:37:20 +0000 (16:37 +0000)]
Fix comment.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4916
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Mon, 23 May 2011 16:36:49 +0000 (16:36 +0000)]
Fix callback type.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4915
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Mon, 23 May 2011 08:30:34 +0000 (08:30 +0000)]
Fix some minor bugs and warnings in the new PI tests.
Signed-off-by: Dario Faggioli <raistlin@linux.it>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4914
38d2e660-2303-0410-9eaa-
f027e97ec537
aleph [Wed, 18 May 2011 16:37:04 +0000 (16:37 +0000)]
sam3x-ek sdram initialization: add needed includes
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4913
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 16:42:41 +0000 (16:42 +0000)]
Regenerated arduino aprs project and enable it in nightly tests.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4912
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 16:35:21 +0000 (16:35 +0000)]
Remove warnings from nightly tests.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4911
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 14:08:06 +0000 (14:08 +0000)]
Fix compilation issues in sem_test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4910
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 14:08:05 +0000 (14:08 +0000)]
Add high level documentation to priority inheritance algorithms.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4909
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 14:08:03 +0000 (14:08 +0000)]
Add priority inheritance implementation for Semaphores.
Introduce the support for the Priority Inheritance protocol (PI [1])
when using kernel semaphores. The aim of the protocol is to avvoid
the phenomenon known as priority inversion. This happens when a
high priority process blocks on a mutex/semaphore own by a low priority
one, which is then preempted by a third process, with priority in the
middle between the previous two and not using any semaphore. What
happens is, in fact, that the high priority process is delayed by
the medium priority one, and this is usually a bad thing... Feel
free to ask NASA [2] !!!
So, in case we have the following `process(prio)', sharing a couple of
semaphores:
> test1(2): Start.
> test2(3): Start.
> test3(4): Start.
> test4(5): Start.
> test6(7): Start.
> test7(8): Start.
> test8(9): Start.
And the following one, not using any semaphore at all.
> test5(6): Start.
Then without this commit, the finishing time of all the processes is as
follows:
> Main: I-O latency of 1 = 375ms
> Main: I-O latency of 2 = 374ms
> Main: I-O latency of 3 = 374ms
> Main: I-O latency of 4 = 373ms
> Main: I-O latency of 5 = 156ms
> Main: I-O latency of 6 = 372ms
> Main: I-O latency of 7 = 372ms
> Main: I-O latency of 8 = 371ms
With the protocol enabled we have:
> Main: I-O latency of 1 = 376ms
> Main: I-O latency of 2 = 376ms
> Main: I-O latency of 3 = 375ms
> Main: I-O latency of 4 = 375ms
> Main: I-O latency of 5 = 374ms
> Main: I-O latency of 6 = 217ms
> Main: I-O latency of 7 = 217ms
> Main: I-O latency of 8 = 216ms
As it is clear, in the non-PI enabled case, test5 'disturbs' the
processes with priority higher than 6, i.e., test{6,7,8}, by preventing
the lower priority processes that are owning the semaphore to run and
release it. On the other hand, when PI is on duty, the highest priority
processes are able to complete without being interrupted by test5,
thanks to the priority lending enacted by the protocol.
In order of making it possible to enable the implemented bits at
configure/compile time, the CONFIG_KERN_PRI_INHERIT switch has been
added, and it is part of cfg_proc.h, mainly because priority inheritance is
often considered a feature of the scheduler, more than of the blocking
mechanisms (but all this can be changed easily!).
Introduced for and only tested in emulation mode on x86.
[1] L. Sha, R. Rajkumar, and J. P. Lehoczky, "Priority Inheritance
Protocols: An Approach to Real-Time Synchronization". IEEE Transactions
on Computers 39 (9): 1175–1185.
[2] http://research.microsoft.com/en-us/um/people/mbj/Mars_Pathfinder/
Signed-off-by: Dario Faggioli <raistlin@linux.it>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4908
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 14:07:59 +0000 (14:07 +0000)]
Add a priority inversion test for Semaphores.
Introduce a test case in sem_test.c for a typical priority
inversion situation where some high and low priority processes
share one or more semaphores and are disturbed by a non-interacting
medium priority process. The test shows, by logging the finishing
time of the procecsses, that the execution of an high priority
process can be noticeably delayed by someone with lower priority
because of interactions happening on semaphores.
Signed-off-by: Dario Faggioli <raistlin@linux.it>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4907
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 17 May 2011 13:58:04 +0000 (13:58 +0000)]
Add wizard tag.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4906
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Tue, 17 May 2011 10:10:47 +0000 (10:10 +0000)]
Add copyright and fix includes.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4905
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 09:59:17 +0000 (09:59 +0000)]
Documentation updates.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4904
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 09:49:49 +0000 (09:49 +0000)]
Kernel project main.c file implemented. Necessary libraries modified in cfg folder.
Signed-off-by: Andrea Scalise <andreascalo@gmail.com>
Signed-off-by: Matteo Silvestri <matteosilv@gmail.com>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4903
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 09:49:46 +0000 (09:49 +0000)]
Kernel project template structure added. Main.c file is still empty. Only basic modules present (like empty project).
Signed-off-by: Andrea Scalise <andreascalo@gmail.com>
Signed-off-by: Matteo Silvestri <matteosilv@gmail.com>
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4902
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 09:49:39 +0000 (09:49 +0000)]
Use a shorter name for stm32 Discovery board.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4901
38d2e660-2303-0410-9eaa-
f027e97ec537
lottaviano [Tue, 17 May 2011 09:49:37 +0000 (09:49 +0000)]
Better error handling in parser_register_cmd()
The parser_register_cmd() function does not return any error in case the
hashtable used for storing the commands is full, a condition that is
hard to debug.
This patch modifies the function prototype to return success or failure
and changes the REGISTER_CMD macro to detect the error.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4900
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 13 May 2011 15:46:59 +0000 (15:46 +0000)]
Reenable arm and avr nightly test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4899
38d2e660-2303-0410-9eaa-
f027e97ec537
asterix [Fri, 13 May 2011 15:26:56 +0000 (15:26 +0000)]
Exclude these files from nightly test.
git-svn-id: https://src.develer.com/svnoss/bertos/trunk@4898
38d2e660-2303-0410-9eaa-
f027e97ec537