فهرست منبع

fix ili9325 driver

git-svn-id: https://rt-thread.googlecode.com/svn/trunk@439 bbd45198-f89e-11dd-88c7-29a3b14d5316
wuyangyong 15 سال پیش
والد
کامیت
f3bb2aa8b1
6فایلهای تغییر یافته به همراه323 افزوده شده و 701 حذف شده
  1. 0 15
      bsp/stm32_radio/ili9325/ili9320.h
  2. 53 466
      bsp/stm32_radio/ili9325/ili9325.c
  3. 28 0
      bsp/stm32_radio/ili9325/ili9325.h
  4. 47 20
      bsp/stm32_radio/lcd.c
  5. 194 199
      bsp/stm32_radio/project.Opt
  6. 1 1
      bsp/stm32_radio/project.Uv2

+ 0 - 15
bsp/stm32_radio/ili9325/ili9320.h

@@ -1,15 +0,0 @@
-#ifndef ILI9320_H_INCLUDED
-#define ILI9320_H_INCLUDED
-
-extern void ili9320_Initializtion(void);
-extern void ili9320_SetCursor(u16 x,u16 y);
-extern void ili9320_Clear(u16 Color);
-
-extern u16 ili9320_BGR2RGB(u16 c);
-
-extern void LCD_WriteRAM_Prepare(void);
-extern void LCD_WriteRAM(u16 RGB_Code);
-extern u16 LCD_ReadRAM(void);
-extern void LCD_WriteReg(u8 LCD_Reg,u16 LCD_RegValue);
-
-#endif

+ 53 - 466
bsp/stm32_radio/ili9325/ili9320.c → bsp/stm32_radio/ili9325/ili9325.c

@@ -1,5 +1,5 @@
 #include "stm32f10x.h"
-#include "ili9320.h"
+#include "ili9325.h"
 
 /* LCD Registers */
 #define       R0             0x00
@@ -126,27 +126,6 @@
 
 static u16 DeviceCode;
 
-/* Private typedef -----------------------------------------------------------*/
-typedef struct
-{
-    vu16 LCD_REG;  /* 0x00 */
-    vu16 reserve1; /* 0x02 */
-    vu16 reserve2; /* 0x04 */
-    vu16 reserve3; /* 0x08 */
-    vu16 LCD_RAM;
-} LCD_ili9320_TypeDef;
-
-/* LCD is connected to the FSMC_Bank1_NOR/SRAM4 and NE4 is used as ship select signal */
-#define LCD_ili9320_BASE    ((u32)(0x60000000 | 0x04000000))
-#define LCD                 ((LCD_ili9320_TypeDef *) LCD_ili9320_BASE)
-
-#if 0
-static void ili9320_Delay(vu32 nCount)
-{
-    for (; nCount != 0; nCount--);
-}
-#endif
-
 static void LCD_CtrlLinesConfig(void)
 {
     GPIO_InitTypeDef GPIO_InitStructure;
@@ -322,6 +301,18 @@ u16 LCD_ReadRAM(void)
     return LCD->LCD_RAM;
 }
 
+
+/* 读取指定地址的GRAM */
+unsigned short ili9325_ReadGRAM(unsigned short x,unsigned short y)
+{
+    unsigned short temp;
+    ili9325_SetCursor(x,y);
+    LCD->LCD_REG = R34;
+    /* dummy read */
+    temp = LCD->LCD_RAM;
+    temp = LCD->LCD_RAM;
+    return temp;
+}
 /*******************************************************************************
 * Function Name  : LCD_SetCursor
 * Description    : Sets the cursor position.
@@ -332,14 +323,14 @@ u16 LCD_ReadRAM(void)
 *******************************************************************************/
 
 
-void LCD_SetCursor(u16 Xpos, u16 Ypos)
-{
-    LCD_WriteReg(0x06,Ypos>>8);
-    LCD_WriteReg(0x07,Ypos);
-
-    LCD_WriteReg(0x02,Xpos>>8);
-    LCD_WriteReg(0x03,Xpos);
-}
+//void LCD_SetCursor(u16 Xpos, u16 Ypos)
+//{
+//    LCD_WriteReg(0x06,Ypos>>8);
+//    LCD_WriteReg(0x07,Ypos);
+//
+//    LCD_WriteReg(0x02,Xpos>>8);
+//    LCD_WriteReg(0x03,Xpos);
+//}
 
 
 void Delay(u32 nCount)
@@ -347,11 +338,11 @@ void Delay(u32 nCount)
     u32 TimingDelay;
     while (nCount--)
     {
-        for (TimingDelay=0;TimingDelay<10000;TimingDelay++);
+        for (TimingDelay=0; TimingDelay<10000; TimingDelay++);
     }
 }
 
-void ili9320_Initializtion(void)
+void ili9325_Initializtion(void)
 {
     /*****************************
     **    硬件连接说明          **
@@ -389,7 +380,7 @@ void ili9320_Initializtion(void)
         LCD_WriteReg(0x0000,0x0001);  			        //start internal osc
         LCD_WriteReg(0x0001,0x0100);
         LCD_WriteReg(0x0002,0x0700); 				    //power on sequence
-        /* [5:4]-ID~ID0 [3]-AM-1垂直-0水平 */
+        /* [5:4]-ID1~ID0 [3]-AM-1垂直-0水平 */
         LCD_WriteReg(0x0003,(1<<12)|(1<<5)|(0<<4) | (1<<3) );
         LCD_WriteReg(0x0004,0x0000);
         LCD_WriteReg(0x0008,0x0207);
@@ -403,25 +394,25 @@ void ili9320_Initializtion(void)
         LCD_WriteReg(0x0011,0x0007);
         LCD_WriteReg(0x0012,0x0000);
         LCD_WriteReg(0x0013,0x0000);
-        for (i=50000;i>0;i--);
-        for (i=50000;i>0;i--);
+        for (i=50000; i>0; i--);
+        for (i=50000; i>0; i--);
         LCD_WriteReg(0x0010,0x1590);
         LCD_WriteReg(0x0011,0x0227);
-        for (i=50000;i>0;i--);
-        for (i=50000;i>0;i--);
+        for (i=50000; i>0; i--);
+        for (i=50000; i>0; i--);
         LCD_WriteReg(0x0012,0x009c);
-        for (i=50000;i>0;i--);
-        for (i=50000;i>0;i--);
+        for (i=50000; i>0; i--);
+        for (i=50000; i>0; i--);
         LCD_WriteReg(0x0013,0x1900);
         LCD_WriteReg(0x0029,0x0023);
         LCD_WriteReg(0x002b,0x000e);
-        for (i=50000;i>0;i--);
-        for (i=50000;i>0;i--);
+        for (i=50000; i>0; i--);
+        for (i=50000; i>0; i--);
         LCD_WriteReg(0x0020,0x0000);
         LCD_WriteReg(0x0021,0x0000);
 ///////////////////////////////////////////////////////
-        for (i=50000;i>0;i--);
-        for (i=50000;i>0;i--);
+        for (i=50000; i>0; i--);
+        for (i=50000; i>0; i--);
         LCD_WriteReg(0x0030,0x0007);
         LCD_WriteReg(0x0031,0x0707);
         LCD_WriteReg(0x0032,0x0006);
@@ -432,8 +423,8 @@ void ili9320_Initializtion(void)
         LCD_WriteReg(0x0039,0x0706);
         LCD_WriteReg(0x003c,0x0701);
         LCD_WriteReg(0x003d,0x000f);
-        for (i=50000;i>0;i--);
-        for (i=50000;i>0;i--);
+        for (i=50000; i>0; i--);
+        for (i=50000; i>0; i--);
         LCD_WriteReg(0x0050,0x0000);
         LCD_WriteReg(0x0051,0x00ef);
         LCD_WriteReg(0x0052,0x0000);
@@ -460,415 +451,11 @@ void ili9320_Initializtion(void)
         LCD_WriteReg(0x0020,0x0000);
         LCD_WriteReg(0x0021,0x0000);
     }
-    #if 0
-    else if (DeviceCode==0x9320||DeviceCode==0x9300)
-    {
-        LCD_WriteReg(0x00,0x0000);
-        LCD_WriteReg(0x01,0x0100);	//Driver Output Contral.
-        LCD_WriteReg(0x02,0x0700);	//LCD Driver Waveform Contral.
-//		LCD_WriteReg(0x03,0x1030);	//Entry Mode Set.
-        LCD_WriteReg(0x03,0x1018);	//Entry Mode Set.
-
-        LCD_WriteReg(0x04,0x0000);	//Scalling Contral.
-        LCD_WriteReg(0x08,0x0202);	//Display Contral 2.(0x0207)
-        LCD_WriteReg(0x09,0x0000);	//Display Contral 3.(0x0000)
-        LCD_WriteReg(0x0a,0x0000);	//Frame Cycle Contal.(0x0000)
-        LCD_WriteReg(0x0c,(1<<0));	//Extern Display Interface Contral 1.(0x0000)
-        LCD_WriteReg(0x0d,0x0000);	//Frame Maker Position.
-        LCD_WriteReg(0x0f,0x0000);	//Extern Display Interface Contral 2.
-
-        for (i=50000;i>0;i--);
-        for (i=50000;i>0;i--);
-        LCD_WriteReg(0x07,0x0101);	//Display Contral.
-        for (i=50000;i>0;i--);
-        for (i=50000;i>0;i--);
-
-        LCD_WriteReg(0x10,(1<<12)|(0<<8)|(1<<7)|(1<<6)|(0<<4));	//Power Control 1.(0x16b0)
-        LCD_WriteReg(0x11,0x0007);								//Power Control 2.(0x0001)
-        LCD_WriteReg(0x12,(1<<8)|(1<<4)|(0<<0));					//Power Control 3.(0x0138)
-        LCD_WriteReg(0x13,0x0b00);								//Power Control 4.
-        LCD_WriteReg(0x29,0x0000);								//Power Control 7.
-
-        LCD_WriteReg(0x2b,(1<<14)|(1<<4));
-
-        LCD_WriteReg(0x50,0);		//Set X Start.
-        LCD_WriteReg(0x51,239);	//Set X End.
-        LCD_WriteReg(0x52,0);		//Set Y Start.
-        LCD_WriteReg(0x53,319);	//Set Y End.
-
-        LCD_WriteReg(0x60,0x2700);	//Driver Output Control.
-        LCD_WriteReg(0x61,0x0001);	//Driver Output Control.
-        LCD_WriteReg(0x6a,0x0000);	//Vertical Srcoll Control.
-
-        LCD_WriteReg(0x80,0x0000);	//Display Position? Partial Display 1.
-        LCD_WriteReg(0x81,0x0000);	//RAM Address Start? Partial Display 1.
-        LCD_WriteReg(0x82,0x0000);	//RAM Address End-Partial Display 1.
-        LCD_WriteReg(0x83,0x0000);	//Displsy Position? Partial Display 2.
-        LCD_WriteReg(0x84,0x0000);	//RAM Address Start? Partial Display 2.
-        LCD_WriteReg(0x85,0x0000);	//RAM Address End? Partial Display 2.
-
-        LCD_WriteReg(0x90,(0<<7)|(16<<0));	//Frame Cycle Contral.(0x0013)
-        LCD_WriteReg(0x92,0x0000);	//Panel Interface Contral 2.(0x0000)
-        LCD_WriteReg(0x93,0x0001);	//Panel Interface Contral 3.
-        LCD_WriteReg(0x95,0x0110);	//Frame Cycle Contral.(0x0110)
-        LCD_WriteReg(0x97,(0<<8));	//
-        LCD_WriteReg(0x98,0x0000);	//Frame Cycle Contral.
-
-
-        LCD_WriteReg(0x07,0x0173);	//(0x0173)
-    }
-    else if (DeviceCode==0x9331)
-    {
-        LCD_WriteReg(0x00E7, 0x1014);
-        LCD_WriteReg(0x0001, 0x0100); // set SS and SM bit   0x0100
-        LCD_WriteReg(0x0002, 0x0200); // set 1 line inversion
-        LCD_WriteReg(0x0003, 0x1030); // set GRAM write direction and BGR=1.     0x1030
-        LCD_WriteReg(0x0008, 0x0202); // set the back porch and front porch
-        LCD_WriteReg(0x0009, 0x0000); // set non-display area refresh cycle ISC[3:0]
-        LCD_WriteReg(0x000A, 0x0000); // FMARK function
-        LCD_WriteReg(0x000C, 0x0000); // RGB interface setting
-        LCD_WriteReg(0x000D, 0x0000); // Frame marker Position
-        LCD_WriteReg(0x000F, 0x0000); // RGB interface polarity
-        //*************Power On sequence ****************//
-        LCD_WriteReg(0x0010, 0x0000); // SAP, BT[3:0], AP, DSTB, SLP, STB
-        LCD_WriteReg(0x0011, 0x0007); // DC1[2:0], DC0[2:0], VC[2:0]
-        LCD_WriteReg(0x0012, 0x0000); // VREG1OUT voltage
-        LCD_WriteReg(0x0013, 0x0000); // VDV[4:0] for VCOM amplitude
-        ili9320_Delay(200); // Dis-charge capacitor power voltage
-        LCD_WriteReg(0x0010, 0x1690); // SAP, BT[3:0], AP, DSTB, SLP, STB
-        LCD_WriteReg(0x0011, 0x0227); // DC1[2:0], DC0[2:0], VC[2:0]
-        ili9320_Delay(50); // Delay 50ms
-        LCD_WriteReg(0x0012, 0x000C); // Internal reference voltage= Vci;
-        ili9320_Delay(50); // Delay 50ms
-        LCD_WriteReg(0x0013, 0x0800); // Set VDV[4:0] for VCOM amplitude
-        LCD_WriteReg(0x0029, 0x0011); // Set VCM[5:0] for VCOMH
-        LCD_WriteReg(0x002B, 0x000B); // Set Frame Rate
-        ili9320_Delay(50); // Delay 50ms
-        LCD_WriteReg(0x0020, 0x0000); // GRAM horizontal Address
-        LCD_WriteReg(0x0021, 0x0000); // GRAM Vertical Address
-        // ----------- Adjust the Gamma Curve ----------//
-        LCD_WriteReg(0x0030, 0x0000);
-        LCD_WriteReg(0x0031, 0x0106);
-        LCD_WriteReg(0x0032, 0x0000);
-        LCD_WriteReg(0x0035, 0x0204);
-        LCD_WriteReg(0x0036, 0x160A);
-        LCD_WriteReg(0x0037, 0x0707);
-        LCD_WriteReg(0x0038, 0x0106);
-        LCD_WriteReg(0x0039, 0x0707);
-        LCD_WriteReg(0x003C, 0x0402);
-        LCD_WriteReg(0x003D, 0x0C0F);
-        //------------------ Set GRAM area ---------------//
-        LCD_WriteReg(0x0050, 0x0000); // Horizontal GRAM Start Address
-        LCD_WriteReg(0x0051, 0x00EF); // Horizontal GRAM End Address
-        LCD_WriteReg(0x0052, 0x0000); // Vertical GRAM Start Address
-        LCD_WriteReg(0x0053, 0x013F); // Vertical GRAM Start Address
-        LCD_WriteReg(0x0060, 0x2700); // Gate Scan Line
-        LCD_WriteReg(0x0061, 0x0001); // NDL,VLE, REV
-        LCD_WriteReg(0x006A, 0x0000); // set scrolling line
-        //-------------- Partial Display Control ---------//
-        LCD_WriteReg(0x0080, 0x0000);
-        LCD_WriteReg(0x0081, 0x0000);
-        LCD_WriteReg(0x0082, 0x0000);
-        LCD_WriteReg(0x0083, 0x0000);
-        LCD_WriteReg(0x0084, 0x0000);
-        LCD_WriteReg(0x0085, 0x0000);
-        //-------------- Panel Control -------------------//
-        LCD_WriteReg(0x0090, 0x0010);
-        LCD_WriteReg(0x0092, 0x0600);
-        LCD_WriteReg(0x0007,0x0021);
-        ili9320_Delay(50);
-        LCD_WriteReg(0x0007,0x0061);
-        ili9320_Delay(50);
-        LCD_WriteReg(0x0007,0x0133);  // 262K color and display ON
-        ili9320_Delay(50);
-    }
-    else if (DeviceCode==0x9919)
-    {
-        //*********POWER ON &RESET DISPLAY OFF
-        LCD_WriteReg(0x28,0x0006);
-
-        LCD_WriteReg(0x00,0x0001);
-
-        LCD_WriteReg(0x10,0x0000);
-
-        LCD_WriteReg(0x01,0x72ef);
-
-        LCD_WriteReg(0x02,0x0600);
-
-        LCD_WriteReg(0x03,0x6a38);
-
-        LCD_WriteReg(0x11,0x6874);//70
-
-
-        //  RAM WRITE DATA MASK
-        LCD_WriteReg(0x0f,0x0000);
-        //  RAM WRITE DATA MASK
-        LCD_WriteReg(0x0b,0x5308);
-
-        LCD_WriteReg(0x0c,0x0003);
-
-        LCD_WriteReg(0x0d,0x000a);
-
-        LCD_WriteReg(0x0e,0x2e00);  //0030
-
-        LCD_WriteReg(0x1e,0x00be);
-
-        LCD_WriteReg(0x25,0x8000);
-
-        LCD_WriteReg(0x26,0x7800);
-
-        LCD_WriteReg(0x27,0x0078);
-
-        LCD_WriteReg(0x4e,0x0000);
-
-        LCD_WriteReg(0x4f,0x0000);
-
-        LCD_WriteReg(0x12,0x08d9);
-
-        // -----------------Adjust the Gamma Curve----//
-        LCD_WriteReg(0x30,0x0000);	 //0007
-
-        LCD_WriteReg(0x31,0x0104);	   //0203
-
-        LCD_WriteReg(0x32,0x0100);		//0001
-
-        LCD_WriteReg(0x33,0x0305);	  //0007
-
-        LCD_WriteReg(0x34,0x0505);	  //0007
-
-        LCD_WriteReg(0x35,0x0305);		 //0407
-
-        LCD_WriteReg(0x36,0x0707);		 //0407
-
-        LCD_WriteReg(0x37,0x0300);		  //0607
-
-        LCD_WriteReg(0x3a,0x1200);		 //0106
-
-        LCD_WriteReg(0x3b,0x0800);
-
-        LCD_WriteReg(0x07,0x0033);
-    }
-    else if (DeviceCode==0x1505)
-    {
-        // second release on 3/5  ,luminance is acceptable,water wave appear during camera preview
-        LCD_WriteReg(0x0007,0x0000);
-        ili9320_Delay(5);
-        LCD_WriteReg(0x0012,0x011C);//0x011A   why need to set several times?
-        LCD_WriteReg(0x00A4,0x0001);//NVM
-        //
-        LCD_WriteReg(0x0008,0x000F);
-        LCD_WriteReg(0x000A,0x0008);
-        LCD_WriteReg(0x000D,0x0008);
-
-        //GAMMA CONTROL/
-        LCD_WriteReg(0x0030,0x0707);
-        LCD_WriteReg(0x0031,0x0007); //0x0707
-        LCD_WriteReg(0x0032,0x0603);
-        LCD_WriteReg(0x0033,0x0700);
-        LCD_WriteReg(0x0034,0x0202);
-        LCD_WriteReg(0x0035,0x0002); //?0x0606
-        LCD_WriteReg(0x0036,0x1F0F);
-        LCD_WriteReg(0x0037,0x0707); //0x0f0f  0x0105
-        LCD_WriteReg(0x0038,0x0000);
-        LCD_WriteReg(0x0039,0x0000);
-        LCD_WriteReg(0x003A,0x0707);
-        LCD_WriteReg(0x003B,0x0000); //0x0303
-        LCD_WriteReg(0x003C,0x0007); //?0x0707
-        LCD_WriteReg(0x003D,0x0000); //0x1313//0x1f08
-        ili9320_Delay(5);
-        LCD_WriteReg(0x0007,0x0001);
-        LCD_WriteReg(0x0017,0x0001);   //Power supply startup enable
-        ili9320_Delay(5);
-
-        //power control//
-        LCD_WriteReg(0x0010,0x17A0);
-        LCD_WriteReg(0x0011,0x0217); //reference voltage VC[2:0]   Vciout = 1.00*Vcivl
-        LCD_WriteReg(0x0012,0x011E);//0x011c  //Vreg1out = Vcilvl*1.80   is it the same as Vgama1out ?
-        LCD_WriteReg(0x0013,0x0F00); //VDV[4:0]-->VCOM Amplitude VcomL = VcomH - Vcom Ampl
-        LCD_WriteReg(0x002A,0x0000);
-        LCD_WriteReg(0x0029,0x000A); //0x0001F  Vcomh = VCM1[4:0]*Vreg1out    gate source voltage??
-        LCD_WriteReg(0x0012,0x013E); // 0x013C  power supply on
-        //Coordinates Control//
-        LCD_WriteReg(0x0050,0x0000);//0x0e00
-        LCD_WriteReg(0x0051,0x00EF);
-        LCD_WriteReg(0x0052,0x0000);
-        LCD_WriteReg(0x0053,0x013F);
-        //Pannel Image Control//
-        LCD_WriteReg(0x0060,0x2700);
-        LCD_WriteReg(0x0061,0x0001);
-        LCD_WriteReg(0x006A,0x0000);
-        LCD_WriteReg(0x0080,0x0000);
-        //Partial Image Control//
-        LCD_WriteReg(0x0081,0x0000);
-        LCD_WriteReg(0x0082,0x0000);
-        LCD_WriteReg(0x0083,0x0000);
-        LCD_WriteReg(0x0084,0x0000);
-        LCD_WriteReg(0x0085,0x0000);
-        //Panel Interface Control//
-        LCD_WriteReg(0x0090,0x0013); //0x0010 frenqucy
-        LCD_WriteReg(0x0092,0x0300);
-        LCD_WriteReg(0x0093,0x0005);
-        LCD_WriteReg(0x0095,0x0000);
-        LCD_WriteReg(0x0097,0x0000);
-        LCD_WriteReg(0x0098,0x0000);
-
-        LCD_WriteReg(0x0001,0x0100);
-        LCD_WriteReg(0x0002,0x0700);
-        LCD_WriteReg(0x0003,0x1030);
-        LCD_WriteReg(0x0004,0x0000);
-        LCD_WriteReg(0x000C,0x0000);
-        LCD_WriteReg(0x000F,0x0000);
-        LCD_WriteReg(0x0020,0x0000);
-        LCD_WriteReg(0x0021,0x0000);
-        LCD_WriteReg(0x0007,0x0021);
-        ili9320_Delay(20);
-        LCD_WriteReg(0x0007,0x0061);
-        ili9320_Delay(20);
-        LCD_WriteReg(0x0007,0x0173);
-        ili9320_Delay(20);
-    }
-    else if (DeviceCode==0x8989)
-    {
-        LCD_WriteReg(0x0000,0x0001);
-        ili9320_Delay(50000);  //打开晶振
-        LCD_WriteReg(0x0003,0xA8A4);
-        ili9320_Delay(50000);   //0xA8A4
-        LCD_WriteReg(0x000C,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x000D,0x080C);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x000E,0x2B00);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x001E,0x00B0);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0001,0x2B3F);
-        ili9320_Delay(50000);   //驱动输出控制320*240  0x6B3F
-        LCD_WriteReg(0x0002,0x0600);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0010,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0011,0x6070);
-        ili9320_Delay(50000);        //0x4030           //定义数据格式  16位色 		横屏 0x6058
-        LCD_WriteReg(0x0005,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0006,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0016,0xEF1C);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0017,0x0003);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0007,0x0233);
-        ili9320_Delay(50000);        //0x0233
-        LCD_WriteReg(0x000B,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x000F,0x0000);
-        ili9320_Delay(50000);        //扫描开始地址
-        LCD_WriteReg(0x0041,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0042,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0048,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0049,0x013F);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x004A,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x004B,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0044,0xEF00);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0045,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0046,0x013F);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0030,0x0707);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0031,0x0204);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0032,0x0204);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0033,0x0502);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0034,0x0507);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0035,0x0204);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0036,0x0204);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0037,0x0502);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x003A,0x0302);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x003B,0x0302);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0023,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0024,0x0000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x0025,0x8000);
-        ili9320_Delay(50000);
-        LCD_WriteReg(0x004f,0);        //行首址0
-        LCD_WriteReg(0x004e,0);        //列首址0
-    }
-    else if (DeviceCode==0x7783)
-    {
-        // Start Initial Sequence
-        LCD_WriteReg(0x00FF,0x0001);
-        LCD_WriteReg(0x00F3,0x0008);
-        LCD_WriteReg(0x0001,0x0100);
-        LCD_WriteReg(0x0002,0x0700);
-        LCD_WriteReg(0x0003,0x1030);  //0x1030
-        LCD_WriteReg(0x0008,0x0302);
-        LCD_WriteReg(0x0008,0x0207);
-        LCD_WriteReg(0x0009,0x0000);
-        LCD_WriteReg(0x000A,0x0000);
-        LCD_WriteReg(0x0010,0x0000);  //0x0790
-        LCD_WriteReg(0x0011,0x0005);
-        LCD_WriteReg(0x0012,0x0000);
-        LCD_WriteReg(0x0013,0x0000);
-        ili9320_Delay(50);
-        LCD_WriteReg(0x0010,0x12B0);
-        ili9320_Delay(50);
-        LCD_WriteReg(0x0011,0x0007);
-        ili9320_Delay(50);
-        LCD_WriteReg(0x0012,0x008B);
-        ili9320_Delay(50);
-        LCD_WriteReg(0x0013,0x1700);
-        ili9320_Delay(50);
-        LCD_WriteReg(0x0029,0x0022);
-
-        //################# void Gamma_Set(void) ####################//
-        LCD_WriteReg(0x0030,0x0000);
-        LCD_WriteReg(0x0031,0x0707);
-        LCD_WriteReg(0x0032,0x0505);
-        LCD_WriteReg(0x0035,0x0107);
-        LCD_WriteReg(0x0036,0x0008);
-        LCD_WriteReg(0x0037,0x0000);
-        LCD_WriteReg(0x0038,0x0202);
-        LCD_WriteReg(0x0039,0x0106);
-        LCD_WriteReg(0x003C,0x0202);
-        LCD_WriteReg(0x003D,0x0408);
-        ili9320_Delay(50);
-
-
-        LCD_WriteReg(0x0050,0x0000);
-        LCD_WriteReg(0x0051,0x00EF);
-        LCD_WriteReg(0x0052,0x0000);
-        LCD_WriteReg(0x0053,0x013F);
-        LCD_WriteReg(0x0060,0xA700);
-        LCD_WriteReg(0x0061,0x0001);
-        LCD_WriteReg(0x0090,0x0033);
-        LCD_WriteReg(0x002B,0x000B);
-        //LCD_WriteReg(0x0007,0x0133);
-        ili9320_Delay(50);
-    }
-    #endif
-    for (i=50000;i>0;i--);
-    ili9320_Clear(White);
+    ili9325_Clear( Blue );
 }
 
 /****************************************************************************
-* 名    称:void ili9320_SetCursor(u16 x,u16 y)
+* 名    称:void ili9325_SetCursor(u16 x,u16 y)
 * 功    能:设置屏幕座标
 * 入口参数:x      行座标
 *           y      列座标
@@ -876,10 +463,10 @@ void ili9320_Initializtion(void)
 * 说    明:
 * 调用方法:ili9320_SetCursor(10,10);
 ****************************************************************************/
-__inline void ili9320_SetCursor(u16 x,u16 y)
+void ili9325_SetCursor(u16 x,u16 y)
 {
-    LCD_WriteReg(0x0020,x); /* 0-239 */
-    LCD_WriteReg(0x0021,y); /* 0-319 */
+    LCD_WriteReg(R32,x); /* 0-239 */
+    LCD_WriteReg(R33,y); /* 0-319 */
 }
 
 /****************************************************************************
@@ -893,9 +480,9 @@ __inline void ili9320_SetCursor(u16 x,u16 y)
 * 说    明:
 * 调用方法:ili9320_SetWindows(0,0,100,100);
 ****************************************************************************/
-__inline void ili9320_SetWindows(u16 StartX,u16 StartY,u16 EndX,u16 EndY)
+void ili9320_SetWindows(u16 StartX,u16 StartY,u16 EndX,u16 EndY)
 {
-    ili9320_SetCursor(StartX,StartY);
+    ili9325_SetCursor(StartX,StartY);
     LCD_WriteReg(0x0050, StartX);
     LCD_WriteReg(0x0052, StartY);
     LCD_WriteReg(0x0051, EndX);
@@ -910,12 +497,12 @@ __inline void ili9320_SetWindows(u16 StartX,u16 StartY,u16 EndX,u16 EndY)
 * 说    明:
 * 调用方法:ili9320_Clear(0xffff);
 ****************************************************************************/
-void ili9320_Clear(u16 Color)
+void ili9325_Clear(u16 Color)
 {
     u32 index=0;
-    ili9320_SetCursor(0,0);
+    ili9325_SetCursor(0,0);
     LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */
-    for (index=0;index<76800;index++)
+    for (index=0; index<76800; index++)
     {
         LCD->LCD_RAM=Color;
     }
@@ -932,8 +519,8 @@ void ili9320_Clear(u16 Color)
 ****************************************************************************/
 u16 ili9320_GetPoint(u16 x,u16 y)
 {
-    ili9320_SetCursor(x,y);
-    return (ili9320_BGR2RGB(LCD_ReadRAM()));
+    ili9325_SetCursor(x,y);
+    return (ili9325_BGR2RGB(LCD_ReadRAM()));
 }
 /****************************************************************************
 * 名    称:void ili9320_SetPoint(u16 x,u16 y,u16 point)
@@ -948,7 +535,7 @@ u16 ili9320_GetPoint(u16 x,u16 y)
 void ili9320_SetPoint(u16 x,u16 y,u16 point)
 {
     if ( (x>320)||(y>240) ) return;
-    ili9320_SetCursor(x,y);
+    ili9325_SetCursor(x,y);
 
     LCD_WriteRAM_Prepare();
     LCD_WriteRAM(point);
@@ -970,10 +557,10 @@ void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,u16 *pic)
 {
     u16  i;
     ili9320_SetWindows(StartX,StartY,EndX,EndY);
-    ili9320_SetCursor(StartX,StartY);
+    ili9325_SetCursor(StartX,StartY);
 
     LCD_WriteRAM_Prepare();
-    for (i=0;i<(EndX*EndY);i++)
+    for (i=0; i<(EndX*EndY); i++)
     {
         LCD_WriteRAM(*pic++);
     }
@@ -981,14 +568,14 @@ void ili9320_DrawPicture(u16 StartX,u16 StartY,u16 EndX,u16 EndY,u16 *pic)
 
 
 /****************************************************************************
-* 名    称:u16 ili9320_BGR2RGB(u16 c)
+* 名    称:u16 ili9325_BGR2RGB(u16 c)
 * 功    能:RRRRRGGGGGGBBBBB 改为 BBBBBGGGGGGRRRRR 格式
 * 入口参数:c      BRG 颜色值
 * 出口参数:RGB 颜色值
 * 说    明:内部函数调用
 * 调用方法:
 ****************************************************************************/
-u16 ili9320_BGR2RGB(u16 c)
+unsigned short ili9325_BGR2RGB(unsigned short c)
 {
     u16  r, g, b, rgb;
 

+ 28 - 0
bsp/stm32_radio/ili9325/ili9325.h

@@ -0,0 +1,28 @@
+#ifndef ILI9325_H_INCLUDED
+#define ILI9325_H_INCLUDED
+
+extern void ili9325_Initializtion(void);
+extern void ili9325_SetCursor(u16 x,u16 y);
+extern void ili9325_Clear(u16 Color);
+
+extern unsigned short ili9325_BGR2RGB(unsigned short c);
+
+extern void LCD_WriteRAM_Prepare(void);
+extern void LCD_WriteRAM(u16 RGB_Code);
+extern unsigned short ili9325_ReadGRAM(unsigned short x,unsigned short y);
+extern void LCD_WriteReg(u8 LCD_Reg,u16 LCD_RegValue);
+
+typedef struct
+{
+    vu16 LCD_REG;  /* 0x00 */
+    vu16 reserve1; /* 0x02 */
+    vu16 reserve2; /* 0x04 */
+    vu16 reserve3; /* 0x06 */
+    vu16 LCD_RAM;  /* 0x08 */
+} LCD_ili9325_TypeDef;
+
+/* LCD is connected to the FSMC_Bank1_NOR/SRAM2 and NE2 is used as ship select signal */
+#define LCD_ili9325_BASE    ((u32)(0x60000000 | 0x04000000))
+#define LCD                 ((LCD_ili9325_TypeDef *) LCD_ili9325_BASE)
+
+#endif

+ 47 - 20
bsp/stm32_radio/lcd.c

@@ -11,7 +11,7 @@
 #endif
 
 #if (LCD_VERSION == 2)
-#include "ili9325/ili9320.h"
+#include "ili9325/ili9325.h"
 #endif
 
 rt_err_t rt_hw_lcd_init(void);
@@ -312,7 +312,7 @@ void rt_hw_lcd_set_pixel(rtgui_color_t *c, rt_base_t x, rt_base_t y)
 
     /* get color pixel */
     p = rtgui_color_to_565p(*c);
-    ili9320_SetCursor(x,y);
+    ili9325_SetCursor(x,y);
 
     LCD_WriteRAM_Prepare();
     LCD_WriteRAM(p);
@@ -322,16 +322,7 @@ void rt_hw_lcd_set_pixel(rtgui_color_t *c, rt_base_t x, rt_base_t y)
 void rt_hw_lcd_get_pixel(rtgui_color_t *c, rt_base_t x, rt_base_t y)
 {
     unsigned short p;
-
-    ili9320_SetCursor(x,y);
-    //if (DeviceCode==0x7783)
-    //{
-    //    p = (LCD_ReadRAM());
-    //}
-    //else
-    //{
-    p = (ili9320_BGR2RGB(LCD_ReadRAM()));
-    //}
+    p = ili9325_BGR2RGB( ili9325_ReadGRAM(x,y) );
     *c = rtgui_color_from_565p(p);
 }
 
@@ -344,9 +335,9 @@ void rt_hw_lcd_draw_hline(rtgui_color_t *c, rt_base_t x1, rt_base_t x2, rt_base_
     p = rtgui_color_to_565p(*c);
 
     /* [5:4]-ID~ID0 [3]-AM-1´¹Ö±-0ˮƽ */
-    LCD_WriteReg(0x0003,(1<<12)|(1<<5)|(0<<4) | (0<<3) );
+    LCD_WriteReg(0x0003,(1<<12)|(1<<5)|(1<<4) | (0<<3) );
 
-    ili9320_SetCursor(x1, y);
+    ili9325_SetCursor(x1, y);
     LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */
     while (x1 < x2)
     {
@@ -368,7 +359,7 @@ void rt_hw_lcd_draw_vline(rtgui_color_t *c, rt_base_t x, rt_base_t y1, rt_base_t
     /* [5:4]-ID~ID0 [3]-AM-1´¹Ö±-0ˮƽ */
     LCD_WriteReg(0x0003,(1<<12)|(1<<5)|(0<<4) | (1<<3) );
 
-    ili9320_SetCursor(x, y1);
+    ili9325_SetCursor(x, y1);
     LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */
     while (y1 < y2)
     {
@@ -388,9 +379,9 @@ void rt_hw_lcd_draw_raw_hline(rt_uint8_t *pixels, rt_base_t x1, rt_base_t x2, rt
     ptr = (rt_uint16_t*) pixels;
 
     /* [5:4]-ID~ID0 [3]-AM-1´¹Ö±-0ˮƽ */
-    //LCD_WriteReg(0x0003,(1<<12)|(1<<5)|(0<<4) | (0<<3) );
+    LCD_WriteReg(0x0003,(1<<12)|(1<<5)|(1<<4) | (0<<3) );
 
-    ili9320_SetCursor(x1, y);
+    ili9325_SetCursor(x1, y);
     LCD_WriteRAM_Prepare(); /* Prepare to write GRAM */
     while (x1 < x2)
     {
@@ -398,7 +389,7 @@ void rt_hw_lcd_draw_raw_hline(rt_uint8_t *pixels, rt_base_t x1, rt_base_t x2, rt
         LCD_WriteRAM( *ptr );
         x1 ++;
         ptr ++;
-        ili9320_SetCursor(x1, y);
+        ili9325_SetCursor(x1, y);
     }
 }
 
@@ -413,7 +404,43 @@ rt_err_t rt_hw_lcd_init(void)
     GPIO_Init(GPIOF,&GPIO_InitStructure);
     GPIO_SetBits(GPIOF,GPIO_Pin_9);
 
-    ili9320_Initializtion();
+    ili9325_Initializtion();
+
+    /* LCD GRAM TEST */
+    {
+        unsigned short temp;
+        unsigned int test_x;
+        unsigned int test_y;
+
+        rt_kprintf("\r\nLCD GRAM test....");
+
+        /* write */
+        temp=0;
+        for(test_y=0; test_y<320; test_y++)
+        {
+            for(test_x=0; test_x<240; test_x++)
+            {
+                ili9325_SetCursor(test_x,test_y);
+                LCD->LCD_REG = 34;
+                LCD->LCD_RAM = temp++;
+            }
+        }
+
+        /* read */
+        temp=0;
+        for(test_y=0; test_y<320; test_y++)
+        {
+            for(test_x=0; test_x<240; test_x++)
+            {
+                if( ili9325_BGR2RGB( ili9325_ReadGRAM(test_x,test_y) ) != temp++)
+                {
+                    rt_kprintf("  LCD GRAM ERR!!");
+                    while(1);
+                }
+            }
+        }
+        rt_kprintf("  TEST PASS!\r\n");
+    }/* LCD GRAM TEST */
 
 #ifndef DRIVER_TEST
     /* add lcd driver into graphic driver */
@@ -439,7 +466,7 @@ FINSH_FUNCTION_EXPORT(vline, draw a vline);
 
 void cls()
 {
-    ili9320_Clear(0xF800);
+    ili9325_Clear(0xF800);
 }
 FINSH_FUNCTION_EXPORT(cls, clear screen);
 #endif

+ 194 - 199
bsp/stm32_radio/project.Opt

@@ -11,7 +11,7 @@
  DaveTm { 0,0,0,0,0,0,0,0 }
 
 Target (RT-Thread STM32 Radio), 0x0004 // Tools: 'ARM-ADS'
-GRPOPT 1,(Startup),0,0,0
+GRPOPT 1,(Startup),1,0,0
 GRPOPT 2,(Kernel),0,0,0
 GRPOPT 3,(STM32),0,0,0
 GRPOPT 4,(StdPeriph_Driver),0,0,0
@@ -19,17 +19,17 @@ GRPOPT 5,(USB-FS-Device_Driver),0,0,0
 GRPOPT 6,(CMSIS),0,0,0
 GRPOPT 7,(finsh),0,0,0
 GRPOPT 8,(Filesystem),0,0,0
-GRPOPT 9,(LwIP),1,0,0
+GRPOPT 9,(LwIP),0,0,0
 GRPOPT 10,(mp3),0,0,0
 GRPOPT 11,(RTGUI),0,0,0
 GRPOPT 12,(Mass_Storage),0,0,0
 
 OPTFFF 1,1,5,0,0,114,114,0,<.\rtconfig.h><rtconfig.h> { 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,0,0,0,0,0,0,0,0,133,2,0,0,218,0,0,0 }
-OPTFFF 1,2,5,0,0,0,0,0,<.\board.h><board.h> 
+OPTFFF 1,2,5,1124073474,0,14,34,0,<.\board.h><board.h> { 44,0,0,0,2,0,0,0,3,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,110,0,0,0,145,0,0,0,93,4,0,0,17,2,0,0 }
 OPTFFF 1,3,5,0,0,0,0,0,<.\stm32f10x_conf.h><stm32f10x_conf.h> 
 OPTFFF 1,4,1,0,0,0,0,0,<.\application.c><application.c> 
 OPTFFF 1,5,1,0,0,0,0,0,<.\board.c><board.c> 
-OPTFFF 1,6,1,452984834,0,40,50,0,<.\startup.c><startup.c> { 44,0,0,0,2,0,0,0,3,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,0,0,0,0,0,0,0,0,132,2,0,0,232,0,0,0 }
+OPTFFF 1,6,1,0,0,0,0,0,<.\startup.c><startup.c> 
 OPTFFF 1,7,1,0,0,0,0,0,<.\stm32f10x_it.c><stm32f10x_it.c> 
 OPTFFF 1,8,1,436207616,0,0,0,0,<.\usart.c><usart.c> 
 OPTFFF 1,9,1,0,0,0,0,0,<.\sdcard.c><sdcard.c> 
@@ -40,202 +40,198 @@ OPTFFF 1,13,1,0,0,0,0,0,<.\fsmc_sram.c><fsmc_sram.c>
 OPTFFF 1,14,1,0,0,0,0,0,<.\fmt0371\fmt0371.c><fmt0371.c> 
 OPTFFF 1,15,1,0,0,0,0,0,<.\http.c><http.c> 
 OPTFFF 1,16,1,0,0,0,0,0,<.\lcd.c><lcd.c> 
-OPTFFF 1,17,1,251658240,0,155,165,0,<.\mp3.c><mp3.c> { 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,44,0,0,0,58,0,0,0,177,2,0,0,20,1,0,0 }
+OPTFFF 1,17,1,251658240,0,0,0,0,<.\mp3.c><mp3.c> 
 OPTFFF 1,18,1,369098752,0,0,0,0,<.\wav.c><wav.c> 
-OPTFFF 1,19,1,285212672,0,78,78,0,<.\netbuffer.c><netbuffer.c> { 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,66,0,0,0,87,0,0,0,198,2,0,0,63,1,0,0 }
+OPTFFF 1,19,1,285212672,0,0,0,0,<.\netbuffer.c><netbuffer.c> 
 OPTFFF 1,20,1,0,0,0,0,0,<.\key.c><key.c> 
 OPTFFF 1,21,1,0,0,0,0,0,<.\info.c><info.c> 
-OPTFFF 1,22,1,0,0,0,0,0,<.\filelist.c><filelist.c> 
-OPTFFF 1,23,1,0,0,0,0,0,<.\device_info.c><device_info.c> 
-OPTFFF 1,24,1,0,0,0,0,0,<.\listview.c><listview.c> 
-OPTFFF 1,25,1,0,0,411,415,0,<.\player_ui.c><player_ui.c> { 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,44,0,0,0,58,0,0,0,177,2,0,0,20,1,0,0 }
-OPTFFF 1,26,1,0,0,0,0,0,<.\player_bg.c><player_bg.c> 
-OPTFFF 1,27,1,469762048,0,0,0,0,<.\play_list.c><play_list.c> 
-OPTFFF 1,28,1,0,0,0,0,0,<.\ili9325\ili9320.c><ili9320.c> 
-OPTFFF 1,29,1,0,0,0,0,0,<.\codec.c><codec.c> 
-OPTFFF 1,30,1,0,0,0,0,0,<.\spi_flash.c><spi_flash.c> 
-OPTFFF 1,31,1,318767104,0,0,0,0,<.\remote.c><remote.c> 
-OPTFFF 1,32,1,0,0,0,0,0,<..\..\examples\file\writespeed.c><writespeed.c> 
-OPTFFF 1,33,1,0,0,0,0,0,<..\..\examples\file\listdir.c><listdir.c> 
-OPTFFF 1,34,1,0,0,0,0,0,<..\..\examples\file\readspeed.c><readspeed.c> 
-OPTFFF 1,35,1,0,0,0,0,0,<..\..\examples\file\readwrite.c><readwrite.c> 
-OPTFFF 1,36,1,16777216,0,224,224,0,<.\picture.c><picture.c> { 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,22,0,0,0,29,0,0,0,155,2,0,0,247,0,0,0 }
-OPTFFF 2,37,1,0,0,0,0,0,<..\..\src\clock.c><clock.c> 
-OPTFFF 2,38,1,721420288,0,0,0,0,<..\..\src\idle.c><idle.c> 
-OPTFFF 2,39,1,0,0,0,0,0,<..\..\src\ipc.c><ipc.c> 
-OPTFFF 2,40,1,0,0,0,0,0,<..\..\src\mempool.c><mempool.c> 
-OPTFFF 2,41,1,0,0,0,0,0,<..\..\src\mem.c><mem.c> 
-OPTFFF 2,42,1,0,0,0,0,0,<..\..\src\object.c><object.c> 
-OPTFFF 2,43,1,0,0,0,0,0,<..\..\src\scheduler.c><scheduler.c> 
-OPTFFF 2,44,1,0,0,0,0,0,<..\..\src\thread.c><thread.c> 
-OPTFFF 2,45,1,0,0,0,0,0,<..\..\src\timer.c><timer.c> 
-OPTFFF 2,46,1,0,0,0,0,0,<..\..\src\irq.c><irq.c> 
-OPTFFF 2,47,1,0,0,0,0,0,<..\..\src\kservice.c><kservice.c> 
-OPTFFF 2,48,1,0,0,0,0,0,<..\..\src\device.c><device.c> 
-OPTFFF 2,49,1,0,0,0,0,0,<..\..\src\slab.c><slab.c> 
-OPTFFF 3,50,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\stack.c><stack.c> 
-OPTFFF 3,51,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\interrupt.c><interrupt.c> 
-OPTFFF 3,52,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\cpu.c><cpu.c> 
-OPTFFF 3,53,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\serial.c><serial.c> 
-OPTFFF 3,54,2,0,0,0,0,0,<..\..\libcpu\arm\stm32\context_rvds.S><context_rvds.S> 
-OPTFFF 3,55,2,654311424,0,0,0,0,<..\..\libcpu\arm\stm32\start_rvds.s><start_rvds.s> 
-OPTFFF 3,56,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\fault.c><fault.c> 
-OPTFFF 3,57,2,0,0,0,0,0,<..\..\libcpu\arm\stm32\fault_rvds.S><fault_rvds.S> 
-OPTFFF 4,58,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c><misc.c> 
-OPTFFF 4,59,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c><stm32f10x_adc.c> 
-OPTFFF 4,60,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c><stm32f10x_bkp.c> 
-OPTFFF 4,61,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c><stm32f10x_can.c> 
-OPTFFF 4,62,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c><stm32f10x_crc.c> 
-OPTFFF 4,63,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c><stm32f10x_dac.c> 
-OPTFFF 4,64,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c><stm32f10x_dbgmcu.c> 
-OPTFFF 4,65,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c><stm32f10x_dma.c> 
-OPTFFF 4,66,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c><stm32f10x_exti.c> 
-OPTFFF 4,67,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c><stm32f10x_flash.c> 
-OPTFFF 4,68,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c><stm32f10x_fsmc.c> 
-OPTFFF 4,69,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c><stm32f10x_gpio.c> 
-OPTFFF 4,70,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c><stm32f10x_i2c.c> 
-OPTFFF 4,71,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c><stm32f10x_iwdg.c> 
-OPTFFF 4,72,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c><stm32f10x_pwr.c> 
-OPTFFF 4,73,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c><stm32f10x_rcc.c> 
-OPTFFF 4,74,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c><stm32f10x_rtc.c> 
-OPTFFF 4,75,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c><stm32f10x_sdio.c> 
-OPTFFF 4,76,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c><stm32f10x_spi.c> 
-OPTFFF 4,77,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c><stm32f10x_tim.c> 
-OPTFFF 4,78,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c><stm32f10x_usart.c> 
-OPTFFF 4,79,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c><stm32f10x_wwdg.c> 
-OPTFFF 5,80,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\otgd_fs_cal.c><otgd_fs_cal.c> 
-OPTFFF 5,81,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\otgd_fs_dev.c><otgd_fs_dev.c> 
-OPTFFF 5,82,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\otgd_fs_int.c><otgd_fs_int.c> 
-OPTFFF 5,83,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\otgd_fs_pcd.c><otgd_fs_pcd.c> 
-OPTFFF 5,84,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c><usb_core.c> 
-OPTFFF 5,85,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c><usb_init.c> 
-OPTFFF 5,86,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c><usb_int.c> 
-OPTFFF 5,87,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c><usb_mem.c> 
-OPTFFF 5,88,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c><usb_regs.c> 
-OPTFFF 5,89,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c><usb_sil.c> 
-OPTFFF 6,90,1,0,0,0,0,0,<.\Libraries\CMSIS\Core\CM3\core_cm3.c><core_cm3.c> 
-OPTFFF 6,91,1,0,0,0,0,0,<.\Libraries\CMSIS\Core\CM3\system_stm32f10x.c><system_stm32f10x.c> 
-OPTFFF 7,92,1,0,0,0,0,0,<..\..\finsh\finsh_compiler.c><finsh_compiler.c> 
-OPTFFF 7,93,1,0,0,0,0,0,<..\..\finsh\finsh_error.c><finsh_error.c> 
-OPTFFF 7,94,1,0,0,0,0,0,<..\..\finsh\finsh_heap.c><finsh_heap.c> 
-OPTFFF 7,95,1,0,0,0,0,0,<..\..\finsh\finsh_init.c><finsh_init.c> 
-OPTFFF 7,96,1,0,0,0,0,0,<..\..\finsh\finsh_node.c><finsh_node.c> 
-OPTFFF 7,97,1,0,0,0,0,0,<..\..\finsh\finsh_ops.c><finsh_ops.c> 
-OPTFFF 7,98,1,0,0,0,0,0,<..\..\finsh\finsh_parser.c><finsh_parser.c> 
-OPTFFF 7,99,1,0,0,0,0,0,<..\..\finsh\finsh_token.c><finsh_token.c> 
-OPTFFF 7,100,1,0,0,0,0,0,<..\..\finsh\finsh_var.c><finsh_var.c> 
-OPTFFF 7,101,1,0,0,0,0,0,<..\..\finsh\finsh_vm.c><finsh_vm.c> 
-OPTFFF 7,102,1,0,0,0,0,0,<..\..\finsh\shell.c><shell.c> 
-OPTFFF 7,103,1,0,0,0,0,0,<..\..\finsh\symbol.c><symbol.c> 
-OPTFFF 7,104,1,167772160,0,0,0,0,<..\..\finsh\cmd.c><cmd.c> 
-OPTFFF 8,105,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_init.c><dfs_init.c> 
-OPTFFF 8,106,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_fs.c><dfs_fs.c> 
-OPTFFF 8,107,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_raw.c><dfs_raw.c> 
-OPTFFF 8,108,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_util.c><dfs_util.c> 
-OPTFFF 8,109,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_posix.c><dfs_posix.c> 
-OPTFFF 8,110,1,0,0,0,0,0,<..\..\filesystem\dfs\filesystems\elmfat\dfs_elm.c><dfs_elm.c> 
-OPTFFF 8,111,1,0,0,0,0,0,<..\..\filesystem\dfs\filesystems\elmfat\ff.c><ff.c> 
-OPTFFF 9,112,1,0,0,0,0,0,<..\..\net\lwip\src\core\dhcp.c><dhcp.c> 
-OPTFFF 9,113,1,0,0,0,0,0,<..\..\net\lwip\src\core\dns.c><dns.c> 
-OPTFFF 9,114,1,0,0,0,0,0,<..\..\net\lwip\src\core\init.c><init.c> 
-OPTFFF 9,115,1,0,0,0,0,0,<..\..\net\lwip\src\core\memp.c><memp.c> 
-OPTFFF 9,116,1,0,0,0,0,0,<..\..\net\lwip\src\core\netif.c><netif.c> 
-OPTFFF 9,117,1,16777216,0,528,528,0,<..\..\net\lwip\src\core\pbuf.c><pbuf.c> { 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,0,0,0,0,0,0,0,0,132,2,0,0,232,0,0,0 }
-OPTFFF 9,118,1,0,0,0,0,0,<..\..\net\lwip\src\core\raw.c><raw.c> 
-OPTFFF 9,119,1,0,0,0,0,0,<..\..\net\lwip\src\core\stats.c><stats.c> 
-OPTFFF 9,120,1,0,0,0,0,0,<..\..\net\lwip\src\core\sys.c><sys.c> 
-OPTFFF 9,121,1,0,0,0,0,0,<..\..\net\lwip\src\core\tcp.c><tcp.c> 
-OPTFFF 9,122,1,0,0,0,0,0,<..\..\net\lwip\src\core\tcp_in.c><tcp_in.c> 
-OPTFFF 9,123,1,0,0,0,0,0,<..\..\net\lwip\src\core\tcp_out.c><tcp_out.c> 
-OPTFFF 9,124,1,0,0,0,0,0,<..\..\net\lwip\src\core\udp.c><udp.c> 
-OPTFFF 9,125,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\autoip.c><autoip.c> 
-OPTFFF 9,126,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\icmp.c><icmp.c> 
-OPTFFF 9,127,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\igmp.c><igmp.c> 
-OPTFFF 9,128,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\inet.c><inet.c> 
-OPTFFF 9,129,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\inet_chksum.c><inet_chksum.c> 
-OPTFFF 9,130,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\ip.c><ip.c> 
-OPTFFF 9,131,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\ip_addr.c><ip_addr.c> 
-OPTFFF 9,132,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\ip_frag.c><ip_frag.c> 
-OPTFFF 9,133,1,0,0,0,0,0,<..\..\net\lwip\src\core\snmp\msg_in.c><msg_in.c> 
-OPTFFF 9,134,1,0,0,0,0,0,<..\..\net\lwip\src\core\snmp\msg_out.c><msg_out.c> 
-OPTFFF 9,135,1,0,0,0,0,0,<..\..\net\lwip\src\api\api_lib.c><api_lib.c> 
-OPTFFF 9,136,1,0,0,0,0,0,<..\..\net\lwip\src\api\api_msg.c><api_msg.c> 
-OPTFFF 9,137,1,0,0,0,0,0,<..\..\net\lwip\src\api\err.c><err.c> 
-OPTFFF 9,138,1,0,0,0,0,0,<..\..\net\lwip\src\api\netbuf.c><netbuf.c> 
-OPTFFF 9,139,1,0,0,0,0,0,<..\..\net\lwip\src\api\netdb.c><netdb.c> 
-OPTFFF 9,140,1,0,0,0,0,0,<..\..\net\lwip\src\api\netifapi.c><netifapi.c> 
-OPTFFF 9,141,1,0,0,0,0,0,<..\..\net\lwip\src\api\tcpip.c><tcpip.c> 
-OPTFFF 9,142,1,0,0,0,0,0,<..\..\net\lwip\src\netif\etharp.c><etharp.c> 
-OPTFFF 9,143,1,33554432,0,0,0,0,<..\..\net\lwip\src\netif\ethernetif.c><ethernetif.c> 
-OPTFFF 9,144,1,0,0,0,0,0,<..\..\net\lwip\src\netif\loopif.c><loopif.c> 
-OPTFFF 9,145,1,0,0,0,0,0,<..\..\net\lwip\src\arch\sys_arch_init.c><sys_arch_init.c> 
-OPTFFF 9,146,1,0,0,0,0,0,<..\..\net\lwip\src\arch\sys_arch.c><sys_arch.c> 
-OPTFFF 9,147,1,0,0,0,0,0,<..\..\net\lwip\src\api\sockets.c><sockets.c> 
-OPTFFF 10,148,1,0,0,0,0,0,<.\mp3\mp3dec.c><mp3dec.c> 
-OPTFFF 10,149,1,0,0,0,0,0,<.\mp3\mp3tabs.c><mp3tabs.c> 
-OPTFFF 10,150,1,0,0,0,0,0,<.\mp3\real\bitstream.c><bitstream.c> 
-OPTFFF 10,151,1,0,0,0,0,0,<.\mp3\real\buffers.c><buffers.c> 
-OPTFFF 10,152,1,0,0,0,0,0,<.\mp3\real\dct32.c><dct32.c> 
-OPTFFF 10,153,1,0,0,0,0,0,<.\mp3\real\dequant.c><dequant.c> 
-OPTFFF 10,154,1,0,0,0,0,0,<.\mp3\real\dqchan.c><dqchan.c> 
-OPTFFF 10,155,1,0,0,0,0,0,<.\mp3\real\huffman.c><huffman.c> 
-OPTFFF 10,156,1,0,0,0,0,0,<.\mp3\real\hufftabs.c><hufftabs.c> 
-OPTFFF 10,157,1,0,0,0,0,0,<.\mp3\real\imdct.c><imdct.c> 
-OPTFFF 10,158,1,0,0,0,0,0,<.\mp3\real\scalfact.c><scalfact.c> 
-OPTFFF 10,159,1,0,0,0,0,0,<.\mp3\real\stproc.c><stproc.c> 
-OPTFFF 10,160,1,0,0,0,0,0,<.\mp3\real\subband.c><subband.c> 
-OPTFFF 10,161,1,0,0,0,0,0,<.\mp3\real\trigtabs.c><trigtabs.c> 
-OPTFFF 10,162,2,0,0,0,0,0,<.\mp3\real\arm\asmpoly_thumb2.s><asmpoly_thumb2.s> 
-OPTFFF 10,163,2,0,0,0,0,0,<.\mp3\real\arm\asmmisc.s><asmmisc.s> 
-OPTFFF 11,164,1,0,0,0,0,0,<..\..\rtgui\common\rtgui_object.c><rtgui_object.c> 
-OPTFFF 11,165,1,50331648,0,0,0,0,<..\..\rtgui\common\rtgui_system.c><rtgui_system.c> 
-OPTFFF 11,166,1,83886080,0,0,0,0,<..\..\rtgui\common\rtgui_theme.c><rtgui_theme.c> 
-OPTFFF 11,167,1,0,0,0,0,0,<..\..\rtgui\common\asc12font.c><asc12font.c> 
-OPTFFF 11,168,1,0,0,0,0,0,<..\..\rtgui\common\asc16font.c><asc16font.c> 
-OPTFFF 11,169,1,0,0,0,0,0,<..\..\rtgui\common\color.c><color.c> 
-OPTFFF 11,170,1,0,0,0,0,0,<..\..\rtgui\common\dc.c><dc.c> 
-OPTFFF 11,171,1,0,0,0,0,0,<..\..\rtgui\common\dc_buffer.c><dc_buffer.c> 
-OPTFFF 11,172,1,385875968,0,0,0,0,<..\..\rtgui\common\dc_hw.c><dc_hw.c> 
-OPTFFF 11,173,1,0,0,0,0,0,<..\..\rtgui\common\filerw.c><filerw.c> 
-OPTFFF 11,174,1,419430400,0,0,0,0,<..\..\rtgui\common\font.c><font.c> 
-OPTFFF 11,175,1,352321536,0,0,0,0,<..\..\rtgui\common\image.c><image.c> 
-OPTFFF 11,176,1,0,0,0,0,0,<..\..\rtgui\common\image_xpm.c><image_xpm.c> 
-OPTFFF 11,177,1,0,0,0,0,0,<..\..\rtgui\common\image_hdc.c><image_hdc.c> 
-OPTFFF 11,178,1,0,0,0,0,0,<..\..\rtgui\common\region.c><region.c> 
-OPTFFF 11,179,1,0,0,0,0,0,<..\..\rtgui\server\server.c><server.c> 
-OPTFFF 11,180,1,0,0,0,0,0,<..\..\rtgui\server\driver.c><driver.c> 
-OPTFFF 11,181,1,0,0,0,0,0,<..\..\rtgui\server\panel.c><panel.c> 
-OPTFFF 11,182,1,0,0,0,0,0,<..\..\rtgui\widgets\widget.c><widget.c> 
-OPTFFF 11,183,1,0,0,0,0,0,<..\..\rtgui\widgets\window.c><window.c> 
-OPTFFF 11,184,1,0,0,0,0,0,<..\..\rtgui\widgets\workbench.c><workbench.c> 
-OPTFFF 11,185,1,0,0,0,0,0,<..\..\rtgui\widgets\view.c><view.c> 
-OPTFFF 11,186,1,0,0,0,0,0,<..\..\rtgui\widgets\box.c><box.c> 
-OPTFFF 11,187,1,0,0,0,0,0,<..\..\rtgui\widgets\button.c><button.c> 
-OPTFFF 11,188,1,0,0,0,0,0,<..\..\rtgui\widgets\container.c><container.c> 
-OPTFFF 11,189,1,0,0,0,0,0,<..\..\rtgui\widgets\iconbox.c><iconbox.c> 
-OPTFFF 11,190,1,0,0,0,0,0,<..\..\rtgui\widgets\label.c><label.c> 
-OPTFFF 11,191,1,0,0,0,0,0,<..\..\rtgui\widgets\textbox.c><textbox.c> 
-OPTFFF 11,192,1,0,0,0,0,0,<..\..\rtgui\widgets\title.c><title.c> 
-OPTFFF 11,193,1,0,0,0,0,0,<..\..\rtgui\widgets\toplevel.c><toplevel.c> 
-OPTFFF 11,194,1,0,0,0,0,0,<..\..\rtgui\server\mouse.c><mouse.c> 
-OPTFFF 11,195,1,0,0,0,0,0,<..\..\rtgui\server\topwin.c><topwin.c> 
-OPTFFF 11,196,1,0,0,0,0,0,<..\..\rtgui\common\font_hz_file.c><font_hz_file.c> 
-OPTFFF 11,197,1,0,0,0,0,0,<..\..\rtgui\common\hz16font.c><hz16font.c> 
-OPTFFF 11,198,1,0,0,0,0,0,<..\..\rtgui\common\hz12font.c><hz12font.c> 
-OPTFFF 12,199,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\hw_config.c><hw_config.c> 
-OPTFFF 12,200,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\mass_mal.c><mass_mal.c> 
-OPTFFF 12,201,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\memory.c><memory.c> 
-OPTFFF 12,202,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_bot.c><usb_bot.c> 
-OPTFFF 12,203,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\scsi_data.c><scsi_data.c> 
-OPTFFF 12,204,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_desc.c><usb_desc.c> 
-OPTFFF 12,205,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_endp.c><usb_endp.c> 
-OPTFFF 12,206,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_istr.c><usb_istr.c> 
-OPTFFF 12,207,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_prop.c><usb_prop.c> 
-OPTFFF 12,208,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_pwr.c><usb_pwr.c> 
-OPTFFF 12,209,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_scsi.c><usb_scsi.c> 
-OPTFFF 12,210,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_main.c><usb_main.c> 
+OPTFFF 1,22,1,0,0,0,0,0,<.\device_info.c><device_info.c> 
+OPTFFF 1,23,1,0,0,0,0,0,<.\player_ui.c><player_ui.c> 
+OPTFFF 1,24,1,0,0,0,0,0,<.\player_bg.c><player_bg.c> 
+OPTFFF 1,25,1,0,0,0,0,0,<.\play_list.c><play_list.c> 
+OPTFFF 1,26,1,0,0,0,0,0,<.\codec.c><codec.c> 
+OPTFFF 1,27,1,0,0,0,0,0,<.\spi_flash.c><spi_flash.c> 
+OPTFFF 1,28,1,0,0,0,0,0,<.\remote.c><remote.c> 
+OPTFFF 1,29,1,0,0,0,0,0,<.\picture.c><picture.c> 
+OPTFFF 1,30,1,0,0,0,0,0,<.\station_list.c><station_list.c> 
+OPTFFF 1,31,1,0,0,0,0,0,<.\ili9325\ili9325.c><ili9325.c> 
+OPTFFF 2,32,1,0,0,0,0,0,<..\..\src\clock.c><clock.c> 
+OPTFFF 2,33,1,0,0,0,0,0,<..\..\src\idle.c><idle.c> 
+OPTFFF 2,34,1,0,0,0,0,0,<..\..\src\ipc.c><ipc.c> 
+OPTFFF 2,35,1,0,0,0,0,0,<..\..\src\mempool.c><mempool.c> 
+OPTFFF 2,36,1,0,0,0,0,0,<..\..\src\mem.c><mem.c> 
+OPTFFF 2,37,1,0,0,0,0,0,<..\..\src\object.c><object.c> 
+OPTFFF 2,38,1,0,0,0,0,0,<..\..\src\scheduler.c><scheduler.c> 
+OPTFFF 2,39,1,0,0,0,0,0,<..\..\src\thread.c><thread.c> 
+OPTFFF 2,40,1,0,0,0,0,0,<..\..\src\timer.c><timer.c> 
+OPTFFF 2,41,1,0,0,0,0,0,<..\..\src\irq.c><irq.c> 
+OPTFFF 2,42,1,0,0,0,0,0,<..\..\src\kservice.c><kservice.c> 
+OPTFFF 2,43,1,0,0,0,0,0,<..\..\src\device.c><device.c> 
+OPTFFF 2,44,1,0,0,0,0,0,<..\..\src\slab.c><slab.c> 
+OPTFFF 3,45,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\stack.c><stack.c> 
+OPTFFF 3,46,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\interrupt.c><interrupt.c> 
+OPTFFF 3,47,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\cpu.c><cpu.c> 
+OPTFFF 3,48,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\serial.c><serial.c> 
+OPTFFF 3,49,2,0,0,0,0,0,<..\..\libcpu\arm\stm32\context_rvds.S><context_rvds.S> 
+OPTFFF 3,50,2,0,0,0,0,0,<..\..\libcpu\arm\stm32\start_rvds.s><start_rvds.s> 
+OPTFFF 3,51,1,0,0,0,0,0,<..\..\libcpu\arm\stm32\fault.c><fault.c> 
+OPTFFF 3,52,2,0,0,0,0,0,<..\..\libcpu\arm\stm32\fault_rvds.S><fault_rvds.S> 
+OPTFFF 4,53,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\misc.c><misc.c> 
+OPTFFF 4,54,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_adc.c><stm32f10x_adc.c> 
+OPTFFF 4,55,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_bkp.c><stm32f10x_bkp.c> 
+OPTFFF 4,56,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_can.c><stm32f10x_can.c> 
+OPTFFF 4,57,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_crc.c><stm32f10x_crc.c> 
+OPTFFF 4,58,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dac.c><stm32f10x_dac.c> 
+OPTFFF 4,59,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dbgmcu.c><stm32f10x_dbgmcu.c> 
+OPTFFF 4,60,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_dma.c><stm32f10x_dma.c> 
+OPTFFF 4,61,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_exti.c><stm32f10x_exti.c> 
+OPTFFF 4,62,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_flash.c><stm32f10x_flash.c> 
+OPTFFF 4,63,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_fsmc.c><stm32f10x_fsmc.c> 
+OPTFFF 4,64,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_gpio.c><stm32f10x_gpio.c> 
+OPTFFF 4,65,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_i2c.c><stm32f10x_i2c.c> 
+OPTFFF 4,66,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_iwdg.c><stm32f10x_iwdg.c> 
+OPTFFF 4,67,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_pwr.c><stm32f10x_pwr.c> 
+OPTFFF 4,68,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rcc.c><stm32f10x_rcc.c> 
+OPTFFF 4,69,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_rtc.c><stm32f10x_rtc.c> 
+OPTFFF 4,70,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_sdio.c><stm32f10x_sdio.c> 
+OPTFFF 4,71,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_spi.c><stm32f10x_spi.c> 
+OPTFFF 4,72,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_tim.c><stm32f10x_tim.c> 
+OPTFFF 4,73,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_usart.c><stm32f10x_usart.c> 
+OPTFFF 4,74,1,0,0,0,0,0,<.\Libraries\STM32F10x_StdPeriph_Driver\src\stm32f10x_wwdg.c><stm32f10x_wwdg.c> 
+OPTFFF 5,75,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\otgd_fs_cal.c><otgd_fs_cal.c> 
+OPTFFF 5,76,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\otgd_fs_dev.c><otgd_fs_dev.c> 
+OPTFFF 5,77,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\otgd_fs_int.c><otgd_fs_int.c> 
+OPTFFF 5,78,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\otgd_fs_pcd.c><otgd_fs_pcd.c> 
+OPTFFF 5,79,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_core.c><usb_core.c> 
+OPTFFF 5,80,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_init.c><usb_init.c> 
+OPTFFF 5,81,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_int.c><usb_int.c> 
+OPTFFF 5,82,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_mem.c><usb_mem.c> 
+OPTFFF 5,83,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_regs.c><usb_regs.c> 
+OPTFFF 5,84,1,0,0,0,0,0,<.\Libraries\STM32_USB-FS-Device_Driver\src\usb_sil.c><usb_sil.c> 
+OPTFFF 6,85,1,0,0,0,0,0,<.\Libraries\CMSIS\Core\CM3\core_cm3.c><core_cm3.c> 
+OPTFFF 6,86,1,0,0,0,0,0,<.\Libraries\CMSIS\Core\CM3\system_stm32f10x.c><system_stm32f10x.c> 
+OPTFFF 7,87,1,0,0,0,0,0,<..\..\finsh\finsh_compiler.c><finsh_compiler.c> 
+OPTFFF 7,88,1,0,0,0,0,0,<..\..\finsh\finsh_error.c><finsh_error.c> 
+OPTFFF 7,89,1,0,0,0,0,0,<..\..\finsh\finsh_heap.c><finsh_heap.c> 
+OPTFFF 7,90,1,0,0,0,0,0,<..\..\finsh\finsh_init.c><finsh_init.c> 
+OPTFFF 7,91,1,0,0,0,0,0,<..\..\finsh\finsh_node.c><finsh_node.c> 
+OPTFFF 7,92,1,0,0,0,0,0,<..\..\finsh\finsh_ops.c><finsh_ops.c> 
+OPTFFF 7,93,1,0,0,0,0,0,<..\..\finsh\finsh_parser.c><finsh_parser.c> 
+OPTFFF 7,94,1,0,0,0,0,0,<..\..\finsh\finsh_token.c><finsh_token.c> 
+OPTFFF 7,95,1,0,0,0,0,0,<..\..\finsh\finsh_var.c><finsh_var.c> 
+OPTFFF 7,96,1,0,0,0,0,0,<..\..\finsh\finsh_vm.c><finsh_vm.c> 
+OPTFFF 7,97,1,0,0,0,0,0,<..\..\finsh\shell.c><shell.c> 
+OPTFFF 7,98,1,0,0,0,0,0,<..\..\finsh\symbol.c><symbol.c> 
+OPTFFF 7,99,1,0,0,0,0,0,<..\..\finsh\cmd.c><cmd.c> 
+OPTFFF 8,100,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_init.c><dfs_init.c> 
+OPTFFF 8,101,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_fs.c><dfs_fs.c> 
+OPTFFF 8,102,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_raw.c><dfs_raw.c> 
+OPTFFF 8,103,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_util.c><dfs_util.c> 
+OPTFFF 8,104,1,0,0,0,0,0,<..\..\filesystem\dfs\src\dfs_posix.c><dfs_posix.c> 
+OPTFFF 8,105,1,0,0,0,0,0,<..\..\filesystem\dfs\filesystems\elmfat\dfs_elm.c><dfs_elm.c> 
+OPTFFF 8,106,1,0,0,0,0,0,<..\..\filesystem\dfs\filesystems\elmfat\ff.c><ff.c> 
+OPTFFF 9,107,1,0,0,0,0,0,<..\..\net\lwip\src\core\dhcp.c><dhcp.c> 
+OPTFFF 9,108,1,0,0,0,0,0,<..\..\net\lwip\src\core\dns.c><dns.c> 
+OPTFFF 9,109,1,0,0,0,0,0,<..\..\net\lwip\src\core\init.c><init.c> 
+OPTFFF 9,110,1,0,0,0,0,0,<..\..\net\lwip\src\core\memp.c><memp.c> 
+OPTFFF 9,111,1,0,0,0,0,0,<..\..\net\lwip\src\core\netif.c><netif.c> 
+OPTFFF 9,112,1,0,0,0,0,0,<..\..\net\lwip\src\core\pbuf.c><pbuf.c> 
+OPTFFF 9,113,1,0,0,0,0,0,<..\..\net\lwip\src\core\raw.c><raw.c> 
+OPTFFF 9,114,1,0,0,0,0,0,<..\..\net\lwip\src\core\stats.c><stats.c> 
+OPTFFF 9,115,1,0,0,0,0,0,<..\..\net\lwip\src\core\sys.c><sys.c> 
+OPTFFF 9,116,1,0,0,0,0,0,<..\..\net\lwip\src\core\tcp.c><tcp.c> 
+OPTFFF 9,117,1,0,0,0,0,0,<..\..\net\lwip\src\core\tcp_in.c><tcp_in.c> 
+OPTFFF 9,118,1,0,0,0,0,0,<..\..\net\lwip\src\core\tcp_out.c><tcp_out.c> 
+OPTFFF 9,119,1,0,0,0,0,0,<..\..\net\lwip\src\core\udp.c><udp.c> 
+OPTFFF 9,120,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\autoip.c><autoip.c> 
+OPTFFF 9,121,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\icmp.c><icmp.c> 
+OPTFFF 9,122,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\igmp.c><igmp.c> 
+OPTFFF 9,123,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\inet.c><inet.c> 
+OPTFFF 9,124,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\inet_chksum.c><inet_chksum.c> 
+OPTFFF 9,125,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\ip.c><ip.c> 
+OPTFFF 9,126,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\ip_addr.c><ip_addr.c> 
+OPTFFF 9,127,1,0,0,0,0,0,<..\..\net\lwip\src\core\ipv4\ip_frag.c><ip_frag.c> 
+OPTFFF 9,128,1,0,0,0,0,0,<..\..\net\lwip\src\core\snmp\msg_in.c><msg_in.c> 
+OPTFFF 9,129,1,0,0,0,0,0,<..\..\net\lwip\src\core\snmp\msg_out.c><msg_out.c> 
+OPTFFF 9,130,1,0,0,0,0,0,<..\..\net\lwip\src\api\api_lib.c><api_lib.c> 
+OPTFFF 9,131,1,0,0,0,0,0,<..\..\net\lwip\src\api\api_msg.c><api_msg.c> 
+OPTFFF 9,132,1,0,0,0,0,0,<..\..\net\lwip\src\api\err.c><err.c> 
+OPTFFF 9,133,1,0,0,0,0,0,<..\..\net\lwip\src\api\netbuf.c><netbuf.c> 
+OPTFFF 9,134,1,0,0,0,0,0,<..\..\net\lwip\src\api\netdb.c><netdb.c> 
+OPTFFF 9,135,1,0,0,0,0,0,<..\..\net\lwip\src\api\netifapi.c><netifapi.c> 
+OPTFFF 9,136,1,0,0,0,0,0,<..\..\net\lwip\src\api\tcpip.c><tcpip.c> 
+OPTFFF 9,137,1,0,0,0,0,0,<..\..\net\lwip\src\netif\etharp.c><etharp.c> 
+OPTFFF 9,138,1,0,0,0,0,0,<..\..\net\lwip\src\netif\ethernetif.c><ethernetif.c> 
+OPTFFF 9,139,1,0,0,0,0,0,<..\..\net\lwip\src\netif\loopif.c><loopif.c> 
+OPTFFF 9,140,1,0,0,0,0,0,<..\..\net\lwip\src\arch\sys_arch_init.c><sys_arch_init.c> 
+OPTFFF 9,141,1,0,0,0,0,0,<..\..\net\lwip\src\arch\sys_arch.c><sys_arch.c> 
+OPTFFF 9,142,1,0,0,0,0,0,<..\..\net\lwip\src\api\sockets.c><sockets.c> 
+OPTFFF 10,143,1,0,0,0,0,0,<.\mp3\mp3dec.c><mp3dec.c> 
+OPTFFF 10,144,1,0,0,0,0,0,<.\mp3\mp3tabs.c><mp3tabs.c> 
+OPTFFF 10,145,1,0,0,0,0,0,<.\mp3\real\bitstream.c><bitstream.c> 
+OPTFFF 10,146,1,0,0,0,0,0,<.\mp3\real\buffers.c><buffers.c> 
+OPTFFF 10,147,1,0,0,0,0,0,<.\mp3\real\dct32.c><dct32.c> 
+OPTFFF 10,148,1,0,0,0,0,0,<.\mp3\real\dequant.c><dequant.c> 
+OPTFFF 10,149,1,0,0,0,0,0,<.\mp3\real\dqchan.c><dqchan.c> 
+OPTFFF 10,150,1,0,0,0,0,0,<.\mp3\real\huffman.c><huffman.c> 
+OPTFFF 10,151,1,0,0,0,0,0,<.\mp3\real\hufftabs.c><hufftabs.c> 
+OPTFFF 10,152,1,0,0,0,0,0,<.\mp3\real\imdct.c><imdct.c> 
+OPTFFF 10,153,1,0,0,0,0,0,<.\mp3\real\scalfact.c><scalfact.c> 
+OPTFFF 10,154,1,0,0,0,0,0,<.\mp3\real\stproc.c><stproc.c> 
+OPTFFF 10,155,1,0,0,0,0,0,<.\mp3\real\subband.c><subband.c> 
+OPTFFF 10,156,1,0,0,0,0,0,<.\mp3\real\trigtabs.c><trigtabs.c> 
+OPTFFF 10,157,2,0,0,0,0,0,<.\mp3\real\arm\asmpoly_thumb2.s><asmpoly_thumb2.s> 
+OPTFFF 10,158,2,0,0,0,0,0,<.\mp3\real\arm\asmmisc.s><asmmisc.s> 
+OPTFFF 11,159,1,0,0,0,0,0,<..\..\rtgui\common\rtgui_object.c><rtgui_object.c> 
+OPTFFF 11,160,1,0,0,0,0,0,<..\..\rtgui\common\rtgui_system.c><rtgui_system.c> 
+OPTFFF 11,161,1,0,0,0,0,0,<..\..\rtgui\common\rtgui_theme.c><rtgui_theme.c> 
+OPTFFF 11,162,1,0,0,0,0,0,<..\..\rtgui\common\asc12font.c><asc12font.c> 
+OPTFFF 11,163,1,0,0,0,0,0,<..\..\rtgui\common\asc16font.c><asc16font.c> 
+OPTFFF 11,164,1,0,0,0,0,0,<..\..\rtgui\common\color.c><color.c> 
+OPTFFF 11,165,1,0,0,0,0,0,<..\..\rtgui\common\dc.c><dc.c> 
+OPTFFF 11,166,1,0,0,0,0,0,<..\..\rtgui\common\dc_buffer.c><dc_buffer.c> 
+OPTFFF 11,167,1,0,0,0,0,0,<..\..\rtgui\common\dc_hw.c><dc_hw.c> 
+OPTFFF 11,168,1,0,0,0,0,0,<..\..\rtgui\common\filerw.c><filerw.c> 
+OPTFFF 11,169,1,0,0,0,0,0,<..\..\rtgui\common\font.c><font.c> 
+OPTFFF 11,170,1,0,0,0,0,0,<..\..\rtgui\common\image.c><image.c> 
+OPTFFF 11,171,1,0,0,0,0,0,<..\..\rtgui\common\image_xpm.c><image_xpm.c> 
+OPTFFF 11,172,1,0,0,0,0,0,<..\..\rtgui\common\image_hdc.c><image_hdc.c> 
+OPTFFF 11,173,1,0,0,0,0,0,<..\..\rtgui\common\region.c><region.c> 
+OPTFFF 11,174,1,0,0,0,0,0,<..\..\rtgui\server\server.c><server.c> 
+OPTFFF 11,175,1,0,0,0,0,0,<..\..\rtgui\server\driver.c><driver.c> 
+OPTFFF 11,176,1,0,0,0,0,0,<..\..\rtgui\server\panel.c><panel.c> 
+OPTFFF 11,177,1,0,0,0,0,0,<..\..\rtgui\widgets\widget.c><widget.c> 
+OPTFFF 11,178,1,0,0,0,0,0,<..\..\rtgui\widgets\window.c><window.c> 
+OPTFFF 11,179,1,0,0,0,0,0,<..\..\rtgui\widgets\workbench.c><workbench.c> 
+OPTFFF 11,180,1,0,0,0,0,0,<..\..\rtgui\widgets\view.c><view.c> 
+OPTFFF 11,181,1,0,0,0,0,0,<..\..\rtgui\widgets\box.c><box.c> 
+OPTFFF 11,182,1,0,0,0,0,0,<..\..\rtgui\widgets\button.c><button.c> 
+OPTFFF 11,183,1,0,0,0,0,0,<..\..\rtgui\widgets\container.c><container.c> 
+OPTFFF 11,184,1,0,0,0,0,0,<..\..\rtgui\widgets\iconbox.c><iconbox.c> 
+OPTFFF 11,185,1,0,0,0,0,0,<..\..\rtgui\widgets\label.c><label.c> 
+OPTFFF 11,186,1,0,0,0,0,0,<..\..\rtgui\widgets\textbox.c><textbox.c> 
+OPTFFF 11,187,1,0,0,0,0,0,<..\..\rtgui\widgets\title.c><title.c> 
+OPTFFF 11,188,1,0,0,0,0,0,<..\..\rtgui\widgets\toplevel.c><toplevel.c> 
+OPTFFF 11,189,1,0,0,0,0,0,<..\..\rtgui\server\mouse.c><mouse.c> 
+OPTFFF 11,190,1,0,0,0,0,0,<..\..\rtgui\server\topwin.c><topwin.c> 
+OPTFFF 11,191,1,0,0,0,0,0,<..\..\rtgui\common\font_hz_file.c><font_hz_file.c> 
+OPTFFF 11,192,1,0,0,0,0,0,<..\..\rtgui\common\hz16font.c><hz16font.c> 
+OPTFFF 11,193,1,0,0,0,0,0,<..\..\rtgui\common\hz12font.c><hz12font.c> 
+OPTFFF 11,194,1,0,0,0,0,0,<..\..\rtgui\widgets\list_view.c><list_view.c> 
+OPTFFF 11,195,1,0,0,0,0,0,<..\..\rtgui\widgets\filelist_view.c><filelist_view.c> 
+OPTFFF 12,196,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\hw_config.c><hw_config.c> 
+OPTFFF 12,197,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\mass_mal.c><mass_mal.c> 
+OPTFFF 12,198,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\memory.c><memory.c> 
+OPTFFF 12,199,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_bot.c><usb_bot.c> 
+OPTFFF 12,200,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\scsi_data.c><scsi_data.c> 
+OPTFFF 12,201,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_desc.c><usb_desc.c> 
+OPTFFF 12,202,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_endp.c><usb_endp.c> 
+OPTFFF 12,203,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_istr.c><usb_istr.c> 
+OPTFFF 12,204,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_prop.c><usb_prop.c> 
+OPTFFF 12,205,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_pwr.c><usb_pwr.c> 
+OPTFFF 12,206,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_scsi.c><usb_scsi.c> 
+OPTFFF 12,207,1,0,0,0,0,0,<.\Libraries\Mass_Storage\src\usb_main.c><usb_main.c> 
 
-ExtF <E:\Projects\opensvn\rt-thread\google\net\lwip\src\lwipopts.h> 190,198,0,{ 44,0,0,0,0,0,0,0,1,0,0,0,255,255,255,255,255,255,255,255,252,255,255,255,226,255,255,255,66,0,0,0,87,0,0,0,199,2,0,0,49,1,0,0 }
 
 TARGOPT 1, (RT-Thread STM32 Radio)
  ADSCLK=8000000
@@ -253,9 +249,8 @@ TARGOPT 1, (RT-Thread STM32 Radio)
   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)(100=-1,-1,-1,-1,0)(110=-1,-1,-1,-1,0)(111=-1,-1,-1,-1,0)(1011=60,91,584,445,0)(180=-1,-1,-1,-1,0)(120=-1,-1,-1,-1,0)(121=-1,-1,-1,-1,0)(122=-1,-1,-1,-1,0)(123=-1,-1,-1,-1,0)(124=-1,-1,-1,-1,0)(125=-1,-1,-1,-1,0)(126=-1,-1,-1,-1,0)(140=-1,-1,-1,-1,0)(240=-1,-1,-1,-1,0)(190=-1,-1,-1,-1,0)(200=-1,-1,-1,-1,0)(170=-1,-1,-1,-1,0)(130=-1,-1,-1,-1,0)(131=-1,-1,-1,-1,0)(132=-1,-1,-1,-1,0)(133=-1,-1,-1,-1,0)(160=-1,-1,-1,-1,0)(161=-1,-1,-1,-1,0)(162=-1,-1,-1,-1,0)(210=-1,-1,-1,-1,0)(211=-1,-1,-1,-1,0)(220=-1,-1,-1,-1,0)(221=-1,-1,-1,-1,0)(230=-1,-1,-1,-1,0)(231=-1,-1,-1,-1,0)(232=-1,-1,-1,-1,0)(233=-1,-1,-1,-1,0)(150=-1,-1,-1,-1,0)(151=-1,-1,-1,-1,0))
   OPTKEY 0,(ARMDBGFLAGS)(-T0)
   OPTKEY 0,(DLGUARM)((105=150,189,819,540,0)(106=-1,-1,-1,-1,0)(107=-1,-1,-1,-1,0))
-  OPTKEY 0,(JL2CM3)(-U20090110 -O718 -S8 -C0 -JU1 -JI127.0.0.1 -JP0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -FO27 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000)
-  OPTBB 0,0,551,1,134302702,0,0,0,0,1,<player_ui.c>()()
-  OPTBB 1,0,123,1,134319464,0,0,0,0,1,<mp3.c>()()
+  OPTKEY 0,(JL2CM3)(-U11111117 -O718 -S8 -A0 -C0 -JU1 -JI127.0.0.1 -JP0 -N00("ARM CoreSight SW-DP") -D00(1BA01477) -L00(0) -TO18 -TC10000000 -TP21 -TDS8004 -TDT0 -TDC1F -TIEFFFFFFFF -TIP8 -TB1 -TRE0 -FO27 -FD20000000 -FC800 -FN1 -FF0STM32F10x_512 -FS08000000 -FL080000)
+  OPTBB 0,0,406,1,134342740,0,0,0,0,1,<lcd.c>()()
   OPTWA 0,1,(_mp)
   OPTWA 1,1,(_netbuf)
   OPTWA 2,1,(decoder)

+ 1 - 1
bsp/stm32_radio/project.Uv2

@@ -41,12 +41,12 @@ File 1,1,<.\device_info.c><device_info.c>
 File 1,1,<.\player_ui.c><player_ui.c>
 File 1,1,<.\player_bg.c><player_bg.c>
 File 1,1,<.\play_list.c><play_list.c>
-File 1,1,<.\ili9325\ili9320.c><ili9320.c>
 File 1,1,<.\codec.c><codec.c>
 File 1,1,<.\spi_flash.c><spi_flash.c>
 File 1,1,<.\remote.c><remote.c>
 File 1,1,<.\picture.c><picture.c>
 File 1,1,<.\station_list.c><station_list.c>
+File 1,1,<.\ili9325\ili9325.c><ili9325.c>
 File 2,1,<..\..\src\clock.c><clock.c>
 File 2,1,<..\..\src\idle.c><idle.c>
 File 2,1,<..\..\src\ipc.c><ipc.c>