dsPIC33EP 时钟初始化程序】的更多相关文章

//文件名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 //…
1.概述 在内核源代码的 init/目录中只有一个 main.c 文件. 系统在执行完 boot/目录中的 head.s 程序后就会将执行权交给 main.c.该程序虽然不长,但却包括了内核初始化的所有工作.因此在阅读该程序的代码时需要参照很多其它程序中的初始化部分.如果能完全理解这里调用的所有程序,那么看完这章内容后你应该对Linux 内核有了大致的了解.从本文开始,我们将接触大量的 C 程序代码,因此读者最好具有一定的 C 语言知识.最好的一本参考书还是 Brian W. Kernighan…
参考: 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…
    今天自己写bootloader做时钟初始化时遇到的问题,特记录下来.为了方便理解,我大部分都有截图, 在此我先说明下,图均来自数据手冊.也希望看了本篇文章的同志多多參看数据手冊才干理解的更加透彻,才干真正的锻炼自己的能力.以下程序部分我也拆分成了5个部分分别解释,最后也给出了整个程序.本文假设有什么错误的地方.欢迎各位批评指正.不甚感激.     6410有3个内部PLL(Phase Locked Loop:为锁相回路或锁相环,用来统一整合时脉讯号,使内存能正确的存取资料.PLL用于振荡…
/* 松瀚 SN8P2501B 定时器初始化程序 */ INI_IRQ: ;定时器T0初始化 MOV A, #01100000b ;定时器模式Fcpu/4 16M/4/4=1M 1U计一次 B0MOV T0M, A ; MOV A, #256-100 ;计数寄存器赋初值(定时100U) MOV T0C, A ; B0BCLR FT0IRQ ;清中断标志 B0BSET FT0IEN ;允许T0中断 B0BSET FT0ENB ;启动T0 ;定时器TC0初始化 MOV A,#01110100B ;自…
/* 松瀚 SN8P2711 2722 ADC初始化程序 及应用实例 */ INIT_ADC: MOV A, #0XB2 // 启动ADC电路 使能AIN通道 B0MOV ADM, A MOV A,#0XF0 B0MOV ADR,A ; Fad = 1/2 Fcpu 设置ADC转换速率 ; 纯模拟输入口设置 MOV A,#0X1C ;设置 P4.2 3 4为模拟AD口 B0MOV P4CON,A RET //---应用实例----- //*****************************…
#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…
ARM裸板开发过程,程序的链接地址设置为为0x30000000,而前期的启动代码以及相关硬件的初始化代码需要在内部iRAM(steppingstone,起始地址0x0)的4K中运行.链接地址与运行地址(程序启动后PC从0x0位置执行)不一致时,不能出现位置相关代码.文中主要针对 SDRAM 初始化程序地址无关码问题进行了简单的分析. (本文的由来是我在学习韦东山系列 ARM 裸板开发过程遇到的一个问题所引发的.在虚拟内存(MMU)操作部分,他提到了 SDRAM 初始化过程应该用位置无关的代码实现…
在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…
浏览器默认标签样式总结及css初始化程序   html中的大部分的标签都有一些糟糕的样式,有的是标签天然自带的,有的是浏览器默认设置的,我们在写网页时,这些默认的样式就会时不时的跳出来捣一下乱,搞得我们很是无奈.所以成手在写css样式时,一般都会在开头写一段初始化程序,来去掉这些默认样式,比如最简单的方法就是使用*{margin:0:padding:0:}.但是通常我们很少使用这种方法,因为通配符*的效率极低.那我们应该使用哪种方法呢,下面博主就来为大家介绍一些常用的方法. 一.浏览器默认样式总…
html中的大部分的标签都有一些糟糕的样式,有的是标签天然自带的,有的是浏览器默认设置的,我们在写网页时,这些默认的样式就会时不时的跳出来捣一下乱,搞得我们很是无奈.所以成手在写css样式时,一般都会在开头写一段初始化程序,来去掉这些默认样式,比如最简单的方法就是使用*{margin:0:padding:0:}.但是通常我们很少使用这种方法,因为通配符*的效率极低.那我们应该使用哪种方法呢,下面博主就来为大家介绍一些常用的方法. 一.浏览器默认样式总结 在介绍初始化程序之前,我们先了解一下都有那…
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…
//文件 p33timer1.h #ifndef _P33TIMER1_H_ #define _P33TIMER1_H_ //#include "p33timer1.h" #define TIMER1_IEN_ENB _T1IE = 1 #define TIMER1_IEN_DIS _T1IE = 0 //timer1输入时钟分频 #define TIMER1_DIV1 (0<<4) #define TIMER1_DIV8 (1<<4) #define TIME…
吐槽一下MSP430需要明白的东西: 在430中,一个时钟周期 = MCLK晶振的倒数.如果MCLK是8M,则一个时钟周期为1/8us: 一个机器周期 = 一个时钟周期,即430每个动作都能完成一个基本操作: 一个指令周期 = 1-6个机器周期,具体根据具体指令而定. 另:指令长度,只是一个存储单位与时间没有必然关系. MSP430根据型号的不同最多可以选择使用3个振荡器.我们可以根据需要选择合适的振荡频率,并可以在不需要时随时关闭振荡器,以节省功耗.这3个振荡器分别为: (1)DCO  数控R…
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<  开发环境:…
//TIM3 分频 #define TIM3_DIV1 (1-1) #define TIM3_DIV18 (18-1) #define TIM3_DIV72 (72-1) //************************************* // 函数名:TIM3_NVIC_Configuration // 描述 :TIM3中断优先级配置 // 输入 :无 // 输出 :无 //************************************* void TIM3_NVIC_C…
哎,好久没上博客园发东西了,上一次还是两个月前的五一写的一篇计算器博客,不过意外的是那个程序成了这学期的Java大作业,所以后来稍微改了一下那个程序就交了上去,这还是美滋滋.然后五月中旬的时候写了一个2048小游戏,由于写完第二个版本第二天就生病了,休养了好几天才缓过来,最后嫌麻烦就没发园子里了,直接挂Github上了.然后又忙着准备期末,期末玩休息了5天又开始数据库课程设计,用Java写了一个小系统,花了一个星期左右,写了差不多3500行了.然后写完就放学了,放学的日子就感觉自己开始懒散了,静…
本篇内容讲解了Prism应用程序启动和运行都发生了什么.一个Pris应用程序在程序启动期间需要注册和配置——这被叫做引导应用程序.Prism引导过程包括创建和配置一个模块目录,创建一个例如Unity的依赖注入容器,为组合式UI配置默认区域适配器,创建和初始化壳视图,还有初始化模块们. 什么是引导器? 引导器是一个负责初始化Prism应用程序的类.通过使用引导器,你可以更多的控制Prism组件连接到你的应用程序. Prism包括一个默认抽象Bootstrapper 基类,可以使用任何容器.多数在引…
This topic addresses what needs to happen to get a Prism for WPF application up and running. A Prism application requires registration and configuration during the application startup process—this is known as bootstrapping the application. The Prism…
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…
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>时钟</title> <script type="text/javascript"> function toDouble(num)//不满两位,空位补零 { if(num<10) { return '0'+num;//一…
简单分析: package clockApplet; import java.applet.Applet; import java.awt.Color; import java.awt.Graphics; import java.util.Calendar; import java.util.GregorianCalendar; public class ClockApplet extends Applet implements Runnable { /* 成员变量 */ int x = 0,…
花了一天的时间,总算是了解了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…
一.分析程序的目的 最近我在移植实时系统是遇到了一些问题,所以决定深入了解系统时钟的配置过程,当然想要学好stm32的小伙伴也有必要学习好时钟系统的配置,所以我将学习的过程再次记录,有写得不好的地方,望小伙伴指出. 之前我已经记录过一篇关于时钟系统的文章,对程序中不了解的地方可以看我之前的笔记"STM32时钟系统的配置寄存器和源码分析". 这里我用的芯片是STM32F103C8T6,用的库函数是厂家提供的案例中提取出来的,这里可能和其他型号的mcu有细微差别,但是原理都是一样的. 二.…
实现: 结构: 对象:时钟  - 对象:小时                 - 对象:分钟 小时和分钟具有相同属性(值,上限),可以用一个类Display来定义这两个对象: 但是两者之间又具有联系(当分钟达到上限时,小时要加1),但两者同属于一个类里,不能产生直接联系,这时我们用另外一个类Clock来对它们进行管理: 首先用Clock类来定义一个clock的对象,用它来管理两个Display类型的对象,也即是clock的成员变量(min,hour),来管理它们之间的关系,再做显示: 总结:一个…
#include <stdio.h> #include <stdlib.h> #include <string.h> #define ARGC_NUM 3 #define MAX_STR_NUM 6 #define H_AND_M_NUM 3 #define DELIMS ":" #define M_2_S 60 #define D_2_H 24*M_2_S int findH_M(char*str, char*h, char*m) { char*…
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,一般都…
1.设置lock time 2.设置分频系数 3.设置CPU到异步工作模式 4.设置 FCLK 了解 芯片的时钟原理图,以及寄存器的作用 了解芯片的晶振频率,锁相环,分频系数,以及有哪些时钟…