Re: How to start contributing towards RTEMS project

2013-09-02 Thread Ritesh Harjani
Thanks all for the wonderful response. I hope this post will help others as
well who want to contribute to RTEMS development.

Currently I have enabled all the testcases on raspberry pi including the
libmm tests. Will start some running some tests to get the feel.
Also, meanwhile I will get the setup ready for LM4F120 as well.

Thanks
Ritesh







On Tue, Sep 3, 2013 at 2:19 AM, Alan Cudmore  wrote:

> The Raspberry Pi could use drivers:
> SPI / SD card access,
> I2C Bus
> Ethernet ( this could be hard since it is a USB device ) ,
> HDMI/graphics console,
> Sound?
>
> Alan
>
>
> On 9/2/2013 4:35 PM, Karel Gardas wrote:
>
>> On 09/ 2/13 07:33 AM, Ritesh Harjani wrote:
>>
>>> I have Raspberry pi + ti stellaris lm4f120 launchpad, if it helps.
>>>
>>
>> Well, if you'd like to do some coding exercise, then what about to write
>> a driver for LM4F120's EEPROM? I've hoped to do this myself but my project
>> has grown up to the size which does not fit into LM4F120's FLASH nor RAM so
>> I'm "migrating" it to STM32F4 now...
>>
>> Cheers,
>> Karel
>>
>
>
___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


Re: How to start contributing towards RTEMS project

2013-09-02 Thread Alan Cudmore

The Raspberry Pi could use drivers:
SPI / SD card access,
I2C Bus
Ethernet ( this could be hard since it is a USB device ) ,
HDMI/graphics console,
Sound?

Alan

On 9/2/2013 4:35 PM, Karel Gardas wrote:

On 09/ 2/13 07:33 AM, Ritesh Harjani wrote:

I have Raspberry pi + ti stellaris lm4f120 launchpad, if it helps.


Well, if you'd like to do some coding exercise, then what about to 
write a driver for LM4F120's EEPROM? I've hoped to do this myself but 
my project has grown up to the size which does not fit into LM4F120's 
FLASH nor RAM so I'm "migrating" it to STM32F4 now...


Cheers,
Karel


___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


Re: How to start contributing towards RTEMS project

2013-09-02 Thread Karel Gardas

On 09/ 2/13 07:33 AM, Ritesh Harjani wrote:

I have Raspberry pi + ti stellaris lm4f120 launchpad, if it helps.


Well, if you'd like to do some coding exercise, then what about to write 
a driver for LM4F120's EEPROM? I've hoped to do this myself but my 
project has grown up to the size which does not fit into LM4F120's FLASH 
nor RAM so I'm "migrating" it to STM32F4 now...


Cheers,
Karel
___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


Re: STM32F4 failure on semaphore release in termios.

2013-09-02 Thread Karel Gardas

On 09/ 2/13 01:20 PM, Sebastian Huber wrote:

0xe576 <+10>: bl 0xe4d8 <_Chain_Head>
0xe57a <+14>: str r0, [r7, #20]
0xe57c <+16>: ldr r3, [r7, #20]
0xe57e <+18>: ldr r3, [r3, #0]


Above you read head->next.


0xe580 <+20>: str r3, [r7, #16]
0xe582 <+22>: ldr r3, [r7, #16]
0xe584 <+24>: ldr r3, [r3, #0]


Above you read head->next->next;

I think its the instruction above which fails since r3 has a bogus value
of 0x1a010003. It looks like that the chain is corrupt.


Yes, it also looks so from C point of view and while debugging C code. 
The question is why. Now I'm trying to duplicate this issue on vanilla 
STM32F4 BSP from RTEMS HEAD and with the latest toolchain compiled on 
Ubuntu. Honestly speaking this combination provides completely different 
hello example -- I mean binary behaves in different way so I'll need to 
add logic analyser as I don't have logic shifter hardware connected to 
USART 3 which is used by default on STM32F4 BSP.


Anyway, I'll keep you posted about the progress...

Thanks for your help!
Karel

___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


Re: How to start contributing towards RTEMS project

2013-09-02 Thread Gedare Bloom
Welcome! The lm4f120 was newly added as a bsp. Trying out both with vanilla
rtems to "see" running code is a good place to start. Then testing libmm
would be good, especially to see what might be available on the TI board.
-Gedare
On Sep 2, 2013 1:33 AM, "Ritesh Harjani"  wrote:

> Hi Everyone,
>
> This mail is to get some help from you guys on *"how to start
> contributing towards RTEMS project"*
>
> *Background work done*:
>
> 1. With the help of Hesham and community posts, I have setup the
> rtems-4.11 toolchain for arm
> on fedora 19, 64bit.
> 2. Synced the rtems-4.11 source as well as Gsoc 2013 libmm project.
> 3. Setup Qemu emulator.
>
> I have little background on ARM processors and I am interested to
> help/contribute in any of of ARM development/porting project. I am
> interested in memory management on ARM, but I am very much ok to work on
> any project based on the needs from RTEMS community.
>
> I have Raspberry pi + ti stellaris lm4f120 launchpad, if it helps.
>
> Since I am currently unfamiliar with RTEMS environment, it will be good if
> someone can guide as to where to start off from and with which project.
>
>
> Thanks
> Ritesh
>
>
>
>
>
>
>
___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


[PATCH] score: Use unsigned long for atomic integers

2013-09-02 Thread Sebastian Huber
Use unsigned long instead of uint_fast32_t since C11 provides only a
ATOMIC_LONG_LOCK_FREE macro constant.  This makes it also possible to
use properly typed integer literals like 123UL.  It is now clear which
compatible type should be used for the atomic integer.
---
 cpukit/score/include/rtems/score/atomic.h   |   72 +++---
 cpukit/score/include/rtems/score/cpustdatomic.h |   56 
 testsuites/smptests/smpatomic01/tasks.c |4 +-
 testsuites/smptests/smpatomic02/tasks.c |4 +-
 testsuites/smptests/smpatomic03/tasks.c |6 +-
 testsuites/smptests/smpatomic04/tasks.c |6 +-
 testsuites/smptests/smpatomic05/tasks.c |6 +-
 testsuites/smptests/smpatomic06/tasks.c |6 +-
 testsuites/smptests/smpatomic07/tasks.c |6 +-
 testsuites/smptests/smpatomic08/init.c  |   78 +++---
 10 files changed, 122 insertions(+), 122 deletions(-)

diff --git a/cpukit/score/include/rtems/score/atomic.h 
b/cpukit/score/include/rtems/score/atomic.h
index e085dea..b4e7a76 100644
--- a/cpukit/score/include/rtems/score/atomic.h
+++ b/cpukit/score/include/rtems/score/atomic.h
@@ -48,12 +48,12 @@ extern "C" {
  * @param object an atomic type pointer of object.
  * @param value a value to be stored into object.
  */
-static inline void _Atomic_Init_uint(
-  volatile Atomic_Uint *object,
-  uint_fast32_t value
+static inline void _Atomic_Init_ulong(
+  volatile Atomic_Ulong *object,
+  unsigned long value
 )
 {
-  _CPU_atomic_Init_uint(object, value);
+  _CPU_atomic_Init_ulong(object, value);
 }
 
 static inline void _Atomic_Init_ptr(
@@ -72,12 +72,12 @@ static inline void _Atomic_Init_ptr(
  * 
  * The order shall not be ATOMIC_ORDER_RELEASE.
  */
-static inline uint_fast32_t _Atomic_Load_uint(
-  volatile Atomic_Uint *object,
+static inline unsigned long _Atomic_Load_ulong(
+  volatile Atomic_Ulong *object,
   Atomic_Order order
 )
 {
-  return _CPU_atomic_Load_uint( object, order );
+  return _CPU_atomic_Load_ulong( object, order );
 }
 
 static inline uintptr_t _Atomic_Load_ptr(
@@ -97,13 +97,13 @@ static inline uintptr_t _Atomic_Load_ptr(
  * 
  * The order shall not be ATOMIC_ORDER_ACQUIRE.
  */
-static inline void _Atomic_Store_uint(
-  volatile Atomic_Uint *object,
-  uint_fast32_t value,
+static inline void _Atomic_Store_ulong(
+  volatile Atomic_Ulong *object,
+  unsigned long value,
   Atomic_Order order
 )
 {
-  _CPU_atomic_Store_uint( object, value, order );
+  _CPU_atomic_Store_ulong( object, value, order );
 }
 
 static inline void _Atomic_Store_ptr(
@@ -124,13 +124,13 @@ static inline void _Atomic_Store_ptr(
  * 
  * @retval a result value before add ops.
  */
-static inline uint_fast32_t _Atomic_Fetch_add_uint(
-  volatile Atomic_Uint *object,
-  uint_fast32_t value,
+static inline unsigned long _Atomic_Fetch_add_ulong(
+  volatile Atomic_Ulong *object,
+  unsigned long value,
   Atomic_Order order
 )
 {
-  return _CPU_atomic_Fetch_add_uint( object, value, order );
+  return _CPU_atomic_Fetch_add_ulong( object, value, order );
 }
 
 static inline uintptr_t _Atomic_Fetch_add_ptr(
@@ -151,13 +151,13 @@ static inline uintptr_t _Atomic_Fetch_add_ptr(
  * 
  * @retval a result value before sub ops.
  */
-static inline uint_fast32_t _Atomic_Fetch_sub_uint(
-  volatile Atomic_Uint *object,
-  uint_fast32_t value,
+static inline unsigned long _Atomic_Fetch_sub_ulong(
+  volatile Atomic_Ulong *object,
+  unsigned long value,
   Atomic_Order order
 )
 {
-  return _CPU_atomic_Fetch_sub_uint( object, value, order );
+  return _CPU_atomic_Fetch_sub_ulong( object, value, order );
 }
 
 static inline uintptr_t _Atomic_Fetch_sub_ptr(
@@ -178,13 +178,13 @@ static inline uintptr_t _Atomic_Fetch_sub_ptr(
  * 
  * @retval a result value before or ops.
  */
-static inline uint_fast32_t _Atomic_Fetch_or_uint(
-  volatile Atomic_Uint *object,
-  uint_fast32_t value,
+static inline unsigned long _Atomic_Fetch_or_ulong(
+  volatile Atomic_Ulong *object,
+  unsigned long value,
   Atomic_Order order
 )
 {
-  return _CPU_atomic_Fetch_or_uint( object, value, order );
+  return _CPU_atomic_Fetch_or_ulong( object, value, order );
 }
 
 static inline uintptr_t _Atomic_Fetch_or_ptr(
@@ -205,13 +205,13 @@ static inline uintptr_t _Atomic_Fetch_or_ptr(
  * 
  * @retval a result value before and ops.
  */
-static inline uint_fast32_t _Atomic_Fetch_and_uint(
-  volatile Atomic_Uint *object,
-  uint_fast32_t value,
+static inline unsigned long _Atomic_Fetch_and_ulong(
+  volatile Atomic_Ulong *object,
+  unsigned long value,
   Atomic_Order order
 )
 {
-  return _CPU_atomic_Fetch_and_uint( object, value, order );
+  return _CPU_atomic_Fetch_and_ulong( object, value, order );
 }
 
 static inline uintptr_t _Atomic_Fetch_and_ptr(
@@ -232,13 +232,13 @@ static inline uintptr_t _Atomic_Fetch_and_ptr(
  * 
  * @retval a result value before exchange ops.
  */
-static inline uint_fast32_t _Atomic_Exchange_uint(
- volatile Atomic_Uint *obj

Re: STM32F4 failure on semaphore release in termios.

2013-09-02 Thread Sebastian Huber

On 2013-08-31 23:07, Karel Gardas wrote:

On 08/30/13 08:58 AM, Sebastian Huber wrote:

On 2013-08-28 23:30, Karel Gardas wrote:

_Internal_error_Occurred (the_source=RTEMS_FATAL_SOURCE_EXCEPTION,
is_internal=false, the_error=536875260)


If you get an exception like this, then you can use in GDB to figure out
the context (the actual program counter of the exception is not the
direct value of register_pc):

Breakpoint 6, _Internal_error_Occurred
(the_source=RTEMS_FATAL_SOURCE_EXCEPTION, is_internal=false,
the_error=1049524) at
../../../../../../rtems/c/src/../../cpukit/score/src/interr.c:35
35 _User_extensions_Fatal( the_source, is_internal, the_error );
(gdb) p/x *(CPU_Exception_frame *)the_error
$1 = {


Thanks for this nice trick!

(gdb) p/x *(CPU_Exception_frame *)the_error
$2 = {register_r0 = 0x20006acc, register_r1 = 0x1a010004, register_r2 = 0x0,
register_r3 = 0x1a010003, register_r4 = 0x20006ab8, register_r5 = 0x20001794,
register_r6 = 0x20006d80, register_r7 = 0x20003c70, register_r8 = 0x20003e7c,
register_r9 = 0x20001440, register_r10 = 0x0, register_r11 = 0x18fc0,
register_r12 = 0x0, register_sp = 0x0, register_lr = 0xe57b, register_pc =
0xe584, register_xpsr = 0x2100, vector = 0x3, vfp_context = 0x1}
(gdb) dis 0xe584
warning: bad breakpoint number at or near '0xe584'
(gdb) disas 0xe584
Dump of assembler code for function _Chain_Get_first_unprotected:
0xe56c <+0>: push{r7, lr}
0xe56e <+2>: subsp, #24
0xe570 <+4>: addr7, sp, #0
0xe572 <+6>: strr0, [r7, #4]
0xe574 <+8>: ldrr0, [r7, #4]
0xe576 <+10>:bl0xe4d8 <_Chain_Head>
0xe57a <+14>:strr0, [r7, #20]
0xe57c <+16>:ldrr3, [r7, #20]
0xe57e <+18>:ldrr3, [r3, #0]


Above you read head->next.


0xe580 <+20>:strr3, [r7, #16]
0xe582 <+22>:ldrr3, [r7, #16]
0xe584 <+24>:ldrr3, [r3, #0]


Above you read head->next->next;

I think its the instruction above which fails since r3 has a bogus value of 
0x1a010003.  It looks like that the chain is corrupt.


--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


Re: [PATCH] bsp/lm4f120: new BSP to support TI LM4F120 XL LaunchPad board

2013-09-02 Thread Karel Gardas

On 09/ 2/13 12:55 PM, Sebastian Huber wrote:

On 2013-09-02 11:03, Eugeniy Meshcheryakov wrote:

Hi Sebastian,

Could you also commit patch titled [PATCH 1/2] bsp/lm3s69xx: add
macros for
UART CTS/RTS pin configuration ? The definitions from that patch are
used for
UART setup.


Isn't it this one?

http://git.rtems.org/rtems/commit/?id=526f895efe74dfc6b1fc8f98ac546543d49178be


Yes, it is. I think everything's all right now -- at least from the TI 
LMx BSPs point of view.


Thanks!
Karel

___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


Re: [PATCH] bsp/lm4f120: new BSP to support TI LM4F120 XL LaunchPad board

2013-09-02 Thread Sebastian Huber

On 2013-09-02 11:03, Eugeniy Meshcheryakov wrote:

Hi Sebastian,

Could you also commit patch titled [PATCH 1/2] bsp/lm3s69xx: add macros for
UART CTS/RTS pin configuration ? The definitions from that patch are used for
UART setup.


Isn't it this one?

http://git.rtems.org/rtems/commit/?id=526f895efe74dfc6b1fc8f98ac546543d49178be

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


Re: RTEMS on top of linux or FreeBSD?

2013-09-02 Thread Ralf Corsepius

On 08/31/2013 04:55 PM, Gedare Bloom wrote:

Ralf/Chris, The original poster was asking a different question about
executing RTEMS within a host OS environment.


May-be, may-be not, I don't want to be sure. Let's wait for the OP to 
clarify.


In the past, questions on "running RTEMS on top of..."/"How to run RTEMS 
on Linux/Cygwin", "There is no RTEMS app" , often have new-comers', 
often language-barrier limited/typo-struck questions related to the 
toolchains.


When responding, I didn't even realize this posting could mean something 
else.


Ralf



___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel


Re: [PATCH] bsp/lm4f120: new BSP to support TI LM4F120 XL LaunchPad board

2013-09-02 Thread Sebastian Huber

Thanks Eugeniy and Karel for sorting this out.

http://git.rtems.org/rtems/commit/?id=0c47440c6a8bc6bab476bf787fb784490377a326

--
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail  : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
___
rtems-devel mailing list
rtems-devel@rtems.org
http://www.rtems.org/mailman/listinfo/rtems-devel