
ARM
csshuke
这个作者很懒,什么都没留下…
展开
-
Keil5.26、Keil5.27、Keil5.30下载地址
亲测有效,速速下载。mdk5.26下载地址http://www.keil.com/fid/vquv2wwtdy9j1w9xagw1om5eu9xbkks1e66vd1/files/eval/mdk526.exemdk5.27下载地址https://armkeil.blob.core.windows.net/eval/MDK527pre.EXEmdk5.30下载地址http://www.keil.com/fid/w91bz0w320dj1woabtw1mmudm1liu2p1z9yxd1/f转载 2021-08-16 10:35:25 · 5383 阅读 · 2 评论 -
Cortex-M的M0,M+,M3,M4,M7几种内核的简单区别
Cortex-M内核M0,M0+,M3,M4,M7之间的区别high-performance 高性能Mainstream 主流Ultra-low-power 低功耗知识补贴:之所以ARM公司会把Cortex-M分为这么多系列,主要是针对不同的应用领域;下面详细介绍:Cortex-M分为:M0,M0+,M3,M4,M7M0,M0+:基础版本,从图中可以看出来,有过于基础,所以生产不出来高性能的STM32的单片机;M3:目前最主流的设计内核选型,应用范围广;M4:比较着M3的内核转载 2021-07-22 11:01:19 · 5764 阅读 · 0 评论 -
JLink接口的SWD接法
下面为J-Link接口定义:仿真器端口 连接目标板 备注 1. VCC MCU电源VCC VCC 2. VCC MCU电源VCC VCC 3. TRST TRST Test ReSeT/ pin 4. GND GND或悬空 5. TDI TDI Test Data In pin 6. GND...转载 2020-04-08 18:20:26 · 4332 阅读 · 0 评论 -
VxWorks/tornado环境搭建(Win 7 64位 corei5下试验成功)
软件资源下载链接http://pan.baidu.com/s/1kToygpL1. 虚拟软盘(RamDisk、VD等)依次装载CD1和CD2,分别安装,安装CD1到60%时会卡死,只要在任务管理器杀死进程tornado.exe[我并没有安装CD2] CD1密匙:cAQ8i-qP2I&-g$vT6-3&gjw-bEk9g[ForPENTIUM] CD2密匙:A转载 2017-10-19 20:47:17 · 890 阅读 · 0 评论 -
ARM版本及系列
ARM版本及系列ARM公司简介ARM是Advanced RISC Machines的缩写,它是一家微处理器行业的知名企业,该企业设计了大量高性能、廉价、耗能低的RISC (精简指令集)处理器。 1985年第一个ARM原型在英国剑桥诞生。公司的特点是只设计芯片,而不生产。它提供ARM技术知识产权(IP)核,将技术授权给世界上许多著名的半导体、软件和OEM厂商,并提供服务。转载 2015-07-15 11:33:53 · 504 阅读 · 0 评论 -
ARM中的RO、RW和ZI DATA
一直以来对于ARM体系中所描述的RO,RW和ZI数据存在似是而非的理解,这段时间对其仔细了解了一番,发现了一些规律,理解了一些以前书本上有的但是不理解的东西,我想应该有不少人也有和我同样的困惑,因此将我的一些关于RO,RW和ZI的理解写出来,希望能对大家有所帮助。 要了解RO,RW和ZI需要首先了解以下知识: ARM程序的组成 此处所说的“ARM程序”是指在ARM系统中正在执行的程序,转载 2015-05-22 11:05:44 · 413 阅读 · 0 评论 -
ARM Cortex-M3中断跳转过程
在学习CM3的时候,仔细学习了CM3的中断跳转过程,发现嵌入式的MCU在这一块基本上是一样的,当然不同架构的MCU也有自己的特性。我来介绍下CM3的中断跳转过程,首先假设中断发生,CM3内核开始响应中断,由于不同厂家的CM3可能略有区别,但CM3的内核肯定是一样的,所以我们在这个前提下开始讨论,暂时把中断屏蔽位,标志位之类的东西放在一边。现在介绍中断响应的过程:1、压栈。从这一点来讲几转载 2015-06-25 15:49:37 · 6065 阅读 · 0 评论 -
stm32存储结构& 存储器映射
问题: 1 什么是存储器映射?是怎么一个运作过程? 2 stm32总体架构 3 CM3内核结构 1 STM32系统结构 要想深刻理解STM32的存储器,需要首先知道STM32的系统结构。如Figure 1,是STM32系统结构框图。根据STM32 Reference ma转载 2015-06-27 17:08:47 · 948 阅读 · 2 评论 -
2440 nand flash和nor flash上启动
S3C2440的启动时分为成nand flash和nor flash上启动。 nand flash:适合大容量数据存储,类似硬盘;(不能片上运行代码)。nor flash:适合小容量的程序或数据存储,类似小硬盘;sdram:主要用于程序执行时的程序存储、执行或计算,类似内存。 Nor flash的有自己的地址线和数据线,可以采用类似于memory的随转载 2015-06-25 16:02:31 · 500 阅读 · 0 评论 -
Cortex_m3的启动过程
一.arm的启动过程arm的启动代码一般是用汇编写的,在堆栈建立以后才可以运行C代码,因为C函数调用需要把参数,函数返回地址入栈,堆栈没有建立不能运行C代码。 应用程序启动过程应用程序启动过程:1.映像入口地址,一般为0X00000000地址,也可以指定为其他的地址,硬件复位起来,从地址0x00000000处取指,地址0x00000000处放转载 2015-06-25 16:01:57 · 8633 阅读 · 0 评论 -
嵌入式Linux之我行——ARM MMU工作原理剖析
一、MMU的产生 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起还用用户需求的不断增大,应用程序的规模也随之膨胀起来,终于一个难题出现在程序员的面前,那就是应用程序太大以至于内存容纳不下该程序,通常解决的办法是把程序分割成转载 2014-11-04 18:04:59 · 463 阅读 · 0 评论 -
ISP与IAP的区别
ISP(In-System Programming)在系统可编程,指电路板上的空白器件可以编程写入最终用户代码, 而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。IAP(In-Application Programming) 指MCU可以在系统中获取新代码并对自己重新编程,即可用程序来改变程序。ISP和IAP技术是未来仪器仪表的发展方向。 1 ISP和IA转载 2016-05-31 10:37:17 · 395 阅读 · 0 评论 -
ARM的流水线与PC值的关系
一、两种结构:冯·诺依曼结构 和 哈佛结构:1、冯·诺依曼结构 冯·诺依曼结构又称作普林斯顿体系结构(Princetionarchitecture)。1945年,冯·诺依曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯·诺依曼型结构”计算机。冯·诺依曼结构的处理器使用同一个存储器,经由同一个总线传输。冯·诺依曼结构处理器转载 2016-06-14 19:04:37 · 2140 阅读 · 0 评论 -
指令集及流水线基本概念
1地址总线、数据总线和机器字长1.1 数据总线数据总线DB(DataBus)用于传送数据信息。数据总线是双向三态形式的总线,即它既可以把CPU的数据传送到存储器或输入输出接口等其它部件,也可以将其它部件的数据传送到CPU。1.2 地址总线地址总线AB(Address Bus;又称位址总线) 属于一种电脑总线 (一部份),是由CPU 或有DMA 能力的单元,用来沟转载 2016-06-14 20:38:14 · 3989 阅读 · 0 评论 -
U-Boot启动过程完全分析
1.1 U-Boot工作过程 U-Boot启动内核的过程可以分为两个阶段,两个阶段的功能如下: (1)第一阶段的功能Ø 硬件设备初始化Ø 加载U-Boot第二阶段代码到RAM空间Ø 设置好栈Ø 跳转到第二阶段代码入口 (2)第二阶段的功能Ø 初始化本阶段使用的硬件设备Ø 检测系统内存映射Ø 将内核从Fla转载 2017-11-08 10:29:22 · 365 阅读 · 0 评论 -
Linux嵌入式 -- Bootloader , Uboot
1. Bootloader作用PC机中的引导加载程序由BIOS(其本质是一段固件程序)和GRUB或LILO一起组成。BIOS在完成硬件检测和资源分配后,将硬盘中的引导程序读到系统内存中然后将控制权交给引导程序。引导程序的主要任务是将内核从硬盘上读到内存中,然后跳转到内核的入口点去运行,即启动操作系统。简单地说,BootLoader就是在操作系统运行之前运行的一段小程序。通过这段小程序,转载 2017-11-08 10:31:36 · 446 阅读 · 0 评论 -
ucOS_II移植:Stm32启动代码分析
用的编译工具是keil,在用keil建立stm32工程时,一般会产生一个启动文件,STM32F10x.s,在st提供的库函数里,用cortexm3_macro.s和stm32f10x_vector.s来代替这个文件。不过内容都大同小异。我在csdn上搜到了一个在stm32上移植好的ucos,打算在这个代码的基础上,添加注释,先学别人的,然后再自己移植。我获得的这份例程,使用了startup转载 2017-11-15 01:57:58 · 705 阅读 · 0 评论 -
MAX232和PL2303、CH340的区别
原理:单片机的TXD、RXD是TTL电平,所以你得万变不离其宗的将其它信号转成TTL电平,只有这样给单片机下载程序才有可能成功!其中CH340、PL2303等芯片是直接将USB信号转换为TTL电平或者TTL电平转换为USB信号,而MAX232等芯片是将TTL转换为RS232信号或者将RS232信号转换为TTL.MAX232:外围电路简单,但是占用pcb面积大,不美观PL2303:水转载 2017-12-23 12:00:19 · 3549 阅读 · 0 评论 -
Keil4编译原子哥的SYSTEM出现错误 Inline assembler not permitted when generating Thumb code
原文地址::http://www.openedv.com/posts/list/0/55803.htm;jsessionid=BF32A849CB8EF733FEEC85010EBCE48Cvoid WFI_SET(void){__ASM volatile("wfi"); }//关闭所有中断void INTX_DISABLE(void){ __A转载 2017-12-30 17:33:24 · 2056 阅读 · 0 评论 -
STM32的时钟系统RCC详细整理
一、综述:1、时钟源在 STM32 中,一共有 5个时钟源,分别是 HSI 、 HSE、 LSI 、 LSE、 PLL 。 ①HSI 是高速内部时钟, RC振荡器,频率为 8MHz ; ②HSE 是高速外部时钟,可接石英 /陶瓷谐振器,或者接外部时钟源,频率范围是 4MHz – 16MHz ; ③LSI 是低速内部时钟, RC振荡器,频率为 4转载 2017-12-26 10:53:35 · 39513 阅读 · 1 评论 -
串口协议的制定以及串口中怎样接收一个完整数据包的解析
里以串口作为传输媒介,介绍下怎样来发送接收一个完整的数据包。过程涉及到封包与解包。设计一个良好的包传输机制很有利于数据传输的稳定性以及正确性。串口只是一种传输媒介,这种包机制同时也可以用于SPI,I2C的总线下的数据传输。在单片机通信系统(多机通信以及PC与单片机通信)中,是很常见的问题。一、根据帧头帧尾或者帧长检测一个数据帧1、帧头+数据+校验+帧尾这是一个典型的方案,但是对帧头与帧转载 2017-12-27 13:57:29 · 2477 阅读 · 0 评论 -
ARM中Steppingstone启动
1.在板子上电的一开始,首先自动判断是否是autoboot模式(这是由硬件设计阶段,由硬件工程师对mcu的引脚连线决定的),我所使用的 s3c2410是带有nandflash的,并切被设置成autoboot,从nandflash开始启动. 2.在判断是autoboot模式后,mcu内置的nandflash控制器自动将nandflash的最前面的4k区域(这4k区域存放着 bootload转载 2014-10-08 09:19:22 · 691 阅读 · 0 评论 -
adr和ldr的区别
同学们在学习ARM指令时,多数都会对adr和ldr这两个命令产生疑惑,那他们究竟有什么区别呢?其实这两个都是伪指令:adr是小范围的地址读取伪指令,ldr是大范围的读取地址伪指令。可实际上adr是将基于PC相对偏移的地址值或基于寄存器相对地址值读取的为指令,而ldr用于加载32为立即数或一个地址到指定的寄存器中。到这儿就会看到其中的区别了。如果在程序中想加载某个函数或者某个在联接时候指定的转载 2014-09-04 20:11:27 · 626 阅读 · 0 评论 -
ARM处理器的程序与数据存储(冯·诺依曼与哈佛结构)
保存在存储器中的内容可以是程序,也可以是数据。程序是ARM处理器可以运行的指令代码,数据是指令在运行中用到的操作数或者变量。1、程序存储ARM处理器支持两种指令,一种是ARM汇编指令,一种是Thumb汇编指令。ARM汇编指令是32位长,即每条ARM汇编指令都是由四个字节的存储空间保存,所以ARM处理器在执行地址a的ARM汇编指令时,会从地址a + 4取下一条指令。Thumb汇编指令是16位转载 2014-09-08 10:35:18 · 812 阅读 · 0 评论 -
ARM存储器的大小端存储方式
大端格式和小端格式是两种存储字数据的方法。具体讲是在ARM体系的嵌入式系统结构中存储器存放数据的两种叫法,在嵌入式体系结构中将存储器看作是从零地址开始的字节的线性组合。从第0~3字节放置第一个存储的字数据,从第4~7字节放置第二个存储的字数据,依次排序。作为32位的微处理器,ARM体系结构可支持最大寻址4GB(2^32字节)。大端格式是指字数据的高字节放置在地地址中,而低字节数据放置在高地址中。转载 2014-09-08 10:31:21 · 4437 阅读 · 0 评论 -
arm工作模式
从编程的角度看,arm微处理器的工作状态有两种,并可在两种状态之间切换:(1) arm状态,此时处理器执行32位的字对齐的arm指令(2) thumb状态,此时处理器执行16位的,半字对齐的thumb指令(为了兼容老芯片)在程序运行的过程中,可以在两种状态之间进行相应的转换。处理器工作状态的转变并不影响处理器的工作模式和相应寄存器中的内容。 存储器格式(转载 2014-09-08 16:58:07 · 409 阅读 · 0 评论 -
S3C2440启动代码分析
;========================================= ; NAME: 2440INIT.S ; DESC: C start up codes ; Configure memory, ISR ,stacks ; Initialize C-variables ; 完全注释 ; HISTORY: ; 2002.02.转载 2014-09-08 09:07:23 · 649 阅读 · 0 评论 -
s3c2440启动文件详细分析
启动文件就是引导ARM启动,并进入我们熟悉的C语言程序。它主要完成了ARM最基本的硬件初始化工作。虽然启动文件的内容大同小异(就是设置系统时钟、内存、中断向量表、栈等内容),而且只要有一个现成的启动文件,即使不用详细了解该文件的内容,直接进入C语言编程工作也可以对ARM进行操作,但我认为熟悉启动文件的内容,还是有必要的,它对我们熟悉ARM的体系结构,编写出更高效的程序是大有益处的。因此我花了一些时转载 2014-09-07 09:02:26 · 491 阅读 · 0 评论 -
超详细的2440中断机制分析
一直在看2440的中断处理部分,不懂的实在太多了,百度到这篇文章,实在有听君一席话,胜养十年猪的感觉啊,下面上文章:中断向量 b HandlerIRQ ;handler for IRQ interrupt很自然,因为所有的单片机都是那样,中断向量一般放在开头,用过单片机的人都会很熟悉,那就不多说了。异常服务程序这里不用中断(inter转载 2014-09-07 15:56:58 · 527 阅读 · 0 评论 -
ARM中C和汇编混合编程及示例
在嵌入式系统开发中,目前使用的主要编程语言是C和汇编,C++已经有相应的编译器,但是现在使用还是比较少的。在稍大规模的嵌入式软件中,例如含有OS,大部分的代码都是用C编写的,主要是因为C语言的结构比较好,便于人的理解,而且有大量的支持库。尽管如此,很多地方还是要用到汇编语言,例如开机时硬件系统的初始化,包括CPU状态的设定,中断的使能,主频的设定,以及RAM的控制参数及初始化,一些中断处理方面也可转载 2014-09-06 15:22:41 · 543 阅读 · 0 评论 -
arm 流水线和pc值
“然后PC=PC+1”,老师经常这么说。这不完全正确,PC自增一的情况指出现在无流水(non-pipeline)的情况下,这个时候取指,译码,执指都是顺序执行的而在有流水的情况下就比较复杂了这里用arm7和arm9为例。 流水线使用三个阶段,因此指令分为三个阶段执行:1.取指(从存储器装载一条指令);2.译码(识别将要被执行的指令);3.执行(处理指令并将结果写回寄存器)。转载 2014-09-04 21:05:11 · 922 阅读 · 0 评论 -
诺依曼体系结构、哈佛体系结构与改进型哈佛结构之间的区别
1、冯·诺依曼结构 冯·诺依曼结构又称作普林斯顿体系结构(Princetionarchitecture)。 1945年,冯·诺依曼首先提出了“存储程序”的概念和二进制原理,后来,人们把利用这种概念和原理设计的电子计算机系统统称为“冯·诺依曼型结构”计算机。冯·诺依曼结构的处理器使用同一个存储器,经由同一个总线传输。 冯·诺依曼结构处理器具有以下几个特点: 必须有一个存储器;转载 2014-09-04 21:03:34 · 743 阅读 · 0 评论 -
IRQ和FIQ中断的区别
FIQ和IRQ是两种不同类型的中断,ARM为了支持这两种不同的中断,提供了对应的叫做FIQ和IRQ处理器模式(ARM有7种处理模式)。一般的中断控制器里我们可以配置与控制器相连的某个中断输入是FIQ还是IRQ,所以一个中断是可以指定为FIQ或者IRQ的,为了合理,要求系统更快响应,自身处理所耗时间也很短的中断设置为FIQ,否则就设置了IRQ。如果该中断设置为了IRQ,那么当转载 2014-09-08 16:54:00 · 943 阅读 · 0 评论 -
arm--ldm、stm指令解析
这里比较下容易混淆的四条指令,已经在这4条指令的混淆上花费了很多精力,现在做个小结,LDR,STR,LDM,STM这四条指令,关于LDM和STM的说明,见另外一个说明文件,说明了这两个文件用于栈操作时的注意事项。(1)LDR:L表示LOAD,LOAD的含义应该理解为:Load from memory into register。下面这条语句就说明的很清楚:LDR R1,转载 2014-09-13 17:29:00 · 738 阅读 · 0 评论 -
ADS错误(Fatal)L6002U解决方法
ADS编译错误: Fatal L6002U:Could not open file:.....解决办法转载 2014-09-03 20:28:56 · 7572 阅读 · 0 评论 -
ARM处理器寄存器
++++++++++++++++++++++++++++++++++++++++++本文系本站原创,欢迎转载! 转载请注明出处:http://blog.youkuaiyun.com/mr_raptor/article/details/6556163++++++++++++++++++++++++++++++++++++++++++1.1.1 ARM处理器不同模式下寄存器CPU的模式不转载 2014-09-03 09:37:22 · 384 阅读 · 0 评论 -
ARM处理器的程序与数据存储(冯·诺依曼与哈佛结构)
保存在存储器中的内容可以是程序,也可以是数据。程序是ARM处理器可以运行的指令代码,数据是指令在运行中用到的操作数或者变量。1、程序存储ARM处理器支持两种指令,一种是ARM汇编指令,一种是Thumb汇编指令。ARM汇编指令是32位长,即每条ARM汇编指令都是由四个字节的存储空间保存,所以ARM处理器在执行地址a的ARM汇编指令时,会从地址a + 4取下一条指令。Thumb汇编指令是16位转载 2014-09-03 10:27:22 · 581 阅读 · 0 评论 -
ARM处理器中“8位位图”
在ARM处理器的汇编语言中,对指令语法格式中的的常数表达式有这样的规定:“该常数必须对应8位位图,即常数是由一个8位的常数循环移位偶数位得到的。” 首先从ARM指令系统的语法格式说起。 一条ARM指令语法格式分为如下几个部分: {}{S} ,{,} 其中,是指令助记符,是必须的,而{}为指令执行条件,是可选的,如果不写则使用默认条件A转载 2014-09-03 09:12:16 · 562 阅读 · 0 评论 -
关于ARM的22个常用概念
1.ARM中一些常见英文缩写解释MSB:最高有效位;LSB:最低有效位;AHB:先进的高性能总线;VPB:连接片内外设功能的VLSI外设总线;EMC:外部存储器控制器;MAM:存储器加速模块;VIC:向量中断控制器;SPI:全双工串行接口;CAN:控制器局域网,一种串行通讯协议;PWM:脉宽调制器;ETM:嵌入式跟踪宏;CPSR:当前程序状态寄存器;转载 2014-09-02 15:58:58 · 549 阅读 · 0 评论 -
ARM中LDR伪指令与LDR加载指令
ARM指令集中,LDR通常都是作加载指令的,但是它也可以作伪指令。LDR伪指令的形式是“LDR Rn,=expr”。下面举一个例子来说明它的用法。COUNT EQU 0x40003100……LDR R1,=COUNTMOV R0,#0STR R0,[R1]COUNT是我们定义的一个变量,地址为0x转载 2014-09-14 17:28:41 · 486 阅读 · 0 评论