uclinux移植教程

uclinux移植教程
uclinux移植教程

学习开发套件V3.0中嵌入Uclinux的步骤和方法

在学习开发套件V3.0中嵌入Uclinux的步骤和方法,硬件系统为EP1C6,2Mflash,8Msdram.

开发环境:SOPC学习开发套件V3.0,型号EP1C6。QII5.1+SP2,NiosII IDE5.1+SP1。

一 .安装nios2linux开发包nios2linux-1.4

二 .建立硬件系统

1. QII中建一工程linux_nios,并添加NIOSII CPU,QII工程和平常的建立并没有什么区别,只要得加上flash和sdram,因为这里只是对linux的简单调试,所以SOPC中只添加LED和UART等几个简单外设。如下图:

注意为防止不必要的麻烦,这里尽量使用默认名字。

如果想用USB连接电脑,在QII中把串口连接到USB线的IO管脚上即可。

我们的工程中是两个口都接了,使用串口或者USB口都行。

三.建立软件环境

打开NIOSII IDE

3.1 建立linux内核

file-> new-> project 后如下图:

注意:在安装Microtronix_uclinux_nios2开发包后在IDE中分增加出如上图的Microtronix NiosII选项如果没有可以按下面方法解决:

1)、打开cmd,在 开始->运行 那里输入cmd

2)、cd到你的NiosII的工作目录下面,我的NiosII安装在D盘,如下:

3)、在这里输入命令nios2-ide.exe –clean,进入NiosII IDE的clean模式,选择workspace:

这是在New->Other那里你就可以看到那个linux的目录项了。关了IDE窗口和cmd窗口,这样就可以正常看到Microtronix_linux了。

3.2 输入内核名字

按next:

finish完成

四. 构建内核:

4.1 右键内核名,在弹出菜单中选择Configure Kernel如下:

注意:如果右键菜单中没有Configure Kernel项,请在IDE菜单Windows->show view-> navigator, 在navigator窗口下使用右键便可。

后进入如下界面:

因为flash只有2M因此构造的内核应尽可能的小,其大小不能超过1M(对于8M的Flash大小不能超过2M)。因此在这里要去掉没用到的选项:

按空格键 取消或者选择

General setup:

processor type and features:这里选择的是Microtronix Cyclone board support,不是Altera

在Device drivers除以下默认及保留串口外,其它都去掉

Generic Driver Options --->

Memory Technology Devices (MTD) --->

Block devices --->

串口位置及设置如下:

Device drivers--?Character devices --->Serial drivers --->:

注:如果Flash是intel公司生产的需要在Device Drivers>Memory Technology Device RAM/ROM/Flash chip drivers 在这里选上support for intel/sharp flash chips。默认情况是不支持intel公司的Flash。

AMD公司Flash:AM29系列。

Intel公司Flash:JS28F、E28F等。

设置完这里后其它便可使用默认,然后esc退出保存。

4.2 修改两个脚本文件

D:\altera\kits\nios2_51\bin\eclipse\plugins\com.microtronix.nios2lin ux.kernel_1.4.0\linux-2.6.x\arch\nios2nommu\kernel\ vmlinux.lds.inc文件以及同目录下的vmlinux.lds.S文件 改成如下以符合我们的2Mflash: (注:如果是8M Flash不必修改,使用默认即可)

D:\altera\kits\nios2_51\bin\eclipse\plugins\com.microtronix.nios2lin ux.kernel_1.4.0\linux-2.6.x\drivers\mtd\maps\ 中找到microtronix.c文件,修改以下画线部分以及把BUSWIDTH 由2改为1(2表示16位总线,1表示8位总线,请根据开发板具体情况修改,V3.0实验板上的flash使用8位总线所以这里要改为1。注表:开发板版本V2:16位,V3:8位,V4:16位,V5:8位。以下的两个文件是内核文件和文件系统文件在Flash中的映射,如果是8M的flash 使用默认即可,如果不是8M可以根据具体情况设置),如下图:

五..完成后编译内核:

经过相当长时间的等待便可看到编译生成的内核vmlinux.bin二进制文件:

六.用flash programer下载此内核到flash中的从0地址开始:

七.建立文件系统:

7.1 在IDE中 File->new->project

Next 输入名字:

继续Next:

NEXT:点击Install Minimal:

Finish后有警告,不管,确定后完成。

7.2 编译此文件系统后生成romfs.bin文件,同上面烧写内核的方法,把此

文件烧写到flash 中去,注意offset地址为:0x100000

(注:对于8M的flash这里的偏移量为0x200000,偏移地址为多少是根据上面那两个根本文件中对flash的设置而定。客户也可以根据自己的实际需要做修改)

此图中我把romfs.bin文件拷到了C盘,所以file中是:c:\romfs.bin

八.ok

下载成功后,接上USB (或者串口),打开串口调试工具,按一下板子上的reset 键后可看到串口工具接收窗中显示如下信息:linux系统便启动成功了。

输入命令:ls bin

九.建一个LED闪动程序。

9.1 在IDE中File->New->project:

一路next到finish.

9.2. 建一个C文件:

在弹出的对话窗输入文件名:hello.c注意要加.c后缀:

9.3 把…altera/kits/nios2/examples/software/linux/apps 目录下

samples/hello 文件夹里的makefile复制到my_app工程下。

注意:makefile文件的选择是有讲究的。具体请参阅:在目录

..altera\kits\nios2_51\documents\linux\ 下的Linux Reference Guide.pdf 文档第19页。

在hello.c中输入以下程序:

#include

main()

{

int i;

char led=0x1;

while(1)

{

for(i=0;i<100000;i++);

* (int*) 0x80202040=led; //0x80202040是led灯的地址

led=~led;

}

}

说明:其它外面地址在内核工程nios2_system.h中定义,如下图

9.4 右键my_app工程:选择如下图:

在弹出以下对话窗:

点Ceate完成。

9.5.右键my_app工程:选择如下图:开始编译程序。

9.6 编译完成后没问题的话就可生成hello.exe运行文件:

9.7.把生成的hello.exe文件复制到文件系统目录下的BIN文件夹,如下图:

9.8.编译此文件系统:

9.10.最后把生成的文件系统romfs.bin用flashprogramor下载到flash中。方法和上面烧写文件系统到flash相同。

十.于是我们便完成了整个linux的移植和简单开发过程。

运行结果:

插好USB线,打开串口调试工具,按一下reset:

输入ls bin 回车。

输入hello 回车

此时便可看到核心板上两个LED交替闪动。

linux系统移植uclinux到EP1C6的过程如下:(仅供参考)

nios2linux-1.4开发包仅支持到QuartusII6.0版本,且一直没有更新,在使用QII更高版本时以上移植就行不通了,以下是传输的移植方法,适合与任何QII版本,但仅供参考,不保证肯定其正确性。

一、 首先我们用SOPC builder建立一个nios2的系统,在QuartusII里面分配好引脚和编译生成我们

CPU核的工程。其中的nios_c.ptf就是我们等会儿用来在linux下面生成我们这个cpu系统相关信息的文件。

二、 在linux系统下面,我用的是Feodra4+vmware5.0,其他的发行版本也可以的。下面是操作的具

体步骤:

三、 以一般用户的身份进入linux,在系统目录下面用mkdir download命令建立一个叫做download的

目录,去niosforum那里下载nios2linux-1.4.zip文件和build0411.zip文件(由Hippo提供),把这两个文件放在linux的~/download,用命令unzip build0411.zip 解压缩build0411.zip文件,里面有一些补丁和脚本文件,然后输入./build运行build这个脚本,如果你的网络不行的话可以自己修改这个脚本,把wget那些命令屏蔽掉,然后自己下载到download目录下面。

四、 运行完这个脚本之后在~/目录下有这些文件:

在建立buildroot的时候有一些软件下载不了的可以自己先下载,然后放在~/download目录下面。

五、cd 到linux-2.6.x目录,

把我们的编译工具的目录加到系统的命令路径里去,输入命令PATH=$PATH:~/buildroot/build_nios2/staging_dir/bin,或者在~/.bash_profile那里添加也可以的,设置完了可以用命令nios2-linux-uclibc-gcc –v来测试是否成功。

六、把我们第一步生成的project.ptf (project是你的nios2系统工程的名字)拷贝到~/linux-2.6.x,用命令: make ARCH=nios2nommu CROSS_COMPILE=nios2-linux-uclibc- hwselect SYSPTF=project.ptf生成与系统相关的头文件

minigui1.33在uclinux移植过程

Minigui V1.3.3在uClinux中的移植经验总结 [转] 经过一个星期的努力,终于将Minigui移植到我的ARM7开发板上了,在这个过程中我遇到了很多困难和问题网络,通过以前很多前辈在网络上分享的经验,终于取得成功,也让我更加体会到只有大家都互相帮助,才能使大家都受益。所以基于这一点,我将我的移植过程分享给大家,并且写得尽量详细点,希望给大家后来者少走一些弯路。有不对的地方,欢迎大家板砖! 首先说明一下我的开发平台,我用的是Samsung S3C44B0X芯片的开发板,已经移植好的uClinux操作系FrameBuffer驱动。我的uClinux安装在"/s3c44b0fu/uClinux-dist"目录下,交叉编译工具安装在"/usr/local/a 下。 具体步骤: 一. 从网站下载 libminigui-1.3.3.tar.gz, mde-1.3.0.tar.gz, mg-samples-1.3.0.tar.gz和minigui-res-1.3.3.tar.g 件,并将这四个文件保存到交叉编译环境的目录下,因为我的arm-elf-gcc交叉编译工具安装在"/usr/local/arm-以将minigui的四个压缩包同样拷贝到"/usr/local/arm-elf"目录下. 二. 在终端中输入"cd /usr/local/arm-elf",进入minigui的四个压缩文件所在目录,然后分别执行"tar zxvf xxxx 四个压缩包解压缩.解压后生成libminigui-1.3.3, mde-1.3.0, mg-samples-1.3.0和minigui-res-1.3.3四个文件 三. 1) 进入minigui-res-1.3.3文件夹内,修改config.linux,在prefix = $(TOPDIR)/usr/local/后添加我们的交叉arm-elf,即prefix = $(TOPDIR)/usr/local/arm-elf. 2) cd minigui-res-1.3.3 3) make install 四. cd mde-1.3.0 ./configure make cd mg-samples-1.3.0 ./configure make 五. 1) 编写交叉编译minigui函数库的配置脚本domain.sh. domain.sh的具体内容为: #!/bin/sh rm config.cache config.status -f CC=arm-elf-gcc \ CFLAGS="-I/s3c44b0fu/uClinux-dist/uClibc/include -Dlinux -D__linux__ -D__uClinux__ -Dunix " \ LDFLAGS="-Wl,-elf2flt -static -Wl,-move-rodata -Wl,-L/s3c44b0fu/uClinux-dist/lib/uClibc/lib -Wl,-L/s3c44b dist/linux-2.4.x/lib -Wl,-lc -Wl,-lm" \ ./configure --prefix=/usr/local/arm-elf \ --build=i686-pc-linux-gnu \ --host=arm-elf-linux \

史上最详细BIN全包刷机教程(有图)

LG(P930)LU6200刷中文安卓4.0.4系统教程史上最详细,傻瓜图文版 2012-8-8 14:42:00 小编发表7938人参与 142KDZ-Root142-Recovery142-直刷160汉化ZIP包傻瓜式-图文操作流程 出现刷ROOT或者刷RECOVERY无效没反应的。。。请删除豌豆荚和91手机助手,然后重启一次电脑即可。。。 另外。。。请尽量使用原装线连接手机和电脑。。。并且数据线最好插在电脑主板自带的USB口上(在主机后面)。。。囧

PS1:这个流程的刷法,相对比较稳定,可用于任何版本6200升级到安卓4.0.4正式版。 PS2:整个流程一共X步骤,请按顺序进行,中间不要断开。不要做任何教程中没要提到的多余事情!!!。。。否则后果自负。。。 PS3:刷KDZ不要拆下TF卡和SIM卡。。。请保证2个卡都在手机里!!! PS4:请自行备份联系人。。。通讯录。。。短信。。。等个人信息。

======================================= ====== 傻瓜式教程。。。不怕你不会。。。就怕你不仔细看。。 不管你是电脑盲。。。还是安卓盲。。。本教程手把手教你刷机 =============================================

首先说下。。。KDZ142其实就是LU6200的工程泄露版。。。KDZ160其实就是LU6200的4.0.4正式版。。。 ===================== 所需文件: 首先我们要准备以下文件: 6200刷机通用教程.rar:刷机工具包,内含官方驱动

小米刷机教程

一、需要软件 1、小米手机驱动程序 2、小米线刷工具或刷机软件:MiFlash下载见MIUI官网 3、小米刷机包:具体见官方下载,注意线刷包的文件名上有个FASTBOOT字样。 二、名词解释 1、卡刷:一般来说卡刷可以简单的理解为在内存卡中刷机,就是进入Recovery中刷入系统。 2、线刷:线刷可以简单的理解为用USB线刷机,一定要注意的是文件路径和驱动。线刷包的文件名上有个FASTBOOT字样。 3、OTA:OTA就是在线刷机,只要在系统中在线升级就可以成功刷机。 4、三清:三清数据时进入Recovery -> 清除数据-> 清除缓存,清空用户数据,清空所有数据,记的清除前先用MIUI备份(MIUI备份刷机之前都要用到!刷机不会删除内存卡上的文件!) 三、具体步骤(由于刷机时没有截图,于是就从网上找了些图片,不影响小米线刷粉们的阅读使用) 注意:由于目前V4.0的还是不很稳定,故本文介绍的均为V2.3.5的步骤。 1、备份。(系统工具-备份-新建备份)备份重要的数据。 2、下载上述需要的软件及刷机包。 3、解压缩并安装小米驱动。 4、手机进入Recovery (方法:关机,然后音量上+电源)。

5、手机三清(方法:Recovery -> 清除数据-> 清除缓存,清空用户数据,清空所有数据)。 6、手机关机。 7、手机进入FASTBOOT(方法:米键+音量下+电源)。 8、解压刷机包并复制文件夹所在路径。 9、用USB线连接电脑。 10、解压MiFlash并双击MiFlash.exe,将上面复制的路径粘贴到下图方框内,点击Refresh,刷机程序会自动识别手机,点击Flash开始刷机。

ROM定制教程手把手教你做ROM

ROM定制教程:手把手教你做ROM 很早就说出个教程了,想了好长时间不知道该怎么出,关于ROM定制,要了解的东西确实比较多,想出个完善的教程不是件容易的事,一来发此类教程贴的工作量非常之大;二来本人水平有限,不知尽我所能能否将这些皮毛知识教给大家;三来,涉及的内容非常多,有点不知从何说起的感觉;这也许是很多ROM 大虾不愿出教程的原因吧,鉴于论坛有机油要求,为了大家的福利,本人在此班门弄斧,希望对大家能有所帮助,错漏之处希望大家能给予批评指正,谢谢!先发布吧,后面的我再慢慢写,家里网速太狗屎了,最近公司也经常开会,只能这样一点点的挤牙膏了,抱歉!教程大体分为以下几部分:1。ROM基础知识2。ROM 制作工具介绍3。ROM定制 4。ROM定制FAQ 5。DIY及OEM包制作6。模板的制作 7。移植第一部分:ROM基础知识 A。名词解释 1.ROM,RAM,FlashMemoryROM(ReadOnly Memory)的全名为只读记忆体,是PPC上的硬盘部分用来存储和保存数据。ROM数据不能随意更新,但是在任何时候都可以读取。即使是断电,ROM也能够保留数据。但是资料一但写入后只能用特殊方法或根本无法更改,因此ROM常在嵌入式系统中担任存放作业系统的用途RAM(Random AccessMemory)的全名为随机存储记忆体,是PPC上的移动存储部分,用来存储和保存数据的。它在任何时候都可以读写,RAM通常是作为操作系统或其他正在运行程序的临时存储介质(可称作系统内存)FlashMemory,由于ROM不易更改的特性让更新资料变得相当麻烦,因此就有了FlashMemory的发展,Flash Memory具有ROM不需电力维持资料的好处,又可以在需要的时候任意更改资料,我们常见的FLASHMemory 有TF卡(全名:TransFLash卡),SD卡(全名:Secure Digital MemoryCard),CF卡(全名:CompactFlash卡)等。 2.XIP,IPL,SPL,RADIOXIP(E xecuteIn Place)中文意:立即执行。XIP所起到的作用是让操作系统内核直接在Flash中运行,不需要拷贝到RAM,即指操作系统或应用程序直接从非易失性存储器中执行,这样减少了内核从闪速存储器拷贝到RAM的时间,其采用的非压缩映像也减少了内核自解压的时间,换句话说,XIP直接决定了PPC系统运行和加载程序的时间,也就是直接决定了PPC系统的运行速度。IPL(全称:Initia lProgramLoader)中文意:首次装载系统,其负责主板,电源、硬件初始化程序,并把SPL装入RAM,如果IPL损坏,由于不能加载SPL,所以机器将不能装载任何由SPL完成装载的OS系统。SPL(全称:SecondProgramLoader)中文意:第二次装系统,就是负责装载OS操作系统到RAM中,SPL损坏了我们可以烧录机这样的设备来重新写入,或者还可以通过刷入初始的ROM版本来实现重写SPL,我们俗称“寻找原厂ROM救砖”RADIO,字面理解:无线电通讯,其负责着PPC 作为手机功能的通讯功能方面,包括它的电话和上网功能,事实上,RADIO硬件模块已经在手机出厂时已经内置,我们所刷入的不过是作为软件应用层面的东西,因为软件层面的东西决定了RADIO硬件模块接收和传递信号的频段分配,所以硬件RADIO的称谓已经被弱化,我们把这种RADIO软件层面的东东一律称为R

安卓Android ROM定制、移植:第六篇:boot.img、recovery解包和打包

太抱歉了,因为教程实在是有点粗浅了,其实很多东西都不知道怎么去写,这不是复制粘贴,当然很多只是一步步的走的,不过也许我自己觉得已经阐述的很清楚了,可是一旦别人看起来,还是感觉很深奥,没办法,本人就这点能力了,呵呵! 大家都知道安卓的核心更换呢,那是在boot.img里面,那么如何在WINDOWS下去解开它呢,LINUX的自己略过。。。。 首先百度BOOTIMG.EXE,然后你懂的,会出来一大堆,这得感谢制作bootimg.exe的作者,本来是为华为的机器做的分解工具,不过我们也可以拿来分解boot.img、recovery.img等,OK!先来谈谈这两个文件的基础,部分来自网络。 boot和recovery映像的文件结构 boot和recovery映像并不是一个完整的文件系统,它们是一种android自定义的文件格式,该格式包括了2K的文件头,后面紧跟着是用gzip压缩过的内核,再后面是一个ramdisk 内存盘,然后紧跟着第二阶段的载入器程序(这个载入器程序是可选的,在某些映像中或许没有这部分)。此类文件的定义可以从源代码android-src/system/core/mkbootimg找到一个叫做bootimg.h的文件。 (译者的话,原文是一个叫做mkbootimg.h的文件,但从Android 2.1的代码来看,该文件名应该是改为bootimg.h了)。 /* ** +-----------------+ ** | boot header | 1 page ** +-----------------+ ** | kernel | n pages ** +-----------------+ ** | ramdisk | m pages ** +-----------------+ ** | second stage | o pages ** +-----------------+

miui刷机教程

下载必要文件 下载ROM文件与刷机工具,为刷机过程做准备 1.本教程刷机过程需要在Windows操作系统环境下进行。 2.如果软件版本已经升级至最新版2. 3.6或者更高,请勿刷机,后果严重。 3.刷机有风险,务必要小心;因刷机造成的任何问题,小米公司不承担任何责任。 4.本教程内容摘自互联网资源并经官方整理,如有版权问题可联系管理员。更多内容详见免责声明。 2.本教程只针对DEFY, 国行MOTO ME525暂不推荐刷机,如果已经升级MOTO官方2. 3.4请参考DEFY+教程。 下载 MIUI ROM for Defy 最新安装包立即下载 ( 大小:94M,MD5: 3454EF156319C3CC18E13046B655D754) 如果已经在下载页面下载过最新安装包,无需重新下载。 下载刷机工具包立即下载 (大小:202.15M,MD5: E09D30372DB82D6C281673619AF402BE) 准备一张剩余空间大于256MB的MicroSD/TF卡。 将刷机工具包defy_new_tools.zip解压至电脑桌面。 不要解压MIUI ROM安装包将MIUI最新ROM包直接拷贝到SD卡根目录下。 安装USB驱动 准备工作:安装必要的驱动,为后续刷机做准备。本步骤安装USB驱动。 如已经安装过USB驱动:可略过本步骤,前往下一步 在手电脑操作 打开刷机工具包目录中MotoHelper_2051_Driver_520.exe.

恢复官方系统 恢复至MOTO官方系统 保证有充足的电量,进行本步骤操作之后手机将会失去所有用户资料并会失去保修。 在手机上操作 执行本步骤前请先关闭手机,同时按住电源键和音量上键,此时进入了Bootloader界面。

Android_ROM制作移植及精简教程

Android_ROM制作,精简及移植教程 本教程主要内容有:Android系统文件夹结构解析、应用软件说明、定制精简、ROM签名把包等内容。刷机有风险,出问题自负。其实这个教程一早就想写的,但由于时间及本人的懒惰,一直拖着。今晚终于静下心来写好本文,本文有部份内容来自于网络。 速度与华丽,你喜欢那个。是不是想要一个又够速度又华丽的ROM呢?我是一个追求新鲜的人,对于手机的ROM,我又追求稳定、精简、美观、省电。现在Hero ROM有很多,最新的有第三方Android 2.1版本,但这些ROM的制作者都会跟据自已的个人喜欢会增加和增少相应的功能或是界面,但我们往往不喜欢这些ROM的某些小方面,所以随着而来面对的问题就是怎样把这个ROM修改成为一个自已真正需要的ROM呢?以往一直是依靠“大杀器”来解决,但觉得还是过于麻烦,所以寻求办法自己动手修改ROM。于是有了本文。废话少说,进入题。 一、Android系统文件夹结构 一个完整的ROM根目录会有以下几个文件夹及文件: data META-IN system boot.img 系统目录说明 1. 应用程序安装目录 1) 系统应用程序所在目录 /system/app/*.apk 2)用户安装应用程序所在目录 /data/app/*.apk 3) 注意: a)在模拟器中,每重启一次,/system/app/下的应用都会被还原,有时/data/app下也会被清除 b)若在/system/app和/data/app下有重名的应用,不一定会启动哪一个,尤其是在adb install杀死正在运行的程序时,有时旧的就会被启动 2.用户数据所在目录 /data/data/应用包名/shared_prefs 配置文件 /data/data/应用包名/databases/* 库文件所在目录 3. SD卡对应目录 /sdcard/

S3c44B0在uClinux的移植步骤

S3c44B0在uClinux中需要修改的文件一.内核基本文件的修改 1.uClinux-Samsung\vendors\Samsung\S3C44B0 “config.linux-2.4.x”这个是linux内核编译配置选项文件。 # System Type # # CONFIG_ARCH_DSC21 is not set # CONFIG_ARCH_CNXT is not set # CONFIG_ARCH_SWARM is not set #CONFIG_ARCH_SAMSUNG=y CONFIG_ARCH_MBA44B0=y # CONFIG_ARCH_ATMEL is not set CONFIG_NO_PGT_CACHE=y CONFIG_CPU_32=y # CONFIG_CPU_26 is not set CONFIG_CPU_ARM710=y CONFIG_CPU_WITH_CACHE=y # CONFIG_CPU_WITH_MCR_INSTRUCTION is not set CONFIG_SERIAL_44B0=y #CONFIG_SET_MEM_SAMSUNG=y DRAM_BASE=0x0c000000 #SDRAM起始是地址 DRAM_SIZE=0x01000000 #SDRAM大小16M FLASH_MEM_BASE=0x00000000 #FLASH起始地址 FLASH_SIZE=0x00200000 #FLASH大小2M # # General setup 以后的make都以CONFIG_ARCH_S3C44B0=y这选项来解决是编译和S3C44B0相关的其他选项。 2.arch/armnommu/Makefie: ifeq ($(CONFIG_ARCH_S3C44B0),y) TEXTADDR = 0x0c008000

MIUI_ROM制作教程

1. 搭建移植环境 “工欲善其事,必先利其器”。在制作自己的ROM之前我们必须做好准备工作,搭建好移植环境。 我们这个系列的主旨是如何基于原厂ROM修改。我们所涉及的修改理论上说是不需要源码的,对源码开发感兴趣的可以参照https://www.360docs.net/doc/4217997827.html,。对于ROM制作者来说,我们建议你下载一份google发布的android源代码,这不是必需的,但是对于理解排查ROM 适配中的一些错误有很大帮助。 1.1 选择操作系统 我们MIUI开发组做ROM开发使用的系统是Ubuntu 10以上版本。做ROM移植,Windows(Windows XP和Windows 7)和Mac都可以。但是由于开发组的日常使用是Ubuntu 系统,我们将要共享的一些脚本程序都是运行在Ubuntu之上的,以后的介绍基本上是基于Ubuntu的,同时我会尽力提及在Windows下的操作。Mac我用得非常少,这方面很抱歉。但是用Mac来移植是完全可以的,大家可以根据本文介绍所需要的工具,参照网上的一些资料来搭建Mac移植环境。 1.2 安装Android SDK 关于在Linux, Windows和Mac上详细的如何安装Android SDK的介绍请参照https://www.360docs.net/doc/4217997827.html,/sdk/installing.html。(有人嚷,看不懂鸟语怎么办,首先我真诚的觉得做ROM移植还是懂点基本的鸟语好,第二我必须得承认不懂鸟语也是可以做ROM移植的。这种情况请大家去google搜索一下,网上有很多如何安装Android SDK的中文介绍。) 为了验证这一步是否成功,打开手机中的系统设置,选择应用程序—开发,确保选中“USB 调试”,然后用USB线连接你的手机,在Ubuntu Shell或Windows控制台下运行命令adb devices,如果显示和下面的信息类似,恭喜你,adb可以识别你的手机了。 List of devices attached 304D1955996BE28E device 注意: (1) 有可能会提示找不到adb,这个时候请确保将adb所在路径添加到系统的环境变量中。 (2) 在Windows下,必须安装手机相应的驱动才能成功识别手机。 (3) 在Ubuntu下,有可能会提示“no such permissions”,这个时候有两种办法,第一种是以root的身份运行。第二种办法: (3.1) 运行lsusb命令,对于我的三星手机,输出如下: Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 098: ID 04e8:685e Samsung Electronics Co., Ltd 。。。 找到手机对应的那一行,记录下04e8:685e,这个分别表示该设备的vendorId和productId。如果不确定手机对应的是哪一行,可以在连上手机前后运行lsusb,找到区别的那一行。 (3.2) 在/etc/udev/rules.d目录下新建一个文件99-android.rules。编辑如下:SUBSYSTEMS=="usb", A TTRS{idV endor}="04e8", A TTRS{idProduct}="685e", MODE="0666", OWNER="你的登录身份"

uclinux编译和移植(完整版)

原文地址https://www.360docs.net/doc/4217997827.html,/liang890319/article/details/6844760不定期更新欢迎嵌入式爱好者一起交流 内核裁剪步骤比较繁琐需要的可以博客留言 本节主要包括(ubuntu10.04) 一,linux下的常用压缩解压缩命令 二,环境建立 三,内核编译 四,移植 一,linux下的常用压缩解压缩命令 在linux下常见的压缩文件格式有tar gzip zip bzip2 compress等首先对于tar格式的,压缩和解压缩方式如下 .tar 解压 #tar -xvf file1.tar 压缩 #tar -cvf file1.tar .tar.gz 解压 #tar -zxvf file1.tar 压缩 #tar -zcvf file1.tar .tar.bz 解压 #tar -jxvf file1.tar 压缩 #tar -jcvf file1.tar 对于gzip格式的,压缩和解压缩方式如下 .gz后缀的解压 #gzip -d file1.gz 压缩 #gzip file1 对于zip格式的,压缩和解压缩方式如下 .zip后缀的解压 #uzip file1.zip 压缩 #zip file.zip file1 file2 file3 对于bzip2格式的,压缩和解压缩方式如下 .bz2 解压 #bunzip2 file.bz2 压缩 #bzip2 *

二,环境建立 首先要把交叉工具设置好(详细见上一篇文章,嵌入式开发环境建立) 别人提供的( uClinux,下载地址:https://www.360docs.net/doc/4217997827.html,/pub/uClinux/dist/uClinux-dist-20051110.tar.gz 交叉编译环境: https://www.360docs.net/doc/4217997827.html,/pub/uClinux/uclinux-elf-tools/arm-elf-tools-20030314.sh ) 我用的是天祥提供的arm-elf-tools 把光盘代码中的软件arm-elf-tools-20040427.sh 拷贝到 linux 的根目录下执行./ arm-elf-tools-20040427.sh 结果出现+43错误 (有人说#chmod 777 arm-elf-tools-20040427.sh后再执行就不出错不知道没试过) 解决办法: #tail -n+43 arm-elf-tools-20040427.sh >> 1.tar.gz #tar -zxvf 1.tar.gz 执行之后,在控制台中输入arm-elf-gcc –v 如果安装成功了就会出现版本号例如2.95.3 查看安装在了那里 #which arm-elf-gcc 检查是否将路径加入PATH的方法: echo $PATH 应该能看到我们的编译工具所在的路径

自己修改安卓刷机包ROM教程

安卓个性化刷机包ROM定制教程本教程分成三个阶段:“删删减减入门篇”、“告别小白基础篇”以及“完全定制进阶篇”,以满足不同层次的机油选学。 提示:入门篇不需要下载任何工具即可定制;基础篇需要用到论坛大大们出品的工具;进阶篇需要配置计算机环境以及大神们制作ROM用的工具,最好有一定的英语基础! 确认:本教程需要简单的计算机基础,太太太小白的同志9不要提问鸟。本贴不设答疑,如果本教程都看不懂,要么百度,要么请放弃,用现成的ROM吧! 确认要学就跟我来吧~~重申:刷机有风险,学成后,发布ROM前请先亲测! 删删减减入门篇: 本教程是最最简单的定制教程,准确一点说,都不能称之为定制,最多叫修改ROM。方法很简单,只要你的计算机上有预装WINRAR压缩工具即可实现个性化修改。 首先,下载一版比较符号个人喜欢的ROM版本:大神人出品的成品ROM包。建议选用本人5日发布的华为官方B835版(仅ROOT),这样个人修改后不论操作方便程度还是修改后ROM 的稳定性都有保证一些。 然后,双击下载好的ROM包,自动用WINRAR打开,这里注意:不要解压,弹出WINRAR 解压的界面即可! 参照本教程提供的路径,就可以开始修改属于你自己的ROM啦!简单吧,那,咱开始? 1、删除讨厌的“蟑螂”(预装应用):路径system/app,找到你看不顺眼的应用,右键直接在WINRAR里删除!删除时把**.APK和**.ODEX两个文件一并删除,有些ROM包作者合并了,直接删除就是,如:Tudou.apk。论坛置顶贴就有对应的目录,这里就不提供了,如果认不得,请百度搞明白是什么再删! (其实这一步很多余,别人发布的ROM般都ROOT了,刷机后在碗豆上删即可,,方便,还不会出错!) 2、改字体:路径:system/fonts。找一个含你喜欢的字体的ROM,同样用WINRAR找开,直接从一个压缩包拖入你要修改的ROM即可。新手整个文件夹下的文件全拖入吧~注意:如果要集成应用,应用名不能带中文! 3、修改主题和图标:路径:system/framework下有一个framework-res.apk的文件,路径:system/app下有一个SystemUI.apk的文件,方法同2,下一个含你喜欢主题和图标的ROM,直接从一个压缩包拖入你要修改的压缩包替换原文件即可。搞不明白的,自己解压出来看看~**.apk文件也用WINRAR解压! 4、修改铃声:路径:system/media/audio 下面有四个文件夹,分别是alarms-闹钟,notifications-短信,ringtones-来电。找开各文件夹,把不想要的删了就行,如果要自己加音乐。请下一个格式工厂,把自己喜欢的音乐转换成OGG格式后再拖入即可。 5、这一步需要一个文本工具Notepad:单独解压出system/buidl.prop,用Notepad打开修改:优化内存,硬件加速,关于手机上显示的信息、版本号等;解压出system/usr/keylaout/qwerty.kl 通过修改里面key217 后面的SEARCH为POWER,实现搜索键锁屏。 6、开关机动画:路径:cust/chinatelecom/cn/media下面有两个压缩包:bootanimation.zip开机动画和shutdownanimation.zip关机动画。自己下一些喜欢的替换即可或者自己制作,解压开关机动画压缩包,再把它解压出来,你会看到里面有两个文件夹:part0、part1,里面全是连续的组图通过帧播放实现的,注意,里面有个desc.txt的文件,也要用notepad打开。改好图后,再打包起来,打包时选ZIP文件,存储压缩方式。然后把

G7刷miui超详细教程

MIUI大本营?刷机教程?HTC Desire G7刷机教程 下载必要文件 下载必要的文件,为刷机过程做准备。 本教程刷机过程需要在Windows操作系统环境下进行。 下载MIUI_ROM 最新安装包立即下载( 大小:79M,MD5:7713DF0BAD630A30015ED6EC807C2B81 ) 如果已经在下载页面下载过最新安装包,无需重新下载。 下载刷机工具包立即下载(大小:48.6MB,MD5:206A83B2DFFEC8518B4254668E6FC7E3) 准备一张剩余空间大于100MB剩余空间的SD卡。 将刷机工具包g7_tools.zip解压至电脑桌面。解压后将目录中copy_to_sd\desire_radio.zip拷贝到SD卡根目录下。 不要解压MIUI_ROM安装包,将其直接拷贝到SD卡根目录下。最终SD卡目录文件如下图所示。 安装Android驱动(ADB) 准备工作:安装必要的Android驱动,为后续刷机作准备。本步骤安装ADB驱动。 如已经安装过ADB驱动:可略过本步骤,前往下一步。 在手机上操作 使用USB连接线将手机与电脑连接。在手机弹出的连接提示中选择“只充电”。 在手机桌面按Menu键,进入“设置”界面。进入应用程序>开发, 将“U SB调试”打勾.

在电脑上操作 鼠标右键点击我的电脑(计算机),选择设备管理器。 找到是否出现一个打着黄色问号的设备(如下图)。如果没有找到,说明可能已经安装过ADB驱动,前往下一步。 鼠标右键点击带黄色问号设备,选择“更新驱动”。弹出后点击“下一步”, 选择“浏览计算机以查找驱动程序” 选择桌面\G7刷机工具包\Android驱动\adb_driver目录, 即我们存放刷机包的目录。点击确定开始更新驱动程序。* 弹出任何警告框时,点击“确认”即可。 安装Android驱动(HBoot) 准备工作:安装必要的Android驱动,为后续刷机作准备。本步骤安装Hboot驱动。 如已经安装过Hboot驱动:可略过本步骤,前往下一步。 在手机上操作 请先关闭手机,拔掉USB线。 同时按住音量下键和电源键开机,此时进入了FASTBOOT界面. 在电脑上操作 将手机使用USB连接线连接至电脑。 鼠标右键点击我的电脑(计算机),选择设备管理器。此时电脑发现一个新设备(Android 1.0,如图) 鼠标右键点击带黄色问号设备,选择“更新驱动程序软件”。弹出后点击“下一步”,选择“浏览计算机以查找驱动程序” 选择桌面\G7刷机工具包\Android Drivers\Hboot_Driver目录,即我们存放刷机包的目录。点击确定开始更新驱动程序。

uclinux移植教程

学习开发套件V3.0中嵌入Uclinux的步骤和方法 在学习开发套件V3.0中嵌入Uclinux的步骤和方法,硬件系统为EP1C6,2Mflash,8Msdram. 开发环境:SOPC学习开发套件V3.0,型号EP1C6。QII5.1+SP2,NiosII IDE5.1+SP1。 一 .安装nios2linux开发包nios2linux-1.4 二 .建立硬件系统 1. QII中建一工程linux_nios,并添加NIOSII CPU,QII工程和平常的建立并没有什么区别,只要得加上flash和sdram,因为这里只是对linux的简单调试,所以SOPC中只添加LED和UART等几个简单外设。如下图: 注意为防止不必要的麻烦,这里尽量使用默认名字。 如果想用USB连接电脑,在QII中把串口连接到USB线的IO管脚上即可。 我们的工程中是两个口都接了,使用串口或者USB口都行。 三.建立软件环境 打开NIOSII IDE 3.1 建立linux内核 file-> new-> project 后如下图:

注意:在安装Microtronix_uclinux_nios2开发包后在IDE中分增加出如上图的Microtronix NiosII选项如果没有可以按下面方法解决: 1)、打开cmd,在 开始->运行 那里输入cmd 2)、cd到你的NiosII的工作目录下面,我的NiosII安装在D盘,如下: 3)、在这里输入命令nios2-ide.exe –clean,进入NiosII IDE的clean模式,选择workspace:

这是在New->Other那里你就可以看到那个linux的目录项了。关了IDE窗口和cmd窗口,这样就可以正常看到Microtronix_linux了。 3.2 输入内核名字 按next: finish完成 四. 构建内核: 4.1 右键内核名,在弹出菜单中选择Configure Kernel如下:

三星I9100刷MIUI的详细刷机教程

三星I9100刷MIUI的详细刷机教程 三星I9100怎么刷机的,三星I9100怎么刷MIUI的,下面是三星I9100刷MIUI 的详细刷机教程。 一、刷机前的准备 1、本教程刷机过程需要在Windows操作系统环境下进行。 2、要求型号为SAMSUNG GalaxyS2 GT-I9100国际版,韩版和中国大陆版9100G未经过测试不推荐刷机。 MIUI ROM for GalaxyS2 最新安装包下载 I9100刷机工具包下载 3、请确保手机内存空间剩余大于300MB,不要解压MIUI ROM安装包,将其直接拷贝到内置SD卡根目录下。 二、安装USB驱动 打开I9100_tools/Drive目录下 SAMSUNG_USB_Driver_for_Mobile_Phones.exe。

三、恢复Android2.3.4系统 将I9100恢复至官方系统XXKH1以兼容本教程。 进行本步骤会清空所有用户数据并会失去质保,请慎重考虑,做好相应的数据备份,确保手机电量充足。 1、在手机上操作 settings——Applications——development——USB debugging√(设置——应用程序——开发——USB调试√) 完成后将手机开机状态下连接电脑,双击刷机工具包中ADB/adb Download.bat 进入刷机模式。 也可以通过按键方式进入刷机模式,方法:关机状态下,同时按住音量下键 +HOME+电源键,出现选择画面之后按音量上键。 2、在电脑上操作 运行刷机工具包中的Odin3 v1.85.exe 勾选re-partition、Auto Reboot、F,Reset Time三项; 点击PIT按钮,从刷机工具包中选择u1_02_20110310.....pit; 点击BOOTLOADER从刷机工具包中选择KERNEL.....tar; 点击PDA按钮,从刷机工具包中选择CODE.....tar; 点击PHONE按钮,从刷机工具包中选择MODEM.....tar; 点击CSC按钮,从刷机工具包中选择GT-I9100-CSC.....tar; 将手机连接至电脑,如图蓝色圈选位置变成黄色的才表示电脑连接手机成功,如果没有没变黄请重新插拔USB数据线; 确认手机连接成功后,点击Start,等待完成,出现下图说明刷机成功,手机会自动重启并开机,之后关闭电脑上的Odin刷机工具。

UCOS和uClinux的比较

UC/OS和uClinux的比较 出处:单片机商城发布日期:2005-9-1011:14:28 浏览次数:356 UC/OS和uClinux的比较 摘要:嵌入式操作系统是嵌入式系统应用的核心软件。本文通过对两种典型的开源嵌入式操作系统的对比,分析和总结嵌入式操作系统应用中的若干问题,归纳嵌入式操作系统的选型依据。 关键词:嵌入式系统操作系统uC/OS uClinux 引言 随着现代计算机技术的飞速发展和互联网技术的广泛应用,从PC时代过渡到了以个人数字助理、手持个人电脑和信息家电为代表的3C(计算机、通信、消费电子)一体的后PC时代。后PC时代里,嵌入式系统扮演了越来越重要的角色,被广泛应用于信息电器、移动设备、网络设备和工控仿真等领域。嵌入式系统是以嵌入式计算机为核心,面向用户、面向产品、面向应用,软硬件可裁减的,适用于对功能、可靠性、体积、成本、功耗等综合性能有严格要求的计算机系统。随着嵌入式系统的广泛应用,传统的前/后台程序开发机制已经不能满足日益复杂和荷记得的实现要求,因而现场常常采用嵌入式产时操作系统PROS(Real TimeOperation System)开发实时多任务系统。嵌入式实时操作系统一般可以提供多任务的任务调度、时间管理、任务间通信和同步以及内存管理MMU(Memory ManagerUnit)等重要服务,使得嵌入式应用程序易于设计和扩展。采用RTOS

可以使嵌入式产品更可靠、开发周期更短。在嵌入式应用中使用RTOS已经成为当前嵌入式应用的一个热点。 完成简单功能的嵌入式系统一般不需要操作系统。如,以前许多MCS51系列单片机组成的小系统就只是利用软件实现简单的控制环路;但是随着所谓后PC时代的来临,嵌入式系统设计日趋复杂,嵌入式操作系统就必不可少了。 嵌入式RTOS在系统实时高效性、硬件的相关依赖性、软件固化以及应用的专业性等方面具有较为突出的优势。一般而言,嵌入式操作系统不同于一般意义的计算机操作系统,它有占用空间小、执行效率高、方便进行个性化定制和软件要求固化存储等特点。 从20世纪80年代起,国际上就有一些IT组织、公司,开始进行商用嵌入式操作系统和专用操作系统的研发。这其中涌现了一些著名的嵌入式操作系统,如Microsoft公司的WinCE和WindRiver System公司的VxWo rks就分别是非实时和实时嵌入式操作系统的代表。但是商用产品的造价都十分昂贵,用于一般用途会提高产品成本从而失去竞争力。 UC/OS和uClinux操作系统是用两种性能优良、源码公开且被广泛应用的免费嵌入式操作系统,可以作为研究实时操作系统和非实时操作系统的典范。本文通过uC/OS和uClinux的对比,分析和总结嵌入式操作系统应用中的若干重要问题,归纳嵌入式系统开发中操作系统的选型依据。 1两种开源嵌入式操作系统介绍 uC/OS和uClinux操作系统,是当前得到广泛应用的两种免费且公开源

uclinux移植项目及说明

uclinux移植项目及说明 4.4.移植项目及说明 4.1压缩内核代码起始地址修改 修改文件:uClinux-dist/linux-2.4.x/arch/armnommu/boot/Makefile 修改内容: ifeq ($(CONFIG_BOARD_MBA44),y) ZTEXTADDR = 0x0c100000 ZRELADDR = 0x0c008000 endif 说明: ZTEXTADDR:自解压代码的起始地址。 ZRELADDR:内核解压后代码输出起始地址。 4.2处理器配置选项的修改 修改文件:uClinux-dist/linux-2.4.x/arch/armnommu/config.in 修改内容: define_bool CONFIG_NO_PGT_CACHE y define_bool CONFIG_CPU_WITH_CACHE y define_bool CONFIG_CPU_WITH_MCR_INSTRUCTION n - define_int CONFIG_ARM_CLK 60000000 - define_bool CONFIG_SERIAL_S3C44B0X y - define_int CONFIG_FORCE_MAX_ZONEORDER 5 + define_int CONFIG_ARM_CLK 64000000 #72000000 +# define_bool CONFIG_SERIAL_S3C44B0X y +# define_int CONFIG_FORCE_MAX_ZONEORDER 5 if [ "$CONFIG_SET_MEM_PARAM" = "n" ]; then - define_hex DRAM_BASE 0x00000000 + define_hex DRAM_BASE 0x0C000000 define_hex DRAM_SIZE 0x00800000 - define_hex FLASH_MEM_BASE 0x01000000 + define_hex FLASH_MEM_BASE 0x00000000 define_hex FLASH_SIZE 0x00200000 fi fi …… 说明: 修改了对ARM处理器主频的定义: define_int CONFIG_ARM_CLK 64000000 修改了存储器大小和起始地址的定义: define_hex DRAM_BASE 0x0C000000;SDRAM的起始地址

安卓系统移植经验之谈,教你三分钟移植

每当我闲下来时不发Rom时,就会整理一下思路,发发教程啥的,我觉得能带动机油们自己打造、改造Rom,共同提升,才是Romer的追求。 发Rom也好,教程也好,我的宗旨是不设回复可见,如果你觉得好,回复或者评分鼓励一下,我就很开心了。 不过这样做的一个遗憾就是,我的帖子通常回复率不够高,沉得快。 好了,闲话少说,上教程。 注:可能你会觉得文字教程比较干枯,不够形象生动,但是请精心看,我会尽量讲得具体、清晰。 首先,我并不算是移植高手,这个教程只是我在自己移植过程中的的一些收获体会,一些经验之谈。 如果你觉得有什么不对或值得改进的地方,欢迎和我交流,我们一起来完善这个教程。 因为移植所涉及的机型、配置相当多变和复杂,所以我无法讲具体细节,只能讲大致的原则。 可以结合我移植U8800+的JoyOS到U8860的例子作为参考进行理解。 我把这些原则抽象出来,命名为Rom移植5步法,具有一定的通用性。 Rom移植的方向有正向和逆向之分: 正向的做法通常就是,找个目标机型的底包,然后把要移植的包的app和framework提取出来替换进去。 这样的优点是改动无需太大,非常快捷;缺点是经常因为一些bin下的程序或者

库文件的差异而导致成功率不够高。 逆向的做法是,拿要移植的包作为底包,把目标机型的内核、wifi驱动、传感器库文件、配置文件等替换进去。 这样做要复杂一些,需要准确两个包的差异,知道应该改哪里; 优点自然是不成则已,一旦移植成功能最大限度地发挥Rom性能,因为框架、程序与底层的契合度要比正向法好。 我这个教程以逆向法为例。 另外,Rom移植有风险,刷机测试需谨慎,如有本人操作不当导致出现任何问题,本人概不负责。 Rom移植5步法: 1.Rom移植涉及的东西比较偏底层,所以在移植之前必须清楚目标机型的硬件配置,分区结构。 这里的配置不是说主频多少、内存多少,这两个参数基本上不会影响移植的进行。对于移植,最关键的因素是主板平台,通常采用同一系列的cpu的不同机型的Rom移植的成功率要高很多。 比如,U8800+和U8860均是高通8255处理器,虽然主频不一样,但它们却同属于同样的MSM7x30平台。 他们之间的互相移植,绝对要比与MSM7K平台的中兴V880互相移植来的容易得多。 至于为什么要弄清分区结构,会在下面讲到。

小米手机6种刷机详细教程--更新无敌刷机教程第6种

小米手机6种刷机详细教程 前言 智能手机最离不开什么?刷机 发烧友玩机在什么上消耗最多时间?刷机 小米手机作为一部由发烧友设计,为发烧友而打造的发烧级智能手机,自然不会在刷机上让大家失望。 小米手机系统无锁,刷机方式多样,方便易用,ROM种类繁多,绝对可以满足你的一切刷机需求。 只要你想,小米会给你无限可能! 教程 小米手机刷机可以分为:OTA无线升级;升级包本地升级;完整包本地升级;刷入其他系统ROM;其他系统下的刷机操作(非MIUI系统刷回或其他系统)。下面我将会给大家详细图解每一种刷机方式。 (系统更新可以在桌面菜单中点击选择)

OTA 升级 每周五都是小米的橙色星期五,因为小米手机开发版会迎来每周一次的例行更新,修复之前的bug ,新增更实用的功能。那么如何进行OTA 升级操作呢? 1,每周五下午(特殊情况除外),小米手机会接到OTA 升级通知。 2,如果你比较心急,可以点击“系统更新”,会显示新版本的消息。 3,点击进入,开始下载过程,完成后,显示如下界面。 4,点击“立即更新”,弹出如下对话框,点击“”开始升级“按钮。

5,升级过程大约持续45秒,升级完成后出现如下对话框。 6,点击“重启进入新系统”,在新对话框中点击确定。

7,重启进入新系统,会提示您刷机成功。 8,点击进入后可以了解本次更新的详情。

------------------------------------------------------------------------------------------------------------------------------------------------- 升级包本地升级 有时候没有无线网络,包月流量不够用,怎么办呢?没有关系,我们可以使用完整包,升级包(升级包下载请访问https://www.360docs.net/doc/4217997827.html, )在本地进行级。 1,在“系统更新”内点击菜单键,显示如下窗口。 2,点击“选择安装包”后在新的界面中选择您所需要升级版本的升级包。

相关文档
最新文档