自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

阿鲁的嵌入式之路

记录点点滴滴的技术问题

  • 博客(12)
  • 资源 (2)
  • 收藏
  • 关注

原创 LDR指令和LDR伪指令的区别

ARM指令集中,LDR通常都是作加载指令,但是它也可以作伪指令。初学者一般不会注意到它们的区别,其实在嵌入式开发过程中,这两条指令时非常常用的!我们应该了解他们的区别。LDR伪指令的形式是“LDR Rn,=expr”。作用是装在一个32bit常数和一个地址到寄存器。下面举一个例子来说明它的用法。COUNT EQU       0x56000054LDR       R1

2015-11-28 22:24:08 1197

转载 stm32概述

这篇是在网上看见的,讲的比较好http://www.52solution.com/bbs/redirect.php?tid=1395&goto=lastpost如果需要转载的请注明出处!   首先,在学习Cortex-M3时,我们必须要知道必要的缩略语。整理如下:AMBA:先进单片机总线架构   ADK:AMBA设计套件AHB:先进高性能总线    AHB-AP:AHB

2015-11-21 16:19:29 1432

转载 STM32移植ucos问题

http://www.stmcu.org/module/forum/thread-384142-1-1.html  移植详解1和2中主要讲了移植需要用到的基础知识,本文则对具体的移植过程进行介绍。    首先从micrium网站上下载官方移植版本(编译器使用ARM/Keil的,V2.86版本,V2.85有问题)。    下载地址:http://micrium.com/page/

2015-11-21 15:28:01 763

转载 ARm汇编 bx lr

http://blog.csdn.net/njuitjf/article/details/8558963 bx lr的作用等同于mov  pc,lr即跳转到lr中存放的地址处。那么lr存放的是什么地址呢?lr就是连接寄存器(Link Register, LR),在ARM体系结构中LR的特殊用途有两种:一是用来保存子程序返回地址;二是当异常发生时,LR中保存的值等于异常发

2015-11-13 17:28:13 1117

原创 static的作用

在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条。(1)先来介绍它的第一条也是最重要的一条:隐藏。当我们同时编译多个文件时,所有未加static前缀的全局变量和函数都具有全局可见性。为理解这句话,我举例来说明。我们要同时编译两个源文件,一个是a.c,另一个是main.c。下面是a.c的内容char a = 'A'; // global variable

2015-11-11 14:52:35 1924

原创 arm汇编指令

7.         多寄存器语句传输指令,LDM,STM类似于一次传一个BUFFER到寄存器当中,或反过来.后面一般要接一个地址改变方法n         LDM 从BUFFER传数据多个寄存器传输数据到LDMIA R0! ,{R3-R9} ;加R0指向的地址上连续空间的数据,保存到R3-R9当中,!表示R0值更新,IA后缀表示按WORD递增LDMFD SP!,{R0-R7,PC

2015-11-11 14:34:40 1063

原创 6. 比较指令 CMP

6.         比较指令 CMPn         CMP比较两个操作数,并把结果存入CPSR供下一句语句使用CMP R0,R1; 比较R0,R1

2015-11-11 14:28:40 1346

原创 5. 位操作指令 AND,ORR, TST,BIC

5.         位操作指令 AND,ORR, TST,BICn         AND位与指令AND R0,R1,R2; R0=R1 & R2AND R0,R1,#0xFF ;R0=R1 & 0xFFn         ORR位或指令ORR R0,R1,R2; R0=R1 | R2ORR R0,R1,#0xFF ;R0=R1 | 0xFFn         TST

2015-11-11 14:27:46 2752

原创 4. 算术运算指令,ADD/ADC,SUB/SBC ,MUL

4.         算术运算指令,ADD/ADC,SUB/SBC ,MULn         ADD加法指令ADD R0,R1,R2; R0=R1+R2ADD R0,R1,#3 ;R0=R1+3n         ADC带进位加法指令,即除了加两个数以外,还要把CPSR的C值也要带进来u              通常用于大数(超过32Bit整数)相加,这时单用ADD不能处理

2015-11-11 14:25:49 3796

原创 3. 加载/存储指令,LDR,STR

3.         加载/存储指令,LDR,STRn  LDR,STR是用于寄存器和外部存储器交换数据指令,注意与MOV的区别,后面只在寄存器或常数交换.u              LDR/STR可以采用多种寻址方式,以下只举出使用频率最高几种用法n  LDR(load)用于把一个32Bit的WORD数据从外部存储空间装入到寄存器中LDR R0,[R1]; R1的值当成地址,再

2015-11-11 14:23:40 808

原创 传输数据指令MOV,MVN

2.         传输数据指令MOV,MVNn  MOV(MOVE)指令可完成从另一个寄存器、被移位的寄存器或将一个立即数加载到目的寄存器MOV R0,R1 ; 把R1的值传到R0MOV R3,#3 ;把常数3传给R3,MOV中用#表示常数,这个值不能超过n  MVN( MOVE Negative)取反后再传值,比MOV多了一步取反MVN R0, #0 ;把0取反(即-1)

2015-11-11 14:20:04 2055

原创 B与BL的区别

B常用于不返回的跳转,比如跳到某个标号处,BL则用于子程序跳转(要返回,返回地地存于LR)B. (注意B后面的“.”)这个“.”是指定当前的地址,如果使用 B.这条指令,其实就是死循环。

2015-11-11 14:16:01 4720

Source_Insight教程及技巧

这份资料来自网络,详细介绍了Source_Insight的用法。

2012-06-10

C8051单片机定时器定时值的算法

以C80518020单片机为例子,介绍了单片机定时器初始值的算法,可以帮助处学这!

2012-06-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除