=====================================================================
                           LPC23XX¸
                                  Last Modified: 19 Jun 2012 18:16:44
=====================================================================



LPC23XX¸ǤϡNXP LPC2388 򥵥ݡȤ롥ܥͥǤϥ
¢μղϩΥޤUARTѤ롥¹Ԥϡեå˽
߼¹Ԥ뤳ȤܤȤ롥RAMǤμ¹ԤϸݡȤʤ


ȯĶ

եȥȯĶϡGNUĶѤ롥ưǧԤäѥ
ϡGCC 4.2.1 ǡCygwinѤΥХʥʲΥȤɤ
Ѥ

    http://www.gnuarm.com/

ǥХåȯĶϡϡɥOLIMEX ARM-USB-OCDPizzaFactory3
סBestTechnologyTINY JTAG-ICE/ ѤOpenOCD ͳ GDB
ˤǥХå롥ʤñ˼¹Ԥʤ顤AtmelΥեå
ߥġˤ񤭹߲ǽǤ롥


ߥϥɥֹȳֹ

ߥϥɥֹ(inhno)ȳֹ(intno)ˤϡPeripheral ID Ѥ
롥LPC23XX ǤϼΤ褦Ƥ롥

 WDT       0
 BbgCommRx 2
 BbgCommTx 3
 TIMER0    4
 TIMER1    5
 UART0     6
 UART1     7
 PWM1      8
 I2C0      9
 SPI,SSP0  10
 SSP1      11
 PLL       12
 RTC       13
 EINT0     14
 EINT1     15
 EINT2     16
 EINT3     17
 ADC0      18
 I2C1      19
 BOD       20
 ETHERNET  21
 USB       22
 CAN       23
 SD/MMC    24
 GP/DMA    25
 TIMER2    26
 TIMER3    27
 UART2     28
 UART3     29
 I2C2      30
 I2S       31


ͥ

ͥ٤ȤƤϡ-1  -15 ޤǤͤǽǤ롥


°

IRQ°ϤǤʤ


åȰ¸Ǥ

åȰ¸ǤϡѤLSIˤꡤMakefile ǡMakefile.chip 
󥯥롼ɤ˼򵭽ҤƤɬפ롥

LPC2388ξ
 LPC23XX_TYPE = lpc2388
 gcc-Dץ__LPC2388__롥


ɥ饤

ͥǤϡƥåѤTIMER 0 Ѥ롥ƥå
1msecǤꡤѹ뤿ˤϡchip_kernel.h  TIC_NUME  TIC_DENO 
ѹ뤳ȡ


ꥢ륤󥿥եɥ饤

ꥢ륤󥿥եɥ饤ФǤϡUART0,1 ѤƥꥢϤԤ
̿ѥ᡼ϼ̤Ǥ롥

 38400bps, 8bit, Non-Parity, 1 Stop bit

ܡ졼Ȥϡchip_syssvc.h  DEF_BAUDRATE ѹǽǤ롥


ȯĶΥ󥹥ȡˡ

OpenOCDΥ󥹥ȡȼ¹

Best Technology ΥۡڡХʥɤŸ롥
Υץ opencd.exe ¹Ԥ
  
    $./openocd.exe -f sam7s_c_ram.cfg

եåؤν񤭹

ʲΥޥɤASPͥӥɤơХʥե롥

 make asp.bin

Best Technology Υۡڡ GCC Developer Lite ɤ
ƥ󥹥ȡ뤹롥

OpenOCD˴ޤޤ./GDL/at91sam7s_w.script  GCC Developer Lite Υ
ȡǥ쥯ȥ˥ԡ23ܤ "flash info 0" 

ȥåץ˥塼"եå饤"¹Ԥ롥ɥβ
֥륯å CPU TYPE ǤΤǡopenOCD
롥񤭹ߤե򤷡""ܥ򲡤

GDBˤǥХå



ѹ
2012/06/19
   Release 1.7.0 Ф


=====================================================================
             TOPPERSɸ߽ǥбΤξ
=====================================================================

ߥȥλ

LPC23XXγߥȥVICˤλͤϼΤ褦ˤʤäƤ롥

32Ĥγߤ򥵥ݡ
̤ζػߵĤǽ
  VICIntEnableVICIntEnClr RegisterγƥӥåȤˤػ/Ĥ롥
16٥γͥ٤򥵥ݡ
  15ͥ0ǹͥ
ߤդȼդͥ٤VIC˥åȤ졤
  ٰͥʲγߤϼդʤʤ롥VICݻ
  ͥ٤ϡեȥ¦Ǥʤ
ߤϥ٥ˤ⥨åˤǽ
ƳߤVICVectAddrnn RegisterˡVectorʥɥ쥹ˤꤹ뤳
  Ǥߤդȡդߤ Vector VICAddress
  Registerꤵ롥
ץåVICAddressɤ߹ȡVICϳߥϥɥ餬Ϥ줿
  ߤʤ
ץå VICAdress˥񤭹ȡߥϥɥ餬λ
ߤʤ


׵ػߥե饰

׵ػߥե饰ϡVICλġߤθ̤ζػ/ĵǽѤ
Ƽ¸롥


ͥٵڤӳͥ٥ޥIPM

߼ջĴȡ߼ոΤʲͥ٤դʤ褦
ˤ롤AICγͥ٥ޥAICεǽǼ¸ǽǤ롥
AICγͥ٥ޥϥեȥŪ˥ԲǽǤ뤿ᡤ
AICγͥ٥ޥʥǥΡ˳ͥ٥ޥȤƻ
Ѥ뤳ȤԲǽǤ롥

Τᡤͥˡٰͥʲγߤػߤӥåȥѥ
ե졼ѰդեȥŪ˳ͥ٥ޥѹ
ϡͤȤߤػߤ뤳ȤǡʥǥΡ˳ͥ
٥ޥ¸롥

߼ոϡVICưŪ˼դߤγͥ٤
VIC˥åȤ뤿ᡤͥγߤǤϡӥåȥѥ
ˤߤζػߤϹԤʤ


VICAddressλˡ

VICVectAddrnn˳ߥϥɥΥɥ쥹򥻥åȤ߼ջϡ
ߥȥζͭ롼ǡVICAddressɤ߹ɤ߹ɥ쥹
˥פΤλȤǤ롥ʤ顤ܥͥǤϡ
ͭγߤΥȥǳװȽǤơʥǥΡ˳ͥ
ޥ򥻥åȤɬפ롥ΤᡤVICAddressRˤϥϥɥΥ
쥹ǤϤʤֹ򥻥åȤƻѤ롥


ե졼ˤǡ

ե졼ǤϡʲΥǡ롥

ͥ٥ơ֥롥Ƴߤͥ٤ݻ롥ͤɽǡ
ɽ͡

  const uint8_t _kernel_inh_ipm_tbl[TNUM_INH];

ߥޥơ֥롥Ƴͥ٤ǶػߤߤΥӥåȥѥ
ݻ롥

  const uint32_t _kernel_ipm_mask_tbl[(TMAX_INTPRI - TMIN_INTPRI + 1)];


ߥϥɥơ֥롥ߥϥɥΥɥ쥹ݻ롥

  const FP _kernel_inh_tbl[TNUM_INH];


