ARM时钟初始化】的更多相关文章

2440: S3C2440可以使用外部晶振(XTIpll)(默认为12MHZ)和外部时钟(EXTCLK)两种方式输入时钟信号.它由跳线OM[3:2]决定.S3C2440 默认的工作主频为12MHz(晶振频率),S3C2440有两个PLL:MPLL和UPLL.通过MPLL会产生三个部分的时钟频率:FCLK.HCLK.PCLK.UPLL则负责产生USB所需时钟UCLK. 1.配置LOCKTIME(使用默认值,不需要做) 2.设置分频系数 3.设置处理器为异步工作模式(如果FCLK=!HCLK,一般都…
2440时钟体系,12MHz的晶振 6410时钟体系,12MHz的晶振 210时钟体系,24MHz晶振 时钟初始化:1.设置locktime 2.设置分频系数 4.设置CPU到异步工作模式 3.设置fclk .text .global _start _start: b reset ldr pc, _undefined_instruction ldr pc, _software_interrupt ldr pc, _prefetch_abort ldr pc, _data_abort ldr pc…
u-boot分析(六) 上篇博文我们按照210的启动流程,分析到了关闭看门狗,今天我们继续按照u-boot的启动流程进行分析,今天我们会主要分析时钟的初始化. 今天我们会用到的文档: 1.        Arm9内核手册:http://download.csdn.net/detail/wrjvszq/8358867 2.        Arm11内核手册:http://download.csdn.net/detail/wrjvszq/8358877 3.        Arm a8内核手册:ht…
参考: 1)<USER'S MANUAL-S3C6410X>第三章 SYSTEM CONTROLLER 2)u-boot/board/samsumg/smdk6410/lowlevel_init.S 1. PLL与CLK的关系: 详细关系图见用户手册122页Figure 3-2 The block diagram of clock generator. 三种PLL:APLL,MPLL,EPLL 四种CLK:ACLK,HCLK,PCLK 1)APLL产生ACLK,,ACLK为CPU提供时钟: 2…
#ifndef __SYS_H_ #define __SYS_H_ #include "common.h" #define SystemCoreClock  120000000  //cpu时钟频率,计算时有用 #define ApbClock        120000000   //120M #define EmcClock        60000000    //60M #define UsbClock        48000000    //48M void SystemI…
//文件名p33clk.h #ifndef _P33CLK_H_ #define _P33CLK_H_ //#include "p33clk.h" #define WDT_ENB _SWDTEN = 1 #define WDT_DIS _SWDTEN = 0 //时钟源选择 #define OSCLK0 0 //FRC #define OSCLK1 1 //带PLL+N分频的FRC #define OSCLK2 2 //HS MS LS 外部时钟 #define OSCLK3 3 //…
在startup文件中,调用了2个函数,一个是System_Init, 另一个是main. System_Init()在system_stm32f10x.c 这个文件中,先看一下时钟树,再分析一下这个文件. 上树: 首先:时钟源有4个: OSC_IN / OSC_OUT HSE 外部高速时钟 一般是8MHz OSC32_IN / OSC32_OUT LSE 外部低速系统时钟 32.768kHz   HSI 内部高速时钟 8MHz   LSI 内部低速时钟 40kHz 这3个时钟很有意思,因为st…
    今天自己写bootloader做时钟初始化时遇到的问题,特记录下来.为了方便理解,我大部分都有截图, 在此我先说明下,图均来自数据手冊.也希望看了本篇文章的同志多多參看数据手冊才干理解的更加透彻,才干真正的锻炼自己的能力.以下程序部分我也拆分成了5个部分分别解释,最后也给出了整个程序.本文假设有什么错误的地方.欢迎各位批评指正.不甚感激.     6410有3个内部PLL(Phase Locked Loop:为锁相回路或锁相环,用来统一整合时脉讯号,使内存能正确的存取资料.PLL用于振荡…
1.设置lock time 2.设置分频系数 3.设置CPU到异步工作模式 4.设置 FCLK 了解 芯片的时钟原理图,以及寄存器的作用 了解芯片的晶振频率,锁相环,分频系数,以及有哪些时钟…
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  开发环境:…
花了一天的时间,总算是了解了SystemInit()函数实现了哪些功能,初学STM32,,现记录如下(有理解错误的地方还请大侠指出): 使用的是3.5的库,用的是STM32F107VC,开发环境RVMDK4.23 我已经定义了STM32F10X_CL,SYSCLK_FREQ_72MHz 函数调用顺序: startup_stm32f10x_cl.s(启动文件) → SystemInit() →  SetSysClock () → SetSysClockTo72() 初始化时钟用到的RCC寄存器复位…
在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main.那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使用库函数编写的LED程序,在system_stm32f10x.c文件中可以找到SystemInit()函数,SystemInit()代码如下: void SystemInit (void){/* Reset the RCC clock configuration to the default res…
在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main.那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使用库函数编写的LED程序,在system_stm32f10x.c文件中可以找到SystemInit()函数,SystemInit()代码如下: void SystemInit (void) { /* Reset the RCC clock configuration to the default r…
根据bsp_howto手册,时钟驱动的框架主要在 c/src/lib/libbsp/shared/Clockdrv_shell.h 文件中实现 时钟初始化 时钟驱动初始化函数为 Clock_initialize(),这个函数在哪里被调用了呢? cpukit/include/rtems/clockdrv.h 中定义了 CLOCK_DRIVER_TABLE_ENTRY #define CLOCK_DRIVER_TABLE_ENTRY \ { Clock_initialize, NULL, NULL,…
[嵌入式开发]ARM 内存操作 ( DRAM SRAM 类型 简介 | Logical Bank | 内存地址空间介绍 | 内存芯片连接方式 | 内存初始化 | 汇编代码示例 )     一. 内存 简介 1. 两大内存分类 ( 1 ) DRAM 简介 ( 定期刷新 | 速度慢 | 成本低 ) DRAM 简介 : 1.硬件描述 : DRAM 基本由一个个小电容基本原件组成, 电容的两端保留电荷; 2.优缺点描述 : ① 优点 : 成本很低, 很便宜; ② 缺点 : 需要 定期刷新数据, 速度较慢…
S5PV210初始化系统时钟 S5PV210时钟体系S5PV210中包含3大类时钟domain,分别是主系统时钟domain (简称MSYS,下面将使用简称来进行相关讲解).显示相关的时钟domain (DSYS).外围设备的时钟domain (PSYS).1) MSYS:用来给cortex a8处理器,dram控制器,3D,IRAM,IROM,中断控制器等提供时钟:2) DSYS:用来给显示相关的部件提供时钟,包括FIMC, FIMD, JPEG, and multimedia IPs:3)…
2015.3.27星期五 晴 链接脚本定义代码的排放顺序 硬件系统初始化:一:arm核初始化:(里面有指令)初始化ARM核的时候需要看arm核的手册指令:1.异常向量(最起码有个复位异常,初始化模式-svc) ldr r0, =_start mcr p15, 0, r0, c12, c0, 0 2.处理器模式-SVC3.关闭中断 mrs r0, cpsr bic r0, r0, #0x1f orr r0, r0, #0xd3 @1101 0011 //关闭irq,fiq和设置SVC msr cp…
初步概念: 看datasheet的关于时钟与定时器的部分, FCLK供给cpu, HCLK供给AHB总线设备(存储器控制器,中断控制器.LCD控制器.DMA.USB主机控制器等), PCLK供给APB总线上的设备(watchdog.IIS.i2c. pwm.定时器.ADC.uart.gpio.rtc.spi) 上电时 fclk的时钟等于外部时钟fin, 然后等待LOCKTIME后, 依照MPLLCON寄存器的设置,倍频到高频. UPLLCON专用于USB同于MPLLCON. 关于分频: CLKD…
作者 : 韩曙亮 博客地址 : http://blog.csdn.net/shulianghan/article/details/42462795 转载请著名出处 相关资源下载 :  -- u-boot 源码 : http://download.csdn.net/detail/han1202012/8342761 -- S3C2440 文档 : http://download.csdn.net/detail/han1202012/8342701 -- S5PV210_iROM_Applicati…
一.cpu_init_crit 当执行完时钟初始化后,程序执行: bl    cpu_init_crit 跳转到CPU初始化处进行,在其中主要是执行 caches 的关闭 和 MMU的关闭,之后跳转到 lowlevel_init 中执行,进行系统总线的初始化. 1.1 缓存和MMU的作用 缓存是主存(内存)和CPU通用寄存器之间设置的一个高速的.容量相对较小的存储器,把正在执行的指令地址附近的一部分指令或数据从主存调入这个存储器,供CPU在一段时间内使用,以提高程序的运行速度. mmu可以实现虚…
对于我们的android平台,控制台被定义到了串口1上,因此初始化过程就是把控制台的输出配置到串口1上 对kernel控制台初始化是在挂载文件系统之前,由于没有串口的设备文件,不能通过打开设备文件来访问串口,只能直接访问硬件,更类似与裸机的访问方式. 下面正式来看 板子初始化的过程 android\kernel_imx\arch\arm\mach-mx6\board-mx6q_sabresd.c MACHINE_START(MX6Q_SABRESD, "Freescale i.MX 6Quad/…
源码流程记录 板级文件开始 // arch/arm/mach-omap2/board-aplex_cmi_at101.c MACHINE_START(APLEX_CMI_AT101, "aplex_CMI_AT101") /* Maintainer: Texas Instruments */ .atag_offset = 0x100, .map_io = am335x_evm_map_io, .init_early = am33xx_init_early, ---> am33xx…
1.概念解析 1.1时钟脉冲信号 1.2时钟脉冲频率 1.3时钟源(提供时钟脉冲信号) a.晶振 b.锁相环PLL 2.时钟体系 2440: 晶振的频率.时钟体系有多少个PLL.这些PLL分别产生了哪些时钟.产生的时钟用来做什么的. 采用的是12MHZ,总共有2个PLL分别是MPLL.UPLL,MPLL产生了FCLK.HCLK.PCLK,UPLL产生了UCLK. 6410: 12MHZ晶振,有三个PLL:APLL(产生ARMCLK).MPLL(产生HCLK.PCLK).EPLL(产生SCLK):…
参考: http://blog.csdn.net/mr_raptor/article/details/6555734 http://blog.csdn.net/mjx91282041/article/details/8887729 系统时钟 MINI2440开发板在没有开启时钟前,整个开发板全靠一个12MHz的晶振提供频率来运行,也就是说CPU,内存,UART等需要用到时钟频率的硬件都工作12MHz下,而S3C2440A可以正常工作在400MHz下,两者速度相差可想而知,就好比牛车和动车.如果C…
GET通经常使用于包括定义常量的源文件. 比如:GET 2440addr.inc 用AREA定义一个段.ENTRY用于指定程序的入口点,END用于告诉汇编器源文件已经结束. 比如: AREA init, CODE, READONLY ENTRY ...... END EQU用于定义常量,提醒:在每条ARM指令前必须有空格.可是用EQU定义常量时,必须顶格写,否则编译器报错. LTORG用于声明一个文字池,所谓文字池就是一个数据缓存区. ALIGN伪操作通过调整地址指针,使得当前地址满足一定的对齐…
Linux内部的时钟处理机制全面剖析 在 Linux 操作系统中,很多活动都和时间有关,例如:进程调度和网络处理等等.所以说,了解 Linux 操作系统中的时钟处理机制有助于更好地了解 Linux 操作系统的运作方式.本文分析了 Linux 2.6.25 内核的时钟处理机制,首先介绍了在计算机系统中的一些硬件计时器,然后重点介绍了 Linux 操作系统中的硬件时钟和软件时钟的处理过程以及软件时钟的应用.最后对全文进行了总结. ◆1.计算机系统中的计时器 在计算机系统中存在着许多硬件计时器,例如 …
/** ****************************************************************************** * @author    Maoxiao Hu * @version   V1.0.1 * @date       Dec-2014 ****************************************************************************** * < COPYRIGHT 2014 IS…
转载自:http://cxb4224.blog.163.com/blog/static/191224151201110220325976/ ARM处理器的工作状态和工作模式 工作状态 ARM处理器一般可以工作在两种状态下:ARM状态和Thumb状态. ARM状态是指处理器执行32位的字对齐的ARM指令程序时的工作状态.Thumb状态是指处理器执行16位的.半字对齐的Thumb指令程序时的工作状态.在程序设计时,程序员可以控制ARM处理器的工作状态,并可以在这两种状态之间进行切换. ARM处理器的…
ARM支持16个协处理器,在程序执行过程中,每个协处理器忽略属于ARM处理器和其他协处理器指令,当一个协处理器硬件不能执行属于她的协处理器指令时,就会产生一个未定义的异常中断,在异常中断处理程序中,可以通过软件模拟该硬件的操作,比如,如果系统不包含向量浮点运算器,则可以选择浮点运算软件模拟包来支持向量浮点运算 ARM协处理器指令包括如下三类: 1用于ARM处理器初始化ARM协处理器的数据操作 2:用于ARM处理器的寄存器和ARM协处理器的寄存器间的数据传送操作 3:用于在ARM协处理器的寄存器和…
 问个笨蛋的问题,,电脑主板的主频是由外部时钟倍频得来,还是内部时钟倍频?? [ARM11]瘋子 2015/5/5 19:08:16 @蓝凌风 [x86]蓝凌 2015/5/5 19:08:25 外部[x86]蓝凌 2015/5/5 19:08:33 倍频 [ARM11]瘋子 2015/5/5 19:08:48 [ARM11]瘋子 2015/5/5 19:09:02 [ARM11]瘋子 2015/5/5 19:09:20 这个是A9的,,由24M---1.5g,,19:11:16[x86]蓝凌 …