ARM开发板-iTOP-4412开发板使用手册_第1页
ARM开发板-iTOP-4412开发板使用手册_第2页
ARM开发板-iTOP-4412开发板使用手册_第3页
ARM开发板-iTOP-4412开发板使用手册_第4页
ARM开发板-iTOP-4412开发板使用手册_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 目录第一章前言 (4第二章必须注意的问题 (7第三章您需要了解的 (8一、处理器的生命周期 (8二、Exynos4412的两种封装形式:POP和SCP (9三、极为重要的电源管理(PMU (9四、四核处理器的应用开发难度 (10五、用户应具备的基础知识 (10第四章开发板硬件系统介绍 (11一、核心板 (121、POP封装 (122、SCP封装 (143、核心板PIN脚定义 (14二、底板 (191、以太网接口 (202、HDMI (213、WIFI与蓝牙 (223、LCD接口 (234、触摸屏TP接口 (245、摄像头 (256、3G网络支持(选配 (257、USB HOST接口 (268

2、、USB OTG接口 (269、声卡 (2610、SD卡以及TF卡 (2711、GPS(选配 (2712、串口UART (2813、GPIO (2814、JTAG接口 (2815、CAN总线(选配 (2916、RS-485总线(选配 (2917、用户自定义按键 (30第五章软件开发环境搭建 (31一、开发环境工具链(toolchain (31二、安装交叉编译工具 (32第六章编译并生成镜像 (34 一、编译Uboot (351.1U-Boot的主要功能 (351.2编译流程 (35二、编译内核 (36三、编译Android (36第七章烧写镜像 (38一、烧写U-boot到TF卡 (38二、烧

3、写镜像到eMMC (382.1通过TF卡烧写 (382.2Windows使用fastboot工具烧写 (39第八章Android系统应用指南 (41一、系统开机 (41二、无线WIFI连接 (42三、音量调节 (44四、浏览网页 (45五、高清播放 (46六、3G上网 (47七、GPS测试 (48八、游戏3D性能 (49九、重力传感器及陀螺仪 (50十、连接U盘 (50十一、鼠标及键盘 (51十二、将开发板作为U盘设备与PC相连 (51十三、亮度调节 (52第九章附录 (54一、超级终端的使用 (54二、Linux常用命令详解 (56三、内核配置详细说明 (62四、Linux下多核处理器相关知

4、识 (79五、Android系统架构 (81六、CAN总线 (86七、RS-485总线 (87八、使用虚拟机安装Ubuntu11.04 (88 第一章前言去年这个时候,如果谁提到ARM的四核处理器,那还是个新鲜事物,但短短一年时间,嵌入式四核已经深入人心,并开始大面积普及应用,以极快的速度向工控、仪表等行业延伸,这些都是我们始料不及的。面对这样的形势,我们是固守还是迎接新的挑战?答案肯定是后者。因为世界的潮流永远是浩浩荡荡,永远不会停止前进的脚步。如果我们固守,老旧的芯片价格将越来越贵,例如多年前大量使用的SDRAM价格已经很高昂,几年前的DDR2也开始不便宜,现在的DDR3反倒性价比最高;而

5、存储介质更是这样。如果我们固守,一些新系统、新架构所带来的生产力将不能在我们新产品中体现,竞争能力以及产品优势就会受到影响。如果我们固守,以前掌握的知识和能力将逐渐陈旧,越来越不能适应时代不断进步对我们提出的新要求。发展是硬道理,尤其在信息技术这个领域,只有不断学习,积极改变才能把握先机,赢得更多的机遇和挑战。实际上,所谓的四核其实并没有多少改变,留给我们开发人员的工作跟以前并没有多少差别,因为linux本身一直是支持多核的;对于驱动和应用的编程方式、编程理念甚至系统架构也和以前完全相同。作为一款开发板的产品手册,我们将尽可能详细的为大家讲解Exynos4412这款处理器的系统应用特点,对于开

6、发过程中可能碰到的难点和问题给予较全面的说明。下面简单介绍一下该产品的相关情况:北京迅为电子有限公司致力于嵌入式软硬件设计,是高端开发平台以及移动设备方案提供 商;基于多年的技术积累,在工控、仪表、教育、医疗、车载等领域通过OEM/ODM方式为客户创造价值。iTOP-4412开发板是迅为电子基于三星最新四核处理器Exynos4412研制的一款实验开发平台,可以通过该产品评估Exynos4412处理器相关性能,并以此为基础开发出用户需要的特定产品。本手册主要介绍iTOP-4412开发板的使用方法,旨在帮助用户快速掌握该产品的应用特点,通过对开发板进行后续软硬件开发,衍生出符合特定需求的应用系统。

7、如需平板电脑产品级方案支持,请访问迅为平板方案网。我司将有能力为您提供全方位的技术服务,保证您产品设计无忧!本手册将持续更新,并通过多种方式发布给新老用户,希望我们的努力能给您的学习和开发带来帮助。迅为电子2013年8月 第二章必须注意的问题开发板属于裸板,为了开发和学习方便,一般不会增加外壳,作为电子产品如果使用不当就容易出问题,严重时甚至会永久性损伤硬件系统,以下几点是您需要注意的:1、在确认系统连接完好的情况下再上电,如果发现异常应及时关断电源。2、尽量不要用手接触芯片。如果一定要摸,请注意人体放电(可以通过摸一下地面等方式来消除静电;尤其是北方干燥的冬天,人体静电会高达几千伏,足以击穿

8、芯片,导致系统损毁。3、不要带电插拔HDMI接口。当我们使用HDMI接口连接外部显示器或者TV时,一定要注意在开发板和显示设备断电的情况下进行操作,切忌在开发板上电的情况下来回插拔,因为4412处理器可直接输出HDMI信号,中间并没有接口芯片,如果操作不当,可能导致处理器损毁。4、不要带电插拔串口UART。同以上第3点描述的那样,连接串口线时请在两端设备断电的情况下进行。5、拆装核心板时要格外小心。分拆核心板正确的做法应该是:用扁平的工具在核心板边缘轻轻翘起,然后在另一个方向进行相同的操作。 第三章您需要了解的Exynos4412处理器由三星半导体于2012年推出,采用四核Cortex-A9架

9、构,另外配备四核GPUMali-400,性能强劲,可完美支持1080P视频播放。目前市面上很多四核处理器采用Cortex-A7或者Cortex-A5,在实际性能上与4412相比还是有差距的;正是配备这款处理器的三星高端手机(如GALAXY S3、GALAXY Note2等,使得三星电子在群雄逐鹿的手机市场取得了极大成功。关于Exynos4412的相关设计,以下几个方面您需要了解:一、处理器的生命周期三星从本世纪初开始推出一系列ARM处理器,如ARM7时代的'S3C44B0',属于ARM9架构的S3C2410/S3C2440,到08年前后推出ARM11处理器S3C6410'

10、;,以及后来的CORTEX-A8S5PV210。可以说这些处理器在不同时期分别扮演着重要角色,贯串整个嵌入式ARM处理器发展始终。其实,除了这些耳熟能详的芯片以外,三星还有很多同系列的处理器产品并没有流行起来,如属于ARM9的S3C2450'、ARM11的S3C6440'、CORTEX-A9的S5PV310'等等。这些短命的产品夭折的原因是多方面的:S3C2450因为以太网的IP纠纷而被迫放弃;而S5PV310则是因为采用了比较老的工艺导致发热较大而停产。Exynos4412是采用32nm工艺,经过千百万部手机的实践检验,无论从性能、功耗、稳定性等方面都是以往以及同类处

11、理器不能比拟的,堪称三星半导体的得意之作,这款处理器的优越表现注定使其成为下一个经典。 二、Exynos4412的两种封装形式:POP和SCPPOP封装是把内存和处理器封装到了一起,属于堆叠结构,这样带来的好处是芯片面积变小,大大节省PCB尺寸;另外POP封装内存芯片采用的是LPDDR2,可以达到与DDR3同样速度的情况下显著降低待机功耗;采用POP封装还有一点好处是,产品在PCB布线的时候不用考虑DDR内存等长与阻抗匹配等技术要求,减少工程师在设计过程中的潜在风险,不过,因为考虑到POP封装间距比较小,所以设计的时候需要在芯片的引脚扇出上下一些功夫。采用SCP封装可以灵活配置外围内存的大小(

12、1G或者2G,而且SCP的球间距比较大,这样线路板可以用比较少的成本来完成设计;4412SCP的封装芯片在总体成本上也会比POP 低一些。迅为电子可以提供两种封装的开发板,供大家选择。三、极为重要的电源管理(PMUExynos4412处理器配备一款高水平电源管理芯片(PMU是非常必要的。4412属于四核处理器。一个好的电源管理芯片,可以使整个系统运行有序,从而实现特有的DVFS(动态电压频率调整,在控制系统功耗的前提下,使得整个系统更加稳定可靠。迅为电子的4412开发板配备三星自家电源管理芯片S5M8767,把4412的高性能低功耗充分挖掘出来,可以说是4412开发的黄金搭配。我们在多款项目当

13、中(包括我司开发的平板电脑采用这种组合,具有明显的优势。 四、四核处理器的应用开发难度乍听起来,四核处理器的开发难度要大很多,事实情况不是这样的。因为我们在使用这款处理器开发产品时,操作系统已经跑起来了,多核处理器的调度工作作已经被内核完美实现,并不需要开发人员在这方面做任何工作。况且,linux操作系统本身是原生支持多核架构的,驱动程序以及应用程序的编写方式与单核处理器基本一致,我们只需遵循以往Linux和Android 的开发经验进行调试就可以了。五、用户应具备的基础知识作为一款高端嵌入式开发平台,您需要具备相应的基础和经验。1、在硬件方面,数字电路方面的基础是必要的,如果没有学过相关知识

14、,还是直接PASS 吧,至少要懂得寄存器、输入输出IO口是怎么回事;单片机编程的一些经验也是需要的,通过独立编程操作过一些简单的设备,如蜂鸣器、按键等。2、软件方面至少要接触过C语言,有一些编程经验。要明白程序是顺序执行的!这一点很重要,因为用linux编程,会用到多线程,也就是说系统同时在跑多个程序,这个时候很容易迷糊。不管怎样,要明白程序是顺序执行的这个道理,并且在这个基础上再去体会多线程多任务的机制;4412的处理器是四核,这方面您的思路需要一点转变,但是说到底,最根本的的事情仍然是:程序是顺序执行的!后面我们会展开说明这一点,请参见附录。以上说法不是绝对的,比如您只想在Android上

15、学习应用程序的设计,就不需要任何硬件方面的知识;相反,如果只对硬件电路感兴趣,软件编程也可以忽略。本手册附录是一些比较好的学习材料,作为必要的知识点推荐给大家。 第四章开发板硬件系统介绍iTOP-4412开发板采用核心板+底板结构。其中核心板为8层沉金工艺,并有POP和SCP两种封装形式供用户选择;底板为4层沉金,均采用大厂工艺,质量稳定。核心板采用16GB大容量EMMC存储芯片,那么什么是EMMC呢?这里简单做一些介绍,在ARM9、ARM11以及更早期的时候,存储芯片一般直接采用NandFlash,其中有SLC、MLC以及最新的TLC等工艺标准;由于存储介质本身的原因,在读写的过程中可能会出

16、现位(bit错误,这就需要处理器通过自身硬件或者软件辅助进行ECC纠错,除此之外还需要坏块管理等软件工作。采用EMMC以后,因为内置相关算法控制器,这部分工作就会由EMMC芯片自身来完成,这样大大提高了存取速度以及稳定性。采用三星自家EMMC,实测iTOP-4412开发板的Android启动时间小于20秒。采用EMMC来进行系统设计,是当前嵌入式系统的应用潮流,三星最近停掉了多种型号的NandFlash,在手机、平板、工业监控、仪器仪表等行业普遍开始采用EMMC技术。 一、核心板1、POP封装 POP封装的Exynos4412芯片把内存和处理器堆叠在一起,大大减小了芯片所占用的面积,在手机、掌

17、上PDA等内部空间较小的产品中应用会更有优势。核心板面积为:5CM*6CM,背面采用厚度仅1.5MM的进口接插件,小巧结实的身材使得其在绝大多数场合都能被很好应用。板载1GB内存,以及16GB存储;除此之外,采用三星自家电源管理芯片S5M8767,该芯片可以输出9路DC/DC和28路LDO,通过I2C总线可动态配置各路电源的电压输出大小,进而实现对处理器DVFS(动态电压频率调整,在减小功耗的同时提高系统稳定性;该芯片能在系统上电启动过程中最佳匹配4412处理器的电压启动顺序以及线性要求。如下图所示: 开发板与底板之间采用4对进口板对板连接器,共引出320个引脚(80*4,该型号连接器经过我司

18、多年应用积累的基础上精心挑选而来,高度仅1.5MM,可满足大多数场合使用。为了保证用户的应用开发品质,购买我司核心板的用户将免费得到底板配套连接器,这样可以避免用户采购所造成的麻烦。核心板背面如下图所示: 2、SCP封装SCP封装的核心板稍大,面积为6.0CM*7.0CM,核心板周围预留屏蔽罩焊点,可在特殊要求的场合屏蔽电磁干扰。与POP型核心板相同,采用8层盲埋孔设计,2GB双通道DDR3内存,可达到2倍单通道内存的吞吐量。核心板背面采用相同的四组板对板连接器,PIN脚定义和POP核心板完全相同,用户无需更改底板便可以交叉使用。四片DDR3双通道内存组成64位的数据宽度,严格按照等长布线的设

19、计要求,并保证阻抗一致,充分预留设计余量,在恶劣电磁环境下工作良好。3、核心板PIN脚定义两种核心板PIN脚定义基本一致,如下所示: 连接器01引脚名称1VSYS2VSYS3VSYS4VSYS5VSYS6VSYS7GND8GND9XUHOSTDATA1_EXT10XUHOSTSTROBE1_EXT 11MD_USBDP12XuotgID13MD_USBDN14XuotgDP15GND16XuotgDM17UH_DP318GND19UH_DM320UH_DP221GND22UH_DM223Xmmc2CMD24GND25Xmmc2DATA226Xmmc2CLK27Xmmc2DATA328Xmmc2

20、DATA029GND30Xmmc2DATA131GND32XEINT7/GPX0_733GND34BT_RST35WIFI_WOW36WIFI_PWDN37WIFI_CLK38WIFI_CMD39GND40WIFI_D141WIFI_D042WIFI_D3连接器02引脚名称1VDD332VDD333ISP_SCL4ISP_SDA56260_GPIO26GND7XhdmiTX0P8XhdmiTX1P9XhdmiTX0N10XhdmiTX1N11GND12GND13XhdmiTX2P14XhdmiTXCP15XhdmiTX2N16XhdmiTXCN17GND18GND19I2C_SDA020I2C

21、_SCL021HDMI_HPD22XEINT30/HDMI_CEC/ALV_DBG26 23HDMI_IIC_EN24XuotgVBUS25GND26GND27CAM_HREF28CAM_MCLK29CAM_D130CAM_D031CAM_D332CAM_D233CAM_D534CAM_D435CAM_D736CAM_D637I2C_SDA738I2C_SCL739CAM_PCLK40XciFIELD41CAM5M_RST42CAM_VSYNC 43WIFI_D244XuRXD045XuTXD046XuCTSn047XuRTSn048XEINT18/KP_ROW2/ALV_DBG14 49EI

22、NT29/KP_ROW13/ALV_DBG25 50HOOK_DET51GM_INT152MOTOR_PWM53GM_INT254SIM_DET55GYRO_INT56KP_ROW057COMPASS_RDY58KP_ROW159XCLKOUT60GPS_32K61XnRESET_EXT62XnWRESET63PWRON64XnRSOUT65ACOKB_CHARGER66CHG_COK67CHG_DOK68CHG_FLT696260_GPIO170DC33_EN71CHG_UOK72I2C_SDA573VDD50_EN74I2C_SCL575I2C_SCL176I2C_SDA177XUHOST

23、DATA078XUHOSTSTROBE079GND80GND 43I2C_SCL644CAM2M_RST45I2C_SDA646CAM2M_PWDN47GND48CAM5M_PWDN49XadcAIN050PWRDN_VCM51XadcAIN152CHG_EN53XadcAIN254KP_COL055XadcAIN356MD_RESETBB57GND58HUB_RESET59Xmipi2LSDPCLK60GND61Xmipi2LSDNCLK62Xmipi2LSDP063GND64Xmipi2LSDN065Xmipi2LSDP166GND67Xmipi2LSDN168Xi2s0SCLK/PCM_

24、0_SCLK69GND70Xi2s0LRCK/PCM_0_FSYNC 71Xi2s0CDCLK/PCM_0_EXTCLK 72Xi2s0SDO_0/PCM_0_SOUT 73XspiCLK0/I2C_4_SDA74Xi2s0SDI/PCM_0_SIN75HUB_INT_N76XspiCSn0/I2C_4_SCL77HUB_CONNECT78GND79VDD3380VDD33连接器03引脚名称1VDDIOPERI_18 2VDD28连接器04引脚名称1VDDIOPERI_28 2VDDIOPERI_28 3VDDIOPERI_18 4VDD285VDDIOPERI_18 6VDD187VDD12

25、8VDD189VDD1210VDD2811VDDA2812VDD2813VDDA2814GND15GND16GND17GND18LCD_HSYNC 19LCD_VOTCLK 20LCD_VSYNC 21LCD_DEN22LCD_VD123LCD_VD024LCD_VD325LCD_VD226LCD_VD527LCD_VD428LCD_VD729LCD_VD630LCD_VD931LCD_VD832LCD_VD11 33LCD_VD10 34LCD_VD13 35LCD_VD12 36LCD_VD15 37LCD_VD14 38LCD_VD17 39LCD_VD16 40LCD_VD19 41L

26、CD_VD18 42LCD_VD21 43LCD_VD20 44LCD_VD23 45LCD_VD22 46LCD_PWDN 3GND4GND5XPWMTOUT1 6GPX0_07GPC1_18W_PMU_EN9XOM210XOM511XOM312XjTMS13XjTCK14XjTDI15XjTDO16XEINT1_BAK 17XjTRSTn18XEINT619XispSPICSn20GND21XispSPIMISO 22XEINT14_BAK 23GND24BGF_INT25GND26XispSPICLK27GPM1_028XispSPIMOSI 29GPM1_130XispI2C1SCL

27、31GPM1_232XispI2C1SDA 33GPM1_334XvVSYNC_LDI 35GPM1_436XvSYS_OE37GPM1_538GPM2_039GPM1_640GPM2_141Xm0WEn42GPM2_243Xm0BEn044Xm0DATA_RDn 45Xm0DATA046Xm0cs1 47GND48TP1_INT49XuRTSn2/I2C_3_SCL50TP1_EN51XuCTSn2/I2C_3_SDA52BK_LED53TP_IOCTL54XuRXD2/UART_AUDIO_RXD 55GPS33_EN56XuTXD2/UART_AUDIO_TXD 57GPS_RXD58U

28、ART_RING59GPS_TXD60XuRXD161GPS_RST62XURTS163XuTXD164GPS_SYNC65XUCTS166MD_RSTN67AP_SLEEP68AP_WAKEUP_MD69WIFI_INT70V_BKCOIN71VDD1872V_BKCOIN73VDD1874GND75VSYS76VSYS77GND78GND79GND80GND 47Xm0DATA2 48Xm0OEn 49Xm0DATA4 50Xm0DATA1 51Xm0DATA6 52Xm0DATA3 53GND54Xm0DATA5 55Xm0DATA8 56Xm0DATA7 57Xm0DATA10 58X

29、m0DATA9 59Xm0DATA12 60Xm0DATA11 61Xm0DATA14 62Xm0DATA13 63GND64Xm0DATA15 65Xm0ADDR0 66GND67Xm0ADDR2 68Xm0ADDR1 69Xm0ADDR4 70Xm0ADDR3 71Xm0ADDR6 72Xm0ADDR5 73Xm0cs074Xm0ADDR7 75GND76GND77GND78GND79GND80GND 二、底板 iTOP-4412开发板提供了丰富的底板外设,标配WIFI和蓝牙模块,连接LCD或HDMI显示器可实现通过无线wifi进行视频播放: 下面对底板功能模块分别进行相关阐述:1、以太网

30、接口 通过一条RJ45线,连接这个接口到PC或者路由器,甚至到另外一个开发板,可实现有线以太网络通讯。连接成功以后,两台机器的IP地址要设置在同一个网段,即同一个子网(例如: 192.168.0.x,这样双方就可以通过PING命令来通讯了: 至此,上层应用可以通过socket协议实现端到端的数据通讯,完成各种网络应用。网络接口芯片采用LAN9215,这颗芯片稳定可靠,适合工业应用,通过16位数据总线以及6位地址总线与处理器交换数据,在通讯速率等方面要优于其他方案。2、HDMIExynos4412内置HDMI控制器,不需要外接转换芯片即可输出高性能1080P高清影像: 该接口可以与LCD接口同步

31、输出,没有购买LCD的用户可以直接使用HDMI接口连接普通显示器或者电视,显示效果十分理想,软件稍作调整,就是一个高性能的机顶盒了,如下图: 3、WIFI与蓝牙WIFI和蓝牙由同一颗芯片来实现,三星自家模组: 开发板出厂时会标配这个模组,以方便用户使用。WIFI和蓝牙共享一颗天线,通过分时切换的方式兼顾两者应用,这样做并不会影响速 度,而且成了平板或者手机设计的传统做法。3、LCD接口 如上图所示,左边是TP触摸屏接口,右边是LVDS标准的LCD接口,上面的芯片将RGB信号转换成LVDS;为了兼容RGB接口的屏幕,在开发板的背面引出同规格的兼容RGB标准的液晶接口;配套开发板使用的是款9.7寸

32、LCD屏幕,与IPAD屏幕大小及规格兼容,TP为十点触控: 4、触摸屏TP接口开发板留出了单独的触摸屏TP接口,配套TP支持十点触控操作。需要注意的是:为了接口方便,LCD接口中混合接入了TP接口的相关引线,这样开发板和屏幕相连接时,只用一根线就能实现LCD/TP和主板的相连,而不需要单独连接TP接口(请参照底板原理图来进一步理解。如下图: 5、摄像头底板上关于摄像头设计了两个接口,如下图所示: 其中右上角的接口可作为三星200万摄像头标准接口;而左边的排线可以插入迅为公司额外的摄像头模块,实现500万自动对焦的摄像头方案。6、3G网络支持(选配iTOP-4412开发板支持板载3G模块,通过处

33、理器的HSIC接口直接通向,而不需要另外USB HUB转换成普通USB,上网速率能达到21M,在高性能的同时具有极低的功耗,是唯一通过汽车工业认证的3G模块,可用在车载、工业监控等领域。 该模块为选配模块,支持WCDMA等SIM卡,提供完整全套软件驱动。7、USB HOST接口USB HOST接口可连接鼠标、键盘、U盘等设备,由核心板USB3503芯片转换而来。 开发板共引出三路USB HOST接口,其中有一路在底板的背面。8、USB OTG接口OTG接口在开发板上作为设备口使用,与电脑PC相连后整个开发板系统可作为移动硬盘使用,除此之外,Android应用调试时所需要的ADB功能也是通过这个

34、接口来实现。 9、声卡芯片为WM8960,实现声音的输入与输出,即喇叭PHONE和麦克MIC功能。 10、SD卡以及TF卡SD卡与TF卡是同一个接口的两种接口形式,传输协议是一致的,分别对应不同大小的卡型。使用中需要注意的是,两者不能同时使用。 11、GPS(选配 这里所采用的GPS模块需要通过天线采集卫星信号,并不需要走流量。模块芯片是GNS7560,用户选配时要注明是采用有源天线还是无源天线。如没有特殊要求,出厂默认是有源天线,并配有相应的GPS天线。 在相同条件先,有源天线的信号会更好一些。12、串口UART串口是最简单、也是最常用的电子设备间通讯方式,开发板底板将4个处理器串口全部引出

35、,需要注意的是:这些串口可能跟其他设备复用。例如GPS模块需要某路串口,此时该串口就不能再留作他用。 13、GPIO底板引出GPIO信号,用于用户功能扩展。 14、JTAG接口作为ARM处理器的DEBUG调试接口,在必要时就显得很重要,可与ARM授权的仿真器相连实现系统调试和仿真。 15、CAN总线(选配在工业领域,模块和模块之间通讯一般要用到现场总线技术,CAN总线是大量应用于汽车等高可靠性设备间互联所使用的通讯方式。我们提供完整设备驱动源码供大家参考使用。 16、RS-485总线(选配RS-485总线也是一种现场总线,以一种比较廉价可靠的方式应用于工控现场,通过双绞线方式实现设备间的通讯,

36、距离最高可到数百米;缺点是传输速率比较慢,一般在1Kbps 波特率甚至更低。如上图所示。 17、用户自定义按键用户可通过软件自由定义这几个按键,实现确定的系统功能。 第五章软件开发环境搭建编译Android4.0,我们需要一台PC机,并安装Linux系统,这里要求Ubuntu(Linux的版本为10.10或者更高,交叉编译工具使用:arm-2009q3。另外,为了开发方便,可以在PC机上安装虚拟机软件,然后在虚拟机上再安装linux系统。这样,虚拟机与windows系统之间可以共享某个目录,并且非常方便的在两种系统间切换,大大提高工作效率。虚拟机的安装可参考附录八。一、开发环境工具链(tool

37、chain在开发板或者嵌入式产品上进行产品开发时,必须建立完整的开发环境,例如源代码的编辑,程序的编译、连接和测试环境。对于开源软件Linux和Android系统,不仅自身的源代码版本升级很快,相应的编辑和编译器也在不断发展,Linux的源代码基本上两个月会有一次更新。需要注意的是,Linux和Android系统的源代码一定要和相应的编译器匹配,不同时期或者不同版本的源代码将会对应于特定版本的编译器,这点需要格外注意!有的时候,不同的宿主机版本(PC机上的linux系统也会影响编译的结果,这些问题在开发过程中时常会出现,这应该算是使用开源软件必须接受的现实吧:什么是开发工具链(toolchai

38、n呢?开发工具链包括GNU Compiler Collection(gccGNU libc(glibc以及用来编译、测试和分析软件的GNU binutils(binutils。他是自依赖的,也就是说他构成了一个编译,测试,安装的完整体,使用这个工具链可以很容易从零开始创建一个GNU/Linux系统。 除了在PC上安装Ubuntu Linux(32/64-BIT X86以外,编译系统软件额外需要下面的工具包:1.Git1.5.4或者更新的版本。3.flex,bison,gperf,libsdl-dev,libesd0-dev,libwxgtk2.6-dev(optional, build-ess

39、ential,zip,curl#sudo apt-get install xinetd build-essential nfs-kernel-server apache2samba git-core gnupg flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev cscope uboot-mkimage更多的信息请参考下面的网址:二、安装交叉编译工具编译工具一般有交叉编译和本机编译两种:交叉编译(cross-compilation是

40、指,在某个主机平台上(比如PC上用交叉编译器编译出可在其他平台上(比如ARM上运行的代码的过程。本机编译就好理解了,就是在PC上编译,然后能在PC上运行的编译器。因为我们的编译环境安装在PC上,而编译出来的代码要运行在开发板上,显然这里需要安装交叉编译器。arm-2009q3编译工具可以在开发板的配套光盘里面找到。 请按照以下几个步骤来操作:1.拷贝光盘目录tool-chains里的arm-2009q3.tar.bz2到/usr/local/arm目录下,执行下面的命令解压:2.添加环境变量:#cd/home/YOURNAME/export PATH=$PATH:/usr/local/arm/

41、arm-2009q3/bin修改完成后保存并退出,然后执行:更新环境变量。 第六章编译并生成镜像镜像,是一种文件形式,可以把许多文件做成一个镜像文件。说到底,镜像就是源代码编译并连接以后生成的可执行的文件包,把这个镜像文件烧写到开发板的存储芯片里,开机就可以运行了。这里,我们需要生成三个文件:1引导程序引导程序即Bootloader,是开发板上电以后第一个要执行的程序,它负责整个系统硬件的初始化,引导系统装载内核并启动linux。BootLoader有很多种,常用的如Redboot、Uboot、LiLo等。4412开发板使用Uboot作为引导程序,它是一个开源软件,并在不断发展中,大家可以到官

42、网下载通用的代码。对于不同的硬件系统需要针对性的做一些修改和移植。2linux内核镜像源代码对应版本是:linux3.0.15,通过交叉编译后生成镜像zImage。3Android系统我们可以提供Android4.0和4.2.2两种版本的安卓系统。将Android源代码编译后生成目录文件,并制作成Android系统镜像文件。iTOP-4412开发板的固件源代码可以从光盘的“源码”目录里面找到,请把“源码”目录的压缩包拷贝到上一章搭建好的开发环境ubuntu服务器上。 注意:需要把这几个压缩包放在相同的目录下。接着,使用tar-xvf命令解压这几个压缩包。例如解压U-boot命令:其他文件可按照

43、同样的方法解压出来。一、编译Uboot1.支持烧写bootloader,kernel,RAMDISK,system image到eMMC或SD/TF卡。2.支持从eMMC或SD/TF卡启动系统。编译U-boot,除了U-boot的源码以外,还需要一个文件夹CodeSign4SecureBoot,这个文件在光盘“源码”目录里可以找到。拷贝这个文件夹,并放在与iTop4412_uboot相同的文件夹下。完成上面的步骤后,就开始编译U-boot源代码并生成目标文件了。2.执行下面的命令: 二、编译内核2.执行下面的命令:make distcleanmake iTop-4412_defconfigmake3.在arch/arm/boot目录下将会生成映像文件zImage。三、编译Android1.进入到Android源码目录:iTop4412_ICS2.执行下面的命令:make clobber 第七章烧写镜像这里介绍两种方法来烧写系统镜像,不管采用哪种方式,都需要准备一张TF卡(SD卡也是可以的,并首先烧写U-BOOT到该TF卡上,请严格按照以下步骤进行操作:一、烧写U-boot到TF卡使用读卡器连接TF卡和Ubuntu server,进入到U-boot的目录iTop4412_u

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论