Changes between Version 6 and Version 7 of TBR/BSP/Rtl22xx_t


Ignore:
Timestamp:
11/29/10 02:46:58 (13 years ago)
Author:
Palcuiealex
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • TBR/BSP/Rtl22xx_t

    v6 v7  
    33
    44{{Infobox BSP
    5 |BSP_name     = BSP name goes here
    6 |Manufacturer = Who made me?
    7 |image        =
    8 |caption      = optional image caption
    9 |Board_URL    = http:/manufacturer.com/ExampleBoard
    10 |Architecture = Architecture
    11 |CPU_model    = Model name
     5|BSP_name     = RTL22xx
     6|Manufacturer = Philips NXP
     7|image        = H2294-front.jpg
     8|caption      = LPC2294 header
     9|Board_URL    = http://www.olimex.com/dev/lpc-e2214.html
     10|Architecture = N/A
     11|CPU_model    = Philip's LPC22xx ARM
    1212|Monitor      = uBoot, uMon
    13 |Simulator    = Well?
    14 |Aliases      = Any RTEMS BSP Aliases?
    15 |RAM          = XXX MB
    16 |NVMEM        = 32 MB Flash, 16 KB EEPROM
    17 |Serial       = one. UART part name.
    18 |NICs         = one. NIC part name.
    19 |Other        = anything else you need to say
     13|Simulator    = [wiki:Developer/Simulators/SkyEye SkyEye]
     14|Aliases      = LPC-E2214
     15|RAM          = 512KB SRAM
     16|NVMEM        = no ROM, 0/256KB flash
     17|Serial       = 2 ports
     18|NICs         = USB
     19|Other        = N/A
    2020}}
     21= Overview =
     22
    2123
    2224This BSP is a thumb-enabled version of [wiki:TBR/BSP/Rtl22xx rtl22xx]. Also, this bsp is an example of how development can development/change there own bsp from ARM mode to Thumb mode.
     25= Thumb mode =
     26
    2327
    2428Common code (IRQ, ISR, contex switch) is already changed. BSP developer should take care of there own assembly/inline-assembly codes which deal with CPSR/SPSR. Bellow is the codes need to changed:
    2529
    26 (1)Changes the CPU_CFLAGS to CPU_CFLAGS +=  -mthumb in the BSP’s cfg file. -mthumb-interwork is not necessary because the low-level code has its own veneer that change between ARM and Thumb modes
    27 
    28 (2)start.S   This file must be in ARM mode, so add .arm/.code 32 in the beginning. Code will transfer to thumb mode when call boot_card, so bx reg is used instead of bl bootcard. If the code want to return back to start.S after boot_card. LR must update because bx will not update LR automatically
    29 
    30 (3)bsp_dir/irq/bsp_irq_asm.S, it is better to write this function in C instead of assembly. However, if it is assembly, this function should be in thumb mode, and when function finished, MUST return back to ARM mode with bx
    31 
    32 (4)bspclean.c. change the b _start to bx reg. Because the startup code must be in arm mode. (also b _start will refuse to compile in thumb mode)
     30#Changes the CPU_CFLAGS to CPU_CFLAGS +=  -mthumb in the BSP’s cfg file. -mthumb-interwork is not necessary because the low-level code has its own veneer that change between ARM and Thumb modes
     31#start.S   This file must be in ARM mode, so add .arm/.code 32 in the beginning. Code will transfer to thumb mode when call boot_card, so bx reg is used instead of bl bootcard. If the code want to return back to start.S after boot_card. LR must update because bx will not update LR automatically
     32#bsp_dir/irq/bsp_irq_asm.S, it is better to write this function in C instead of assembly. However, if it is assembly, this function should be in thumb mode, and when function finished, MUST return back to ARM mode with bx
     33#bspclean.c. change the b _start to bx reg. Because the startup code must be in arm mode. (also b _start will refuse to compile in thumb mode)
    3334
    3435BSP is compiled with gcc 4.2.1, binutils 2.18 with multi-lib for thumb enabled. 
    3536 
    36 Note: 2007-Nov, this BSP and Thumb are first introduced into rtems. rtl22xx hardware can not run full test suits to verified thumb support(only tests in samples is run). It will be appreciated that other ARM based bsp can also test the thumb support and report bug.
     37''Note: 2007-Nov, this BSP and Thumb are first introduced into rtems. [wiki:TBR/BSP/Rtl22xx rtl22xx] hardware can not run full test suits to verified thumb support(only tests in samples is run). It will be appreciated that other ARM based bsp can also test the thumb support and report bug.''
     38= References =
     39
     40 *  http://www.olimex.com/dev/lpc-e2214.html
     41 *  http://microcontrollershop.com/product_info.php?products_id=942
     42 *  http://microcontrollershop.com/download/E2294.pdf
     43
     44
     45{{Navbox_BSPs}}