A9: ARM Cortex-A9处理器是第一款基于ARMv7架构的应用处理器,并且是有史以来ARM开发的性能最高、最具功率效率的处理器。
M0:Cortex-M0处理器,是市场上现有的最小、能耗最低、最节能的ARM处理器。
WIFI: Wi-Fi是一种可以将个人电脑、手持设备(如PDA、手机)等终端以无线方式互相连接的技术。Wi-Fi是一个无线网路通信技术的品牌,由Wi-Fi联盟(Wi-Fi Alliance)所持有。目的是改善基于IEEE 802。11标准的无线网路产品之间的互通性。
2 Cortex-A9 FS4412开发板系统移植
Linux是一款遵循GPL的操作系统,它具有可以自由使用、修改、和扩展的特点。
FS_4412 开发平台采用的是高性能四核 Exynos4412 处理器,单核主频达 1。6Ghz,运算能力 16000DMIPS。 Exynos4412 采用 32 纳米 HKMG 工艺,
在相同性能下,其功耗远胜同类处理器。FS_4412 具有丰富的外设接口,方便开发人员的开发使用和学习。
Exynos4412 应用领域广泛,FS_4412 平台可以流畅运行 Android4。4 系统。本项目借助FS_4412 平台开发,运行 Linux 操作系统,作为智能控制系统的服务器和控制中心。
2。1 环境搭建
在嵌入式开发中,交叉开发是很重要的一个概念,开发的第一个环节就是搭建环境,第一步不能完成,后面的步骤从无谈起。交叉开发环境主要指的是:在开发主机上(通常是自己的pc机)开发出能够在目标机(通常是开发板)上运行的程序。嵌入式比较特殊的是不能在目标机上开发程序,因为对于开发板来说,在没有任何程序的情况下它根本都跑不起来,为了让它能够跑起来,我们必须要借助pc机进行烧录程序等相关工作,开发板才能跑起来。
交叉开发环境的硬件组成主要由以下几大部分:1。开发主机;2。目标机(开发板);3。二者的链接介质,常用的主要有三种方式:串口线,USB线,网线。对应的硬件介质,还必须要有相应的软件“介质”支持:对于串口,通常用的有串口调试助手,putty工具等:对于USB线,必须要有USB的驱动才可以,一般芯片公司会提供,比如对于三星的芯片,USB下载主要由DNW软件来完成;对于网线,则必须要有网络协议支持才可以,常用的两个服务tftp服务,nfs服务。其中的nfs服务主要用于实现网络文件的挂载,实际上是实现网络文件的共享,在开发的过程中,通常在系统移植的最后一步会制作文件系统,把制作好的文件系统放置在我们开发主机PC的相应位置,开发板通过nfs服务进行挂载,从而测试我们制作的文件系统是否正确,在整个过程中并不需要把文件系统烧录到Flash中去,而且挂载是自动进行挂载的,bootloader启动后,Kernel运行起来后会根据我们设置的启动参数进行自动挂载,因此,对于开发测试来讲,这种方式非常的方便,能够提高开发效率。文献综述
通过前面的工作,我们已经准备好了交叉开发环境的硬件部分和一部分软件,最后还缺少交叉编译器。交叉开发环境必然会用到交叉编译工具,通俗地讲就是在一种平台上编译出能运行在体系结构不同的另一种平台上的程序,开发主机PC平台上编译出能运行在以ARM为内核的CPU平台上的程序,编译得到的程序在开发机的CPU平台上是不能运行的,必须放到ARM的CPU平台上才能运行,虽然两个平台用的都是Linux系统。相对于交叉编译,平常做的编译叫本地编译,也就是在当前平台编译,编译得到的程序也是在本地执行。用来编译这种跨平台程序的编译器就叫交叉编译器,相对来说,用来做本地编译的工具就叫本地编译器。所以要生成在目标机上运行的程序,必须要用交叉编译工具链来完成。