作者:GWD 时间:2019.7.8
一、课程内容
摘要:本节课主要是配置MCLK=400MHZ,HCLK = 100Mhz , PCLK = 50MHZ然后发现小灯闪烁频率明显增快。
二、学习要点
1、往Source Insight里输入中文,字间距相当的大,具体设置如下: 1)、Options->Style Properties 2)、在左边Style Name下找到Comment 3)、在其右边对应的Font属性框下的Font Name中选“Pick…” 设置为宋体、常规、小四。确定,退回Style Properties界面,Size设为10,最后Done。
2、问:AHB和APB总线是什么?
答:AHB(advance high performance bus)用于高性能模块(如CPU、DMA、和DSP等),APB用于底带宽的周边外设之间(UART、I2C);
3、S3C2440 CPU核的工作电压为1.2V时,主频可达300MHZ;工作电压为1.3V时,主频可达400MHZ。为了降低电磁干扰、降低板间布线要求,S3C2440外接的晶振频率通常都不高,开发板就是外接12MHZ。
4、S3C2440有两个PLL,MPLL和UPLL;UPLL专用于USB设备,MPLL用于设置FCLK、HCLK、PCLK;
5、问:划线处为什么是代码0xc0000000;
答:
iA和nF是写处理器P15,C1寄存器的两个位
设置成异步模式就是把iA,nF都置1,也就是0xc0000000;
三、代码
(一)、代码功能:设置MCLK=400MHZ,HCLK = 100Mhz , PCLK = 50MHZ然后发现小灯闪烁频率明显增快因为没设置前小灯工作在初始频率12MHZ下,设置后工作在50MHZ频率下。
(二)、代码
Start.S
.text
.global _start_start:/*关闭看门狗*/ldr r0,&#61;0x53000000mov r1,#0;str r1,[r0]//设置nor或者nandmov r0,#0ldr r1,[r0]//立即数加取地址符str r0,[r0]ldr r2,[r0]cmp r0,r2ldr sp,&#61;0x40000000&#43;4096moveq sp,#4096streq r0,[r1]//设置协处理器mrc p15,0,r0,c1,c0,0orr r0,r0,#0xc0000000 //R1_nF:OR:R1_iAmcr p15,0,r0,c1,c0,0//设置MPLL, FCLK : HCLK : PCLK &#61; 400m : 100m : 50m *//* LOCKTIME(0x4C000000) &#61; 0xFFFFFFFF */ldr r0, &#61;0x4C000000ldr r1, &#61;0xFFFFFFFFstr r1, [r0]ldr r0,&#61;0x4c000014ldr r1,&#61;0x5str r1,[r0]//设置主频400MHZldr r0,&#61;0x4c000004ldr r1,&#61;(0x7f<<12)|(2<<4)|(1<<0)str r1,[r0]bl led_on
LOOP:b LOOP