mtk一些常见修改

本文档详细介绍了MTK平台的一些常见修改,包括解决模拟器编译问题、修改默认时区、蓝牙名称、传感器防闪烁频率,电话号码匹配规则,隐藏手机盘符,电话本条数限制,字体修改和字体库增加的方法,提供了详细的步骤和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

真机工程为什么在模拟器上面编译不过?

1、target可以通过。

2、按照通常的步骤创建出模拟器

3、编译不通过。

为什么会这样?

1、通常情况下,在没有添加SP的时候是可以正常编译通过的。

2、对于某些SP,会存在没有vc的链接库的情况,导致链接不过。

3、对于某些SP,会导致windos.h里面的BOOL等宏定义被重定义,以至编译失败

4、某些我们自己田间的代码写法有问题,没有考虑target与模拟器的区别,别如直接调用了驱动的函数,而实际上在模拟器上面不存在这些函数.

 

 

 

如何修改默认时区?

同“如何修改默认城市”,因为没有一个默认时区的设置,只有默认城市。

 

 

 

首先,在通常情况下,是没有定义 __MMI_HIDE_HOMECITY__ 的,

所以会定义 __MMI_WCLOCK_CITY_LIST_3__

因此,当我们查找对应城市的时候,应该在被__MMI_WCLOCK_CITY_LIST_3__包含的代码段里面查找。

1、对应的城市,通过 mod_mmiPopulateWClockData 找到城市名称对应的 字串id,例如北京等于 STR_WCLOCK_CITY8 

2、查询 STR_WCLOCK_CITY8 对应的序号:

在 TimeZoneData 里面可以查看到, STR_WCLOCK_CITY8 处于 数组的第 9 给位置,即序号为 8(基于0 开始)

3、查找 NVRAM_CACHE_BYTE_DEFAULT 找到对应 CURRENT_CITY 的一个字节, 修改为对应的序号减一即可。

所以为 0x07

 

 

 

 

如何修改默认蓝牙设定名称?

BTMMICm.c里面,修改 MMI_BT_DEF_HOST_BT_NAME 的值即可

如何修改sensor的防闪烁频率?

 

 

 

因为某些国家的交流电频率与中国的不一致,

分别为50hz和60hz,可能在国外软件上面需要修改到

1、查找到对应的 VDOREC_DEFAULT_SETTING_BANDING 修改为 VDOREC_SETTING_BANDING_50HZ 或 VDOREC_SETTING_BANDING_60HZ

2、查找到对应的 CAMERA_DEFAULT_SETTING_BANDING 修改为 CAMERA_SETTING_BANDING_50HZ 或 CAMERA_SETTING_BANDING_60HZ

 

 

 

关于电话号码匹配的需求?如何让客户良好的给出电话号码匹配的规则?

修改下面宏的定义即可

PHONEBOOK_COMPARE_LENGTH

 

 

 

如何在pc上隐藏手机盘符,而只显示存储卡盘符?

 

 

 

1、0812, #define PARTITION_SECTORS     0

2、0836, #define NOR_FAT_PARTITION_SECTORS     0

 

 

 

或者采用另外一种方式:

custom_usb_ms_init 

中注释掉以下句子:

USB_Ms_Register_DiskDriver(&USB_NOR_drv);

 

 

 

电话本条数如何修改?

gprs.mak 中有

PHB_SIM_ENTRY     = 250 # Phonebook Entry Number in SIM: 100, 200

PHB_PHONE_ENTRY = 200 # Phonebook Entry Number in NVRAM: 100, 200

PHB_LN_ENTRY = 20 # Call log; Last Number Entry Number: 10, 20, 50

 

 

 

简单的讲,设置过多会编译不过。

 

 

 

如何修改字体?

 

 

 

1、使用mtk提供的range 生成一个range文件,使用工具FontEdit.exe 生成相应的bdf文件。

2、使用mtk工具MCT 来转换bdf文件到C,h文件。

3、复制头文件到相应的目录下;如vendor/font/MTK/official/project/plutommi/content/inc/MainLcd176X220

4、复制C文件中的相关信息到Fontres.c 【vendor/font/MTK/official/project/plutommi/content/src/MainLcd176X220/】

      const RangeData ××××_RangeData[####]={

         const RangeDetails ××××_RangeInfo={

         sCustFontData Pluto_×××× =

               注意

                       {FONTATTRIB_NORMAL|FONTATTRIB_BOLD|FONTATTRIB_ITALIC|FONTATTRIB_OBLIQUE|FONTATTRIB_UNDERLINE|FONTATTRIB_STRIKETHROUGH,FONTATTRIB_NORMAL|FONTATTRIB_BOLD|FONTATTRIB_ITALIC|FONTATTRIB_OBLIQUE|FONTATTRIB_UNDERLINE|FONTATTRIB_STRIKETHROUGH},

                     设置;

5、在 FontRes.c 中增加 此种字体的头文件包含;

 

 

 

6、检查 FontFamily 部分,查看前面设置是否正确 ():

    pluto_××_standardFamily  

 

 

 

 

怎么样增加字体库?

 

 

 

1、制作字库中计划包含的所有字符的unicode的range段;参见fontres.c

2、使用fontEdit工具生成bdf文件;这一步要求使用正确的字库,如Pmingliu.ttf 华文中宋.ttf,并设置正确的charset;

3、使用mct工具转换bdf文件到c文件。

4、移植到fontres.c 并把头文件复制到相应inc目录。

5、编译 r mmiresource,上机验证。

 

 

 

还有如果找不到合适的ttf等字库的情况:

可以自己画bmp位图字体,使用mct工具加到bdf文件中;

 

 

 

关于字体字库是一个专门的学问,有兴趣查查http://www.microsoft.com/typography/otspec/default.htm

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值