MTK开发之—开发前的准备工作

前言

MTK是联发科技股份有限公司的英文简称,英文全称叫MediaTek。联发科技股份有限公司,创立于公元1997年,是世界顶尖的IC专业设计公司,位居全球消费性IC片组的领航地位。产品领域覆盖数码消费、数字电视、光储存、无线通讯等多大系列,是亚洲唯一连续六年蝉联全球前十大IC设计公司唯一的华人企业,被美国《福布斯》杂志评为“亚洲企业50强”。联发科技作为全球IC设计领导厂商,专注于无线通讯及数位媒体等技术领域。公司提供的晶片整合系统解决方案,包含无线通讯、高解析度数位电视、光储存、高解析度DVD等相关产品。
在进行MTK开发前,需要有些准备工作要做,比如环境的搭建,刷机、调试等工具的准备,编译流程与编译指令的熟悉,如何刷机等,下面一一介绍。

环境工具准备

我们的开发方式是在windows下编写代码、刷机、log信息跟踪等,而代码编译在linux 下进行

linux编译环境:ubantu,Linux ubuntu6 3.11.0-26-generic

window下工具
1、首先需要安装MT65xx_Drivers,这样PC才能发现MTK设备,这是刷机需要的
2、其次需要添加adb路径环境变量到path,这样才能在命令行下进行adb调试
3、打开刷机工具SP_Flash_Tool,可以全部刷与对部分分区刷机,注意左边勾选的选项
在这里插入图片描述
首先选择scatter这个文件,然后点download,然后再将板子重新上电,这样就好开始刷机
在这里插入图片描述
其中各选项的含义大概介绍一下:

preloader:就是pre-loader,俗称预装载器,是一上电就要运行的东东 
lk:是linux kernel的简称,就是linux内核嘛,我们都知道,不过这个是个很干净的东西,就是个纯内核 
boot:是vmlinux与设备树、根文件系统的集合,这才是真正意义上的linux内核 
recovery:这是有关系统恢复的一个分区 
其它的像tee、system则是跟系统相关的分区,安卓就在system分区下,而安卓app则安装在userdata下

其次需要简单了解下bootloader启动过程 
分两个阶段,一个是pre-loader加载lk(u-boot)阶段,另一个是lk加载kernel阶段。 
设备上电起来后,跳转到Boot ROM(不是flash)中的boot code中执行把pre-loader加载起到ISRAM, 
因为当前DRAM(RAM分SRAM跟DRAM,简单来说SRAM就是cache,DRAM就是普通内存)还没有准备好,
所以要先把pre-loader 加载到芯片内部的ISRAM(Internal SRAM)中;pre-loader初始化好DRAM后就将lk
从flash中加载到DRAM中运行;然后解压bootimage成ramdisk跟kernel并载入DRAM中,初始化dtb;

代码编译

首先初始化环境变量、然后lunch选择选项、最后进行编译

source build/envsetup.sh 
lunch(选择选项)
make bootimage -j8

如下是lunch弹出的选项,其中eng是开发时的选项,userdebug是带调试信息的,user是发布版本时的选项
在这里插入图片描述
输入选项的数字即可,然后在进行编译

编译指令

可进行部分编译或者全部编译,不过全部编译比较耗时,所以一般情况下只选择修改了的部分进行编译,相关指令如下:

make						//全部编译
#################################################################
make pl						//只编译preloader
make lk						//只编译lk
make bootimage				//只编译内核/boot.img(包含kernel、dts、rootfs、init.**.rc、sepolicy下的te权限文件)
make dtboimage 				//只编译dtbo
make systemimage     		//只编译system.img(包含hal,jni,framework)
make userdataimage-nodeps	//只编译userdata.img

这些指令后面都可以带参数,比如:
make bootimage -j8			//表示同时用8个线程编译内核
make -j8 lk 2>&1 | tee lk.log 	//只编译lk ,并重定向输出log到lk.log,2>&1是 将2(输出)重定向输出到1(输入)

//一般编译system.img比较耗时,其它编译(boot,pl,lk)等都是很快的。
//lk是一个功能及其强大的bootloader,不过目前只支持arm和x86平台。

程序下载

打开SP_Flash_Tool工具,选择对应的scatter文件,然后选择需要下载的部分,最后点击Download,正常的话板子重新上电就可以下载,下载成功会弹出Download Ok界面
在这里插入图片描述
在这里插入图片描述
最后就可以用adb进行各种操作了

进入adb模式:adb shell;	
重启系统:adb reboot

adb操作就不再详细介绍了,因为不熟!
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

东皇※太一

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值