stm32 external SRAM

Christian Mauderer christian.mauderer at embedded-brains.de
Tue Jun 18 05:25:47 UTC 2019


On 18/06/2019 07:17, Jython wrote:
>     void SRAM_fsmc_setup(void)
>     {
>     unsigned char FSMC_Bank;
>         int i = 0;
> 
>         // enable port clk
>         RCC_AHB1ENR |= 0x0f << 3;
>         RCC_AHB3ENR |= 1;  // enable fsmc clock
> 
>         // af A0-A18
>         stm32f4_gpio_config temp = STM32F4_PIN_FSMC(5, 0,
>     STM32F4_GPIO_AF_FSMC);
>        
> 
>         for(i = 0; i < 6; i++)  //pf0-5
>         {
>            
>            
>             temp.fields.pin_first = STM32F4_GPIO_PIN(5, i);
>             temp.fields.pin_last = STM32F4_GPIO_PIN(5, i);
>             stm32f4_gpio_set_config(&temp);
>         }
> 
>         // A6 PF12
>         temp.fields.pin_first = STM32F4_GPIO_PIN(5, 12);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(5, 12);
>         stm32f4_gpio_set_config(&temp);
> 
>         // A7 PF13
>         temp.fields.pin_first = STM32F4_GPIO_PIN(5, 13);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(5, 13);
>         stm32f4_gpio_set_config(&temp);
> 
>         // A8 PF14
>         temp.fields.pin_first = STM32F4_GPIO_PIN(5, 14);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(5, 14);
>         stm32f4_gpio_set_config(&temp);
> 
>         // A9 PF15
>         temp.fields.pin_first = STM32F4_GPIO_PIN(5, 15);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(5, 15);
>         stm32f4_gpio_set_config(&temp);
> 
> 
>         // PG0-5    A10-A15
>         for(i = 0; i < 6; i++)
>         {
>             temp.fields.pin_first = STM32F4_GPIO_PIN(6, i);
>             temp.fields.pin_last = STM32F4_GPIO_PIN(6, i);
>             stm32f4_gpio_set_config(&temp);
> 
>         }
> 
> 
>         // a16 - pd11
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 11);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 11);
>         stm32f4_gpio_set_config(&temp);
> 
>         //A17
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 12);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 12);
>         stm32f4_gpio_set_config(&temp);
>         //A18
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 13);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 13);
>         stm32f4_gpio_set_config(&temp);
>        
>         // address bus end
> 
> 
>         // dbus setting
>         // D0 PD14
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 14);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 14);
>         stm32f4_gpio_set_config(&temp);
> 
>         // D1 PD15
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 15);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 15);
>         stm32f4_gpio_set_config(&temp);
> 
>         // D2 PD0
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 0);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 0);
>         stm32f4_gpio_set_config(&temp);
> 
>         // D3 PD1
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 1);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 1);
>         stm32f4_gpio_set_config(&temp);
> 
>         // D4-12  Pe7
>         for(i = 4; i < 13; i++)
>         {
>             temp.fields.pin_first = STM32F4_GPIO_PIN(4, i+3);
>             temp.fields.pin_last = STM32F4_GPIO_PIN(4, i+3);
>             stm32f4_gpio_set_config(&temp);
>         }
> 
>         // d13 14 15   pd8
>         for(i = 13; i < 16; i++)
>         {
>             temp.fields.pin_first = STM32F4_GPIO_PIN(3, i-5);
>             temp.fields.pin_last = STM32F4_GPIO_PIN(3, i-5);
>             stm32f4_gpio_set_config(&temp);
> 
>         }
> 
>        
>         //pg10 ne3
>         temp.fields.pin_first = STM32F4_GPIO_PIN(6, 10);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(6, 10);
>         stm32f4_gpio_set_config(&temp);
> 
>         //NBL pe0 pe1
>         temp.fields.pin_first = STM32F4_GPIO_PIN(4, 0);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(4, 0);
>         stm32f4_gpio_set_config(&temp);
> 
>         temp.fields.pin_first = STM32F4_GPIO_PIN(4, 1);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(4, 1);
>         stm32f4_gpio_set_config(&temp);
> 
>         //pd4 NOE
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 4);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 4);
>         stm32f4_gpio_set_config(&temp);
> 
>         //pd5 NWE
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 5);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 5);
>         stm32f4_gpio_set_config(&temp);
> 
>         //pd6 NWAIT
>         temp.fields.pin_first = STM32F4_GPIO_PIN(3, 6);
>         temp.fields.pin_last = STM32F4_GPIO_PIN(3, 6);
>         stm32f4_gpio_set_config(&temp);
>        
>        
> 
>     //The SRAM is connected to the second FSMC BANK (NE2)
>     FSMC_Bank = 1;
> 
>         STM32_FSMC_BCR3 |= 1<<12;
>         STM32_FSMC_BCR3 |= 1<<4;  //16bit
>        
>         //
>         STM32_FSMC_BTR3 |= 1<<8;  // Data-phase duration DATAST  
>     //STM32_FSMC_BTR3 |= ~(uint32_t)(1<<4);
>     //STM32_FSMC_BTR3 &= ~(uint32_t)1;
>     STM32_FSMC_BTR3 &= 0xffffff00;
> 
> 
>         STM32_FSMC_BWTR3 = 0x0FFFFFFF;
>         STM32_FSMC_BCR3 |= 1;  //memory bank enable
> 
>         #if 0
>     /
>     FSMC_Bank1->BTCR[FSMC_Bank+1] = (FSMC_BTR2_ADDSET_1) |
>     (FSMC_BTR2_DATAST_0 | FSMC_BTR2_DATAST_1);
>      
> 
> 
>         #endif
>     }
> 
> 
>   it is my later application code, i will try it ,  thanks! 

You noted that there is a stm32f4_gpio_set_config_array function too
that could be used to initialize more than one pin?

If you have some debugger available it would be good to check the
stm32f4_gpio_set_config. It enables some clocks which uses a interrupt
disable / enable. That should work but I'm not 100% sure.

Please take a look at the STM initialization code too whether someone
disables clocks or pins again later.

For your application code: You could switch back to the default linker
command file and add the mem test.

> 
> On Tue, Jun 18, 2019 at 1:09 PM Christian Mauderer
> <christian.mauderer at embedded-brains.de
> <mailto:christian.mauderer at embedded-brains.de>> wrote:
> 
>     On 18/06/2019 03:25, Jython wrote:
>     > my linkscmd is
>     https://gist.github.com/goog/aad6dae4c418255dd6fb2b23bf2e6f08
>     >
>     >     void BSP_START_TEXT_SECTION bsp_start_hook_1(void)
>     >     {
>     >       SRAM_fsmc_setup();
>     >       bsp_start_copy_sections();
>     >       bsp_start_clear_bss();
>     >
>     >       /* At this point we can use objects outside the .start
>     section */
>     >     }
>     >
>     >
>     > but now my code run disordered
> 
>     Which one?
> 
>     The SRAM_fsmc_setup()? In that case please note that you are in a very
>     early initialization step. So most system services won't work and global
>     variables are not initialized yet.
> 
>     Or your later application code? In that case: Did you do a memory test
>     to check your RAM initialization? For example the routines from Michael
>     Barr from here work well:
>     http://www.esacademy.com/en/library/technical-articles-and-documents/miscellaneous/software-based-memory-testing.html
> 
>     >
>     > On Mon, Jun 17, 2019 at 2:45 PM Christian Mauderer
>     > <christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     > <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>> wrote:
>     >
>     >     If you put any sections into the external RAM that need
>     initialization,
>     >     you have to init the RAM before the BSP copies it's sections.
>     The STM32
>     >     BSP copies it's sections in bsp_start_hook_1(). So either put
>     it in
>     >     bsp_start_hook_0 or in bsp_start_hook_1 before the
>     copy_section calls.
>     >     Attention: You can't use much in these functions. They are in
>     a very
>     >     early initialization stage. So be careful what you put there.
>     >
>     >     If you only want malloc to allocate memory from there, there
>     might is a
>     >     later point where you can do that.
>     >
>     >     On 17/06/2019 08:32, Jython wrote:
>     >     > Thank you and the example! that is to say put extern sram
>     init in
>     >     > bsp_start( void ) function?
>     >     >
>     >     > On Mon, Jun 17, 2019 at 1:04 PM Christian Mauderer
>     >     > <christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     > <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>> wrote:
>     >     >
>     >     >     On 17/06/2019 03:05, Jython wrote:
>     >     >     > STM32:
>     >     >     >     112KB at 2000 0000
>     >     >     >     16KB at 2001 C000
>     >     >     >
>     >     >     > external sram : 1MB at 0x68000000
>     >     >     >
>     >     >     >  does MEMORY layout support RAM2?
>     >     >
>     >     >     Hello Jython,
>     >     >
>     >     >     you can distribute the regions to the two RAMs. For example
>     >     this BSP
>     >     >     does that:
>     >     >
>     >     >   
>     >   
>       https://git.rtems.org/rtems/tree/bsps/arm/lpc32xx/start/linkcmds.lpc32xx_phycore
>     >     >
>     >     >     Please note that you have to take a detailed look at what is
>     >     used till
>     >     >     your external RAM initialization run and what not. But
>     if you
>     >     put your
>     >     >     external RAM initialization in an early enough step, you
>     >     shouldn't get
>     >     >     problems with that.
>     >     >
>     >     >     Best regards
>     >     >
>     >     >     Christian
>     >     >
>     >     >     >
>     >     >     > On Fri, Jun 14, 2019 at 10:13 PM Christian Mauderer
>     >     >     > <christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>
>     >     >     > <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>>> wrote:
>     >     >     >
>     >     >     >     If you have already added the chip and it is
>     initialized
>     >     >     during startup,
>     >     >     >     you most likely have to add a section for it in
>     your linker
>     >     >     command
>     >     >     >     file. Depending on where your internal RAM is
>     located and
>     >     >     where the
>     >     >     >     external one is: If they are continuous that can
>     be enough.
>     >     >     >
>     >     >     >     Best regards
>     >     >     >
>     >     >     >     Christian
>     >     >     >
>     >     >     >     On 14/06/2019 04:42, Jython wrote:
>     >     >     >     > we have added 1M ram by FSMC,  and want to
>     manage it by
>     >     >     system malloc
>     >     >     >     > controler
>     >     >     >     >
>     >     >     >     > On Fri, Jun 14, 2019 at 10:26 AM Mr. Andrei Chichak
>     >     >     >     <groups at chichak.ca <mailto:groups at chichak.ca>
>     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>>
>     >     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>
>     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>>>
>     >     >     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>
>     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>>
>     >     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>
>     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>>>>
>     >     >     >     > <mailto:groups at chichak.ca
>     <mailto:groups at chichak.ca> <mailto:groups at chichak.ca
>     <mailto:groups at chichak.ca>>
>     >     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>
>     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>>>
>     >     >     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>
>     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>>
>     >     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>
>     <mailto:groups at chichak.ca <mailto:groups at chichak.ca>>>>>> wrote:
>     >     >     >     >
>     >     >     >     >     A 407 doesn’t normally have external RAM.
>     >     >     >     >
>     >     >     >     >     ARMs have flash at 0 and the 407 has RAM at
>     0x2000
>     >     0000
>     >     >     as you
>     >     >     >     >     discussed earlier.
>     >     >     >     >
>     >     >     >     >     If you want to work with external flash or RAM,
>     >     you have
>     >     >     to set up
>     >     >     >     >     the FSMC or FMC to support it, but that isn’t a
>     >     part of
>     >     >     the dev
>     >     >     >     >     board that Sebastian used for the BSP port.
>     >     >     >     >
>     >     >     >     >     The external memory is going to be very specific
>     >     to your
>     >     >     board.
>     >     >     >     >     Which board are you working with?
>     >     >     >     >
>     >     >     >     >     A
>     >     >     >     >
>     >     >     >     >     > On 2019-June-13, at 06:23, Christian Mauderer
>     >     >     >     >     <christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>
>     >     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>>
>     >     >     >     >   
>      <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>
>     >     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>>>> wrote:
>     >     >     >     >     >
>     >     >     >     >     > On 05/06/2019 02:55, Jython wrote:
>     >     >     >     >     >> Hello!
>     >     >     >     >     >>
>     >     >     >     >     >>     2. In the normal (non-debugging)
>     case, the
>     >     linker
>     >     >     >     script still
>     >     >     >     >     >>        places the
>     >     >     >     >     >>
>     >     >     >     >     >>    .text section near zero, but places the
>     >     start of the
>     >     >     >     .data and
>     >     >     >     >     .bss
>     >     >     >     >     >>    sections at the start location of the
>     MPC555's
>     >     >     internal
>     >     >     >     RAM. The
>     >     >     >     >     >>    system startup code then configures
>     the external
>     >     >     RAM just
>     >     >     >     >     after the
>     >     >     >     >     >>    internal RAM in memory, forming one
>     large block
>     >     >     from the
>     >     >     >     two RAM
>     >     >     >     >     >>    devices.
>     >     >     >     >     >>
>     >     >     >     >     >> from
>     https://devel.rtems.org/wiki/TBR/BSP/Ss555
>     >     >     >     >     >>
>     >     >     >     >     >> but i dont know how to configure the external
>     >     RAM just
>     >     >     >     after the
>     >     >     >     >     >> internal RAM in memory?
>     >     >     >     >     >> hope you could give me some guide!
>     >     >     >     >     >> 
>     >     >     >     >     >>
>     >     >     >     >     >
>     >     >     >     >     > Hello Jython,
>     >     >     >     >     >
>     >     >     >     >     > the documentation you linked is for an
>     MPC. But your
>     >     >     subject
>     >     >     >     line
>     >     >     >     >     > mentions an STM32. What controller / BSP
>     are you
>     >     using?
>     >     >     >     >     >
>     >     >     >     >     > Best regards
>     >     >     >     >     >
>     >     >     >     >     > Christian Mauderer
>     >     >     >     >     > --
>     >     >     >     >     > --------------------------------------------
>     >     >     >     >     > embedded brains GmbH
>     >     >     >     >     > Herr Christian Mauderer
>     >     >     >     >     > Dornierstr. 4
>     >     >     >     >     > D-82178 Puchheim
>     >     >     >     >     > Germany
>     >     >     >     >     > email:
>     christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>
>     >     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>>
>     >     >     >     >   
>      <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>
>     >     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>>>
>     >     >     >     >     > Phone: +49-89-18 94 741 - 18
>     >     >     >     >     > Fax:   +49-89-18 94 741 - 08
>     >     >     >     >     > PGP: Public key available on request.
>     >     >     >     >     >
>     >     >     >     >     > Diese Nachricht ist keine geschäftliche
>     >     Mitteilung im
>     >     >     Sinne
>     >     >     >     des EHUG.
>     >     >     >     >     >
>     _______________________________________________
>     >     >     >     >     > users mailing list
>     >     >     >     >     > users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>
>     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>>
>     >     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>
>     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>>>
>     >     >     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>
>     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>>
>     >     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>
>     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>>>>
>     >     >     >     >     > http://lists.rtems.org/mailman/listinfo/users
>     >     >     >     >
>     >     >     >     >
>     >     >     >     > _______________________________________________
>     >     >     >     > users mailing list
>     >     >     >     > users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>
>     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>>
>     >     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>
>     >     <mailto:users at rtems.org <mailto:users at rtems.org>
>     <mailto:users at rtems.org <mailto:users at rtems.org>>>>
>     >     >     >     > http://lists.rtems.org/mailman/listinfo/users
>     >     >     >     >
>     >     >     >
>     >     >     >     --
>     >     >     >     --------------------------------------------
>     >     >     >     embedded brains GmbH
>     >     >     >     Herr Christian Mauderer
>     >     >     >     Dornierstr. 4
>     >     >     >     D-82178 Puchheim
>     >     >     >     Germany
>     >     >     >     email: christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>
>     >     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>>
>     >     >     >     Phone: +49-89-18 94 741 - 18
>     >     >     >     Fax:   +49-89-18 94 741 - 08
>     >     >     >     PGP: Public key available on request.
>     >     >     >
>     >     >     >     Diese Nachricht ist keine geschäftliche Mitteilung
>     im Sinne
>     >     >     des EHUG.
>     >     >     >
>     >     >
>     >     >     --
>     >     >     --------------------------------------------
>     >     >     embedded brains GmbH
>     >     >     Herr Christian Mauderer
>     >     >     Dornierstr. 4
>     >     >     D-82178 Puchheim
>     >     >     Germany
>     >     >     email: christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>>
>     >     >     Phone: +49-89-18 94 741 - 18
>     >     >     Fax:   +49-89-18 94 741 - 08
>     >     >     PGP: Public key available on request.
>     >     >
>     >     >     Diese Nachricht ist keine geschäftliche Mitteilung im Sinne
>     >     des EHUG.
>     >     >
>     >
>     >     --
>     >     --------------------------------------------
>     >     embedded brains GmbH
>     >     Herr Christian Mauderer
>     >     Dornierstr. 4
>     >     D-82178 Puchheim
>     >     Germany
>     >     email: christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     >     <mailto:christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>>
>     >     Phone: +49-89-18 94 741 - 18
>     >     Fax:   +49-89-18 94 741 - 08
>     >     PGP: Public key available on request.
>     >
>     >     Diese Nachricht ist keine geschäftliche Mitteilung im Sinne
>     des EHUG.
>     >
> 
>     -- 
>     --------------------------------------------
>     embedded brains GmbH
>     Herr Christian Mauderer
>     Dornierstr. 4
>     D-82178 Puchheim
>     Germany
>     email: christian.mauderer at embedded-brains.de
>     <mailto:christian.mauderer at embedded-brains.de>
>     Phone: +49-89-18 94 741 - 18
>     Fax:   +49-89-18 94 741 - 08
>     PGP: Public key available on request.
> 
>     Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
> 

-- 
--------------------------------------------
embedded brains GmbH
Herr Christian Mauderer
Dornierstr. 4
D-82178 Puchheim
Germany
email: christian.mauderer at embedded-brains.de
Phone: +49-89-18 94 741 - 18
Fax:   +49-89-18 94 741 - 08
PGP: Public key available on request.

Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.





More information about the users mailing list