微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > ARM裸机开发bootloader时钟初始化ARM跑快了

ARM裸机开发bootloader时钟初始化ARM跑快了

时间:11-19 来源:互联网 点击:

式下


#define OTHERS 0x7e00f900ldr r0, =OTHERSldr r1, [r0]bic r1, r1, #0xc0str r1, [r0]

4、设置FCLK为533MHZ

#define MPLL_CON, 0x7e00f010#define APLL_CON, 0x7e00f00c#define PLL_Val ((1<31)|(266<16)|(3<8)|(1<0))ldr r0, =APLL_CONldr r1, =PLL_Valstr r1, [r0]ldr r0, =MPLL_CONldr r1, =PLL_Valstr r1, [r0]

5、6410还有个特殊性就是设置一下选择器CLK_SRC设置PLL产生时钟为时钟源。

#define CLK_SRC 0x7e00f01cldr r0, =CLK_SRCmov r1, #0x3str r1, [r0]
然后运行后下载到开发板运行

全代码为:

.text.global _start_start:b resetldr pc, _undefined_instructionldr pc, _software_interruptldr pc, _prefetch_abortldr pc, _data_abortldr pc, _not_usedldr pc, _irqldr pc, _fiq_undefined_instruction:	.word undefined_instruction_software_interrupt:	.word software_interrupt_prefetch_abort: 	.word prefetch_abort_data_abort: 	.word data_abort_not_used: 	.word not_used_irq:	.word irq_fiq:	.word fiqundefined_instruction:nopsoftware_interrupt:nopprefetch_abort:nopdata_abort:nopnot_used:nopirq:nopfiq:nopreset:bl set_peri_portbl set_svcbl disable_watchdogbl disable_interruptbl disable_mmubl init_clockbl light_ledset_peri_port:ldr r0, =0x70000000orr r0, r0, #0x13mcr p15,0,r0,c15,c2,4mov pc, lr	set_svc:mrs r0, cpsrbic r0, r0, #0x1forr r0, r0, #0xd3msr cpsr, r0mov pc, lr#define pWTCON 0x7E004000disable_watchdog:ldr r0, =pWTCON	/*mov的操作数最多为8位*/mov r1, #0x0str r1, [r0]mov pc, lrdisable_interrupt:mvn r1, #0x0ldr r0, =0x71200014str r1, [r0]ldr r0, =0x71300014str r1, [r0]mov pc, lrdisable_mmu:mcr p15, 0, r0, c7, c7, 0mrc p15, 0, r0, c1, c0, 0bic r0, r0, #0x00000007mcr p15, 0, r0, c1, c0, 0mov pc, lr	#define CLK_div0 0x7e00f020#define div_VAL ((0x0<0)|(0x1<9)|(0x1<8)|(0x3<12))#define OTHERS 0x7e00f900#define MPLL_CON 0x7e00f010#define APLL_CON 0x7e00f00c#define PLL_Val ((1<31)|(266<16)|(3<8)|(1<0))#define CLK_SRC 0x7e00f01cinit_clock:ldr r0, =CLK_div0ldr r1, =div_VALstr r1, [r0]ldr r0, =OTHERSldr r1, [r0]bic r1, r1, #0xc0str r1, [r0]ldr r0, =APLL_CONldr r1, =PLL_Valstr r1, [r0]ldr r0, =MPLL_CONldr r1, =PLL_Valstr r1, [r0]ldr r0, =CLK_SRCmov r1, #0x3str r1, [r0]mov pc, lr	#define GPKCON0 0x7f008800#define GPKDAT 0x7f008808light_led:ldr r0, =GPKCON0ldr r1, =0x11110000str r1, [r0]ldr r0, =GPKDATldr r1, =0xa0str r1, [r0]mov pc, lr

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top