当前位置:文档之家› 如何使用开发板(ARM+Linux)

如何使用开发板(ARM+Linux)

应用程序的执行是依赖于操 作系统的 应用程序需要调用linux操作 系统的库函数来实现 驱动程序是联接操作系统和 硬件之间的桥梁 应用程序不能直接操作硬件 ADS程序是无操作系统支持 的,可以直接操作硬件 Linux的体系架构使得系统 更稳定可靠
初学嵌入式linux应该遵循的步骤
在PC上安装Linux,学会基本操作,建立感性 认识。 掌握Linux的基本‘命令’;能在PC上编写简单 的C程序,并编译执行;熟悉Makefile的使用 嵌入式Linux应用程序的学习 嵌入式Linux驱动程序的学习 逐步熟悉内核,进行深度开发
2beanet嵌入式
需要具备的软硬件资源
Windows XP和Linux系统双系统
可以安装在同一台PC上,双系统启动
在windows上面运行Linux虚拟机
不推荐使用
两台机器,分别装Windows和linux服务器
可用Xmanager Entprise 等软件在windows上远程 控制linux服务器
2beanet嵌入式

学习建议
最好的学习方法:做一个难度适中的产品开发 项目 项目开发可以在开发板上进行 学习需要步骤,并遵循一定的规律 2beanet嵌入式提供完备的学习套件
配套视频教程 实用开发板 技术服务团队
2beanet嵌入式

实用的开发套件
如何使用开发板(综述)
2beanet嵌入式资源免费下载
电力系统大型设备研发
单片机/DSP
北京中星微电子有限公司
ARM + Nucleus (消费电子)
华为技术有限公司
高端路由器 PowerPC+VxWorks
某研究所 加密机
ARM + Linux PowerPC+VxWorks
如何交叉编译应用程序
使用交叉编译器arm-linux-gcc 生成的文件是不能运行在PC机上面的
2beanet嵌入式
如何在开发板上运行和调试应用程序
可以把程序通过串口下载到开发板上运行 通过网络文件系统NFS实现在开发板上的运 行和调试 网络文件系统NFS是一台Linux系统通过网络 挂接另外一台Linux机器文件系统的方法
2beanet嵌入式
什么是虚拟内存?
现代的操作系统大多数支持多任务运行 在WINDOWS上面可以同时跑QQ、浏览网 页,MP3播放器(三个任务) 每个任务都认为自己‘独占’处理器 每个任务都认为自己拥有4G内存
32位系统的寻址空间为:2^32 == 4G 而系统实际内存远小于4G,所以这个‘4G’是假的, 称为‘虚拟内存’
用gcc在PC上练习C语言编程,不断提高程序 调试能力
如何使用开发板
(三)初次使用
2beanet嵌入式
需要具备的软硬件资源
一台PC机
串口
必不可少的 可用USB转串口的模块) 实现起来比较简单,嵌入式开发常用
并口
转接模块并不好用,最好是本身带并口的PC 可以用J-LINK仿真器(USB接口)来代替,速度更快些
2beanet嵌入式
高速缓冲存储器(cache)
位于CPU和主存之间的高层 存储子系统 弥补高速的处理器与相对比 较慢速的内存之间的矛盾 处理器仍在按摩尔定律快速 发展,处位容量的价格 很昂贵 该架构是成本和性能的折中 对程序员透明
ARM工作模式
1 用户模式(USR),运行应用的普通模式 2 管理模式(SVC),操作系统的保护模式(超级用户模式) 3 中断模式(IRQ),用于普通中断处理 4 快速中断模式(FIQ)支持数据传输或通道处理 5 数据访问中断模式(ABT)指令预取或读数据错误时 6 系统模式(SYS), 操作系统使用的有特权的用户模式 7 未定义指令终止模式,即无定义模式(UND),执行了未定义指令 时进入
2beanet嵌入式
Linux中的‘命令’
如何与操作系统进行人机交互?
图形界面
如WINDOW/LINUX等桌面系统 实现起来比较复杂,占用资源多 使用方便,容易掌握
命令
早期的操作系统一般是通过‘命令’来交互 实现简单,占用系统资源少 使用不方便,不容易掌握
2beanet嵌入式
Linux命令的使用

2beanet嵌入式
嵌入式技术掌握的难度
正确说法:嵌入式技术的全面掌握比较困难, 但可以各个击破! 手机研发最少可分为三个组
硬件设计 包括器件选型、PCB设计等 底层驱动 包括系统移植、各种驱动设计 上层软件 各种应用软件的开发,如播放器、浏览 器等
三个大的方面仍然可以细分,掌握其中一块即 有机会进入该行业,逐渐深入,将面临更多的 机会
自由开放,免费 稳定可靠,功能强大
版本更新很快
2beanet嵌入式
Linux的版本
三部分组成:major.minor.patchlevel 开发板目前版本:2.6.28 发行版(release)与测试版(2.5.10 ) Linux源代码(/ ) “移植”操作系统
视频教程包括两部分
单片机基础
ARM+Linux/WinCE
2beanet嵌入式

进军嵌入式Linux
基于2beanet开发板 学习嵌入式linux及 linux下的程序开发
2beanet嵌入式
Linux介绍
是一套免费使用和自由传播的类unix操作系统 UNIX于上世纪70年代面世,稳定可靠,常应 用于服务器等场合 Linux诞生于1991年,两大特点:
不要带电插拔
主要指串口、LCD接口以及JTAG接口 USB、网口是可以带电插拔的
2beanet嵌入式
初步测试
把开发板连接好液晶,直接加电(5V电源) 片刻后,会自启动WinCE(出厂默认安装) 插上鼠标就可以操作了 在控制面板中打开‘笔针’,可校准触摸屏,并 能够正常使用
进一步测试
用串口线连接开发板(接串口0)和电脑 在PC上打开DNW 选择菜单Serial Port connect
linux的虚拟机
VMware + redhat 9.0 与实际Linux的界面是一致的 安装方法可参考网络
2beanet嵌入式
Linux命令的使用
dir 列出当前目录中的文件 cd 进入某个指定的目录 mkdir 建立一个空目录 vi 生成或编辑一个文件 gcc 本机编译一个C程序
2beanet嵌入式
操作系统的主要功能
多任务调度与通讯的支持,包括进程管理,是 操作系统的基本功能。 设备管理 驱动程序的管理。 文件系统 实现对文件的操作 网络协议栈 对各种网络协议提供底层支持 图形系统 实现人机交互,给予使用者良好的 的操作界面,linux内核源码没包含此部分。
2beanet嵌入式
Linux系统在运行时的整体架构
2beanet嵌入式
虚拟内存如何实现
操作系统提供了虚拟内存的实现支持 是现代操作系统非常重要的功能:内存管理 操作系统最终实现了从虚拟地址到物理地址 的转换 内存管理是通过MMU来辅助实现的
2beanet嵌入式
MMU的功能
完成了从虚拟地址到物理地址的转换 《计算机系统结构》郑纬民 清华大学出版社
中国软件行业协会嵌入式系统分 会理事 我们QQ群: 69757533,欢迎 交流!
2beanet嵌入式

嵌入式系统介绍( Embeded System)
随着系统越来越复杂,2000年以后‘嵌入式’这个词 开始流行 绝大多数的电子设备,可以认为包含有‘嵌入式系 统’在工作 嵌入式系统即嵌入到设备内部的计算机系统 定义:以应用为中心,以计算机技术为基础,并且软 硬件可裁剪,适用于应用系统对功能、可靠性、成 本、体积、功耗有严格要求的专用计算机系统
2beanet嵌入式
Linux开发一定要注意版本问题
Linux是开源的,任何人可以得到并修改 版本众多,不容易管理 举例说明
Qtopia 2.2.0 需要在redhat9上用2.95.3编译器 Linux2.6.28需要用3.4.1编译器版本
要注意几方面的版本问题
宿主机(PC机)的版本 被编译的对象的版本 编译器的版本
linux源码的目录结构
lib :放置核心的库代码 mm :即memory management,包 括所有独立于CPU体系结构的内存 管理代码,如内存的分配和释放。 net :网络协议的代码,如TCP/IP整 套协议的实现。 scripts :此目录包含用于配置核心 的脚本文件等。 Documentation :整个linux系统源 代码的相关文档,可从中了解相关 说明,对理解源码有很大帮助。
修改源代码 重新编译源代码,生成映像并运行到目标板
可参照用户光盘(linux\linux2.6.28\内核源 码包\2440-linux-2.6.28.tar.gz) Linux源代码是基于C语言的 2beanet嵌入式
linux源码的目录结构
arch: 该子目录包含 了所有和体系结构相 关的核心代码。它的 每个子目录都代表一 种支持的体系结构 drivers:放置系统所 有的设备驱动程序; 每种驱动又各占用一 个子目录,如I2C、 flash 、LCD等等
2beanet嵌入式
linux源码的目录结构
fs : 即file system,和文件系统相 关代码,支持各种常见格式,如 fat32、NTFS 、yaffs 、ext 、nfs include :包括编译核心需要的大部 分头文件,与平台无关的文件在 、 include/linux init :包含核心初始化代码 ipc :包含进程间通讯的源码 kernel :主要的核心代码,实现了 大多数linux系统的内核函数,如进 程调度等。
2beanet嵌入式
总结
命令的实质
2beanet嵌入式
实质就是一个应用程序 与操作系统结合在一起,才称为‘命令’
相关主题