【嵌入式学习】ARM day04.11

一、思维导图

二、练习

实现三个灯闪烁

汇编代码

.text 
.global _start
_start: @使能GPIOE和F时钟LDR     r0,=0x50000A28LDR      r1,[R0]ORR     R1,R1,#(0X3<<4)STR      R1,[R0]@配置GPIOE和F的MODER寄存器LDR     r0,=0x50006000   @GPIOELDR     R1,=0X50007000   @GPIOFLDR      R2,[R0]BIC       R2,R2,#(0X3<<20)BIC       R2,R2,#(0X3<<16)ORR     R2,R2,#(0X1<<20)ORR     R2,R2,#(0X1<<16)STR      R2,[R0]LDR      R2,[R1]BIC       R2,R2,#(0X3<<20)ORR     R2,R2,#(0X1<<20)STR      R2,[R1]@配置GPIOE和F的OTYPER寄存器LDR     r0,=0x50006004   @GPIOELDR     R1,=0X50007004   @GPIOFLDR      R2,[R0]BIC       R2,R2,#(0X1<<10)BIC       R2,R2,#(0X1<<8)STR      R2,[R0]LDR      R2,[R1]BIC       R2,R2,#(0X1<<10)STR      R2,[R1]@配置GPIOE和F的OSPEEDR寄存器LDR     r0,=0x50006008   @GPIOELDR     R1,=0X50007008   @GPIOFLDR      R2,[R0].text 
.global _start
_start: @使能GPIOE和F时钟LDR     r0,=0x50000A28LDR      r1,[R0]ORR     R1,R1,#(0X3<<4)STR      R1,[R0]@配置GPIOE和F的MODER寄存器LDR     r0,=0x50006000   @GPIOELDR     R1,=0X50007000   @GPIOFLDR      R2,[R0]BIC       R2,R2,#(0X3<<20)BIC       R2,R2,#(0X3<<16)ORR     R2,R2,#(0X1<<20)ORR     R2,R2,#(0X1<<16)STR      R2,[R0]LDR      R2,[R1]BIC       R2,R2,#(0X3<<20)ORR     R2,R2,#(0X1<<20)STR      R2,[R1]@配置GPIOE和F的OTYPER寄存器LDR     r0,=0x50006004   @GPIOELDR     R1,=0X50007004   @GPIOFLDR      R2,[R0]BIC       R2,R2,#(0X1<<10)BIC       R2,R2,#(0X1<<8)STR      R2,[R0]BIC       R2,R2,#(0X3<<20)BIC       R2,R2,#(0X3<<16)STR      R2,[R0]LDR      R2,[R1]BIC       R2,R2,#(0X3<<20)STR      R2,[R1]@配置GPIOE和F的PUPDR寄存器LDR     r0,=0x5000600C   @GPIOELDR     R1,=0X5000700C   @GPIOFLDR      R2,[R0]BIC       R2,R2,#(0X3<<20)BIC       R2,R2,#(0X3<<16)STR      R2,[R0]LDR      R2,[R1]BIC       R2,R2,#(0X3<<20)STR      R2,[R1]
LOOP:BL  LED_ONBL  DELAYBL  LED_OFFBL  DELAYB  LOOPLED_ON:@GPIOELDR     r0,=0x50006014LDR      r1,[R0]ORR      R1,R1,#(0X1<<10)ORR      R1,R1,#(0X1<<8)STR      R1,[R0]@GPIOFLDR     r0,=0x50007014LDR      r1,[R0]ORR      R1,R1,#(0X1<<10)STR      R1,[R0]MOV PC,LRLED_OFF:@GPIOELDR     R0,=0x50006014LDR      R1,[R0]BIC      R1,R1,#(0X1<<10)BIC      R1,R1,#(0X1<<8)STR      R1,[R0]@GPIOFLDR     r0,=0x50007014LDR      r1,[R0]BIC      R1,R1,#(0X1<<10)STR      R1,[R0]MOV PC,LRDELAY:LDR R3,=0X10000000
MM:CMP R3,#0SUBNE R3,R3,#1BNE MMMOV PC,LR
.end

Makefile 

NAME=asm-led
CROSS_COMPILE = arm-linux-gnueabihf-CC = $(CROSS_COMPILE)gccLD = $(CROSS_COMPILE)ld
OBJCOPY = $(CROSS_COMPILE)objcopy
OBJDUMP = $(CROSS_COMPILE)objdumpall:$(CC) -O0 -g -c $(NAME).S -o $(NAME).o$(LD) -Ttext=0xC0008000 $(NAME).o -o $(NAME).elf $(OBJCOPY) -O binary $(NAME).elf  $(NAME).bin$(OBJDUMP) -D $(NAME).elf > $(NAME).dis
clean:rm -rf *.elf *.bin *.o *.disinstall:sudo cp $(NAME).bin  /mnt/hgfs/share/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/610580.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装KVM和QEMU

KVM&#xff08;Kernel-based Virtual Machine&#xff09;是Linux下的一个全虚拟化解决方案&#xff0c;它包含一个可加载的内核模块kvm.ko&#xff0c;提供和硬件虚拟化相关的功能&#xff0c;是Linux系统下的X86架构全虚拟化解决方案之一。下面是如何使用搭建KVM的底层步骤&…

RabbitMQ消息模型之Simple消息模型

simple消息模型 生产者 package com.example.demo02.mq.simple;import com.example.demo02.mq.util.ConnectionUtils; import com.rabbitmq.client.Channel; import com.rabbitmq.client.Connection;import java.io.IOException;/*** author Allen* 4/10/2024 8:07 PM* versi…

Flutter - 环境配置提示 cmdline-tools component is missing

问题&#xff1a; flutter doctor运行命令 flutter doctor 报错&#xff1a; Android toolchain - develop for Android devices (Android SDK version 30.0.2) ✗ cmdline-tools component is missing Run path/to/sdkmanager --install "cmdline-tools;lates…

贪心算法|435.无重叠区间

力扣题目链接 class Solution { public:// 按照区间右边界排序static bool cmp (const vector<int>& a, const vector<int>& b) {return a[1] < b[1];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {if (intervals.siz…

音频调试(2)

前言&#xff1a; 大家好&#xff0c;今天继续分享记录一下最近的音频调试心得&#xff01;同时这个过程中&#xff0c;也有朋友过来交流音频的问题&#xff0c;通过交流&#xff0c;也是学习到了新东西&#xff01; 视频和音频复合推流&#xff1a; 在上一篇文章里面有提到fdk…

响应式wordpress自媒体资讯文章新闻博客图片自适应PC模板源码html5博客文章模板源码

响应式wordpress自媒体资讯文章新闻博客图片自适应PC模板源码html5博客文章模板源码利于SEO优化 wordpress内核开发的自媒体资讯文章新闻博客网站模板 PCWAP端同一个后台&#xff0c;数据即时同步&#xff0c;简单适用&#xff01; 源码是wordpress开发的官网系统 后台非常简单…

Mac 局域网内连接 MySQL

1. 前言 本文记录在 mac 局域网下实现数据库资源共享的问题 项目开发初期&#xff0c;都是在本地进行开发调试&#xff0c;数据库也在本地。那么和你配合开发的同事&#xff0c;就可能想要连接你 mac 电脑的数据库&#xff0c;连接过程中可能就会遇到问题。本文详细记录这些问…

广佛站点导航助手小程序产品使用说明书

一、产品简介 广佛站点导航助手小程序是一款专为广佛地区用户设计的地铁导航工具。通过获取用户的实时位置信息&#xff0c;小程序能够迅速定位并展示离用户最近的三个地铁站点。用户可以通过本小程序轻松查找地铁站点&#xff0c;规划出行路线&#xff0c;提高出行效率。 二、…

避免使用第三方工具完成电脑环境检测

0. 简介 在之前配置各种深度学习环境的时候经常需要先检测一下电脑的软硬件环境&#xff0c;其实整个过程比较重复和固定&#xff0c;所以我们是否有可能一键检测Python版本、PIP版本、Conda版本、CUDA版本、电脑系统、CPU核数、CPU频率、内存、硬盘等内容这是很多Deepper苦恼…

学习数通HCIE选择誉天有什么优势?

誉天数通课程亮点 课程内容详实&#xff0c;千万级实训环境 涵盖数通技术全场景热门技术&#xff0c;涉及传统园区网&#xff0c;虚拟化园区网&#xff0c;广域互联技术&#xff0c;数据中心网络&#xff0c;网络自动化运维 专业机房环境&#xff0c;全真机教学演示&#xf…

【how2j练习题】HTML DOM部分阶段练习

练习1 <!-- 验证账号是否已经存在 那么就在js使用简单的验证规则&#xff1a; 如果账号是以a或者A开头的&#xff0c;那么就提示已经存在了。 --> <!-- 1.需要一个输入框和一个按钮 2.按钮上绑上一个事件。 3.编写事件&#xff0c;并输出答案 --><html><…

DAY4|24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表II

DAY4|24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表II 24.两两交换链表中的节点19.删除链表的倒数第N个节点面试题02.07.链表相交142.环形链表II判断链表是否有环如果有环&#xff0c;如何找到这个环的入口 24.两两交换链表中的节…