ARM嵌入式linux系统学习之裸机(一)
1.裸机学习什么?
裸机主要是学习对通过arm处理器的寄存器的操作来实现其内部资源和外部设备的控制及通信。学习裸机主要有两个目的,第一是熟悉其硬件的资源配置,学会编写bootloader;第二就是学习硬件驱动程序的工作原理,为内核驱动打下基础。
2.裸机学习需要具备哪些基础?
由于裸机程序主要是通过对核心处理器寄存器的操作来实现开发板外部设备、接口的功能,即主要和硬件打交道,因此首先你应该能看懂开发板的原理图;其次,对寄存器的操作主要有arm汇编和C语言完成,所以你应该熟悉arm的汇编指令和C语言知识;最后我们主要是从datasheet来获取寄存器的功能,以及一些硬件功能实现的流程,所以要能看的懂芯片手册。
我们是在linux系统下做arm的裸机程序的开发,这就需要我们能够在linux系统下可以搭建一个交叉开发环境,能够熟练的使用arm-linux-交叉开发工具链和linux的一些基本的操作命令,此外还要学会将编译后的程序烧写到开发板。
3.裸机学习哪些内容?
(1)核心初始化
核心初始化主要包括设置异常向量表,设置处理器工作模式,关闭看门狗,关闭中断,关闭mmu五部分。
(2)点亮指路灯
和学习51单片机把点亮led流水灯作为入门程序一样,点亮led灯是对arm开发板实现的最简单的硬件功能,其主要是对输入输出引脚的配置寄存器和数据寄存器的操作;此外在裸机程序的学习中,可以把led灯可以作为一个调试工具,这也是为什么称其为指路灯的原因。
(3)MMU功能的实现
MMU是内存管理单元的简称(Memery Management Unit),其功能是实现虚拟地址空间到物理地址空间的转换;其目的是充分利用内存空间。
ARM嵌入式linux系统学习之裸机(一)相关推荐
- 外网访问arm嵌入式linux系统_嵌入式Linux系统移植的四大步骤
最近在学习系统移植的相关知识,在学习和调试过程中,发现了很多问题,也解决了很多问题,但总是对于我们的开发结果有一种莫名其妙的感觉,纠其原因,主要对于我们的开发环境没有一个深刻的认识,有时候几个简单的命 ...
- 目录 - 《ARM嵌入式Linux系统开发从入门到精通》 - 免费试读 - book.csdn.net
第一部分 ARM Linux系统移植 第1章 嵌入式系统开发入门...... 2 1.1 嵌入式系统介绍..... 2 1.1.1 嵌入式系统概述..... 2 1.1.2 嵌入式系统组成..... ...
- 交叉编译HTOP并移植到ARM嵌入式Linux系统
原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任. 最近一直在完善基于Busybox做的ARM Linux的根文件系统,由于busybox是一个精简的指令集组 ...
- 交叉编译VIM并移植到ARM嵌入式Linux系统
原创作品,允许转载,转载时请务必以超链接形式标明文章.作者信息和本声明,否则将追究法律责任. 众所周知,vim是vi的增强版本,实际体验要比vi好用很多,由于笔者为ARM系统制作的基于busybo ...
- 友善之臂arm嵌入式linux系统ftp传输问题
问题描述 使用xshell软件ssh协议已经连接到了开发板,但在文件传输的过程中,一直提示密码错误. 解决方法 用户手册显示使用ftp传输文件,用户:plg密码:plg,更换密码不对. ssh连接,用 ...
- 嵌入式linux零基础培训,零基础精通嵌入式linux系统有那么容易吗
嵌入式linux系统让你从入门到精通,新手必备学习技术你要不要来试试.对于新手来说,嵌入式linux系统应该如何更快更好的学习,首先可以告诉你:你要有C语言基础,看你走哪方面,看是底层系统还是应用层开 ...
- ARM嵌入式Linux系统设计与开发
ARM嵌入式Linux系统设计与开发 基本信息 作者: 俞辉 李永 刘凯 王晓虹 丛书名: 高等院校计算机教材系列 出版社:机械工业出版社 ISBN:9787111300045 ...
- 电脑向linux板卡传文件,ARM 开发板嵌入式linux系统与主机PC通过串口传输文件
ARM 开发板嵌入式linux系统与主机PC通过串口传输文件 本来以为按以下两篇文章就可以几步轻松搞定这个问题,没想到遇到两个小麻烦: 1,我用的xp虚拟机下redhat9.0做主机,按照下面第一篇文 ...
- 《嵌入式Linux应用开发完全手册》——1.2 基于ARM处理器的嵌入式Linux系统
本节书摘来自异步社区<嵌入式Linux应用开发完全手册>一书中的第1章,第1.2节,作者 韦东山,更多章节内容可以访问云栖社区"异步社区"公众号查看. 1.2 基于AR ...
最新文章
- 一天一种设计模式之五-----代理模式
- jQuery原理第一天
- 转(每天淘汰你自己)
- 记HTML5 a 标签的一个小坑 1
- 微信表情包储服务器,新发现!微信里的表情包,终于能保存到手机和电脑辣!-qq表情在哪个文件夹里...
- 利用动态数组生成魔方矩阵
- epson连接计算机后无法打印,如何解决连接到Epson打印机后计算机无法打印的问题...
- 手机连接蓝牙扫码枪_如何正确使用蓝牙扫描枪
- 通过游戏编程学Python(番外篇)— 乱序成语、猜单词
- 游戏常用数据分析指标汇总
- 上亿只“小白鼠”有救了,AI可检测化学物质甚至还更准确
- 计算机在线作业题,精选《计算机原理与结构》在线作业试题
- 算法学习之狄克斯特拉算法
- (Maven+SSM)实战之spring mybatis整合
- HDU 4416 (后缀自动机)
- NVIDIA下载问题
- python opencv 为图片添加alpha通道并设置透明,判断是否存在alpha通道
- Nodejs读取文件、查找文件位置
- 07视频会议的未来发展趋势
- 搭建Office 2010 KMS服务器
热门文章
- 恶意代码可视化检测技术研究综述
- HTML新手入门(二)
- 新三板所有问题汇总(拟挂牌公司篇)
- 解决 AS Flutter项目目录一大片黄色警告
- Proxifier配置代理
- CAD二次开发之图标问题
- “System.Runtime.InteropServices.COMException (0x80070422): 无法启动服务”解决方法
- java 生成mac地址
- 【调剂】河北省百人计划专家/优青 河北工业大学许铮铧教授招收22调剂(智能医疗/机器学习/强化学习)...
- 为什么最近裁员不断呢?