首页天道酬勤项目开发流程(arm9开发板推荐)

项目开发流程(arm9开发板推荐)

admin 11-28 11:39 138次浏览

嵌入式系统的定义应该是以应用为中心,基于计算机技术,软硬件可定制,能够满足应用系统对功能、可靠性、成本、体积和功耗的严格要求的专用计算机系统。

比如目前ATM是典型的RTos,嵌入式OS主要由两部分组成,一部分是处理器,比如Arm、POWERPC、MIPC,另一部分是OS,比如Linux、wince、vxworks、us/os等。现在我主要的学习路线是arm linux,选择arm主要是因为arm技术成熟。选择Linux是因为它是开源的,而且是免费的。另外,如果你学好了linux,即使以后不从事嵌入式系统开发,也可以专门针对linux服务器。

学习嵌入式linux主要有四点:一是编写引导加载程序并移植到nand flash另一种是编译内核,通过bootloader下载到nand flash三是构建基于nand闪存的文件系统;第四是将编写好的应用程序下载到target。这是基本流程,到了开发板可能就不一样了。下面我们就以深圳优隆公司的fs2410为目标板,来探讨一下发展历程以及发展中应该注意的问题。

第一步:建立交叉编译环境。

基于linux操作系统的A:应用开发环境一般由目标系统硬件(开发板)和主机pc组成。目标硬件开发板用于运行操作系统和系统应用软件。目标板使用的操作系统的内核编译、应用开发和调试都需要由主机pc完成(因此称为交叉编译)。一般双方通过串口、并口或以太网接口建立连接关系。要安装linux os,如redhao linux 9.0,可以使用默认安装(包括ftp服务),将linux服务器连接到局域网,其他PC可以使用windows。所需的软件工具包括:

(1)ftp客户端程序

(2)远程登录工具

(3)移植到特定arm平台的linux操作系统内核源代码

(4)gnu编译器工具,可以从相关网站下载。

在工作站电脑上安装ftp客户端程序和telnet工具。linux os内核的编译一般有一个相对固定的步骤,根据不同的Makefiel文件略有不同。可以参考相关文件。按照固定的步骤编译内核后,会在相应的目录下生成可执行的二进制文件,通过ftp传输到pc,加热后通过串口或网络下载到开发板。

B: (1)创建编译环境。在这个过程中,将设置一些环境变量,创建一个安装目录,并安装内核源代码和头文件。

(2)创建文件夹。在这个过程之后,像arm-linux-ld这样的工具将被创建。

(3)创建gcc的交叉编译版本。注意:在这个过程中,只能编译C程序,不能编译C程序。

(4)创建glibc的交叉编译版本,这是最容易出现问题的版本。

(5)创建gdb的交叉编译版本。在这个过程的最后,将创建arm-linux_gdb。

(6)重建海湾合作委员会。之前创建gcc的过程没有编译C编译器,现在glibc已经准备好了,所以这一步会提高gcc的交叉编译。

(7)重新创建glibc。

如果交叉编译时出现错误,请检查:

版本选择是否正确,是否安装了相应的补丁;

库文件路径设置是否正确;

系统变量设置是否正确。

第二步:编写引导程序并移植到开发板。

答:引导加载程序是系统开机后运行的第一个代码。嵌入式系统中的引导程序相当于pc机中的bios。大多数引导加载器有两种不同的操作模式,一种是引导加载模式,引导加载器将操作系统从目标机器上的固态存储设备加载到RAM中运行,整个过程没有用户干预。这种模式是引导加载程序的正常工作模式,另一种模式是下载模式。在这种模式下,目标机器上的引导加载程序会通过串口或网络等通信方式将内核映像和根文件系统映像从开发主机下载到RAM中。然后可以通过引导加载程序将其写入目标机器上的固态存储介质。

B: Bootloader启动大多分为两个阶段。

(1):基本硬件初始化(屏蔽所有中断,关闭处理器内部指令/数据缓存等)。).

为第二阶段准备内存空间。如果是来自固态存储介质,将bootlodaer的第二阶段代码复制到RAM中。

设置堆栈。

第二阶段跳转到C程序的入口点。

(2):初始化此阶段要使用的硬件设备。

检查系统内存映射。

将内核映像和根文件系统映像从闪存读取到内存。

通过为内核设置启动参数来调用内核。

汇总不同聚合级别的数据-R和tidyverse旗舰版产品功能 堡垒机 UAuditHost连接空闲超时的原理? 负载均衡 ULBRocketMQ 消息失败重试 解析——图解ReactNative:迁移到AndroidX全栈工程师学习路线
做逆变器用什么场管好(如何自己做一个逆变器) 想自己做一个app需要学什么(想做软件开发要学什么专业)
相关内容