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程序。 通过运…...

「微服务」微服务架构中的数据一致性
在微服务中,一个逻辑上原子操作可以经常跨越多个微服务。即使是单片系统也可能使用多个数据库或消息传递解决方案。使用多个独立的数据存储解决方案,如果其中一个分布式流程参与者出现故障,我们就会面临数据不一致的风险 - 例如在未下订单的情…...
Java 8 Stream API 入门到实践详解
一、告别 for 循环! 传统痛点: Java 8 之前,集合操作离不开冗长的 for 循环和匿名类。例如,过滤列表中的偶数: List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂
蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...
大语言模型如何处理长文本?常用文本分割技术详解
为什么需要文本分割? 引言:为什么需要文本分割?一、基础文本分割方法1. 按段落分割(Paragraph Splitting)2. 按句子分割(Sentence Splitting)二、高级文本分割策略3. 重叠分割(Sliding Window)4. 递归分割(Recursive Splitting)三、生产级工具推荐5. 使用LangChain的…...
Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器
第一章 引言:语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域,文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量,支撑着搜索引擎、推荐系统、…...

Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈
在日常iOS开发过程中,性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期,开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发,但背后往往隐藏着系统资源调度不当…...
【Android】Android 开发 ADB 常用指令
查看当前连接的设备 adb devices 连接设备 adb connect 设备IP 断开已连接的设备 adb disconnect 设备IP 安装应用 adb install 安装包的路径 卸载应用 adb uninstall 应用包名 查看已安装的应用包名 adb shell pm list packages 查看已安装的第三方应用包名 adb shell pm list…...

消防一体化安全管控平台:构建消防“一张图”和APP统一管理
在城市的某个角落,一场突如其来的火灾打破了平静。熊熊烈火迅速蔓延,滚滚浓烟弥漫开来,周围群众的生命财产安全受到严重威胁。就在这千钧一发之际,消防救援队伍迅速行动,而豪越科技消防一体化安全管控平台构建的消防“…...