arm9开发ARM9怎么学,对于初学者。详细点,我对相关的都了解点,说的稍微专业点我能听懂。

arm9开发  时间:2021-08-04  阅读:()

arm9开发工具与开发环境区别

可以这么理解 ARM9的开发工具分为软件和硬件, 软件工具是:交叉编译工具链(、qt等) 硬件:开发板及外部设备 开发环境是指开发ARM9程序所需要的平台,需要一台宿主机(PC机,安装Linux系统,eg:Fedora、redhat、ubuntu等)和一台目标机,在宿主机上采用交叉编译工具编译程序,然后下载到目标机上运行

买了ARM9的开发板后怎么学嵌入式linux?

选一个项目做一下,学习的话,简单的项目可以直接参考各个嵌入式培训机构的网站,程度比较高就可以在csdn论坛等接外包项目。

熟悉一下数据库、文件系统、socket、GUI;自已尝试移植linux或wince或ucos等;或者自己写个OS,自己实现一套内存管理、文件系统等;也可以买个开发板配套模块(GPS、蓝牙、WIFI、GSM/GPRS)等,开发相关应用软件。

学ARM9的入门书

哥们,告诉你学arm 9 不管你是想玩裸机(不带OS的)还是想跑Linux , ucLiunx, uOSII...还是WinCE or Mobile 这类嵌入式操作系统,前提是你要了解嵌入式硬件的结构

比如,Arm 9 家族的架构,Arm9 是 Arm V4 架构 cpu 内核是 Arm9 TDMI , s3c2440a = Arm9 TDMI + mmu + mpu + cache(data ,instruction)

(绝不向你推荐没看过的书)

学习arm架构,基本硬件,软件知识 最好的书是

《ARM 嵌入式系统开发 ------ 软件设计与优化》(启蒙书籍)

(这本书无论是软件,还是硬件都将的很详细,很透彻,要不怎么说是arm工程师写的呢)

之后你可以看看逻辑编程的书,主要是熟悉硬件 如 :

《Arm程序分析与设计》

这本书看完后 你如果想想Liunx发展那就看

《鸟哥的Linux私房菜》 ------ Liunx基础操作,概念

《Linux程序设计》 ------- Linux基本程序设计

《Linux 高级程序设计》 ------- 同上,比较高级的一本,如过没基础建议先看上本

《构建嵌入式Linux系统》 -------- Linux移植

《Qt GUI Design》------- Liunx GUI 设计

然后你可以到ARM 网站上看看,Documents里有很多技术文档,标准 包括硬件架构,编译器,汇编器,连接器的文档,很全,很权威。

英文单词都很简单。

哥们,等你的分了,打字也不易。

ARM9开发的基本流程

嵌入式系统的定义应当是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

比如现在ATM取款机就是一个典型RTOS,embedded os主要包括两部分,一部分是处理器,比如Arm,POWERPC,MIPC,一部分是OS,比如Linux,wince,vxworks,us/os,etc.我现在主要学习的路线是arm+linux,选择arm主要是因为arm技术已经比较成熟,选择linux是因为linux是开源的,免费的,另外如果学好了linux就算将来不搞嵌入式系统开发这块,也可以专供linux服务器这一方面。

学习嵌入式linux,主要做的就是四点,一点就是写bootloader,并移植到到nand flash上,第二点,编译kernel,并通过bootloader下载到nand flash上,第三点,在基于nand flash上建立文件系统,第四点,把写好的应用程序下载到target上。

基本流程就是这么下来的,具体到开发板上时可能就有所差别了,下边就以深圳优龙公司的fs2410为目标板具体的上述一下开发的流程,以及在开发中应注意的问题。

第一步:交叉编译环境的建立 A: 基于linux操作系统的应用开发环境一般是由目标系统硬件(开发板)和宿主pc机所构成。

目标硬件开发板用于运行操作系统和系统应用软件。

而目标板所用到的操作系统的内核编译、应用程序的开发和调试则需要通过宿主pc机来完成(所以称为交叉编译)。

双方之间一般通过串口,并口或以太网接口建立连接关系。

安装linux os,比如redhao linux 9.0,可以采用默认安装(但要包含ftp服务),将该linux服务器接入局域网,其他的pc机可以用windows,需要的软件工具包括。

(1)ftp客户端程序 (2)工具 (3)移植到某一特定arm平台的linux操作系统内核源码 (4)gnu编译工具,可由相关网站下载 在某工作站pc上安装ftp客户端程序和工具,linux os kernel的编译一般有一个比较固定的步骤,会根据Makefiel文件的不同而略有差异,可参考相关文档,按固定的步骤编译内核完成以后,会在相应目录生成可执行的二进制文件,通过ftp传到pc机上,热后通过串口或网络下载到开发板上。

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

(2) 创建binutils.在这个过程结束后,会创建类似arm-linux-ld等工具。

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

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

(5) 创建一个交叉编译版本的gdb。

这个过程结束后,会创建arm-linux_gdb (6) 重新创建。

前面创建的过程没有编译c++编译器,现在glibc已经准备好了,所以这个步骤将完善的交叉编译。

(7) 重新创建glibc. 如果在交叉编译过程中出现错误,那么请检查: 版本选择是否正确,以及是否安装了相应的补丁; 库文件路径设置是否正确; 系统环境变量是否设置正确。

第二步:编写bootloader并移植到开发板上 A:bootloader(引导加载程序)是系统加电后运行的第一段代码。

嵌入式系统中的bootloader相当于pc机中的bios。

大多数bootloader都包含两种不同的操作模式,一种是启动加载(bootloading)模式,在这种模式下,bootloader从目标机上的某个固态存储器设备上将操作系统加载到RAM中运行,整个过程并没有用户的介入。

这种模式是bootloader的正常工作模式,另一种是下载(downloading)模式。

在这种模式下,目标机上的bootloader将通过串口或网络等通信手段从开发主机(host)上下载内核映像和根文件系统映像等到RAM中。

然后可以再被bootloader写到目标机上的固态存储介质上。

B:bootloader启动大多数都分为两个阶段 (1):基本的硬件初始化(屏蔽所有的中断,关闭处理器内部指令/数据cache等)。

为第二阶段准备RAM空间,如果是从某个固态存储媒质中,则复制bootlodaer的第二阶段代码到RAM。

设置堆栈。

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

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

检查系统内存映射。

将内核映像和根文件系统映像从flash读到RAM。

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

ARM9怎么学,对于初学者。详细点,我对相关的都了解点,说的稍微专业点我能听懂。

既然是学习ARM9,那么必然已经有了单片机和C语言的基础,在不跑操作系统的情况下用一段时间熟悉ARM9的各种寄存器,比如定时器,串口,GPIO等等。

等这些都已经熟悉之后,应该上嵌入式操作系统,选学一种wince或者Linux,在操作系统下练习驱动程序的编写。

这是一个漫长的过程,需要大量时间和精力去学好嵌入式,多看书,练习,和高手交流。

多做一些项目,在实践中积累

RackNerd新上圣何塞、芝加哥、达拉斯、亚特兰大INTEL系列,$9.49/年

racknerd怎么样?racknerd商家最近促销三款美国便宜vps,最低只需要9.49美元,可以选择美国圣何塞、西雅图、纽约和芝加哥机房。RackNerd是一家成立于2019年的美国高性价比服务器商家,主要从事美国和荷兰数据中心的便宜vps、独立服务器销售!支持中文工单、支持支付宝和微信以及PayPal付款购买!点击直达:racknerd官方网站INTEL系列可选机房:加利福尼亚州圣何塞、芝加...

台湾CN2云服务器 2核2G 5M 5IP 台湾物理服务器 E5x2 64G 20M 5IP

提速啦(www.tisula.com)是赣州王成璟网络科技有限公司旗下云服务器品牌,目前拥有在籍员工40人左右,社保在籍员工30人+,是正规的国内拥有IDC ICP ISP CDN 云牌照资质商家,2018-2021年连续4年获得CTG机房顶级金牌代理商荣誉 2021年赣州市于都县创业大赛三等奖,2020年于都电子商务示范企业,2021年于都县电子商务融合推广大使。资源优势介绍:Ceranetwo...

小白云 (80元/月),四川德阳 4核2G,山东枣庄 4核2G,美国VPS20元/月起三网CN2

小白云是一家国人自营的企业IDC,主营国内外VPS,致力于让每一个用户都能轻松、快速、经济地享受高端的服务,成立于2019年,拥有国内大带宽高防御的特点,专注于DDoS/CC等攻击的防护;海外线路精选纯CN2线路,以确保用户体验的首选线路,商家线上多名客服一对一解决处理用户的问题,提供7*24无人全自动化服务。商家承诺绝不超开,以用户体验为中心为用提供服务,一直坚持主打以产品质量用户体验性以及高效...

arm9开发为你推荐
蓝屏代码电脑蓝屏,出现代码。bftBFT、什么東西噢、什么意思、解釋下。oracle11g下载如何安装oracle11g客户端安全防护安全防护措施巴西时区巴西与中国的时差是多少电子听诊器听诊器的构造及原理是……wizardryHogwarts for pikeys是什么意思???色温图一张色温准确的照片的基本标准是什么?数据管理制度简述系统运行管理制度的主要内容vrrp配置vrrp怎样配置、它是什么东西、在那配置它呢?(超级终端里)最好举例子
泛域名解析 新世界机房 vps.net sockscap 最好的免费空间 789电视网 新睿云 国内域名 免费asp空间申请 工信部icp备案查询 中国联通宽带测试 阵亡将士纪念日 云服务是什么意思 睿云 阿里云邮箱怎么注册 新疆服务器 香港ip zcloud 美国asp空间 更多