AM3358--Uboot支持LCD输出1024*768

简介: <p><strong>1. uboot/include/lcd/tq3358_fb.h</strong></p><p></p><pre code_snippet_id="690811" snippet_file_name="blog_20150610_1_65751" name="code" class="cpp">#define TFT240320 1#define TF

1. uboot/include/lcd/tq3358_fb.h

#define TFT240320								1
#define TFT320240								2
#define TFT480272								3//T43(天嵌4.3寸屏)
#define TFT800480_H50							4//H50(5寸高清屏)
#define TFT800480								5//A70(群创7.0寸屏)
#define TFT800600								6//A104(友达10.4寸屏)
#define TFT1024600_H70							7//H70(7寸高清屏)
#define DYNAMIC_CONFIG							8//动态配置LCD

typedef enum _LCD_TYPE{
	X240Y320=0,
	X320Y240,
	X480Y272,
	X640Y480,
	X800Y480,
	X800Y480_H50,
	X800Y600,
	X1024Y600_H70,
	X1024Y768,
	X1280Y800,
	LCD_TYPE_MAX,
} LCD_TYPE;

2. uboot\common\cmd_menu.c


void lcd_menu_usage()
{
	printf("\r\n##### LCD select Menu #####\r\n");
	printf("[1] T43\" screen.\r\n");
	printf("[2] A70\" screen.\r\n");
	printf("[3] A104\" screen.\r\n");
	printf("[4] H50\" screen.\r\n");
	printf("[5] H70\" screen.\r\n");
	printf("[6] A133\" screen.\r\n");
	printf("[7] W35\" screen.\r\n");
	printf("[8] VGA1280X800\" screen.\r\n");
        printf("[9] X1024Y768\" screen.\r\n");
	printf("[r] Reboot u-boot\r\n");
//	printf("[s] Reinitializtion lcd.\r\n");
	printf("[q] Return Parameter Menu \r\n");
	printf("Enter your selection: ");
}
void lcd_menu_shell()
{
	char c;
	char cmd_buf[256];
	while (1)
	{
		lcd_menu_usage();
		c = getc();
		printf("%c\n", c);
		switch (c)
		{
			case '1':
			{
				sprintf(cmd_buf, "setenv lcdtype X480Y272;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '2':
			{
				sprintf(cmd_buf, "setenv lcdtype X800Y480;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '3':
			{
				sprintf(cmd_buf, "setenv lcdtype X800Y600;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '4':
			{
				sprintf(cmd_buf, "setenv lcdtype X800Y480_H50;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '5':
			{
				sprintf(cmd_buf, "setenv lcdtype X1024Y600_H70;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
				break;
			}
			case '6':
			{
				sprintf(cmd_buf, "setenv lcdtype X1280Y800;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
				break;
			}
			case '7':
			{
				sprintf(cmd_buf, "setenv lcdtype X320Y240;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
			}
			case '8':
			{
				sprintf(cmd_buf, "setenv lcdtype VGA1280X800;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
				break;
			}
                        case '9':
			{
				sprintf(cmd_buf, "setenv lcdtype X1024Y768;");
				run_command(cmd_buf, 0);
				run_command("saveenv;", 0);
				break;
				break;
			}
			case 'R':
			case 'r':
			{
				strcpy(cmd_buf, "reset");
				run_command(cmd_buf, 0);
				break;
			}
			case 'Q':
			case 'q':
			{
				return;
				break;
			}
		}
	}
}

3. include\configs\tq3358.h  ub0ot默认设置
#ifdef CONFIG_TQ3358
#define CONFIG_IPADDR 192.168.1.6
#define CONFIG_SERVERIP 192.168.1.8
#define CONFIG_NETMASK 255.255.255.0
#define CONFIG_ETHADDR 00:40:5c:26:0a:52
#define CONFIG_GATEWAYIP 192.168.1.2
#ifdef CONFIG_NAND
#define CONFIG_EXTRA_ENV_SETTINGS \
"mloimgname=MLO\0"\
"ubootimgname=u-boot.bin\0"\
"kernelimgname=zImage.bin\0"\
"rootimgname=root.bin\0"\
"lcdtype=X800Y480\0" \
"uart1_d_can=uart1\0" \
"uart2_i2c2=uart2\0" \
"kloadaddr=0x80008000\0" \
"cpaddr=0x81000000\0"\
"loadaddr=0x80200000\0" \
"console=ttySAC0,115200n8\0" \
"yaffs_root=/dev/mtdblock9\0" \
"yaffs_root_fs_type=yaffs2 rw rootwait=1\0" \
"ubi_root=ubi0:rootfs\0" \
"ubi_root_fs_type=ubifs ubi.mtd=9,2048 rw rootwait=1\0" \
"nfsserverip=192.168.1.7\0" \
"nfsipaddr=192.168.1.6\0" \

相关文章
|
6月前
|
存储
STM32F103标准外设库——GPIO 输入、输出 (五)
STM32F103标准外设库——GPIO 输入、输出 (五)
365 0
STM32F103标准外设库——GPIO 输入、输出 (五)
|
编解码 Linux
Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)
Linux MIPI DSI驱动调试笔记-设备树DCS格式序列之配置LCD初始化代码(二)
1403 0
|
5月前
|
Linux
【GEC6818开发板】Linux驱动中printk无法在终端输出显示
【GEC6818开发板】Linux驱动中printk无法在终端输出显示
|
6月前
|
Ubuntu Linux
编译替换内核_设备树_驱动_IMX6ULL
编译替换内核_设备树_驱动_IMX6ULL
编译替换内核_设备树_驱动_IMX6ULL
|
编解码
day27-LCD开发板操作(2022.2.24)
day27-LCD开发板操作(2022.2.24)
|
传感器 存储 C++
STM32读取BH1750光照强度数据打印到串口
BH1750是一种数字式环境光强度传感器(Digital Light Sensor),也称为其他名称,例如GY-302传感器、BH1750FVI传感器等。它的工作原理是通过收集光线照射到传感器上的量来测量环境亮度。
278 0
51单片机学习--LCD模块使用
51单片机学习--LCD模块使用
133 0
使用stm32f103驱动lcd1602
使用stm32f103驱动lcd1602
315 0