找回密码
 注册
搜索
查看: 1466|回复: 11

[讨论] 兄弟们帮忙看一下增加NVRAM数据项的问题

[复制链接]
发表于 2009-4-30 15:33:54 | 显示全部楼层 |阅读模式
我们的板子上现在用TouchPad做键盘,需要在NVRAM上保存一些TouchPad的参数,我下了一些资料看完后,照葫芦画瓢增加了代码,但是用META读不出来啊!我把我做的流程写在下面,兄弟们帮小弟分析一下啊!

(1)在nvram_user_defs.h文件中增加LID选项, NVRAM_EF_TOUCHPAD_LID:
    typedef enum
    {
        NVRAM_EF_CACHE_BYTE_LID = NVRAM_LID_CUST_BEGIN,
        NVRAM_EF_CACHE_SHORT_LID,
        NVRAM_EF_CACHE_DOUBLE_LID,

                /*
                  *add by tequlialv@gmail.com
                  */
                NVRAM_EF_TOUCHPAD_LID,
               
        /* Don't remove this line: insert LID definition above */
        NVRAM_EF_LAST_LID_CUST
    } nvram_lid_cust_enum;

增加Data Items的total和size大小:
/*
  *add by tequlialv@gmail.com
  *
  */
#define NVRAM_EF_TOUCHPAD_SIZE                16
#define NVRAM_EF_TOUCHPAD_TOTAL        1

(2)在custom_nvram_editor_data_item.h文件中加入版本号的控制
#define NVRAM_EF_TOUCHPAD_LID_VERNO         "000"

(3)在nvram_common_config.c文件中的custpack_nvram_ptr结构中最后增加:
       NVRAM_EF_RAC_PREFERENCE_DEFAULT,
        NVRAM_CACHE_BYTE_DEFAULT,
        NVRAM_CACHE_SHORT_DEFAULT,
        NVRAM_CACHE_DOUBLE_DEFAULT,
        /*
         *add by tequlialv@gmail.com
        NVRAM_EF_TOUCHPAD_DEFAULT

(4) 在nvram_user_config.c文件中增减Default结构数数组:

kal_uint8 const NVRAM_EF_TOUCHPAD_DEFAULT[] = {
        0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08,
        0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10
};

并在ltable_entry_struct logical_data_item_table_cust[]最后增加相应的结构如下:
,{        //add by tequlialv@gmail.com, add a data items
                NVRAM_EF_TOUCHPAD_LID,
                NVRAM_EF_TOUCHPAD_SIZE,
                NVRAM_EF_TOUCHPAD_TOTAL,
                NVRAM_EF_TOUCHPAD_DEFAULT,
                NVRAM_ATTR_AVERAGE,
                NVRAM_CATEGORY_USER | NVRAM_CATEGORY_CUSTPACK,
                "CT03",
                VER(NVRAM_EF_TOUCHPAD_LID),
                "1-byte setting\0",
                NVRAM_RESERVED_VALUE
        }
发表于 2009-4-30 22:27:58 | 显示全部楼层
修改NVRAM後有改版本號或是fotmat FAT嗎?
点评回复

使用道具 举报

 楼主| 发表于 2009-4-30 23:13:38 | 显示全部楼层
版本号有改过,按照网上说的就是将VERNO值加1吧;兄弟你说的format FAT是什么意思,怎么操作啊?(小弟刚接触MTK)
我现在只是用Flash_tool工具format了真个FLASH区间,然后再download我的bin文件,但是没有什么反应啊,依然从meta中读出LID值,请XDJM们指点啊
点评回复

使用道具 举报

发表于 2009-5-4 21:10:56 | 显示全部楼层
"CT03",

看看有没有跟这个相同的,把它改成不同的就OK
点评回复

使用道具 举报

 楼主| 发表于 2009-5-5 09:29:48 | 显示全部楼层
问题已经搞定 谢谢大家
点评回复

使用道具 举报

发表于 2009-5-5 10:38:57 | 显示全部楼层
哎……
楼主又不讲怎样解决的[em04]
点评回复

使用道具 举报

 楼主| 发表于 2009-5-5 17:44:15 | 显示全部楼层
呵呵,由于我是刚接触MTK,有许多地方不明白,只能照葫芦画瓢。小弟是通过以下流程解决的:
(1)首先发现在custom中写了一套NVRAM的参数设置失败,于是把NVRAM的一些东西写到了common_app中;
(2)添加VER_LID函数;
(3)注意顺序,填写NVRAM_EF_TOUCHPAD_LID,
  NVRAM_EF_TOUCHPAD_SIZE,
  NVRAM_EF_TOUCHPAD_TOTAL,
  NVRAM_EF_TOUCHPAD_DEFAULT,
  NVRAM_ATTR_AVERAGE,
  NVRAM_CATEGORY_USER | NVRAM_CATEGORY_CUSTPACK,
  "CT03",
  VER(NVRAM_EF_TOUCHPAD_LID),
  "1-byte setting\\0",
  NVRAM_RESERVED_VALUE
(4)将原来flash中的NVRAM数据干掉;
(5)build new出一个新的bin文件;
(6)启动META后,读一下看看有没有添加的LID项 OK了 嘿嘿;
点评回复

使用道具 举报

发表于 2009-5-5 19:56:14 | 显示全部楼层
[em14][em14][em14]
点评回复

使用道具 举报

发表于 2009-6-23 17:35:43 | 显示全部楼层
[em01]
点评回复

使用道具 举报

发表于 2009-6-27 15:03:29 | 显示全部楼层
价格是多少?, 呵呵,公布一下吧
点评回复

使用道具 举报

发表于 2010-3-24 12:19:30 | 显示全部楼层
thanks everyone.
点评回复

使用道具 举报

发表于 2010-6-12 14:43:06 | 显示全部楼层
遇到读不出的问题,郁闷中[em03]
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-10-6 16:31 , Processed in 0.060059 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

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