说明
本blog中的资源部分来自于网上,如果你觉得侵犯了你的版权,请留言告之,我将立即删除.


分类: ARM编程预览模式: 普通 | 列表

ARM裸奔--I/O操作1

年初买的ARM开发板,放了半年后,今天终于把它拿出来,重新开始我的ARM征途了!

今天第一个实验就是点亮板子上的LED

查看更多...

Tags: arm s3c2410

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 42

ARM指令集

一、ARM 微处理器的指令的分类与格式  

ARM微处理器的指令集是加载/存储型的,也即指令集仅能处理寄存器中的数据,而且处理结果都要放回寄存器中,
而对系统存储器的访问则需要通过专门的加载/存储指令来完成。ARM微处理器的指令集可以分为跳转指令、数据处理指令、
程序状态寄存器(PSR)处理指令、加载/存储指令、协处理器指令和异常产生指令六大类。下面是ARM微处理器的基本指令。

查看更多...

Tags: arm

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 8

STM32中用到的Cortex-M3寄存器说明

在STM32中用到了Cortex-M3定义的三组寄存器,有关这三组寄存器的说明不在STM32的技术手册中,需要参考ARM公司发布的Cortex-M3 Technical Reference Manual (r2p0)

在STM32的固件库中定义了三个结构体与这三个寄存器组相对应,这三个结构体与ARM手册中寄存器的对应关系如下:

查看更多...

Tags: STM32

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 103

STM32中Systick寄存器说明

Systick 部分内容属于NVIC控制部分,一共有4个寄存器
SysTick_CTRL,        0xE000E010  --  控制寄存器      默认值:0x0000 0004
SysTick_LOAD,       0xE000E014  --  重载寄存器      默认值:0x0000 0000
SysTick_VAL,          0xE000E018  --  当前值寄存器    默认值:0x0000 0000
SysTick_CALIB,      0xE000E01C  --  校准值寄存器    默认值:0x0002328

查看更多...

Tags: STM32

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 124

配置STM32时钟时应注意设置FLASH等待周期

昨天去杭电一趟了,然后带回来一套J-LINK。这下我可以动手写程序进行仿真了,HOHO~~~

万事开头难啊,写了一个小程序,只是点亮一个LED灯,程序很简单,可就是出了问题,程序会跑飞,仔细检查各个寄存器配置,似乎都没有什么问题,选择外部8M时钟,不分频输入到PLL,设置PLL为9倍频72M,AHB,ABP2不分频,ABP1为2分频,这些都挺下常的,可DEBUG时,运行到选择PLL时钟后程序就跑飞,在程序上改来改去,始终没能解决,后来降低了PLL的频率到48M,程序竟然没有跑飞,这就怪了,百思不得其解啊,郁闷了半天 :-( ,

自己实在没辙,于是上网找找解决方法。在一网站有人提示是否忘记了设置FLASH等待周期?回头一看程序,嘿嘿,我的程序里果然没有这方面的设置,看资料上写的是:

查看更多...

Tags: STM32 编程

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 116

试水STM32

最近公司准备上马一智能路灯,所选的芯片就是STM32。以前我只是在MCU行列混编程语言也还是用汇编,现在让我一下子转到ARM,同时也改用C来写程序,还真有点不知所措,于是最近狂啃STM32的技术资料,希望能以最快的时间基本掌握。


STM32开发需要的工具与资料:

查看更多...

Tags: 编程 STM32

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 34

S3C2410启动代码详解(3)

;================================================================================
; ENTRY  系统上电后经过一个b ResetHandler就跳转到此处来。在此完成一些相关的软硬件配置工作

1.        屏蔽所有中断,关看门狗。
2.        根据工作频率设置PLL寄存器

查看更多...

Tags: arm

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 86

S3C2410启动代码详解(2)

;========================================================================================

//在这里用IMPORT伪指令(和c语言的extren一样)引入|Image$$RO$$Base|,|Image$$RO$$Limit|...

//这些变量是通过ADS的工程设置里面设定的RO Base和RW Base设定的,最终由编译脚本和连接程序导入程序.

查看更多...

Tags: arm

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 178

S3C2410启动代码详解(1)

      最近开始学习ARM,不过也无从下手的感觉,索性网上找些资料先看看,了解点基础知识,下面是网上找到的S3C2410启动代码详解,转过来以备后用。

    花了好几天的时间研究S3C2410r的启动代码,终于看完!在参考了一些资料后,加上自己的理解,留下点笔记。有些地方可能不正确,有待改正:

     通常,启动代码是指CPU复位后到进入C语言的main函数之前需要执行的那段汇编代码.这是由于C语言程序的运行需要具备一定的条件,比如:分配好外部数据空闿堆栈空间和中断入口等筿另外汇编代码可以更直接的对硬件进行操使效率更高. 通常启动代码是放圿410init.s汇编文件;特殊功能寄存器定义在2410addr.s;Memory Bank 配置在mencfg.s;还有系统的选项等在option.s文件;2410init.s不仅包括复位后执行的代码,还包括CPU进入掉电模式,产生中断等和处理器直接相关的,用汇编实现的代码.

查看更多...

Tags: arm

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 207

ARM指令中特殊符号的含义

ARM中常用的一些代表指令的符号

特殊符号   对应指令     含义
    =           DCB              分配一片连续的字节存储单元并用指定的数据初始化
    &           DCD             分配一片连续的字存储单元并用指定的数据初始化

查看更多...

Tags: arm

分类:ARM编程 | 固定链接 | 评论: 0 | 引用: 0 | 查看次数: 142