当前位置: 首页 > news >正文

平凉崆峒建设局网站wordpress文章时间轴

平凉崆峒建设局网站,wordpress文章时间轴,wordpress标签文档,从零开始建网站要求: 1、轮流将LED1、LED2、LED3及蜂鸣器点亮 2、基于STM32MP157AAA,阅读原理图和STM32MP157芯片手册 3、ARM汇编指令点灯 1、运行效果 汇编点灯 2、通过查询原理图和芯片手册,得到以下结论: 3、汇编源码 .text .global _start…

要求:

1、轮流将LED1、LED2、LED3及蜂鸣器点亮

2、基于STM32MP157AAA,阅读原理图和STM32MP157芯片手册

3、ARM汇编指令点灯

1、运行效果

汇编点灯

2、通过查询原理图和芯片手册,得到以下结论:

3、汇编源码

.text 
.global _start
_start:
@R0 存放寄存器在内存中的map地址
@R1 存放寄存器的值@1 配置RCC: LD1、LD2、LD3和蜂鸣器的使能
ldr R0, =(0x50000000+0xA28)
ldr R1, [R0]
orr R1, R1, #0x32
str R1, [R0]@2 配置MODER寄存器
@2.1 配置LED1、LED3
ldr R0, =0x50006000
ldr R1, [R0]
bic R1, #(0x33<<16)
orr R1, #(0x11<<16)
str R1, [R0]
@2.2 配置LED2
ldr R0, =0x50007000
ldr R1, [R0]
bic R1, #(0x3<<20)
orr R1, #(0x1<<20)
str R1, [R0]
@2.3 配置蜂鸣器
ldr R0, =0x50003000
ldr R1, [R0]
bic R1, #(0x3<<12)
orr R1, #(0x1<<12)
str R1, [R0]@3 配置OTYPER寄存器
@3.1 配置LED1、LED3
ldr R0, =(0x50006000+0x04)
ldr R1, [R0]
bic R1, #(0x5<<8)
str R1, [R0]
@3.2 配置LED2
ldr R0, =(0x50007000+0x04)
ldr R1, [R0]
bic R1, #(0x1<<10)
str R1, [R0]
@3.3 配置蜂鸣器
ldr R0, =(0x50003000+0x04)
ldr R1, [R0]
bic R1, #(0x1<<6)
str R1, [R0]@4 配置OSPEEDR寄存器
@4.1 配置LED1、LED3
ldr R0, =(0x50006000+0x08)
ldr R1, [R0]
bic R1, #(0x33<<16)
str R1, [R0]
@4.2 配置LED2
ldr R0, =(0x50007000+0x08)
ldr R1, [R0]
bic R1, #(0x3<<20)
str R1, [R0]
@4.3 配置蜂鸣器
ldr R0, =(0x50003000+0x08)
ldr R1, [R0]
bic R1, #(0x3<<12)
str R1, [R0]@5 配置PUPDR寄存器
@5.1 配置LED1、LED3
ldr R0, =(0x50006000+0x0C)
ldr R1, [R0]
bic R1, #(0x33<<16)
str R1, [R0]
@5.2 配置LED2
ldr R0, =(0x50007000+0x0C)
ldr R1, [R0]
bic R1, #(0x3<<20)
str R1, [R0]
@5.3 配置蜂鸣器
ldr R0, =(0x50003000+0x0C)
ldr R1, [R0]
bic R1, #(0x3<<12)
str R1, [R0]@死循环让
loop:bl bee_offbl led1_onbl delay	bl led1_offbl led2_onbl delaybl led2_offbl led3_onbl delaybl led3_offbl bee_onbl delayb loopdelay:mov R10, #0x10000000
d2:sub R10, R10, #1cmp R10, #0bne d2mov PC, LRled1_on:
ldr R0, =(0x50006000+0x14)
ldr R1, [R0]
orr R1, #(0x1<<10)
str R1, [R0]
mov PC, LRled2_on:
ldr R0, =(0x50007000+0x14)
ldr R1, [R0]
orr R1, #(0x1<<10)
str R1, [R0]
mov PC, LRled3_on:
ldr R0, =(0x50006000+0x14)
ldr R1, [R0]
orr R1, #(0x1<<8)
str R1, [R0]
mov PC, LRbee_on:
ldr R0, =(0x50003000+0x14)
ldr R1, [R0]
orr R1, #(0x1<<6)
str R1, [R0]
mov PC, LRled1_off:
ldr R0, =(0x50006000+0x14)
ldr R1, [R0]
bic R1, #(0x1<<10)
str R1, [R0]
mov PC, LRled2_off:
ldr R0, =(0x50007000+0x14)
ldr R1, [R0]
bic R1, #(0x1<<10)
str R1, [R0]
mov PC, LRled3_off:
ldr R0, =(0x50006000+0x14)
ldr R1, [R0]
bic R1, #(0x1<<8)
str R1, [R0]
mov PC, LRbee_off:
ldr R0, =(0x50003000+0x14)
ldr R1, [R0]
bic R1, #(0x1<<6)
str R1, [R0]
mov PC, LR.end

4、疑问

4.1 汇编代码优化

        从源码中可以看出,其实有大量的重复代码,作为一名“资深”程序员,很想抽成一个一个的函数。但是实际中,这样做一定有大量的push/pop操作,而且如果程序段跨度过大,代码段的交替跳转,有可能还会影响程序执行效率(CPU会将执行代码的前后一段调入到多级缓存中,以提升执行效率)。

        因此,在编写汇编的时候,应该遵循执行效率优先,还是可读性和可复用性呢?

4.2 一段反汇编代码

 如图所示, =(0x50000000+0xA28)被译成了[pc, #444], 不太理解。

http://www.yayakq.cn/news/650442/

相关文章:

  • 做网站的数据库的选择免费建各种网站
  • 辉县市建设局网站云南省住房与城乡建设厅网站
  • 企业网站功能模块介绍wordpress自定义段
  • 做影视网站违法莫公司网站建设30元
  • 南阳做网站公司电话国外网络推广方法
  • 网站托管做的好的公司创建网站需要什么条件
  • 商城网站制作方案商贸营销型网站案例
  • 台州外贸网站建设提高网站打开速度的7大秘籍
  • 浙江手机版建站系统开发大庆加油app老版本
  • dw模板制作网站的缺点欧亚快递100
  • 花都商城网站建设互动科技 网站
  • 网站邮箱后台子域名wordpress国内视频网站吗
  • html5手机网站开发经验桂林到阳朔多少公里
  • 做网站多少分辨率就可以网络营销推广方案策划与实施
  • 住房和城乡建设部是国家认定网站吗俄文网站
  • 找做网站的上什么app什么网站可以做推广
  • 郑州直播网站建设公司各个视频网站怎么做原创作者
  • 利用别人域名做自己的网站网站集群建设相关的招标
  • 织梦网站需要付费吗南京建筑人才招聘网
  • wordpress多站点 文章南京做网站公司
  • wordpress熊掌认证河南企业网站优化
  • 太原网站推广排名wordpress的pjax主题
  • 运营商查浏览网站ui设计通常是指
  • python做网站性能怎么样济南做网站多钱
  • 服务网站建设的公司排名网站怎么做根目录
  • 先做网站装修还是先买虚拟主机安平营销型网站建设费用
  • 外贸网站怎么做促销网站下拉菜单怎么做
  • 英文网站建设网站关于网站建设新闻
  • 广铁建设集团门户网站唐山建设集团招聘信息网站
  • 手机网站开发的目的期货网站做模拟