随笔分类 - arm体系结构
摘要:中断处理如果想使用中断:1初始化A设置源头查看原理图XEINT0/kpROW0/GPN0查看芯片手册使能B设置中断控制器ThischapterdescribesthefunctionsandusageofVectoredInterruptControllerinS3C6410XRISCmicroprocessor.12.1OVERVIEWTheinterruptcontrollerintheS3C6410Xiscomposedof2VIC’s(VectoredInterruptController,ARMPrimeCellPL192)and2TZIC’s(TrustZoneInterruptC
阅读全文
摘要:ARM处理器的工作模式用户模式user快速中断模式FIQ处部中断模式IRQ特权模式supervisor数据访问中止模式abort未定义指令中止模式undefined系统模式system1一上电,cpu处于supervisor(svc管理模式)2发生中断,cpu进入RIQ(外部中断模式)R13,R14切换到自已的R13,R14(R13-irq,R14-irq)跳转到0x18处执行3碰到一条机器码,cpu不认识,cpu进入undefined(未定义指令中止)模式R13,R14切换到自已的R13,R14(R13-und,R14-und)跳转到0x4执行4当程序执行swi#val,cpu会进入SVC模
阅读全文
摘要:Nandflash原理图上有data0-data7共8个引角容量为256M*8bit,所以地址位应该有28位,原理图上只有data0-data7,所以需要发出多次地址信号1命令、地址、数据复用2地址多次发出Nandflash与内存不同,不能直接读写,要先发出命令,再发出地址,再读写数据CLE为高电平data0-data7传输的是命令ALE为高电平data0-data7传输的是地址CLE和ALE两者都为低电平时,data0-data7传输的为数据nWE=0,为低电平时,表示写Nandflash读取信息查看K9F2G08U0A数据手册:Function1stCycle2ndCycleAccepta
阅读全文
摘要:DDR15条地址线32k128M*2(20)=2(27)查看6410芯片手册;5.4.3DDR/MOBILEDDRSDRAMINITIALIZATIONSEQUENCE•Programmem_cmdindirect_cmdto‘2’b10’,whichmakesDRAMControllerissue‘NOP’memorycommand.•Programmem_cmdindirect_cmdto‘2’b00’,whichmakesDRAMControllerissue‘Prechargeall’memorycommand.•Programmem_cmdindirect_cmdto‘2’b11’,
阅读全文
摘要:链接地址启动过程示例代码如下:start.S文件.globl_start_start:/*硬件相关设置*/ldrr0,=0x70000000orrr0,r0,#0x13mcrp15,0,r0,c15,c2,4/*关看门狗*/bltest/*位置无关*/ldrpc,=test/*位置相关*/ldrr0,=0x7E00400movr1,#0strr1,[r0]/*设置栈*/ldrsp,=8*1024blmainhalt:bhalttest:movpc,lrLed.c文件voiddelay(){volatileinti=0x1000;while(i--);}volatileinti=0;volati
阅读全文
摘要:串口(UART)DIV_VAL=(PCLK/(bpsx16))−135=115200/66.5/16-1查看芯片手册:GPACON0x7F008000R/WPortAConfigurationRegister0x0000GPA0[3:0]0000=Input0001=Output0010=UARTRXD[0]0011=Reserved0100=Reserved0101=Reserved0110=Reserved0111=ExternalInterruptGroup1[0]0000GPA1[7:4]0000=Input0001=Output0010=UARTTXD[0]0011=Reserved
阅读全文
摘要:12m晶振----->pll------>cpuMux多路选择器Div分频器示例代码如下:汇编实现.globlclock_initclock_init:/*1.设置LOCK_TIME*/ldrr0,=0x7E00F000/*APLL_LOCK*/ldrr1,=0x0000FFFFstrr1,[r0]strr1,[r0,#4] /*MPLL_LOCK*/strr1,[r0,#8] /*EPLL_LOCK*/#defineOTHERS 0x7e00f900@setasyncmode/*当CPU时钟!=HCLK时,要设为异步模式*/ldrr0,=OTHERSldrr1,[r0]bicr1
阅读全文
摘要:用汇编点亮一个led1看原理图GPK4=0,led亮GPK4=1,led灭2怎么让GPK4输出高低电平(看芯片手册,操作寄存器实现)配置功能:输入/输出/其他设置其输出高/低电平3查看芯片手册GPK4[19:16]0000=Input 0001=Output0010=HostI/FDATA[4] 0011=HSITXREADY0100=Reserved 0101=DATA_CF[4]0110=Reserved 0111=ReservedGPKDAT在第4位写写0就对应GPK4GPK[15:0][15:0]Whentheportisconfiguredasinputport,thecorresp
阅读全文
摘要:arm 协处理器协处理器是一种芯片,减轻系统微处理器的某些任务支持多达16个协处理器,例如cp15寄存器来控制cache和存储器管理协处理器操作指令cdp:数据操作指令,初始化协处理器ldc:数据加载指令,存储器到协处理器寄存器的数据传送stc:数据存储指令,协处理寄存器到存储器的数据传送mcr:arm处理器寄存器到协处理器寄存器的数据传送mrc:协处理器寄存器到arm处理器寄存器的数据传送访问cp15寄存器的指令编码格式31 28 27 24 23 21 20 19 16 15 12 11 8 7 5 4 3 0cond 1110 opcode_...
阅读全文
摘要:混合编程常见方式:1 在c/c++程序中嵌入汇编指令 语法格式:__asm{ 汇编语言程序 }2 在汇编程序中访问c/c++定义的全局变量 示例代码如下: test.c #include int gVar_1=12; extern asmDouble(void) int main(void){printf("original value of gVar_1 is %d",gVar_1); admDouble();printf("modified value of gVar_1 is %d",gVar_1);return 0; } test.s AREA
阅读全文
摘要:arm伪指令符号定义伪指令定义arm汇编程序中的变量、对变量赋值以及定义寄存器的别名定义全局变量gbla(全局数字变量,初始化值为0)GBLA 全局变量名 示例代码如下:GBLA Test1;定义全局数字变量test1Test1 SETA 0x123;将该变量赋值为0x123gbll(全局逻辑变量,初始化为F) GBLL 全局变量名 示例代码如下:GBLL Test2;定义全局逻辑变量test2Test2 SETL {TRUE};将变量赋值为真bgls(全局字符串变量,初始化为空) GBLS 全局变量名 示例代码如下:GBLS Test3;定义全局字符串变量test3Test3 SETS &q
阅读全文
摘要:arm指令集跳转指令 实现流程的跳转专门的跳转指令b 跳转指令 格式:B{条件}目标地址 示例代码如下:当cpsr寄存器中的z条件码置位时,程序跳转到标号label处执行CMP R1,#0BEQLable指令条件指令条件 标志位 含义EQ Z置位 相等NE Z清零 不相等CS C置位 无符号数大于或等于CC C清零 无符号数小于MI N置位 负数PL N清零 正数或零VS V置位 溢出VC V清零 ...
阅读全文
摘要:工作状态arm状态 32位指令thumb状态 16位指令存储器的格式最大寻址空间为4gb大端格式:字数据的高字节存储在低地址中,低字节存放在高地址中小端格式:与大端格式相反axd查看寄存器=================================================================arm寻址方式(貌似计算机原理中学过)处理器根据指令中给出的地址信息来寻找物理地址的方式立即寻址立即数寻址示例代码如下:add r0,r0,#1; r0<--r0+1add r0,r0,#0x3f; r0<--r0+0x3f 以十六进制表示的立即数要加0x或&寄
阅读全文
摘要:arm概述及其基本编程模型arm体系结构的版本及命名方法arm体系统构的6个版本的特点arm体系的变种1 thumb指令集(t变种)2 长乘法指令(M变种)3 增强型dsp指令(E变种)4 java加速器jazelle(J变种)5 arm媒体功能扩展(SIMD变种)arm/thumb体系版本的命名格式1 字符串ARMv2 ARM指令的版本号 1-63 表示变种的字符 版本4之后M变种成为标准功能,不需要列出来4 使用x表示排除某种写功能arm处理器系列arm7arm9arm9e arm920T ARM922T ARM9440Tarm10esecurCoreintel的Xscaleintle的S
阅读全文
浙公网安备 33010602011771号