当前位置: 首页 > article >正文

arm接口技术三--裸机开发环境搭建与GPIO开发步骤总结

统一编址理念:工作寄存器地址和内存地址统一编址;对寄存器的操作和内存地址的操作都一样,都可以用指针指向地址,进行读写

对指针的理解

  • 基本类型变量仅仅是地址的注记符而已,这个变量就是数据的内存首地址,假如数据类型为int,则从首地址开始的连续四个内存地址,都用来存储这个int类型的数据。
  • 编译时,会将变量名替换为首地址
  • 而指针变量,它注记指代的内存块,存储的不是数据,而是另一片内存地址,而这另一片内存地址才是真实的数据。
  • 所以:使用指针是间接获取数据,使用变量名是直接获取数据,前者比后者的代价要高

1 裸机环境配置

体系课22周1.8.pdf

gcc编译的可执行文件是一个elf格式的文件。包含两个部分:elf,code。elf是给操作系统读的。

裸机开发,因为没有操作系统,所以需要去掉elf头,只保留二进制code。objcopy,就是一个格式转换工具,可以去掉elf头,生产一个bin格式文件。

IOMUX控制器input/output multiplexer

我们知道,芯片包含数量有限的引脚,其中大部分有多种信号选择。这些信号到引脚和引脚到信号的选择是由输入输出多路复用器称为IOMUX决定的。IOMUX也被用来配置其它引脚的特性,比如说电压水平和驱动强度等等。

UART0和UART1:计算机系统中的基本串行通信协议

  • UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用来与PC进行通信,包括与监控调试器和其它器件,如EEPROM通信。因为计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送到串行设备,若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem。
  • UART0(Universal Asynchronous Receiver/Transmitter)是计算机系统中最常用的串行通信协议。它的主要功能是将数据从一台计算机系统传输到另一台计算机系统,以及将外部设备连接到计算机系统。UART0可以实现非同步的数据传输,即数据的发送和接收不需要同步,也不需要使用任何特殊的时钟信号。这使得UART0能够支持多种不同的通信速率,从而可以满足不同设备的需求。
  • UART0和UART1是计算机系统中最基本的串行通信协议。它们分别用于管理和控制计算机系统中的外部设备,以及与其他计算机系统之间的通信。UART0和UART1的功能类似,但它们之间也存在一些重要差异,UART0可以实现非同步的数据传输,但数据传输速率较慢,不能满足高速数据传输的需求;UART1可以实现高速数据传输,但硬件设计复杂,实现成本较高。因此,计算机系统设计者需要根据具体的应用场景,选择合适的串行通信协议。

2 GPIO控制LED灯

体系课22周1.9.pdf

pin,管脚,就是用户看到的引脚;PAD,封装在芯片内部的硅片管脚,PAD到PIN之间还有一段导线

GPIO控制LED灯步骤

  • 第一步:管脚复用功能IOMUX配置
  • 第二步:管脚PAD电器属性配置
  • 第三步:管脚通用功能配置:direction(GPIO_DIR)、data(GPIO_DR);还可以读取管脚电平状态GPIO_PSR
  • 第四步:时钟源CCM配置

http://www.kler.cn/a/280523.html

相关文章:

  • Redis远程字典服务器(11)—— redis客户端介绍
  • 新华三H3C HCL配置IS-IS基本配置
  • ​拓​竹​二​面​
  • 漏洞披露-金慧-综合管理信息系统-SQL
  • 方法引用
  • 【Linux系统编程】system V——信号量
  • 数据库-建表时是否需要设置外键?有啥影响?
  • 搭建自己的金融数据源和量化分析平台(七):定时更新上市公司所属行业门类及大类
  • Linux之shell脚本的if分支
  • 猫咪浮毛如何清理?希喂、安德迈、范罗士宠物空气净化器功能实测
  • VMware虚拟化常见故障问题及解决方法汇总(不定期更新)
  • 声音克隆GPT-SoVITS 2.0软件和详细的使用教程!
  • Excel技能分享:根据匹配公式设置单元格背景色
  • 基于xr-frame实现微信小程序的人脸识别3D模型叠加AR功能(含源码)
  • 浪潮服务器主板集成RAID常见问题
  • 坐牢第三十一天(c++)
  • USB设备驱动代码分析(鼠标)
  • Jenkins服务安装配置
  • 告别手动录入,自动化PDF转Excel工具精选
  • HTTP代理端口的設置應用