1.前言 k64 datasheet描述了Freescale MCU的特性.架构和编程模型,主要是面向使用MCU的系统架构和软件应用开发人员. 2.模块划分 datasheet主要按功能对模块进行划分,包括如下模块: 模块名称 模块说明 ARM® Cortex®-M4 core ARM Cotex M4 32-bit MCU core,加上DSP指令和基于ARMV7架构的单精度浮点单元 System 系统集成模块? 电源管理和多模式控制 唤醒单元 杂项控制模块 Crossbar switch ?…
1.前言 本文是对K64 datasheet 之ENET部分的功能描述,将对每个部分进行详细说明 2.Ethernet MAC frame formats MAC帧组成格式 (1)7字节前导码:如按最低位先传则为0x55 0x55 0x55 0x55 0x55 0x55: (2)起始帧定界符(SFD):如按最低位先传则为0XD5: (3)2个地址域:包括源MAC地址和目的MAC地址: (4)VLAN-tagged :可选,占4字节 (5)长度或类型域:代表有效负荷的长度或者类型,以太网802.3…
1.前言 本文主要介绍K64地址空间的映射 2. System Memory Map 3. K64地址映射 4. Armv7m地址映射 4.1 Armv7M.System地址段(0XE0000000~0xFFFFFFFF) 4.1.1  Armv7M.System.SCS地址段(0XE000E000~0XE000EFFF) 4.1.1 .1 Armv7M.System.SCS.SCID(0XE000E000~0XE000EFFF) Armv7M.System.SCS.SCID.SCB地址段(0X…
0.前言 本文主要介绍DMA相关内容 1.简介 DMA模块包含: 1.一个DMA引擎 源和目的地址的计算 数据搬移 2.本地存储的传输控制描述TCD,对于16个传输通道中的每一个各对应一个TCD 1.1 总体框图 1.2 框图组件 1.DMA模块分为两个部分:DMA引擎和TCD 2.DMA引擎进一步分为4个子模块 3.TCD进一步分为两个部分 1.3 特性 所有数据搬移都是基于两个地址 16通道实现 TCD组织为嵌套的传输 三个方法可以激活通道 (1)明确的软件启动 (2)为了连续传输,由通道到…
0.前言 本章主要介绍DMA MUX的相关内容 1.简介 1.1 概述 用来路由DMA源到16路DMA通道: 1.2 特性 1.52个外设slot和10个常开slot可以路由到16路DMA通道 2.16个独立的可选的DMA通道路由,其中前4个通道提供周期触发功能 3.每个DMA通道可以路由指定给52个slot和10个常开slot的任意一个 1.3 操作模式 1.disable模式 DMA通道被禁用 2.normal模式 一个DMA源被路由到一个特定的DMA通道 3.周期触发模式 一个DMA源只能…
1.前言 k64 ENET CORE 实现了10M/100Mbps的Ethernet MAC,与IEEE802.3-2002标准兼容. MAC层与全双工/半双工的10M/100Mbps以太网兼容: MAC操作可实现全编程,可以用在网络接口卡.bridging,switching applicaton The core implements the remote network monitoring (RMON) counters according to IETF RFC 2819 ?? ENE…
1.前言 UART实现与外设或CPU的通信 2. UART概述 2.1基本特性 (1)Full-duplex operation (2)Standard mark/space non-return-to-zero (NRZ) format? (3)Selectable IrDA 1.4 return-to-zero-inverted (RZI) format with programmable pulse width? (4)13-bit baud rate selection with /32…
1.前言 本文主要讲述K64时钟配置相关的内容. 2.clock overview 2.1 clock diagram 2.2 对clock diagram的信号说明 (1)MCG决定哪个clock source用作系统时钟,系统主要的时钟来自于MCGOUTCLK (2)系统时钟源的选择和配置主要由MCG模块控制 (3)时钟分频和clock gate的配置主要SIM模块控制 2.3 device clocks summary 注: 如下为内部时钟需求 1. The core and system…
1.前言 本文主要讲述K64芯片配置,关于模拟部分的内容,主要包括:ADC, CMP, DAC, VREF 2.16bit SAR ADC 从上图可以看出ADC主要挂在外设总线0上,由于ADC的输入引脚需要做MFP配置,因此与signal multiplexing连接,同时由于其它模块可以触发ADC采集,以及DMA操作,因此也与其它外设关联 2.1 ADC相关信息 1.物理上包含两路ADC 2.关于ADC通道 从ADC框图上可以看出,支持24路单端ADC,四路差分ADC,对应28个输入信号(DA…
0.前言 MCG模块为MCU提供了几种可选时钟源.模块包含一个FLL和一个PLL.FLL使用内部或外部参考时钟是可控的,PLL受外部参考时钟控制 模块可以选择FLL或PLL输出时钟,或内/外部参考时钟作为MCU系统时钟源 1.特性和模式 1.1 特性 1.FLL 数字控制OSC(DCO) DCO频率范围可通过编程达到4个不同的频率范围 对于低频外部参考时钟源通过编程最大化DCO输出频率 如果FLL参考频率未变,切换时钟模式时可保证当前的频率不被重置?? 内部或外部参考时钟可用做FLL时钟源 可以…
1.前言 OSC模块是一个晶体振荡器. 该模块使用晶体或谐振器与外部连接,为MCU产生一个参考时钟. 主要为下图红色框住的部分 2.特性和模式 Supports 32 kHz crystals (Low Range mode)• Supports 3–8 MHz, 8–32 MHz crystals and resonators (High Range mode)• Automatic Gain Control (AGC) to optimize power consumption in hig…
0.前言 本文主要介绍K64的ADC部分的特性,内部架构,信号描述及操作接口等 1.简介 1.1.ADC模块特性 线性逐次逼近算法,达16bit分辨率 达到4对差分和24个单端模拟量输入 输出模式 差分为16bit,13bit,11bit和9bit模式 单端为16bit,12bit,10bit和8bit模式 对于差分输出格式为带符号扩展的16bit的2的补码 对于单端输出格式为右对齐无符号格式 支持单次或连续转换 可配置采样时间和转换速率 转换完成或硬件平均完成标志和中断 有四路输入时钟源可选…
1.前言 FlexBus多功能外部总线接口控制器是一个硬件模块: (1)通过并行总线提供存储器扩展或与外设连接: (2)如下的同步或异步的slave-only设备可以直连到FlexBus总线或者只需增加少量的元器件进行连接: 外部ROMs.Flash存储器.可编程逻辑设备.其它的简单slave设备 2.特性 FlexBus提供了如下的特性: (1)6个独立的,用户可编程的片选信号FB_CS0~FB_CS5; (2)可配置为地址和数据总线复用或者不复用,可配置8bit, 16bit, 32bit端…
1.前言 Features of the SIM include: System clocking configuration(1)System clock divide values(2) Architectural clock gating control(3) USB clock selection and divide values(4) SDHC clock source selection(5) Ethernet 1588 timestamp and RMII clock sourc…
1.前言 Port Control and Interrupt (PORT)  模块提供了port control,digital filtering,和外部中断功能 每个pin的大部分功能可被独立配置,不管pin用作何种功能,对pin的配置都会起作用 2.特性 Pin interrupt 每个pin都有中断标志和中断使能寄存器 每个pin支持边沿触发和电平触发寄存器配置 每个pin支持中断或DMA请求配置 低功耗模式下的异步唤醒 在所有的pin muxing mode下都具有pin中断功能??…
1.前言 GPIO模块支持8bit 16bit 32bit访问,当被配置为GPIO功能时,GPIO数据方向和数据寄存器控制了每个引脚的输出方向和输出数据 不管GPIO配置为何种功能,GPIO输入寄存器显示逻辑值 2.GPIO特性 在所有多功能模式下pin端口数据是都可视的 数据输入寄存器包含set/clear/toggle 包含数据方向寄存器 通过IOPORT可以0等待访问GPIO寄存器 注:GPIO模块由system clock来驱动 3. GPIO模块操作模式 4.GPIO信号描述 注:并不…
0.前言 TODO 1.特性 TODO 4. 功能描述 4.1 PDB pre-trigger and trigger outputs PDB包含一个计数器,它的输出可以跟几个不同的数字值比较.如果PDB使能,触发输入事件可以重置计数器并使之开始计数. 触发输入源是一个上升沿信号,delay m定义了触发输入事件assert到pre-trigger m输出信号启动的延时时间.时间定义如下: • Trigger input event to pre-trigger m = (prescaler X…
1.前言 本文主要描述多功能引脚相关的内容,包括5个32位的引脚的端口,每个32pin端口被指定一个中断 2.Signal Multiplexing Integration 3. Port control and interrupt summary 4. PCRn reset values for port A PCRn bit reset values for port A are 1 for the following bits:• For PCR0: bits 1, 6, 8, 9, an…
1.前言 本文主要概略讲述GPIO相关的内容 2.GPIO configuration 注: GPIO模块没有访问保护,因为他没有连接到peripheral bridge slot上,不受MPU保护 3.参考文献 [1] K64P144M120SF5RM.pdf…
1.前言 对定时器相关的芯片配置做一概述 2.PDB配置 2.1 PDB介绍 PDB输出触发: PDB输入触发连接: 2.2 PDB模块交互 2.3 back-to-back确认连接 In this MCU, PDB back-to-back operation acknowledgment connections are implemented as follows:• PDB channel 0 pre-trigger 0 acknowledgement input: ADC1SC1B_CO…
1.前言 本文主要讲述chip configure之clock配置相关的内容,主要包含如下三个部分: MCG configuration:Multipurpose clock generator OSC configuration RTC OSC confiuration 2.clock module configuration 2.1 MCG Configuration MCG有多个时钟源可选,主要通过MCG_C7[OSCSEL] 来进行设置: 2.2. OSC Configuration T…
1.前言 本文主要介绍芯片配置的系统模块的内容 2.SIM配置 TODO 3.SMC配置 TODO 4.PMC配置 TODO 5.LOW-LEAKAGE WAKEUP单元配置 TODO 6.MCM配置 TODO 7.cross switch配置 TODO 8.MPU配置 TODO 9.外设桥 TODO 10.DMA请求多路选择配置 从上图可以看出可以多个module向 DMA MUX发出DMA请求,DMA MUX将把DMA请求路由给DMA控制器 10.1 DMA多路请求源 10.2 通过PIT触…
1.前言 FSMC模块能够与同步或异步存储器和16位PC存储器卡接口,它的主要作用是: 将AHB传输信号转换到适当的外部设备协议 满足访问外部设备的时序要求 所有的外部存储器共享控制器输出的地址.数据和控制信号,每个外部设备可以通过一个唯一的片选信号加以区分.FSMC在任一时刻只访问一个外部设备. 2.FMSC的主要功能 与具有静态存储器接口的器件接口,包括: ─ 静态随机存储器(SRAM) ─ 只读存储器(ROM) ─ NOR闪存 ─ PSRAM(4个存储器块) 两个NAND闪存块,支持硬件E…
1.前言 本文主要从应用的角度介绍ARMV8的编程模型和存储模型 2. AArch64应用级编程模型 从应用的角度看到的ARM处理器元素: 可见的元素(寄存器/指令) 说明 可见的寄存器 R0-R30.SP.    PC. V0-V31. FPCR.   FPSR 可见的PSTATE位 NZCV DAIF 可见的系统寄存器 Cache ID registers Debug registers Performance Monitors registers Thread ID registers T…
前言: 什么是RDMA? 简单来说,RDMA就是指不通过操作系统(OS)内核以及TCP/IP协议栈在网络上传输数据,因此延迟(latency)非常低,CPU消耗非常少. 下面给出一篇简单介绍RDMA的文章之中英文对照翻译. Introduction to Remote Direct Memory Access (RDMA) | RDMA概述 1. What is RDMA? | 什么是RDMA Direct memory access (DMA) is an ability of a devic…
Ext.Net学习笔记21:Ext.Net FormPanel 字段验证(validation) 作为表单,字段验证当然是不能少的,今天我们来一起看看Ext.Net FormPanel的字段验证功能. 约束功能 为了防止用户输入不合法的数据,我们可以使用约束功能来限制用户的输入,例如TextField的 MinLength/MaxLength,NumberField的MinValue/MaxValue,DateField的MinDate /MaxDate等属性,它们可以将用户输入的值限定在一个合…
目标:编写SQL动态查询,防止SQL注入 通常所说的“SQL动态查询”是指将程序中的变量和基本SQL语句拼接成一个完整的查询语句. 反模式:将未经验证的输入作为代码执行 当向SQL查询的字符串中插入别的内容,而这些被插入的内容以你不希望的方式修改了查询语法时,SQL注入就成功了. 传统的SQL注入案例中,所插入的内容首先完成了一个查询,然后再执行第二个完整的查询逻辑比如:@bugId的值是 1234;Delete from Bugs,最后的SQL语句变成如下格式: Select * from B…
1.前言 2.异常类型描述 见 ARMV8 datasheet学习笔记4:AArch64系统级体系结构之编程模型(1)-EL/ET/ST 一文 3. 异常处理路由对比 AArch32.AArch64架构下IRQ 和Data Abort 异常处理流程图对比. 3.1 IRQ 路由 3.1.1.   AArch32 IRQ 路由 图 AArch32 IRQ 路由 3.1.2.    AArch64 IRQ 路由 图 AArch64 IRQ路由 图 AArch64 IRQ向量查找 3.2.     D…
什么是DMA(Direct Memory Access) DMA绕过CPU,在内存和外设之间开辟了一条 "隧道" ,直接控制内存与外设之间的操作,并完全由硬件控制. 这样数据传送不经过cpu,不需要保护.恢复CPU现场等一系列操作,减少开销. 如何运行 向cpu索要系统总线:接受外设发出的DMA请求,并向CPU发出总线请求.CPU响应总线请求,发出总线响应信号,接管总线控制权,进入DMA操作周期. 在系统总线上,进行内存和外设之间的数据传输:确定传送数据的主存单元地址及长度,并能自动修…
DMA(Direct Memory Access),这里的 memory,指的是计算机的内存,自然与外存(storage)相对.这里的关键词在 Direct (直接),与传统的相对低效的,需要通过 CPU 来访问内存(此为 indirect,间接)的方式相对. DMA 实际上是盗用了总线时间来传输数据,而且由于是硬件处理,所以大大加速了数据复制速度! 1. 基本概念 辅存狭义上是平时讲的硬盘,准确地说,是外部存储器(需要通过 I/O 系统与之交换数据,全称为辅助存储设备). RAM 与 ROM:…