【嵌入式学习】ARM day04.11

news/2024/11/17 6:02:29/

一、思维导图

二、练习

实现三个灯闪烁

汇编代码

.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.ppmy.cn/news/1415378.html

相关文章

每天学点儿Python(5) -- 序列索引和切片

Python中&#xff0c;序列是指一块可存放多个值的连续内存空间&#xff0c;这些值按一定顺序排列&#xff0c;可通过每个值所在位置的编号&#xff08;称为索引&#xff09;访问它们。它类似于C/C中的数组或字符串&#xff0c;但又比数组或字符串强大很多 序列类型包括字符串、…

专科学习嵌入式合适吗?

专科学习嵌入式是完全合适的&#xff0c;但确实需要注意一些因素以确保你的学习之路更加顺利。我这里有一套嵌入式入门教程&#xff0c;不仅包含了详细的视频讲解&#xff0c;项目实战。如果你渴望学习嵌入式&#xff0c;不妨点个关注&#xff0c;给个评论222&#xff0c;私信2…

【图论】Dijkstra单源最短路径-朴素方法-简单模板(迪杰斯特拉算法)

Dijkstra单源最短路径 问题描述 输入n 表示n个结点&#xff0c;m表示m条边&#xff0c;求编号1的结点到每个点的最短路径 输出从第一个点到第n个点的最短路径 思路 将图g[][]中所有的权值初始化为0x3f表示正无穷 将dist[]中所有的值初始化为0x3f表示从第一个点到所有点的距离…

JavaGUI编程

目录 GUI概念 Swing概念 组件 容器组件 窗口&#xff08;JFrame&#xff09; 代码 运行 面板&#xff08;JPanel&#xff09; 代码 运行 布局管理器 FlowLayout 代码 运行 BorderLayout 代码 运行 GridLayout 代码 运行 常用组件 标签(JLabel) 代码 运…

React + three.js 3D模型骨骼绑定

系列文章目录 React 使用 three.js 加载 gltf 3D模型 | three.js 入门React three.js 3D模型骨骼绑定React three.js 3D模型面部表情控制React three.js 实现人脸动捕与3D模型表情同步 项目代码(github)&#xff1a;https://github.com/couchette/simple-react-three-skele…

uni-app如何生成骨架屏

为什么需要骨架屏&#xff1a;为了缓解用户打开程序时等待接口的焦虑情绪 1.打开微信开发者工具&#xff0c;找到模拟器中的页面信息&#xff0c;选择生成骨架屏 2.将生成的wxml代码复制到vscode&#xff0c;在index的components中新建一个vue文件&#xff0c;只需保留请求接口…

message: 没有找到可以构建的 NPM 包,请确认需要参与构建的 npm 都在 `miniprogra

第一步&#xff1a;修改 project.config.json 文件 ​ "packNpmManually": true "packNpmRelationList": [{"packageJsonPath": "./package.json","miniprogramNpmDistDir": "./"}],​ 第二步&#xff1a;如果你…

探索AI工具导航网站

在现代科技发展迅猛的时代&#xff0c;人工智能&#xff08;AI&#xff09;已经成为了各行各业中不可或缺的一部分。了解和利用最新的AI工具对于工作、学习和娱乐都具有重大意义。在这篇博客中&#xff0c;我们将探索一些最新的人工智能工具导航网站&#xff0c;以及其中一款名…