历史上的今天
返回首页

历史上的今天

今天是:2025年04月26日(星期六)

2019年04月26日 | 2440裸板程序之时钟初始化

2019-04-26 来源:eefocus

LED对应的引脚是GPF4、GPF5、GPF6。 

使用的编译器为arm-linux-gcc-4.5.1。 

包括四个文件head.S main.c main.lds Makefile。


实验目的:把CPU主频提高到400Mhz。(FCLK:400 HCLK:100 PCLK:50)


 这里写图片描述 


2440使用MPLL和UPLL将来自晶振或外部时钟倍频至合适的频率,UPLL输出时钟供USB使用,MPLL输出时钟经过分频供CPU和AHB、APB使用。ARM920T使用FCLK,Memory、LCD、CAM等使用HCLK,PCLK供给WDT、PWM、ADC等使用。 

ARM920T有三种工作方式,fastBus mode、synchronous、asynchronous。(异步总线和同步模式介绍 http://blog.csdn.net/qq_33160790/article/details/75668461)快总线时ARM920T运行在HCLK,当FCLK不等于HCLK时,必须切换至asynchronous模式。(通过设置协处理器CP15 http://blog.csdn.net/qq_33160790/article/details/75570898)


相关的寄存器:


这里写图片描述

这里写图片描述

这里写图片描述


只需要把http://blog.csdn.net/qq_33160790/article/details/78915744中的Head.S更新为以下即可。


@clock manegment

.equ MPLLCON  ,0x4C000004

.equ CLKDIVN  ,0x4C000014

@memory controller

.equ BWSCON   ,0x48000000

.equ BANKCON0 ,0x48000004

.equ BANKCON1 ,0x48000008

.equ BANKCON2 ,0x4800000C

.equ BANKCON3 ,0x48000010

.equ BANKCON4 ,0x48000014

.equ BANKCON5 ,0x48000018

.equ BANKCON6 ,0x4800001C

.equ BANKCON7 ,0x48000020

.equ REFRESH  ,0x48000024

.equ BANKSIZE ,0x48000028

.equ MRSRB6   ,0x4800002C

.equ MRSRB7   ,0x48000030

.text

.global _start

_start:

            ldr     r0, =0x53000000     @Close WATCHDOG

            mov     r1, #0x0                     

            str     r1, [r0]


            ldr     r0,=MPLLCON         @Clock Init 400:100:50

            ldr     r1,=(192<<12)|(4<<4)|(1<<0)

            str     r1,[r0]


            ldr     r0,=CLKDIVN

            ldr     r1,=(2<<1)|(1<<0)

            str     r1,[r0]


            mrc p15,0,r0,c1,c0,0

            orr r0,r0,#0xc0000000//R1_nF:OR:R1_iA

            mcr p15,0,r0,c1,c0,0


            ldr     r0,=BWSCON          @Init sdram

            ldr     r1,=0x22011110

            str     r1,[r0]


            ldr     r0,= BANKCON6

            ldr     r1,=0x00018005

            str     r1,[r0]


            ldr     r0,=REFRESH

            ldr     r1,=0x008c07a3

            str     r1,[r0]


            ldr     r0,=BANKSIZE

            ldr     r1,=0x000000b1

            str     r1,[r0]


            ldr     r0,=MRSRB6

            ldr     r1,=0x00000030

            str     r1,[r0]


            mov     r1,#0x400           @Relacate

            ldr     r2,=0x30000000

            mov     r3,#0x600

1:

            ldr     r4,[r1],#4

            str     r4,[r2],#4

            cmp     r1,r3

            bne     1b


            ldr     sp, =1024*4         @Call C

            ldr     lr,=loop


            @bl      main

            ldr     pc,=0x30000000    @main             @0x800

loop:

            b       loop


实验结果: 

led闪烁频率明显加快。



推荐阅读

史海拾趣

Efficient Power Conversion公司的发展小趣事

在追求自身发展的同时,EPC公司也积极寻求与行业内其他企业的合作。通过与全球知名的汽车制造商、通信设备制造商以及消费电子企业建立合作关系,EPC公司将其氮化镓技术广泛应用于各个领域,推动了整个电子行业的发展。同时,EPC公司也积极参与行业标准的制定和推广工作,为行业的健康发展做出了积极贡献。

DeLorme公司的发展小趣事

近年来,随着智能手机和移动互联网技术的快速发展,传统的GPS导航设备市场受到了巨大冲击。面对这一行业变革,DeLorme公司及时调整战略方向,将重心转向智能导航应用软件的开发和推广。他们通过与智能手机厂商的合作,将自己的导航软件集成到手机系统中,为用户提供更加便捷、高效的导航服务。同时,他们还积极探索新的商业模式和市场机会,为公司的未来发展奠定了坚实基础。

CINTERION公司的发展小趣事

近年来,CINTERION与泰雷兹达成战略合作,共同推出了创新型物联网无线通信模组Cinterion MV32。这款模组结合了泰雷兹在连接管理方面的灵活性和CINTERION在无线通信模组技术上的优势,为制造商提供了快速构建和维护高性能5G设备的解决方案。这一合作不仅加强了CINTERION在物联网领域的市场地位,也为其在未来的发展中注入了新的活力。

以上五个故事均基于CINTERION在电子行业中的发展历程和成就进行描述,旨在客观呈现其在不同领域的发展轨迹和技术实力。

Dell公司的发展小趣事

2010年,电子支付与身份识别技术领域的领军企业金雅拓,全资收购了CINTERION。这一资本动作不仅为CINTERION带来了更多的资金支持,更使其在金雅拓的物联网事业部中获得了更广阔的发展空间。收购完成后,CINTERION继续保持其技术领先地位,并在金雅拓的推动下,进一步拓宽了产品线和应用领域。

Green Power Solutions公司的发展小趣事
定期清洁稳压器的外壳和内部灰尘,保持散热良好。
Advanced_Linear_Devices_Inc.公司的发展小趣事

随着全球市场的不断扩大,ALD积极推进国际化战略。公司通过与全球各地的OEM制造商建立合作关系,将产品销往世界各地。同时,ALD还积极参与国际电子展会和论坛,展示其最新技术和产品,与全球同行交流合作。这些举措不仅提升了ALD的国际知名度,还为公司带来了更多的商机和发展空间。

问答坊 | AI 解惑

生动形象的教学用电子钟[ZT]

生动形象的教学用电子钟[ZT] 笔者在教学中,设计了一套教学实验用“电子钟”电路。此线路包括七段数码显示器BS205和循环彩灯电路,实验显示生动有趣,各部分原理简单,适宜学生直接观察“编码器”、“译码器”、“寄存器”、“计数器”等逻辑 ...…

查看全部问答>

新手提问:如何同时安装C51 和 MDK

我现在安装了MDK3.22a,但是编译不了C51程序,还要安装什么呀…

查看全部问答>

TQ2440 触摸屏

关于TQ2440触摸屏的应用设计。现在能够实现触摸屏界面的旋转,想添加一些其它的应用功能,请问能不能把显示界面缩小,即原来3.5寸屏的界面,显示为1.75寸的区域,这种功能能够实现吗?如果实现需要涉及那些方面?…

查看全部问答>

wince,在flash中保存文件!

我在flash上烧写的镜像文件为 NK.BIN, 我在注册表中添加如下: ; Bind BINFS to the block driver [HKEY_LOCAL_MACHINE\\System\\StorageManager\\Profiles\\FlashDrv]     \"DefaultFileSystem\"=\"BINFS\"     \"Partition ...…

查看全部问答>

STM32GPIO不受控?

我用的是keil. 遇到到 PA4, PA5 , PA6,PA7 等无法设置输出状态. 在keil的调试状态就感觉无**常设置.而引脚设置跟附近的一样,看起来没错. 但无**常设置.其他的比如PC5~PC7等就没有问题. 初始化的语句:应该没有问题.    GPIO_Ini ...…

查看全部问答>

stm32低功耗管理复位问题,请教~~

下载 (108.1 KB) 2011-1-19 15:42 我现在在做微功耗,用的是待机模式,我在看微功耗的待机模式的启动项中,有个启动方式是IWDG,但是这中启动方式我没有办法跟踪,我在手册中看到可以检测复位标记来判断是什么方式复位 ...…

查看全部问答>

【求助】中断编译不能通过!!

#include<msp430x44x.h> interrupt[TIMERA0_VECTOR] void Timer_A(void) { ~~~ } void InitSystem(void) { ~~~ //TIME_A TACTL=ID1+TASSEL1+TACLR+ ...…

查看全部问答>

比较器

有那位高手可以推荐高速比较器的电路,急!!!!…

查看全部问答>

寻迹小车DIY

这是当年毕业设计参考的项目了,最近翻资料翻出来,抖出来晒晒太阳.... 那个觉得有用就拿去吧    …

查看全部问答>

有没有3v可用的数码管驱动芯片?或者怎么用电池给5v的74门供电?

想做个数字钟,但是找不到3v可用的数码管驱动芯片,找到了淘宝上也没卖的。 另外就是考虑怎么给3v/5v元件混合电路用AA电池供电………

查看全部问答>