ARM体系结构
文章平均质量分 68
yaomoon
这个作者很懒,什么都没留下…
展开
-
嵌入式中__main 和main 作用
在C加main函数就是使程序从__main中开始运行,再调用main函数 __main 作用 :1。copy RW (linux 的data段) 2. zero ZI ( bss段) 3. init LIB(初始化库)__main就干了两件事初始化C/C++所需的资源,调用main函数。 __main可以看成使程序符合C的环境;如C中初始化的全局变量放到data段;而未初始化的全局变量原创 2014-04-16 18:23:14 · 2437 阅读 · 0 评论 -
j-tag 和j-link 关系
调试ARM,要遵循ARM的调试接口协议,JTAG就是其中的一种。当仿真时,IAR、KEIL、ADS等都有一个公共的调试接口,RDI就是其中的一种, 那么我们如何完成RDI-->ARM调试协议(JTAG)的转换呢? 有以下两种做法: 1. 在电脑上写一个服务程序,把IAR、KEIL和ADS中的RDI命令解析成相关的JTAG协议,然后通后一个物理转换接口(注意,这个转换只是电气物理层 上的原创 2014-04-16 18:25:19 · 1001 阅读 · 0 评论 -
s3c6410 DMA 实现(入门级)
char src[200] = "abcdefghigklmn123456\n"; char dest[200] = "kkkk\n"; void dma_init(void){ DMACConfiguration = 1; //开总的DMA 使能 DMACC7SrcAddr = (int)src; //给源地址寄存器赋源地址 DMACC7DestAddr = (int)dest;//给目原创 2014-04-16 18:23:42 · 511 阅读 · 0 评论 -
2440 Xmodem协议传送文件的简单实现
1Xmodem的简单实现,暂不包含数据校验 当准备发送是先由接收方给发送方发送一个NAK信息;之后发送方开始发送包,接收方接收到一个包(132字节)后给发送 ACK给发送方;当发送方发完时(到文件的尾了),在发送一个包,其中包头SHO(包的第一个字节)中为EOT,之后接收方再回一个ACk,至此传输结束; xmodem的数据帧结构 _____________________________原创 2014-04-16 18:23:35 · 1466 阅读 · 0 评论 -
ads 编译 和axd 调试 的使用
1 ads axd 使用用ads编译helloworld 。1 new 工程, 选择ARM Executable Image , 输入工程名字。2 new file ,在new窗口中选择file选项卡,输入文件名字, hello.c ,同时选上Add to Project和DebugRel。 hello.c 内容:#include int j = 100;int main(void)原创 2014-04-16 18:27:04 · 916 阅读 · 0 评论 -
《嵌入式linux应用开发》2440 中断 体系结构
11 ARM 有七种运行模式,usr为用户模式,其他为特权模式,特权模式可以随意进入 其他特权模式和用户模式,但用户模式不能随意进入其他模式,只能通过中断,swi(软中断),复位等, 复位,swi进入svc模式,uboot要求运行在svc模式,在uboot最开始就将cpu调到 svc模式,而linux kernel加载时要求cpu处在svc模式。2 arm中断流程 主程序-原创 2014-04-16 18:25:28 · 355 阅读 · 0 评论 -
GT2440 开发环境搭建 (配合《嵌入式linux应用开发完全手册》)
1 采用 windows和linux虚拟机组合搭建。 winXP 和 ubuntu虚拟机2 需要的相关接口 GT2440 开发手册中用 uboot ,串口,和dnw(usb)配合将程序烧到sdram或nand中,而用h-jtag(并口)烧uboot到nor flash。而《嵌入式linux应用开发完全手册》中无操作系统相关程序用H-jtag烧到nand,对于没有并口的电脑来说有点困难,并且书附带原创 2014-04-16 18:25:25 · 783 阅读 · 0 评论 -
ARM汇编中B跳转指令和LDR跳转的区别 【转】
B跳转指令是代码位置无关的,经过汇编后会替换为当前PC值加(减)一个修正值,不管这条指令是在哪一个地址执行,都能跳转到指定的位置。B只能在当前PC的32M范围内跳转,LDR只能在当前PC的4KB(0xfff范围)跳转。BL 带返回跳转LDR PC,=xxx指令将向PC直接装载一个标号xxx的值,但标号经过编译后将被替换为一个与RO相对应的值,这样无论指令在何处执行都能跳转到一个指定的原创 2014-04-16 18:25:16 · 1413 阅读 · 0 评论 -
s3c6410 的外部中断实现
6410各个中断寄存器的关系 图 EINT0CON0 External Interrupt 0(Group0) Configuration Register 0 设置 外部中断的触发方式(高电平等)EINT0PEND External Interrupt 0(Group0) Pending Register 屏蔽前的中断(谁中断,相应位置1)EINT0MASK External I原创 2014-04-16 18:23:37 · 448 阅读 · 0 评论 -
2440原理图地址线分析 (转)
原文地址 http://blog.csdn.net/hochy2008/article/details/5783991(1) 地址线为什么从A2开始? 因为2440数据宽度为32位,按4字节对齐,即地址只会是0x...0,0x...4,0x..C,0x...E,每次地址增加都是四个字节,所以A0和A1没什么用。 (2) SDRM BANK 选择输入BA0/BA1为什么连接的是A24原创 2014-04-16 18:25:14 · 321 阅读 · 0 评论 -
s3c6410 定时器中断的实现
6410手册中的相关内容 five 32-bit timersTimers 0 and 1 include a PWM function Each timer has its own 32-bit down-counter which is driven by the timer clock. The down-counter is initially loadedfrom the Timer原创 2014-04-16 18:23:40 · 794 阅读 · 0 评论 -
阅读ARm芯片手册 阅读方法
一 overview 1 table of contents -***2 product overview -*** 芯片概述3 feature *** 每一个功能的特点4 block diagram -****** 芯片的内部组织结构框图 4.1 arm core 芯片所选用的arm内核版本 4.2 periptheral 芯片内部支持的外设控制器 4.3 bus原创 2014-04-16 18:23:19 · 695 阅读 · 0 评论 -
ARM 第一个汇编程序(跳转,循环,reset_handler,swi_handler 软件中断)
AREA demo, CODE, READONLY ENTRY b reset_handler //0x0复位入口 nop b swi_handler ////0x08 软件中断入口 nop nop nop nop //0x18 TRQ(硬件中断)入口 nop swi_handler ///0x08 软件中断程序 sub r0,lr,#4 //原创 2014-04-16 18:23:17 · 2861 阅读 · 0 评论 -
s3c6410 s3c2440串口发送接收数据的实现(轮询)及相关寄存器
1 6410与串口相关寄存器 一 需要设置的寄存器(其实进入uboot后,串口已经设置好了,直接发送数据就行了,) 1)模式 UCON (轮询,中断,DMA等) 2)相关参数 ULCON0 定义了串口数据的帧格式,数据位长度,奇偶校验位,停止位(8-N-1) BRDIV 定义了波特率的计算公式所得结果的整数部分 UDIVSLOT0 定义了波特率的计算公式所得结果的小数部分 3)高级原创 2014-04-16 18:23:30 · 608 阅读 · 0 评论 -
friendarm 6410板子在windows的第一个程序 (下程序,在模拟dos终端编译汇编,C)
李明老师的视频教程http://v.youku.com/v_show/id_XMjAzMTgzNjcy.html 1接好串口电源,打开超级终端,开关从nandflash启动,上电,任意键进入bootloader提示键入q退出进入类似shell的界面;2 输入 loadb 之后 显示ready for binary (kermit) download to 0x50000000之后点超级终端的发原创 2014-04-16 18:23:24 · 545 阅读 · 0 评论 -
arm 工作模式 寄存器组织
工作模式 svc usr/sys IRQ FIQ ABT UND 异常模式 svc IRQ FIQ ABT UND usr 为非特权模式,其他的都是特权模式特权模式可以进入usr模式,usr进入特权模式不容易,只能通过swi(软件中断)进入svc模式 寄存器组织 37个寄存器(31个通用的,6个状态的)通用寄存器 : r0-->r7 为各个模式通原创 2014-04-16 18:23:21 · 1139 阅读 · 0 评论