【嵌入式学习】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/
相关文章:
【嵌入式学习】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 G…...
关于部署ELK和EFLKD的相关知识
文章目录 一、ELK日志分析系统1、ELK简介1.2 ElasticSearch1.3 Logstash1.4 Kibana(展示数据可视化界面)1.5 Filebeat 2、使用ELK的原因3、完整日志系统的基本特征4、ELK的工作原理 二、部署ELK日志分析系统1、服务器配置2、关闭防火墙3、ELK ElasticSea…...
ChatGPT智能写作:开启论文写作新视野
ChatGPT无限次数:点击直达 html ChatGPT智能写作:开启论文写作新视野 引言 在当今信息爆炸的时代,人们需要更有效的工具来帮助他们在各种领域进行写作。ChatGPT作为一项基于人工智能技术的顶尖产品,为论文写作提供了全新的视角和可能性。…...
网络安全---RSA公钥加密与签名
实验项目:RSA公钥加密与签名实验 1.实验目的 本实验的学习目标是让学生获得 RSA 算法的动手经验。 通过课堂学习,学生应该已经了解 RSA 算法的理论部分, 知道在数学上如何生成公钥、私钥以及如何执行加密、解密和签名生成、验证。 通过使用…...
李白打酒加强版 -- 题解 c++
题目链接 : 4408. 李白打酒加强版 - AcWing题库 用户登录 二进制搜索 只能过10%,极限暴力 #include<bits/stdc.h> #define IOS ios::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define endl \n typedef long long LL; const int mod 1e97; const int N 2e510;…...
蓝桥杯——玩具蛇
题目 小蓝有—条玩具蛇,一共有16节,上面标着数字1至16。每—节都是一个正方形的形状。相邻的两节可以成直线或者成90度角。 小蓝还有一个44的方格盒子,用于存放玩具蛇,盒子的方格上依次标着字母A到Р共16个字母。 小蓝可以折叠自…...
百度SSL证书免费申请
百度云也有免费SSL证书可以申请,很多用户找不到,云服务器吧yunfuwuqiba.com整理百度云SSL免费证书申请入口: 1、打开百度云SSL证书购买页面 yunfuwuqiba.com/go/baidu_ssl 点立即购买,如下图: 百度云SSL证书 2、免费…...
SpringBoot Assert断言
文章目录 前言一、Assert说明二、Assert方法三、使用示例四、总结前言 在Spring Boot中,Assert类提供了一系列用于断言的静态方法,用于在代码中进行条件检查和错误处理。这些方法可以帮助我们在开发过程中快速发现和解决问题,提高代码的可靠性和健壮性。 一、Assert说明 在…...
test4121
欢迎关注博主 Mindtechnist 或加入【Linux C/C/Python社区】一起学习和分享Linux、C、C、Python、Matlab,机器人运动控制、多机器人协作,智能优化算法,滤波估计、多传感器信息融合,机器学习,人工智能等相关领域的知识和…...
UI自动化测试重点思考(下)--装饰器/生成器/夹具的使用/描述符的作用/ddt驱动/多线程
UI自动化测试重点思考--装饰器 装饰器装饰器定义装饰器代码示例装饰器的执行如何将装饰器融合到pytest框架里面 生成器创建生成器生成器的定义如何将生成器融合到pytest框架里面 fixture(夹具)使用pytest fixture 中 scope 参数的详细解释 描述符的总结描…...
C# 字段和属性的区别
区别 在C#中,字段(Field)和属性(Property)都是用来封装对象状态的方式,但它们有以下区别: 访问级别: 字段通常是private,而属性可以有不同级别的访问限制(…...
备考ICA----Istio实验17---TCP流量授权
备考ICA----Istio实验17—TCP流量授权 1. 环境准备 1.1 环境部署 kubectl apply -f <(istioctl kube-inject -f istio/samples/tcp-echo/tcp-echo.yaml) -n kim kubectl apply -f <(istioctl kube-inject -f istio/samples/sleep/sleep.yaml) -n kim1.2 测试环境 检测…...
[C++][算法基础]树的重心(树图DFS)
给定一颗树,树中包含 n 个结点(编号 1∼n)和 n−1 条无向边。 请你找到树的重心,并输出将重心删除后,剩余各个连通块中点数的最大值。 重心定义:重心是指树中的一个结点,如果将这个点删除后&a…...
探秘ChatGPT:如何利用AI提升论文写作效率
ChatGPT无限次数:点击直达 html 探秘ChatGPT:如何利用AI提升论文写作效率 在当今信息爆炸的时代,论文写作是许多人工作者每天都要面对的任务。如何更高效地撰写出内容丰富、结构严谨的论文,一直是许多学者和研究人员所追求的目标。随着人…...
多无人机集群协同避障
matlab2020a正常运行 场景1规划结果 场景2规划结果 场景3规划结果 代码地址: 多无人机集群协同避障效果(5架)资源-CSDN文库...
基于velero和minio实现k8s数据的备份
1.30部署minio rootk8s-harbor:/etc/kubeasz/clusters/k8s-cluster1# docker run \ -d --restartalways -p 9000:9000 -p 9090:9090 –name minio -v /data/minio/data:/data -e “MINIO_ROOT_USERadmin” -e “MINIO_ROOT_PASSWORD12345678” quay.io/minio/minio server…...
【Java核心技术】第4章 对象与类
1 面向对象 2 自定义类 形式: class ClassName { field // 字段 constructor // 构造器(构造函数) method // 方法 } 如: class Employee {private String name;private double salary;private LocalDate hireDay;public Emp…...
【LeetCode】回溯算法类题目详解
所有题目均来自于LeetCode,刷题代码使用的Python3版本 回溯算法 回溯算法是一种搜索的方法,在二叉树总结当中,经常使用到递归去解决相关的问题,在二叉树的所有路径问题中,我们就使用到了回溯算法来找到所有的路径。 …...
java实现请求缓冲合并
业务背景: 我们对外提供了一个rest接口给第三方业务进行调用,但是由于第三方框架限制,导致会发送大量相似无效请求,例如:接口入参json包含两个字段,createBy和receiverList,完整的入参json示例…...
分布式锁的原子性问题
4.6 分布式锁的原子性问题 更为极端的误删逻辑说明: 线程1现在持有锁之后,在执行业务逻辑过程中,他正准备删除锁,而且已经走到了条件判断的过程中,比如他已经拿到了当前这把锁确实是属于他自己的,正准备删…...
MAX-M8C-0,支持辅助定位的超紧凑GNSS模块
简介今天我要向大家介绍的是 u-blox 的并发GNSS模块——MAX-M8C-0。这是一款专为成本敏感型应用设计、具有超低功耗的超紧凑高性能模块。该模块基于高性能 u-blox M8 GNSS引擎,支持并发接收多达3个GNSS系统(GPS/Galileo GLONASS或BeiDou)&am…...
LinkSwift:九大网盘直链下载的技术革新与优雅突围
LinkSwift:九大网盘直链下载的技术革新与优雅突围 【免费下载链接】Online-disk-direct-link-download-assistant 一个基于 JavaScript 的网盘文件下载地址获取工具。基于【网盘直链下载助手】修改 ,支持 百度网盘 / 阿里云盘 / 中国移动云盘 / 天翼云盘…...
.NET AES 讲透:从 ECB 到 GCM,到底差在哪?
AES,全称高级加密标准(Advanced Encryption Standard)。简单说,它是目前全球最主流的对称加密算法:同一把钥匙负责加密和解密。 HTTPS、手机文件加密、数据库、云存储……现代互联网里大量“数据保密”场景࿰…...
HFSS扫频实战:三种扫频类型的选择策略与性能对比
1. HFSS扫频分析基础:为什么需要扫频? 刚接触HFSS仿真时,很多工程师都会疑惑:为什么不能直接计算目标频点的S参数?这个问题就像用相机拍照——单点频率仿真相当于只拍一张静态照片,而扫频分析则是录制一段视…...
AI圈大事!网友:太离谱了~
最近技术圈友发生了件大事:今年 2 月刚刚开源的 Hermes Agent,GitHub star 数已超过 106k。有些同学可能还不太了解,我们先来说说 Hermes 是什么。它不是简单的聊天机器人,是能自己做事、会学习、越用越聪明的数字员工。为啥能火成…...
AI幻灯片生成插件:架构设计与Prompt工程实战
1. 项目概述与核心价值最近在折腾一个基于AI的幻灯片生成工具,项目名叫“proyecto26/slides-ai-plugin”。这名字听起来有点技术范儿,但说白了,它就是一个能帮你用自然语言描述,自动生成PPT幻灯片内容的插件。想象一下,…...
告别闪烁!用STM32和Multisim搞定LED PWM调光,从仿真到实战保姆级教程
从零构建无频闪LED调光系统:STM32硬件PWM与Multisim滤波电路全解析 当你在深夜伏案工作时,台灯突然出现肉眼可见的闪烁;当你在实验室观察培养样本时,光源的不稳定导致数据出现偏差——这些恼人的场景背后,往往隐藏着L…...
Nginx Server Configs:微服务网关API管理与路由配置终极指南 [特殊字符]
Nginx Server Configs:微服务网关API管理与路由配置终极指南 🚀 【免费下载链接】server-configs-nginx Nginx HTTP server boilerplate configs 项目地址: https://gitcode.com/gh_mirrors/se/server-configs-nginx 在当今微服务架构盛行的时代&…...
PearProject梨子项目:如何快速搭建轻量级远程协作系统的完整指南
PearProject梨子项目:如何快速搭建轻量级远程协作系统的完整指南 【免费下载链接】pearProject pear,梨子,轻量级的在线项目/任务协作系统,远程办公协作 项目地址: https://gitcode.com/gh_mirrors/pe/pearProject PearPro…...
避开这些坑!RT-Thread+lwip网卡驱动开发中的5个常见误区与实战解法
RT-Thread与lwIP网卡驱动开发中的五大性能陷阱与实战突围 在嵌入式网络开发领域,RT-Thread与lwIP的组合已经成为许多开发者的首选方案。然而,这套看似成熟的网络协议栈背后,却隐藏着诸多性能陷阱。本文将揭示五个最常见的开发误区,…...
