[PATCH 1/2] Initial bsp for Tiny6410

Gedare Bloom gedare at rtems.org
Wed Apr 17 15:54:25 UTC 2013


I have a high-level question, which is does it make sense to make the
tiny6410 a BSP variant of some more generic BSP? Maybe it can be
considered for later refactoring.

On Wed, Apr 17, 2013 at 11:10 AM, Peng Fan <van.freenix at gmail.com> wrote:
> Thanks.
> I will recheck the code carefully.
>
> Regards,
> Peng.
>
> 2013/4/17 Joel Sherrill <joel.sherrill at oarcorp.com>
>>
>> On 4/17/2013 9:42 AM, Sebastian Huber wrote:
>>>
>>> On 04/17/2013 02:54 PM, Peng Fan wrote:
>>>>
>>>> diff --git a/c/src/lib/libbsp/arm/tiny6410/debug/debug.c
>>>> b/c/src/lib/libbsp/arm/tiny6410/debug/debug.c
>>>> new file mode 100644
>>>> index 0000000..a57e4c9
>>>> --- /dev/null
>>>> +++ b/c/src/lib/libbsp/arm/tiny6410/debug/debug.c
>>>> @@ -0,0 +1,57 @@
>>>> +/*
>>>> + *  Low level debug function
>>>> + *
>>>> + *  Copyright (c) 2013 by PengFan<van.freenix at gmail.com>
>>>> + *
>>>> + *  The license and distribution terms for this file may be
>>>> + *  found in the file LICENSE in this distribution or at
>>>> + *http://www.rtems.com/license/LICENSE.
>>
>> Unless a mailer broke this, the third line needs spacing before http.
>>
>> Check all.
>>
>>>> + *
>>>> + */
>>>> +
>>>> +#include <bsp.h>
>>>> +#include <s3c64xx.h>
>>>> +void debug_led(uint32_t val)
>>>> +{
>>>> +       uint32_t *addr = (uint32_t *)0x7f008800;
>>>> +       *addr = val;
>>>> +}
>>>> +
>>>> +
>>>> +static void Delay(void)
>>>> +{
>>>> +    volatile int i;
>>>> +
>>>> +    for(i=0 ; i < 1000 ; i++)
>>>> +    {
>>>> +    }
>>>> +}
>>>> +
>>>> +void Uart_SendByte(int data)
>>>> +{
>>>> +    while(!(rUTRSTAT0 & 0x2));   //Wait until THR is empty.
>>>> +    Delay();
>>>> +    rUTXH0 = (unsigned char)data;
>>>> +}
>>>> +
>>>> +void Uart_SendString(char *pt)
>>>> +{
>>>> +    while(*pt)
>>>> +        Uart_SendByte(*pt++);
>>>> +    Uart_SendByte('\r');
>>>> +    Uart_SendByte('\n');
>>>> +}
>>>> +
>>>> +void printhex(unsigned int data)
>>>> +{
>>>> +       int i = 0,a = 0;
>>>> +       for (i = 0; i < 8; i++) {
>>>> +               a = (data>>(32-(i+1)*4))&0xf;
>>>> +               if (((a<=9)&&(a>=0)))
>>>> +                       Uart_SendByte(a + 0x30);
>>>> +               else if ((a <= 0xf) && (a >= 0xa))
>>>> +                       Uart_SendByte(a-0xa+0x61);
>>>> +       }
>>>> +       Uart_SendByte('\r');
>>>> +       Uart_SendByte('\n');
>>>> +}
>>>
>>> Can't you use printk() for this?
>>>
>>
>>
>> --
>> Joel Sherrill, Ph.D.             Director of Research & Development
>> joel.sherrill at OARcorp.com        On-Line Applications Research
>> Ask me about RTEMS: a free RTOS  Huntsville AL 35805
>> Support Available                (256) 722-9985
>>
>>
>> _______________________________________________
>> rtems-devel mailing list
>> rtems-devel at rtems.org
>> http://www.rtems.org/mailman/listinfo/rtems-devel
>
>
>
> _______________________________________________
> rtems-devel mailing list
> rtems-devel at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-devel
>



More information about the devel mailing list