ТDA7052 это же Б класс. По поводу корпуса - думаете отлетит? На счет драйверов - так и сделаю, есть библиотеки типа GUI, давайте выберем какой-то набор обязательных ф-й и от него будем отталкиваться. К примеру когда работал с 2.8" lcd Использовал библиотеку со следующими ф-ми.
Код:
void LCD_Init(void);
void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue);
u16 LCD_ReadReg(u8 LCD_Reg);
void LCD_WriteRAM_Prepare(void);
void LCD_WriteRAM(u8 r, u8 g, u8 b);
u32 LCD_ReadRAM(void);
void LCD_Disp_Image(unsigned short *gImage_ptr);
void LCD_DisplayOn(void);
void LCD_DisplayOff(void);
void LCD_Clear(u8 b, u8 g, u8 r);
void LCD_SetCursor(u8 Xpos, u16 Ypos);
void LCD_SetColors(u8 text_r, u8 text_g, u8 text_b, u8 back_r, u8 back_g,
u8 back_b);
void LCD_GetColors(u8 *text_r, u8 *text_g, u8 *text_b, u8 *back_r, u8 *back_g,
u8 *back_b);
void LCD_SetTextColor(u8 red, u8 green, u8 blue);
void LCD_SetBackColor(u8 red, u8 green, u8 blue);
void LCD_CharSize(__IO uint16_t size);
void PutPixel(int16_t x, int16_t y);
void Pixel(int16_t x, int16_t y, u8 r, u8 g, u8 b);
void LCD_PutChar(int16_t PosX, int16_t PosY, char c);
void LCD_StringLine(uint16_t PosX, uint16_t PosY, char *str);
void LCD_DrawLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length,
uint8_t Direction);
void LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint8_t Height, uint16_t Width);
void LCD_DrawSquare(uint16_t Xpos, uint16_t Ypos, uint16_t a);
void LCD_DrawSquare(uint16_t Xpos, uint16_t Ypos, uint16_t a);
void LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius);
void LCD_DrawFullCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius);
void LCD_DrawFullRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width,
uint16_t Height);
void LCD_DrawFullSquare(uint16_t Xpos, uint16_t Ypos, uint16_t a);
void LCD_DrawUniLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2);
void LCD_GetType(char model[]);
void LCD_Cross(u16 posX, u16 posY, u8 size);
void LCD_SetBackLight(unsigned short level);