历史上的今天
返回首页

历史上的今天

今天是:2024年10月21日(星期一)

正在发生

2019年10月21日 | S3C2440定时器汇编程序

2019-10-21 来源:51hei

S3C2440定时器源程序如下:

;************口地址及数据符号化定义区**********************

pWTCON                EQU        0x53000000

pLOCKTIME        EQU        0x4c000000

pCLKDIVN        EQU        0x4c000014

pUPLLCON        EQU        0x4c000008

pMPLLCON        EQU        0x4c000004

pBWSCON                EQU        0x48000000

pSRCPND                EQU        0x4a000000   ;中断源悬挂寄存器地址

pINTPND                EQU        0x4a000010   ;中断悬挂寄存器地址

pINTMOD                EQU        0x4a000004   ;中断模式寄存器地址

pINTMSK                EQU        0x4a000008

pINTSUBMSK        EQU        0x4a00001c   ;子中断源屏蔽寄存器地址

pINTOFFSET        EQU        0x4a000014   ;中断源偏移地址寄存器地址


pTCFG0                EQU        0x51000000        ;定时器配置寄存器0

pTCFG1                EQU        0x51000004        ;定时器配置寄存器1

pTCNTB4                EQU        0x5100003c        ;定时器4计数缓冲寄存器

pTCON                EQU        0x51000008        ;定时器控制寄存器


DATA_EREA        EQU        0x33FFFF00

vCLKDIVN        EQU        0x4

vUPLLCON        EQU        0x00038022

vMPLLCON        EQU        0x0005c011

;*************以下为各寄存器BANK数据宽度设置数据***********

DW16                EQU        (0x1)

DW32                EQU        (0x2)

B1_BWSCON        EQU        (DW16)

B2_BWSCON        EQU        (DW16)

B3_BWSCON        EQU        (DW16)

B4_BWSCON        EQU        (DW32)

B5_BWSCON        EQU        (DW16)

B6_BWSCON        EQU        (DW32)

B7_BWSCON        EQU        (DW32)

;*************Bank 0 存储器参数区**************************

B0_Tacs                EQU        0x3

B0_Tcos                EQU        0x3

B0_Tacc                EQU        0x7

B0_Tcoh                EQU        0x3

B0_Tah                EQU        0x3

B0_Tacp                EQU        0x1

B0_PMC                EQU        0x0

;*************Bank 4 存储器参数区**************************

B4_Tacs                EQU        0x1

B4_Tcos                EQU        0x1

B4_Tacc                EQU        0x6

B4_Tcoh                EQU        0x1

B4_Tah                EQU        0x1

B4_Tacp                EQU        0x0

B4_PMC                EQU        0x0


;*************Bank 6 SDRAM存储器参数区*********************

B6_MT                EQU        0x3

B6_Trcd                EQU        0x1

B6_SCAN                EQU        0x1

;************* SDRAM 动态存储器所需的刷新参数区************

REFEN                EQU        0x1

TREFMD                EQU        0x0

Trp                EQU        0x1

Tsrc                EQU        0x1

Tchr                EQU        0x2

REFCNT                EQU        1268

;*************以下数据为CPSR中各工作模式的设置位信息*******

USERMODE        EQU        0x10

IRQMODE                EQU        0x12

SVCMODE                EQU        0x13

MODEMASK        EQU        0x1f

NOINT                EQU        0xc0

;*************以下为管理模式、IRQ、及用户模式堆栈指针数据***

UserStack        EQU        0x33ff4800        

SVCStack        EQU        0x33ff5800

IRQStack        EQU        0x33ff7000


;************以下为代码区***************

        AREA        Init,CODE,READONLY

        ENTRY        

        EXPORT        _ENTRY

_ENTRY

ResetEntry

        b        _reset

        b        .

        b        .

        b        .

        b        .

        b        .

        b        IsrIRQ

        b        .

;*****************预存开机后需要提取并设置到特殊功能寄存器内存储器参数区的数据,含数据宽度、刷新模式和频率等

SMRDATA

        DCD  (0+(B1_BWSCON<<4)+(B2_BWSCON<<8)+(B3_BWSCON<<12)+(B4_BWSCON<<16)+(B5_BWSCON<<20)+(B6_BWSCON<<24)+(B7_BWSCON<<28))

        DCD  ((B0_Tacs<<13)+(B0_Tcos<<11)+(B0_Tacc<<8)+(B0_Tcoh<<6)+(B0_Tah<<4)+(B0_Tacp<<2)+(B0_PMC))

        DCD  0

        DCD  0

        DCD  0

        DCD  ((B4_Tacs<<13)+(B4_Tcos<<11)+(B4_Tacc<<8)+(B4_Tcoh<<6)+(B4_Tah<<4)+(B4_Tacp<<2)+(B4_PMC))

        DCD  0

        DCD  ((B6_MT<<15)+(B6_Trcd<<2)+(B6_SCAN))

        DCD  0

        DCD  ((REFEN<<23)+(TREFMD<<22)+(Trp<<20)+(Tsrc<<18)+(Tchr<<16)+REFCNT)

        DCD  0x32

        DCD  0x30

        DCD  0x30

;*****以下IsrIRQ为中断源判别程序***********

IsrIRQ

        sub        sp,sp,#4

        stmfd        sp!,{r8-r9}

        ldr        r9,=pINTOFFSET

        ldr        r9,[r9]

        ldr        r8,=HandleEINT0

        add        r8,r8,r9,lsl #2

        ldr        r8,[r8]

        str        r8,[sp,#8]

        ldmfd        sp!,{r8-r9,pc}

        LTORG



;****************以下为复位异常处理程序,主要完成时钟及存储器的初始化***************

_reset

        ldr        r0,=pWTCON

        ldr        r1,=0x0

        str        r1,[r0]

        ldr        r0,=pINTMSK

        ldr        r1,=0xffffffff

        str        r1,[r0]

        ldr        r0,=pINTSUBMSK

        ldr        r1,=0x7fff

        str        r1,[r0]

        ldr        r0,=pLOCKTIME

        ldr        r1,=0x00ffffff

        str        r1,[r0]

        ldr        r0,=pCLKDIVN

        ldr        r1,=vCLKDIVN

        str        r1,[r0]

        ldr        r0,=pUPLLCON

        ldr        r1,=vUPLLCON

        str        r1,[r0]

        nop

推荐阅读

史海拾趣

贝特莱公司的发展小趣事

在市场竞争日益激烈的背景下,贝特莱注重品牌建设和市场推广。通过不断提升产品质量和创新能力,优化售后服务体系,贝特莱在市场上树立了良好的品牌形象。同时,公司还积极拓展海外市场,参与国际竞争,进一步提升了其在全球电子行业的影响力。

这些故事只是贝特莱在电子行业发展历程中的一部分。作为一个国家级高新技术企业,贝特莱在技术研发、产品创新、市场拓展等方面都取得了显著的成绩。未来,随着电子行业的不断发展,贝特莱将继续保持其创新精神和市场竞争力,为行业的进步做出更大的贡献。

Datalogic公司的发展小趣事

随着公司业务的不断发展,Datalogic意识到全球市场的巨大潜力。从2000年代开始,公司加快了全球化步伐,通过设立销售和服务中心,覆盖了全球100多个国家。这种全球布局不仅使Datalogic能够更好地服务全球客户,还为公司带来了更多的市场机会。

EMMICRO公司的发展小趣事

作为一家具有社会责任感的企业,EMMICRO公司始终关注环保和社会公益事业。公司积极参与环保活动和公益捐赠,推动企业的可持续发展和社会进步。同时,公司还积极承担对员工的培训和发展责任,为员工提供良好的职业发展平台和福利待遇。这种对社会责任的担当也赢得了社会的广泛赞誉和尊重。

Global Mixed-Mode Technology Inc公司的发展小趣事
设计和实现一个简单的三相缺相报警灯电路,可以使用三个中间继电器分别接在三相电的L1、L2、L3相上,继电器的另一端接零线。继电器的常开触点与报警灯(如黄灯、绿灯、红灯)串联,形成指示灯电路。当三相电正常时,继电器均吸合,常开触点断开,报警灯不亮。当某一相缺相时,对应相的继电器失电,常开触点闭合,使对应的报警灯亮起。同时,可以加入声音警报电路,当任一相缺相时,触发声音警报。
Connor-Winfield公司的发展小趣事

进入20世纪90年代,电子行业的技术革新日新月异。Connor-Winfield敏锐地捕捉到了市场的变化,开始将产品线扩展到其他领域,以满足更多客户的需求。除了石英计时电路和振荡器,公司还开始研发和生产一系列与电子应用紧密相关的产品。这些新产品的推出,不仅进一步巩固了公司在行业内的地位,也为其开拓了更广阔的市场空间。

依必安派特(ebmpapst)公司的发展小趣事

在快速发展的过程中,依必安派特也面临着一些挑战。其中之一就是仿冒产品的泛滥。为了维护品牌形象和客户利益,依必安派特积极打击仿冒产品。例如,在2023年,依必安派特和地方政府联手突击了一家位于广东的仿冒产品工厂,揭示了其造假行为。这一行动不仅保护了依必安派特的品牌声誉和客户信任,也为中国市场的公平竞争环境做出了贡献。

问答坊 | AI 解惑

揭秘开幕式的灯光投影控制系统

在北京奥运会开幕式盛典中,五彩斑斓如梦如幻的灯光无疑是贯穿始终的灵魂。尤其是最后点火仪式中,李宁在一条灯光打出的虚拟卷轴跑道上“飞”过的情形,让人叹为观止。这一切,都有赖于灯光投影控制系统发挥的重要作用。       ...…

查看全部问答>

《单片机智能化产品C语言设计实例详解》源码

目录: 第1章 MCS51单片机及单片机程序C51 1.1 单片机的基本知识1 1.1.1 MCS51单片机的基本组成1 1.1.2 80C51的基本特征2 1.1.3 80C51的引脚定义及功能3 1.1.4 80C51的内部结构4 1.1.5 80C51的存储器配置和寄存器6 1.2 汇编语言与C语言8 1 ...…

查看全部问答>

单片机脉搏测量仪

单片机脉搏测量仪本文介绍一种用单片机制作的脉搏测量仪,只要把手指放在传感器内,很快就可以精确测出每分钟脉搏数,测量的结果用三位数字显示出来。 一、电路工作原理 电路原理见附图。电路由传感器电路、信号放大和整形电路、单片机电路、数码 ...…

查看全部问答>

做网络安全还是STB

有经验的前辈能不能说说是做网络安全还是STB的前景比较好?…

查看全部问答>

急,我的电脑怎么装系统装不上啊!高手们帮帮忙

我的电脑以前也是XP的系统,然后老是出现自动重启,我重新装系统,装一半就卡在那里了.高手们快点帮帮我,…

查看全部问答>

香水救命啊,Jlink和STLink都遇到的下载问题

编译OK用J Link下载 DOWNLOADING  FILES通过,然后PROGRAMING FLASH就永远不会出来了,IAR就死在这里了用 ST Link相同情况J Link偶尔会报错,说写入CPU的 不是MSP就是MPS寄存器错误这是昨天新建 ...…

查看全部问答>

stm32的DMA传输ADC采样数据的问题

我的程序DMA采样循环模式,配置如下:   DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;   DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADCConvertedValue;   DMA_InitStructure.DMA_D ...…

查看全部问答>

STM32中AD转换怎样用外部脉冲上升沿触发?

  用的红牛开发板,现在用TIM3 CH3来捕获外部脉冲上升沿然后进入TIM3的中断,现在想用这个外部脉冲的上升沿控制AD转换,所以我现在想将AD用TIM3的中断来触发,不知道可否实现···   还是直接将用外部脉冲的上升沿控制AD转换??我不知 ...…

查看全部问答>

6个关于Linux您所忽略的事实

       做技术的人肯定对Linux不会陌生,一种开发源码操作系统,由于其功能强大而且又是免费的,所以非常的诱人,但是他有让很多新手望而生畏,因为他的难以安装和配置,下面就让卓跃教育带您一起去深入的了解Linux ...…

查看全部问答>

之前ADI的方案的贴都发在哪个版块的啊

请问:之前ADI的方案的比赛都贴在哪个版块的啊? 我这边的图像处理方案才做l了一部分,后面陆续发帖讨论吧,估计在规定时间内做不完全了,算法太复杂!…

查看全部问答>