### uVision2 Project, (C) Keil Software
### Do not modify !

 cExt (*.c)
 aExt (*.s*; *.src; *.a*)
 oExt (*.obj)
 lExt (*.lib)
 tExt (*.txt; *.h; *.inc)
 pExt (*.plm)
 CppX (*.cpp)
 DaveTm { 0,0,0,0,0,0,0,0 }

Target (LM3S1xx), 0x0004 // Tools: 'ARM-ADS'
GRPOPT 1,(Source),0,0,0
GRPOPT 2,(Demo),0,0,0

OPTFFF 1,1,1,0,0,0,0,0,<..\..\Source\croutine.c><croutine.c> 
OPTFFF 1,2,1,0,0,0,0,0,<..\..\Source\list.c><list.c> 
OPTFFF 1,3,1,0,0,0,0,0,<..\..\Source\queue.c><queue.c> 
OPTFFF 1,4,1,0,0,0,0,0,<..\..\Source\tasks.c><tasks.c> 
OPTFFF 1,5,1,0,0,0,0,0,<..\..\Source\portable\MemMang\heap_1.c><heap_1.c> 
OPTFFF 1,6,1,0,0,0,0,0,<..\..\Source\portable\RVDS\ARM_CM3\port.c><port.c> 
OPTFFF 2,7,1,0,0,0,0,0,<.\main.c><main.c> 
OPTFFF 2,8,2,0,0,0,0,0,<.\init\Startup.s><Startup.s> 
OPTFFF 2,9,1,0,0,0,0,0,<..\Common\Minimal\crflash.c><crflash.c> 
OPTFFF 2,10,1,0,0,0,0,0,<.\ParTest\ParTest.c><ParTest.c> 
OPTFFF 2,11,1,0,0,0,0,0,<.\include\pdc.c><pdc.c> 
OPTFFF 2,12,4,0,0,0,0,0,<..\Common\drivers\LuminaryMicro\Keil\driverlib.lib><driverlib.lib> 


TARGOPT 1, (LM3S1xx)
 ADSCLK=20000000
  OPTTT 1,1,1,0
  OPTHX 1,65535,0,0,0
  OPTLX 79,66,8,<.\uvision\>
  OPTOX 16
  OPTLT 1,1,1,0,1,1,0,1,0,0,0,0
  OPTXL 1,1,1,1,1,1,1,0,0
  OPTFL 1,0,1
  OPTAX 0
  OPTDL (SARMCM3.DLL)()(DLM.DLL)(-pLM3S101)(SARMCM3.DLL)()(TLM.DLL)(-pLM3S101)
  OPTDBG 49150,1,()()()()()()()()()() (BIN\UL2CM3.DLL)()()()
  OPTKEY 0,(DLGTARM)((1010=-1,-1,-1,-1,0)(1007=-1,-1,-1,-1,0)(1008=-1,-1,-1,-1,0)(1009=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(100=-1,-1,-1,-1,0)(101=-1,-1,-1,-1,0)(102=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(1012=-1,-1,-1,-1,0)(1014=-1,-1,-1,-1,0)(1016=-1,-1,-1,-1,0))
  OPTKEY 0,(ARMDBGFLAGS)()
  OPTKEY 0,(DLGUARM)((105=-1,-1,-1,-1,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0))
  OPTKEY 0,(UL2CM3)(-UU0226F8E -O14 -S0 -C0 -N00("ARM CoreSight JTAG-DP") -D00(1BA00477) -L00(4) -TO18 -TC10000000 -TP21 -TDS8007 -TDT0 -TDC1F -TIEFFFFFFFF -TIP7 -FO7 -FD20000000 -FC800 -FN1 -FF0LM3S_8 -FS00 -FL02000)
  OPTDF 0x80
  OPTLE <>
  OPTLC <>
EndOpt

