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),其功能是实现虚拟地址空间到物理地址空间的转换;其目的是充分利用内存空间。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值