14 #include "stm32746g_discovery_lcd.h" 16 #define LCD_WIDTH 480 // 幅 17 #define LCD_HEIGHT 272 // 高さ 19 #define __ATTR_FRAMEBUFFER __attribute__ ((section(".extram"))) __attribute__ ((aligned (4))) 20 unsigned char lcd_f_buffer_main[LCD_WIDTH * LCD_HEIGHT * 2] __ATTR_FRAMEBUFFER;
21 unsigned char lcd_f_buffer_sub [LCD_WIDTH * LCD_HEIGHT * 2] __ATTR_FRAMEBUFFER;
23 static void init_framebuf(
void)
27 for(p=&lcd_f_buffer_main[0];
28 p<&lcd_f_buffer_main[LCD_WIDTH * LCD_HEIGHT * 2];
33 for(p=&lcd_f_buffer_sub[0];
34 p<&lcd_f_buffer_sub[LCD_WIDTH * LCD_HEIGHT * 2];
40 static int lcd_register(
struct st_device *dev,
char *param)
47 BSP_LCD_LayerRgb565Init(0, (uint32_t)lcd_f_buffer_main);
54 static int lcd_ioctl(
struct st_device *dev,
unsigned int com,
unsigned int arg,
void *param)
60 BSP_LCD_SetLayerAddress(0, (uint32_t)lcd_f_buffer_main);
64 BSP_LCD_SetLayerAddress(0, (uint32_t)lcd_f_buffer_sub);
80 SYSERR_PRINT(
"Unknow command %08lX arg %08lX\n", com, arg);
93 .frame_buf_ptr = { 0, 0 },
99 .explan =
"STM32F746G-Discovery LCD",
100 .info = (
void *)&lcd_info,
101 .register_dev = lcd_register,
#define IOCMD_VIDEO_CLEAR
全画面初期化
画像表示デバイスドライバ ioctl 用マクロ定義
unsigned short type
ビデオデバイスタイプ(VIDEOTYPE_*)
#define VCOLORDEP_16
16ビットカラー
unsigned int mem_size
フレームバッファメモリサイズ
#define IOCMD_VIDEO_SETDISPFRAME
表示フレーム番号を設定する
#define VIDEOTYPE_FRAMEBUF
カラーフレームバッファ(描画同期無し)
unsigned char * frame_buf_ptr[MAX_FRAMEBUF]
フレームバッファポインタ
#define DEF_DEV_NAME_VIDEO
標準ビデオデバイス名
char name[MAX_DEVNAMELRN]
デバイス名文字列