ARM 点灯
.text
.global _start
_start: @led1@设置GPIOE时钟使能 RCC_MP_AHB4ENSETR[4]->1 0X50000A28LDR R0,=0X50000A28 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<4) @将第4位设置为1STR R1,[R0] @将修改后的值写回去@设置PE10为输出 GPIOE_MODER[21:20]->01 0X50006000LDR R0,=0X50006000 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20) @将第[21:20]位设置为01ORR R1,R1,#(0x1<<20)STR R1,[R0] @将修改后的值写回去@设置PE10为推挽输出 GPIOE_OTYPER[10]->0 0X50006004LDR R0,=0X50006004 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<10) @将第[10]位设置为0STR R1,[R0] @将修改后的值写回去@设置PE10为低速输出 GPIOE_OSPEEDR[21:20]->00 0x50006008LDR R0,=0X50006008 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20) @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去@设置PE10输出时无上拉下拉电阻 GPIOE_PUPDR[21:20]->00 0X5000600CLDR R0,=0X5000600C @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20) @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去@led2@设置GPIOE时钟使能 RCC_MP_AHB4ENSETR[5]->1 0X50000A28LDR R0,=0X50000A28 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<5) @将第5位设置为1STR R1,[R0] @将修改后的值写回去@设置PF10为输出 GPIOE_MODER[21:20]->01 0X50007000LDR R0,=0X50007000 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20) @将第[21:20]位设置为01ORR R1,R1,#(0x1<<20)STR R1,[R0] @将修改后的值写回去@设置PF10为推挽输出 GPIOE_OTYPER[10]->0 0X50007004LDR R0,=0X50007004 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<10) @将第[10]位设置为0STR R1,[R0] @将修改后的值写回去@设置PF10为低速输出 GPIOE_OSPEEDR[21:20]->00 0x50007008LDR R0,=0X50007008 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20) @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去@设置PF10输出时无上拉下拉电阻 GPIOE_PUPDR[21:20]->00 0X5000700CLDR R0,=0X5000700C @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20) @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去 @led1@LED3@设置GPIOE时钟使能 RCC_MP_AHB4ENSETR[4]->1 0X50000A28LDR R0,=0X50000A28 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<4) @将第4位设置为1STR R1,[R0] @将修改后的值写回去@设置PE8为输出 GPIOE_MODER[17:16]->01 0X50006000LDR R0,=0X50006000 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<16) @将第[17:16]位设置为01ORR R1,R1,#(0x1<<16)STR R1,[R0] @将修改后的值写回去@设置PE8为推挽输出 GPIOE_OTYPER[10]->0 0X50006004LDR R0,=0X50006004 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<8) @将第[8]位设置为0STR R1,[R0] @将修改后的值写回去@设置PE8为低速输出 GPIOE_OSPEEDR[21:20]->00 0x50006008LDR R0,=0X50006008 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<20) @将第[21:20]位设置为01STR R1,[R0] @将修改后的值写回去@设置PG10输出时无上拉下拉电阻 GPIOE_PUPDR[16:17]->00 0X5000600CLDR R0,=0X5000600C @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x3<<16) @将第[17:16]位设置为01STR R1,[R0] @将修改后的值写回去flash:bl led1_on @灯亮bl delay @延时bl led1_off @灯灭bl delaybl led2_on @灯亮bl delay @延时bl led2_off @灯灭bl delaybl led3_on @灯亮bl delay @延时bl led3_off @灯灭bl delayb flashled1_on:@设置PE10输出高电平 GPIOE_ODR[10]->1 0x50006014LDR R0,=0X50006014 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<10) @将第[10]位设置为1STR R1,[R0] @将修改后的值写回去mov pc,lrled1_off:@设置PE10输出高电平 GPIOE_ODR[10]->0 0x50006014LDR R0,=0X50006014 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<10) @将第[10]位设置为0STR R1,[R0] @将修改后的值写回去mov pc,lrled2_on:@设置PF10输出高电平 GPIOE_ODR[10]->1 0x50007014LDR R0,=0X50007014 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<10) @将第[10]位设置为1STR R1,[R0] @将修改后的值写回去mov pc,lrled2_off:@设置PF10输出高电平 GPIOE_ODR[10]->0 0x50007014LDR R0,=0X50007014 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<10) @将第[10]位设置为0STR R1,[R0] @将修改后的值写回去mov pc,lrled3_on:@设置PG10输出高电平 GPIOE_ODR[10]->1 0x50006014LDR R0,=0X50006014 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<8) @将第[8]位设置为1STR R1,[R0] @将修改后的值写回去mov pc,lrled3_off:@设置PG10输出高电平 GPIOE_ODR[10]->0 0x50006014LDR R0,=0X50006014 @指定寄存器地址LDR R1,[R0] @将寄存器数值取出来放在R1中BIC R1,R1,#(0x1<<8) @将第[8]位设置为0STR R1,[R0] @将修改后的值写回去mov pc,lrdelay:LDR R3,=0x10000000
mm:cmp r3,#0subne r3,r3,#1bne mmmov pc,lr.end

相关文章:
ARM 点灯
.text .global _start _start: led1设置GPIOE时钟使能 RCC_MP_AHB4ENSETR[4]->1 0X50000A28LDR R0,0X50000A28 指定寄存器地址LDR R1,[R0] 将寄存器数值取出来放在R1中ORR R1,R1,#(0x1<<4) 将第4位设置为1STR R1,[R0] 将修改后的值写回去设置PE10为输出 GPIOE…...
CamSim相机模拟器:极大加速图像处理开发与验证过程
随着图像处理技术的不断发展,相机模拟在图像处理开发和验证中扮演着越来越重要的角色。相机模拟能够模拟真实相机的成像过程,提供高质量的图像输入,使开发人员能够更好地评估和调整图像处理算法。本文将探讨如何通过相机模拟来加速图像处理的…...
Google Ad帐号被封?代理IP和电子邮件可能是原因
海外广告投放工作中,账号是非常重要的环节。与在Facebook上运行广告相比,运行Google Ads在代理选择方面通常没有那么严格,因为 Google 对 IP 使用并不那么严格。但是,这并不意味着您可以不加考虑地使用任何代理IP。在本文中&#…...
EfficientNet
时间:2019 EfficicentNet网络简介 EfficientNet:Rethinking Model Scaling for Convolutional Neural Networkshttps://arxiv.org/abs/1905.11946,这篇论文是Google在2019年发表的文章。 EfficientNet这篇论文,作者同时关于输入分辨率,网络…...
百度每天20%新增代码由AI生成,Comate SaaS服务8000家客户 采纳率超40%
12月28日,由深度学习技术及应用国家工程研究中心主办的WAVE SUMMIT深度学习开发者大会2023在北京召开。百度首席技术官、深度学习技术及应用国家工程研究中心主任王海峰现场公布了飞桨文心五载十届最新生态成果,文心一言最新用户规模破1亿,截…...
产品管理-学习笔记-版本的划分
版本号说明【X.Y.Z_修饰词】 版本号定义原则X表示大版本号,一般当产品出现重大更新、调整、不再向后兼容的情况时我们会在X上加1Y表示功能更新,在产品原有的基础上增加、修改部分功能,且并不影响产品的整体流程或业务Z表示小修改,…...
编程笔记 html5cssjs 004 我的第一个页面
编程笔记 html5&css&js 004 我的第一个页面 一、基本结构二、HTML标签三、HTML元素四、HTML属性五、编写第一个网页六、使用VSCODE小结 开始编写网页,并且使用第一个网页成为一个母板,用于完成后续内容的学习。有一个基本要求,显示结…...
为实体服务器配置Ubuntu
简介 我们在使用虚拟机时,直接在网上找到镜像然后下载到本地,在VMware创建实例时将该iso文件作为镜像源然后进行基础配置就可以轻松安装配置好Linux虚拟机。 在为实体服务器安装Linux系统,同样的,我们也需要镜像源(即…...
单例模式的双重检查锁定是什么?
单例模式的双重检查锁定是什么? 单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。双重检查锁定(Double-Checked Locking)是一种在单例模式中使用的性能优化技术。 在传统的单例模式…...
hyper-v ubuntu 3节点 k8s集群搭建
前奏 搭建一主二从的k8s集群,如图所示,准备3台虚拟机。 不会创建的同学,可以看我上上篇博客:https://blog.csdn.net/dawnto/article/details/135086252 和上篇博客:https://blog.csdn.net/dawnto/article/details/135…...
postman进阶使用
前言 对于postman的基础其实很容易上手实现,也有很多教程。 对于小编我来说,也基本可以实现开发任务。 但是今年我们的高级测试,搞了一下postman,省去很多工作,让我感觉很有必要学一下 这篇文章是在 高级测试工程师ht…...
errors包返回堆栈信息的性能测试
errors包返回堆栈信息的性能测试 上一篇Golang中使用errors返回调用堆栈信息 讲了使用第三方开源库的errors github.com/go-errors/errors,错误信息带调用栈,方便定位错误的抛出位置。 通过堆栈的信息来定位是方便了,性能怎么样,…...
力扣热题100道-哈希篇
哈希 1.两数之和 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。 你…...
YOLOv7+Pose姿态估计+tensort部署加速
YOLOv7是一种基于深度学习的目标检测算法,它能够在图像中准确识别出不同目标的位置和分类。而姿态估计pose和tensort则是一种用于实现人体姿态估计的算法,可以对人体的关节位置和方向进行精准的检测和跟踪。 下面我将分点阐述YOLOv7姿态估计posetensort…...
gitee+picgo+typora图床搭建
giteepicgotypora图床搭建 1.安装typora 官网下载直接安装:https://www.typora.io/#download 2.编辑typora图像设置 打开 文件 -> 偏好设置 -> 图像设置 插入图片时 选择 上传图片设置 上传服务 为 PicGo-Core(command line) 3.为typora安装PicGo-Core 点…...
Flink项目实战篇 基于Flink的城市交通监控平台(上)
系列文章目录 Flink项目实战篇 基于Flink的城市交通监控平台(上) Flink项目实战篇 基于Flink的城市交通监控平台(下) 文章目录 系列文章目录1. 项目整体介绍1.1 项目架构1.2 项目数据流1.3 项目主要模块 2. 项目数据字典2.1 卡口…...
thinkcmf 文件包含 x1.6.0-x2.2.3 已亲自复现
thinkcmf 文件包含 x1.6.0-x2.2.3 CVE-2019-16278 已亲自复现 漏洞名称漏洞描述影响版本 漏洞复现环境搭建漏洞利用 修复建议总结 漏洞名称 漏洞描述 ThinkCMF是一款基于PHPMYSQL开发的中文内容管理框架,底层采用ThinkPHP3.2.3构建。ThinkCMF提出灵活的应用机制&a…...
本地部署 text-generation-webui
本地部署 text-generation-webui 0. 背景1. text-generation-webui 介绍2. 克隆代码3. 创建虚拟环境4. 安装 pytorch5. 安装 CUDA 运行时库6. 安装依赖库7. 启动 Web UI8. 访问 Web UI9. OpenAI 兼容 API 0. 背景 一直喜欢用 FastChat 本地部署大语言模型,今天试一…...
C语言实验1:C程序的运行环境和运行C程序的方法
一、算法原理 这是学C语言的入门,并不需要很高深的知识,一个hello world 或者一个简单的加法即可 二、实验要求 了解所用的计算机系统的基本操作方法,学会独立使用该系统。 了解在该系统上如何编辑、编译、连接和运行一个C程序。 通过运…...
「微服务」微服务架构中的数据一致性
在微服务中,一个逻辑上原子操作可以经常跨越多个微服务。即使是单片系统也可能使用多个数据库或消息传递解决方案。使用多个独立的数据存储解决方案,如果其中一个分布式流程参与者出现故障,我们就会面临数据不一致的风险 - 例如在未下订单的情…...
对比了8款测试管理平台,最适合中小团队的居然是它
在软件研发的生命周期中,测试用例管理早已不是简单的“记录-执行-通过”的线性流程。随着敏捷开发、DevOps乃至AI辅助测试的全面渗透,测试管理平台承载的职责已扩展至需求追溯、缺陷闭环、自动化集成和质量度量等多个维度。然而,对于中小型测…...
Avalonia AI助手插件:为.NET跨平台UI开发注入专家级智能
1. 项目概述:一个为Avalonia开发者量身定制的AI助手插件如果你正在使用Avalonia这个跨平台的.NET UI框架,并且同时也在探索如何利用像Claude、ChatGPT、GitHub Copilot这样的AI助手来提升开发效率,那么你很可能遇到过这样的困境:当…...
零成本搭建OpenAI API代理:基于Cloudflare Workers的稳定访问方案
1. 项目概述与核心价值 最近在折腾AI应用开发的朋友,估计都绕不开一个头疼的问题:OpenAI的官方API接口在国内网络环境下访问起来不太稳定,时不时就给你来个连接超时或者直接被墙。我自己在做一些个人项目和小工具时,也经常被这个问…...
安达发|自动排单软件:破工程机械困局,助智能制造升级
安达发APS高级生产计划智能排产排程自动排单软件系统推荐_MES 在工程机械制造领域,挖掘机、起重机、混凝土泵车等产品结构复杂,一台设备涉及成千上万个零部件,订单个性化程度高、生产周期长,生产排单一度成为困扰企业发展的核心痛…...
别再乱装驱动了!Ubuntu 20.04显卡驱动‘掉了’的终极排查与修复思路
Ubuntu 20.04显卡驱动失效的系统化诊断与修复指南 当你正专注于一个重要项目时,突然发现Ubuntu的NVIDIA显卡驱动"神秘消失"——这种体验对Linux用户来说简直像一场噩梦。nvidia-smi命令返回"驱动未加载",外接显示器黑屏,…...
AgenticROS:用自然语言操控ROS2机器人的AI Agent接口实践
1. 项目概述:当AI大模型遇见机器人操作系统如果你和我一样,既对AI大模型的能力着迷,又对机器人开发充满兴趣,那么你肯定想过一个问题:能不能让Claude、Gemini这样的AI,像我们人类工程师一样,直接…...
终极指南:如何使用Etcher安全快速烧录系统镜像到SD卡和USB驱动器
终极指南:如何使用Etcher安全快速烧录系统镜像到SD卡和USB驱动器 【免费下载链接】etcher Flash OS images to SD cards & USB drives, safely and easily. 项目地址: https://gitcode.com/GitHub_Trending/et/etcher Etcher(BalenaEtcher&am…...
基于宏观通胀预测模型的利率预期重定价:华尔街降息路径为何出现系统性回撤?CPI成为关键校准变量
摘要:本文通过宏观通胀预测模型,结合利率预期曲线重定价算法与市场情绪迁移分析,对当前美通胀路径、CPI数据影响及华尔街降息预期变化进行系统性建模,分析利率政策预期从宽松交易向数据依赖模式切换的结构性原因。一、市场情绪迁移…...
信息学奥赛经典回溯:八皇后问题深度解析与OpenJudge实战
1. 八皇后问题:从棋盘游戏到算法经典 第一次接触八皇后问题时,我正在准备信息学奥赛的选拔考试。当时觉得这不过是个棋盘游戏,直到真正动手编码时,才发现其中蕴含的算法智慧远比想象中丰富。这个问题要求在一个8x8的国际象棋棋盘上…...
外汇延迟套利检测系统演进:从规则到AI的行为博弈
1. 项目概述:当速度优势不再是护城河 在电子外汇交易的世界里,速度套利一直是一个古老而又充满技术魅力的游戏。它的核心逻辑简单到近乎纯粹:如果你能比你的交易对手更快地获取到市场价格变动的信息,你就能在对手更新其报价之前&a…...
