对寄存器的理解

本文介绍了嵌入式开发中寄存器的基本概念,结合TI DSP28335芯片说明内存映射的重要性,并阐述了寄存器与地址的关系以及在实际编程中的使用方式,强调了寄存器映射的概念。

前言

在进行嵌入式开发过程中,寄存器可以说是与嵌入式工程师打交道最多的东西,因为偏向底层的驱动开发,几乎都是利用寄存器完成的。那么,寄存器到底是什么呢?下面为自己的一些理解,如有错误之处,还望海涵与纠正,谢谢!

内存映射

在正式进入寄存器的知识之前,首先对内存映射进行简单的介绍。此处以TI公司的DSP28335芯片为例。通过查询该芯片的官方数据手册,可获知该芯片的内存分配图。由于该图比较大,即使贴出来也会很模糊,所以此处仅展示一部分截图,如下:
在这里插入图片描述
由上图可知,由于该芯片是32位,所以整个芯片支持的最大寻址范围为4GB,只是芯片厂商没有完全使用罢了。而整个芯片的内存空间又被分为很多,用于不同的功能。
在简单了解了内存映射之后,我们开始进行寄存器的讲解。

寄存器到底是什么

实际上,我们在操作芯片的寄存器时,其实操作的是寄存器对应的地址虽然直接操作地址的方式,会使得代码的执行效率稍微高一点,但是可读性和可维护性便会大大降低,这样的代价对于绝大部分应用而言是不可以接受的。如果对于关键代码而言,需要确保它的执行效率,那么可以小范围的使用操作地址的方式进行。
那我们为什么在实际编程时,并没有对相应的地址与寄存器之间建立联系呢?其实,是TI官方的文件已经帮我们完成了这个工作。其中,DSP2833x_Headers_nonBIOS.cmd文件为各个寄存器分配了地址,DSP2833x_Gpio.h文件为寄存器创建相应的结构体,而<

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值