以文本方式查看主题

-  曙海教育集团论坛  (http://sun4.cn/bbs/index.asp)
--  展讯平台开发  (http://sun4.cn/bbs/list.asp?boardid=53)
----  10.8.21 SPR展讯与MTK平台mrp开发区别  (http://sun4.cn/bbs/dispbbs.asp?boardid=53&id=2174)

--  作者:wangxinxin
--  发布时间:2010-12-6 13:29:20
--  10.8.21 SPR展讯与MTK平台mrp开发区别
1、MTK与SPR属于两个不同的手机硬件平台,平台的大小端模式不同
MTK:小端模式
SPR:大端模式,即网络字节序

开发过程中需要注意两方面:
IO:IO主要是已非字节方式读取外部文件时,需要对读入的2个字节short类型或者4字节的int类型的数据进行转换。
网络通信:网络收发的数据也与IO类似,MTK需要对2个字节short类型或者4字节的int类型的数据进行转换,转换成网络字节序。


复制代码
uint32 mrc_ntohl(uint32 value)
{
#ifdef BIG_ENDIAN
    return value;
#else
    uint32 ret;
    char* org;
    char* dest;
    org = (char*)&value;
    dest= (char*)&ret;
    dest[0] = org[3];
    dest[1] = org[2];
    dest[2] = org[1];
    dest[3] = org[0];
    
    return ret;
#endif
}
uint16 mrc_ntohs(uint16 value)
{
#ifdef BIG_ENDIAN
    return value;
#else
    uint16 ret;
    char* org;
    char* dest;
    org = (char*)&value;
    dest= (char*)&ret;
    dest[0] = org[1];
    dest[1] = org[0];

    return ret;
#endif
}




2、mpr文件打包方式
MTK与SPR打包方式区别在于mpr工程文件的写法bmp_mode,MTK是bmp_mode=normal,SPR是bmp_mode=spreadtrum


[config_mtk240]
define=mak_plat=MTK,RAM=550,mak_lcd=240X320,mak_ver=1008,mak_date=0611,_240X320_,_EX_M_
output=START_GTGQ_($mak_plat)_($RAM)K_($mak_lcd)_FONT_KEY_UP_V($mak_ver)_($mak_date)_FREE.mrp
bmp_mode=normal

[config_spr240]
define=mak_plat=SPR,RAM=550,mak_lcd=240X320,mak_ver=1006,mak_date=0610,_240X320_,_OVERSEA_,BIG_ENDIAN
output=START_GTGQ_($mak_plat)_($RAM)K_($mak_lcd)_FONT_KEY_UP_V($mak_ver)_($mak_date)_OVERSEA(FREE).mrp
bmp_mode=spreadtrum