打印

汇编修炼之STM32F407探索者-按键控制LED

[复制链接]
244|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
3月的尾巴|  楼主 | 2018-7-16 08:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本文是个人随笔,可能有点前言不搭后语。hehe...
说的也不定对,望注意~~~

好吧,
想搞个DIY操作系统,懂点汇编是必须滴~e。。。我个人呢,之前在YQ也算是学习过一点汇编吧。
当时是半懂不懂的。懵懵懂懂的记得mov,bic这些指令符号。
但是更复杂的就不懂了。
比如说啊,
bl和b的区别啊。
bne和blne啊(也是刚刚才会用)。

重复使用bl对lr影响啊
。。。
,对于上面的问题我现在还是都不太懂。
懂得可以解答一下,万谢哈~
对于下文呢,我就写写汇编对c语言的翻译吧~

嗯。回归正题。
我们单片机 实现 按键 控制 LED这个功能的具体步骤是啥呢?

下面说明可以对照代码来看~
1。上电。。。程序从flash读到ram中,并从Reset_Handler开始运行。
2。配置单片机时钟Stm32_Clock_Init。(初次尝试可省略)
3。初始化LED和KEY控制口IO寄存器
4。while循环读取按键IO状态


详解-->
1。1关于一堆乱七八糟定义
[mw_shl_code=c,true]
;--------------------------Start--------------------------
;------------------声明代码运行空间-----------------------
;------------------声明代码运行地址-----------------------
;------------------声明本文件代码类型---------------------
                                AREA        STACK, NOINIT, READWRITE, ALIGN=3
Stack_Mem                SPACE        Stack_Size
__initial_sp

                                ;数据段
                                AREA        RESET, DATA, READONLY

__Vectors                DCD                __initial_sp                ;TOP of stack
                                DCD                Reset_Handler                ;Reset Handler
                                
                                ;代码段
                                AREA        |.text|, CODE, READONLY
                                
                                THUMB
                                REQUIRE8
                                PRESERVE8
                                
                                ENTRY
                                
;--------------------------end--------------------------[/mw_shl_code]
名词解析:
AREA        STACK, NOINIT, READWRITE, ALIGN=3


AREA中文翻译是范围,顾名思义,是定义下面跟着的那堆东西存放的地址
段是独立的、指定的、不可见的代码或数据块,它们由链接器处理。格式如下:

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

433

主题

433

帖子

0

粉丝