自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(46)
  • 资源 (1)
  • 收藏
  • 关注

原创 RO、RW和ZI DATA区段

ARM编译中的RO、RW和ZI DATA区段ARM程序(指在ARM系统中正在执行的程序,而非保存在ROM中的bin文件)的组成一个ARM程序包含3部分:RO段,RW段和ZI段RO是程序中的指令和常量RW是程序中的已初始化变量ZI是程序中的未初始化的变量由以上3点说明可以理解为:RO就是readonly,RW就是read/write,ZI就是zeroARM映像文件的组成所谓ARM映像文件就是指烧录到

2010-04-16 14:30:00 831

原创 MTK环境搭建

假设MTK的项目放在D:/MTK目录下1.1.   安装第三方工具首先要安装编译器ADS v1.2,默认安装,安装后8848打补丁(可以arm网站上下载).然后需要安装perl的编译器,推荐安装ActivePerl 5.8.8.版。安装 MinGWStudioFullSetup-2_05.exe(或者安装MinGW-3.1.0-1.exe) 将生成的目录中的MinGW这个文件夹拷贝

2010-04-06 09:37:00 3587 2

原创 MTK的OS是Nucleus

MTK采用的操作系统是NucleusNucleus Plus是美国源代码操作系统商ATI公司推出的新一代嵌入式操作系统,属于抢先式实时多任务操作系统内核, 95%的代码使用ANSI C编写,非常便于移植于各种处理器家族。从实现的角度讲,不同于传统嵌入式开发,Nucleus Plus是以函数库的形式链接到目标应用程序中,形成可执行目标代码,下载到目标板上或烧到ROM/FLASH ROM 中去

2010-04-06 09:28:00 8159 51

原创 网站资料

http://www.opencores.orghttp://www.opencores.org/forums.cgi/cvs-checkins/2007/03/003842 http://www.hhcn.comhttp://www.hhcn.com/chinese/hharmfaq.html http://www.21cstar.comhttp://www.21cs

2010-04-02 11:12:00 905

原创 寄存器是什么 有什么作用

寄存器是CPU内部的元件,寄存器拥有非常高的读写速度,所以在寄存器之间的数据传送非常快。寄存器的用途:1.可将寄存器内的数据执行算术及逻辑运算。2.存于寄存器内的地址可用来指向内存的某个位置,即寻址。3.可以用来读写数据到电脑的周边设备。8086 有8个8位数据寄存器,这些8位寄存器可分别组成16位寄存器:AH&AL=AX:累加寄存器,常用于运算;BH&BL=BX:基址寄存器,常用于地址索引;CH

2010-04-02 11:10:00 13167 1

原创 相对路径和绝对路径

相对路径和绝对路径 相对路径-以引用文件之网页所在位置为参考基础,而建立出的目录路径。因此,当保存于不同目录的网页引用同一个文件时,所使用的路径将不相同,故称之为相对。   绝对路径-以Web站点根目录为参考基础的目录路径。之所以称为绝对,意指当所有网页引用同一个文件时,所使用的路径都是一样的。  其实绝对路径与相对路径的不同处,只在于描述目录路径时,所采用

2010-04-02 11:07:00 686

原创 Heap Stack的区别

一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分1、栈区(stack)— 由编译器自动分配释放 ,存放函数的参数值,局部变量的值等。其操作方式类似于数据结构中的栈。2、堆区(heap) — 一般由程序员分配释放, 若程序员不释放,程序结束时可能由OS回收 。注意它与数据结构中的堆是两回事,分配方式倒是类似于链表,呵呵。3、全局区(静态区)(static)—,全局变量

2010-04-02 11:06:00 488

原创 寄存器编址

http://www.cppblog.com/milkyway/archive/2007/01/02/17136.html存储器,I/O端口,寄存器        分析这几个容易混淆的概念.        引用一段资料: 几乎每一种外设都是通过读写设备上的寄存器来进行操作的。外设寄存器也称为“I/O端口”,通常包括:控制寄存器、状态寄存器和数据寄存器三大类,而且一个外设的寄存器通常被连

2010-04-02 11:05:00 1437

原创 NorFlash与NandFlash

FLASH存储器又称闪存,主要有两种:NorFlash和NandFlash,下面我们从多个角度来对比介绍一下。在实际开发中,设计者可以根据产品需求来进行闪存的合理选择。1、接口对比NorFlash带有通用的SRAM接口,可以轻松地挂接在CPU的地址、数据总线上,对CPU的接口要求低。NorFlash的特点是芯片内执行(XIP,eXecute In Place),这样应用程序可以直接在f

2010-04-02 11:03:00 2173

原创 MTK平台驱动调试指南

GPIO设置篇一、GPIO有关的函数1.GPIO_ModeSetup:函数原型:void GPIO_ModeSetup(kal_uint16 pin, kal_uint16 conf_dada)功能:设置GPIO的工作模式是作为GPIO,还是作为专有功能接口。参数:pin:GPIO 的pin脚号,对应于原理图上MTK62XX 主CPU芯片的上的GPIO标号conf_

2010-04-02 11:02:00 729

原创 MTK驱动目录和配置简介

MTK驱动目录和配置简介驱动程序主要分散于两个目录$PROJECT/custom/drv$PROJECT/drv很明显,第一个目录是客户化项目的驱动程序,第二目录就是主要的驱动,是比较相对独立的模块。编译时,custom 是个作为一个独立的模块。当然,还有一些接口定义的目录,它们在$PROJECT/interface/hwdrv$PROJECT/interface/drv_def运用程

2010-04-02 11:02:00 1027

原创 常考的 c/常考的 c函数/常考的 c++/常考的 c++函数/ja

说明以下关键字的作用 auto static register const volatile extern说明以下关键字的作用 (转)auto  static、  register  const   volatile   extern(1)auto  这个这个关键字用于声明变量的生存期为自动,即将不在任何类、结构、枚举、联合和函数中定义的变量视为全局变量,而在函数中定义的变量视为局部变量。这个关键

2010-04-02 11:01:00 567

原创 大小端

在计算机业界,Endian表示数据在存储器中的存放顺序。下文举例说明在计算机中大小端模式的区别。如果将一个32位的整数0x12345678存放到一个整型变量(int)中,这个整型变量采用大端或者小端模式在内存中的存储由下表所示。为简单起见,本书使用OP0表示一个32位数据的最高字节MSB(Most Significant Byte),使用OP3表示一个32位数据最低字节LSB(Least

2010-04-02 11:00:00 719

原创 MTK Modis 使用简介

Modis PC仿真, 要进行如下操作:(假设工程路径为D:/X)第一步:在如下目录中D:/X执行  make Prj_Name GPRS gen_modis 第二步: 转到modis目录 D:/X/modis执行createmodis.pl ../make/Prj_Name_GPRS.mak 第三步:再切换到 D:/X执行  make Prj_Name GPRS

2010-04-02 10:59:00 801

原创 mtk平台,相关问题总结

下面是我在mtk平台,遇到的一些问题,我将其保存,大家可以看看有的可能很简单,大家不要见笑啊~~~~~~~编译前请将../custom/common/nvram_lid_statistics.h文件和tst文件夹的属性、plutommi/Customer/Customize下的GCML.txt改为可读写。Release 版本的时候,MMI/MiscFramework/MiscFrameworkSr

2010-04-02 10:58:00 908

原创 MTK 图层 MTK平台MMI窗口的绘制

在某些频繁更新的界面中,如果某些显示元素一直没有变化,我们就可以将这些元素提取出来画到一个模拟的屏幕中,而将一些需要更新的元素画到另外的模拟屏幕,而后将两个模拟屏幕合并到真正的屏幕上,这样我们就节省了不变元素的重画时间,从而减轻了系统负担及加速画面更新。我们把这样的模拟屏幕就叫层,也可以说层就是屏幕的缓冲空间。    例如,如果我们用动画做为背景,将其他的一些元素也画到这一层中,就会出现当动画跳到

2010-04-02 10:57:00 1167 1

原创 mtk 中断

MTK平台有个图层的概念。每个层的数据存放在不同的buffer中,这些buffer可以从LCD对应的寄存器中读出。具体的自己去查对应平台的规格书吧。MTK的平台是你在blockwrite中通过STARTLCDTRANSFER打开这个寄存器对应的位,然后硬件把每一层图像中对应的像素点取出,然后通过硬件合成,把合成后的数据通过你在LCD_DATA_ADDR中设置的端口地址找到LCD接口,送入L

2010-04-02 10:56:00 1278

原创 MTK平台驱动调试指南

  GPIO设置篇一、GPIO有关的函数1.GPIO_ModeSetup:函数原型:void GPIO_ModeSetup(kal_uint16 pin, kal_uint16 conf_dada)功能:设置GPIO的工作模式是作为GPIO,还是作为专有功能接口。参数:pin:GPIO 的pin脚号,对应于原理图上MTK62XX 主CPU芯片的上的GPIO标号conf_

2010-04-02 10:55:00 509

原创 mtk lis

学习一个新的平台,总被复杂的调用关系,一大堆的宏所困扰.以MTK为例.在一个版本中集中了非常多的功能,又有不同的芯片功能,程序显得繁复.这种情况对于一个初学者来说就显得很复杂.有无从下手的感觉.   刚开始时,我也觉得代码不好看.后面发现了一个有用的文件lis.这个文件和bin文件都在build目录下.这个文件指出了交叉引用关系.实际上这是一个ADS固有的功能,对所有以ADS编译的平台都是一样

2010-04-02 10:54:00 709

原创 计算 MTK中程序占用的ROM 及 RAM

计算 MTK中程序占用的ROM 及 RAM在build 下面一个 *.lis文件Total RO Size(Code + RO Data) rom sizeTotal RW Size(RW Data + ZI Data) ram sizeTotal ROM Size(Code + RO Data + RW Data)

2010-04-02 10:54:00 1179

原创 USB 概念

the master(the device driver = client driver): CDC 类是Comunication Device Class的缩写HID 类是Human Interface Device的缩写MASS STORAGE 类是指你的移动储存设备,也就是内存卡---------------------------------------------

2010-04-02 10:50:00 1082

原创 MTK 横屏如何实现

软件的图层旋转呀,去找    gdi_lcd_set_rotate(GDI_LAYER_ROTATE_270);    gdi_layer_push_and_set_active(g_camera_cntx.base_layer_handle);    gdi_layer_resize(LCD_HEIGHT, LCD_WIDTH);    gdi_layer_pop_and_restore

2010-04-02 10:41:00 1159

原创 MTK的高亮机制

1、 对于MTK平台中高亮事件的简单分析,仅涉及MMI层的应用牵涉函数:     void SetHiliteHandler( U16 itemid, FuncPtr hiliteFuncPtr );     void RegisterHighlightHandler( void (*f)(S32 item_index) );     void ExecuteCurrHilit

2010-04-02 10:40:00 498

原创 Screen Histroy机制

初涉mtk平台,遇到一个奇怪的问题,假如有这样一段代码:(郭金原创,转载请注明出处) void EntryFristScreen() {  EntryNewScreen(SCR_ID_1, NULL, EntryFristScreen, NULL);//第三个参数newEntryHandler不为空  guiBuffer = GetCurrGuiBuffer(SCR_ID_1)

2010-04-02 10:39:00 582 1

原创 MTK6225开机过程-系统启动

以下开机过程都是在simulator上跑时得出的结论 第一步:启动simulator的时候,直接进入:MMI_task( )1. iacMemInit();2.进入一个while(1)循环。以后的过程都是通过消息机制,即:一直在这个循环中读取消息,然后做相应的处理。第一次进入while(1)之后,OslReceiveMsgExtQ(qid, &Message)就读取到一个消

2010-04-02 10:37:00 698

原创 mtk将图片转成C代码

我们转的话一般不采取MCT工具转,因为这工具需要整套的图片~单张比较的麻烦~~~PNG的转出来可能有问题~~所以我们采用如下的方式转换: 所有的图片资源,当你 Resgen 后,都会转换成 C  代码存在 Custimgdatahw.h 里面,比如主菜单的 “通话记录”(calllog)在里面的数组名就是:__MAINLCD__MAINMENU__MATRIX__MM_CALLHIST

2010-04-02 10:36:00 959

原创 再谈MTK的History机制

夜里睡不着,起床来看众博友的文章,难以释卷。深感学海之深之阔,非一朝一夕之功可成。偶读网易博友lhtao31的文章,能够对history机制剖析的如此清楚明白,实在值得学习。出处:http://lhtao31.blog.163.com/blog/static/29726470200932721625695/引用 MTK平台(3)——History管理[上]MTK 开发资料   20

2010-04-02 10:35:00 443

原创 MTK一些有用的层函数

MTK的层在窗口设计中应用十分广泛,对于UI来说,没有一个窗口不是由层构成的,最基本的窗口至少也是在基层上设计的。以至于许多时候,如果对层不甚了解,连阅读代码有时也会遇到困难。我曾经写过一些有关层的使用的基础知识,由于有关这方面资料很少,许多时候只能在模拟器上打断点自己慢慢研究。层可以在模拟器中调试,在模拟器上的TOOL菜单中的Info Monitor功能窗口,可以看到当前窗口由哪些层和各个层

2010-04-02 10:33:00 425

原创 MTK的铃声修改与替换

MTK的资源一直深受研发人诟病,几乎成为初入手MTK人的挥之不去的痛楚,主要是因为缺乏相关的专业管理工具。虽然有一些公司自己开发一些图片了,字串,菜单了管理工具,但都由于各种各样的条件限制,没有流通开来。比如菜单,明明已经加好了,就是显示不出来,明明个数已经算对了,仍然显示错乱,即使是一个训练有素的老鸟,拿到一份别的公司的代码,不仔细研究一下随便添加菜单,十分八九也会出错。所幸后来MTK添加了

2010-04-02 10:33:00 533

原创 scat 文件及Flash

本文分为3部分:   1. 网上找的关于nand和nor flash 的比较;   2. mtk 26 上面norflash的scat划分;   3. scat 的深入应用;●PART 1:  NOR和NAND是现在市场上两种主要的非易失闪存技术。Intel于1988年首先开发出NOR flash技术,彻底改变了原先由EPROM和EEPROM一统天下的局面。紧接着,1989

2010-04-02 10:31:00 3085

原创 配置MTK工程和incredibuild才能实现分布式编译

1.make文件夹里面的Gsm2.mak修改make工具的编译项为IncredBuild增加运行参数#@echo tools/make.exe -fmake/comp.mak -r -R COMPONENT=$* ... $(strip $(COMPLOGDIR))/$*.log@if /I %OS% EQU WINDOWS_NT /  (if /I $(BM_NEW) EQU TRUE /  (

2010-04-02 10:29:00 906

原创 IncrediBuild 加速原理

虽然现在计算机的运算速度不断提高, 但大型软件的编译速度仍然是个漫长的过程,我所在的项目, 软件大小约为200K行, 在VC6下的编译时间为3分钟(P4 1.8G, 512M), 在交叉编译时更慢, 提高编译速度将能够直接提高前期调测的效率. 本文将介绍提高编译速度的有效方法之一 - 分布式编译.分布式编译的原理很简单, 就是将编译的整个工作量通过分布计算的方法分配到多个计算机上执行, 这样可以获

2010-04-02 10:27:00 2290 1

原创 MTK驱动配置

驱动程序主要分散于两个目录$PROJECT/custom/drv$PROJECT/drv很明显,第一个目录是客户化项目的驱动程序,第二目录就是主要的驱动,是比较相对独立的模块。编译时,custom 是个作为一个独立的模块。当然,还有一些接口定义的目录,它们在$PROJECT/interface/hwdrv$PROJECT/interface/drv_def运用程序 $PROJECT/c

2010-04-02 10:27:00 800

原创 MTK调试入门之一 --- TRACE使用的技巧

MTK的调试一般来说可以分为仿真调试与手机调试.这两种调试对于研发新功能,修改BUG,研究算法都是十分重要的.当然,这两种调试也有差异,有时会出现在模拟器运行正常,在手机却运行失败,或者相反,这就突出了软件模拟环境与硬件手机环境的差别.原因可能是各种各样的,比如可能是有些硬件软件没有办法模拟,有些新功能对硬件依赖强,不能模拟,新软件的有些函数只能在手机上运行,没有写相应的模拟器代码.等等原因都

2010-04-02 10:24:00 734

原创 MTK图层原理加案例讲解

在某些频繁更新的界面中,如果某些显示元素一直没有变化,我们就可以将这些元素提取出来画到一个模拟的屏幕中,而将一些需要更新的元素画到另外的模拟屏幕,而后将两个模拟屏幕合并到真正的屏幕上,这样我们就节省了不变元素的重画时间,从而减轻了系统负担及加速画面更新。我们把这样的模拟屏幕就叫层,也可以说层就是屏幕的缓冲空间。例如,如果我们用动画做为背景,将其他的一些元素也画到这一层中,就会出现当动画跳到第二帧后

2010-04-02 10:22:00 447

原创 MTK平台驱动基本介绍-1

----------MTK6225一:LCD   文件位于custom/drv/LCD   以华立维的一款240X320的屏为例介绍如何添加LCD驱动   gprs.mak   LCD_MODULE  =  HUALIWEI_SSD1289_LCM   MAIN_LCD_SIZE =  240X320     Option   COM_DEFS_FOR_HUALIWEI_SSD1289_LCM 

2010-04-02 10:21:00 1073 1

原创 MTK平台驱动基本介绍-2

四:USB电源开关 usb_custom.cvoid USB_PowerControl(kal_bool enable){#ifdef __USB_ENABLE__        GPIO_ModeSetup(35, 0); --------使用的是GPIO35,每个项目会不同,需根据硬件修改        GPIO_InitIO(1, 35);        if (enable == KA

2010-04-02 10:20:00 1191

原创 ISP应用

高性能可编程图形引擎以及图像信号处理器(ISP) 1. 目标[52RD.com]手机摄像头模组用ISP功能模块的市场走向及研发方向。为能够正确认识手机摄像模组行业提供技术及市场依据。[52RD.com]2. ISP在模组上的应用原理[52RD.com]2.1 功能区域[52RD.com]无论数码相机、摄像机或者摄像手机,其影像数据从前端感应后,皆须经过ASP(Analog Signal

2010-04-02 10:18:00 1031

原创 OSD

OSD是on-screen display的简称,即屏幕菜单式调节方式。一般是按Menu键后屏幕弹出的显示器各项调节项目信息的矩形菜单,可通过该菜单对显示器各项工作指标包括色彩、模式、几何形状等进行调整,从而达到最佳的使用状态。  它通过显示在屏幕上的功能菜单达到调整各项参数的目的,不但调整方便,而且调整的内容也比以上的两种方式多,增加了失真、会聚、色温、消磁等高级调整内容。像以前显示器出现的网纹

2010-04-02 10:17:00 921

原创 MTK 手机BIN文件加密的一点心得

MTK 手机BIN文件加密的一点心得工具:IDA, UltraEdit, ARM250(ARM Project Manager 我专用来编译补丁文件), 打补丁工具(公司编的小工具)第一次写这种东东,文笔又不好。见笑了。MTK手机的Bin文件就是某款手机所对应的一整套原代码编译的目标程序(灼烧文件)。在PC机上我们是把系统与应用程序分得很清楚的。但是MTK中则不同,系统与应用程序捆绑在一起的;当然

2010-04-02 10:15:00 4921 2

MTK6226平台知识归总

适于入门学习,还有开发过程中总结的东东 包括资源,消息等,希望可以有所帮助

2008-12-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除