天嵌 ARM开发社区

 找回密码
 注册
查看: 1299|回复: 1

TQ2440 embedsky_tq_logo() 疑问

[复制链接]
justsun 发表于 2013-8-8 11:04:53 | 显示全部楼层 |阅读模式
本帖最后由 justsun 于 2013-8-8 11:11 编辑

/****************************************************************
LCD\u663E\u793A\u5929\u5D4C\u79D1\u6280\u4E0B\u8F7Dlogo\u7A0B\u5E8F(\u5728common/\u76EE\u5F55\u4E0B\u7684main.c\u6587\u4EF6\u7684277\u884C\u5DE6\u53F3\u8C03\u7528\u7684)
****************************************************************/
这上面注释代表什么意思?
void embedsky_tq_logo(void)
{
        if(1)
        {
                embedsky_paint_Bmp((LCD_XSIZE_TFT-170) / 2, LCD_YSIZE_TFT / 8, 170, 48, logo_tqkj) ;
                embedsky_paint_Bmp((LCD_XSIZE_TFT-170) / 2, LCD_YSIZE_TFT / 8 + 50, 170, 22, logo_net) ;
                embedsky_paint_Bmp((LCD_XSIZE_TFT -180) / 2, LCD_YSIZE_TFT / 8 + 120, 180, 20, down_mode);        //\u663E\u793A\u8FDB\u5165\u4E0B\u8F7D\u6A21\u5F0F\uFF0C\u4E2D\u95F4
        }
        else
                embedsky_paint_Bmp((LCD_XSIZE_TFT -180) / 2, (LCD_YSIZE_TFT -20) / 2, 180, 20, down_mode);                //\u663E\u793A\u8FDB\u5165\u4E0B\u8F7D\u6A21\u5F0F\uFF0C\u4E2D\u95F4        

        embedsky_lcd_EnvidOnOff ( 1 ) ;
}

数了dowm_mode数组,每一个line只有272个字节,这与图片大小180*20不符啊,每一个line应该是360个字节才对啊。

void embedsky_user_logo(void)
{
        size_t retlen = SCR_YSIZE_TFT * SCR_XSIZE_TFT * (16 >> 3);

if (NF_ReadID() == 0x76)
{
        if(( retlen % 0x200) != 0)                                //HJ_add 20090709
                retlen = (retlen / 0x200) * 0x200 + 0x200;        //HJ_add 20090709
#if(CONFIG_64MB_Nand == 1)
        nand_read_ll(embedsky_LCD_BUFFER, 0x70000, retlen);
#else
#if( LCD_TFT == VGA1024768 )
        nand_read_ll(embedsky_LCD_BUFFER, 0x0C0000, retlen);
#else
        nand_read_ll(embedsky_LCD_BUFFER, 0x100000, retlen);
完全可以用run_command(nand read,embedsky_LCD_BUFFER,logo,retlen)来实现。
#endif
#endif
}

谢谢!

 楼主| justsun 发表于 2013-8-8 13:54:38 | 显示全部楼层
本帖最后由 justsun 于 2013-8-8 14:17 编辑

完全可以用run_command(nand read,embedsky_LCD_BUFFER,logo,retlen)来实现。
解释:不能,因为此时NAND flash还没有分区?

        if (bBootFrmNORFlash() )
        {
#ifdef CONFIG_JFFS2_CMDLINE
            extern int mtdparts_init (void);

            if (!getenv ("mtdparts") )
            {
                run_command ("mtdparts default", 0);
            }
            else
            {
                mtdparts_init();
            }

#endif
            run_command ("menu", 0);
        }

从NOR启动进行NAND flash 分区,那从NAND启动情况下,NAND不需要分区吗?那是怎么分区的呢?
答:从NAND启动,如果不按空格键,将启动linux,由linux内核来对NAND分区。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号-2 )

GMT+8, 2025-5-6 17:36 , Processed in 2.036692 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表