当前位置:文档之家› 从S08 到Kinetis E 系列移植指南

从S08 到Kinetis E 系列移植指南

从S08 到Kinetis E 系列移植指南
从S08 到Kinetis E 系列移植指南

1简介

Kinetis E (KE) 系列是采用稳健技术、新式 5 V I/O 焊盘和ARM ? Cortex ? M0+ 内核的首款 Kinetis MCU 。 此 KE 系列还针对不同的外设模块引入了许多新功能。 这些新功能使得 KE 系列有更低的功耗、更好的 EFT/ESD 保护和更高的性能。

本应用说明概述了 S08(主要指 S08P )与 KE 产品系列之间的主要差别,并提供了代码转换建议方法以帮助缩短学习时间。

2设备概述

Kinetis E 系列设备面向家用电器细分市场,具有以下特性。?基于运行频率高达 20 MHz (对于 KE02)/48 MHz (对于其他 KE )的 ARM Cortex-M0+ 内核,提供位处理引擎 (BME)

?高达 128 KB 闪存?高达 16 KB SRAM

?ROM (仅限某些 KE 成员)

?结合内部参考时钟 (IRC) 的时钟发生器?晶体振荡器和 FLL

?多达 3 个具有 LIN 从机功能的 SCI ?多达 2 个 SPI ? 2 个 I2C

? 1 个 CAN (仅限某些 KE 成员)? 3 个 16 位

FlexTimer

Application Note

Rev 0, 07/2013

从 S08 到 Kinetis E 系列移植指南

通过:William Jiang

? 2013 Freescale Semiconductor, Inc.

内容

1简介.........................................................................12设备概述.................................................................13编程模型................................................................34嵌套向量中断控制器 (NVIC)...............................95位操作引擎(BME )..........................................106时钟模块..............................................................137系统集成模块(SIM )........................................158电源管理控制器 (159)

闪存、EEPROM 和闪存控制器模块.................1610引脚分配变化.......................................................1611安全功能增强.......................................................1612端口控制和 GPIO................................................1713定时器模块...........................................................1914调试.......................................................................2115ADC 模块.............................................................2216参考.......................................................................2317术语表. (2318)

修订历史记录 (23)

? 1 个 PWT

? 1 个 32 位双通道 PIT

?RTC

?符合 IEC60730 规范的看门狗

?CRC

?多达 16 通道的 12 位 ADC,提供 8 级 FIFO

? 2 个 ACMP

?16 通道 TSI 用于触控输入(仅限某些 KE 成员)

? 4 通道 DMA(仅限某些 DMA 成员)

?多达 82 个 GPIO 引脚,8 个高驱动引脚支持 20 mA

?支持 2.7–5.5 V 工作电压的嵌入式电压调节器,通电复位,可编程的低电压检测器

?两种低功耗模式

?长达 10 字节的独特芯片 ID

?单线调试 (SWD) 接口

?支持 –40 °C 到 +105 °C 的宽广温度范围

与 S08 设备(S08AC、S08P)相比,KE 系列采用 ARM Cortex-M0+ 内核、BME 和 32 位设备,大多数外围设备与S08P 类似。下表汇总了这些系列之间的主要特性比较:

ARM Cortex M0+ 是市场上尺寸最小、功耗最低的 ARM 处理器,与其他所有 Cortex-M 内核兼容。 以下是该处理器相比 8 位微处理器的优势。

?这是迄今设计出来的能效最高的 32 位处理器,相比 8/16 位处理器,在能效方面具有明显的优势。在降低功耗的同时,仍能实现 2.15 CoreMark/MHz (ARM 编译器 5.0.3 版)的高性能,这是 8/16 位处理器的 2 到 40 倍,并且比 Cortex-M0 高 9%。

?此外,它的编码效率也高于 8 位和 16 位 CPU 。

?由于采用了支持 C 语言的体系结构,为动态异常处理程序提供可重定位向量表(可将向量表移入 RAM ),包含简单的指令集并整合了功能最丰富的开发生态系统,因此,与 8 位微处理器产品相比,能够使软件开发变得简单而快速。有关此处理器的详细信息,请访问: https://www.doczj.com/doc/835781869.html, 。

3编程模型

3.1寄存器集

本节阐述 S08 系列可用的寄存器,以及 Kinetis E 系列使用的 ARM Cortex-M0+ 处理器。

以下是 S08 系列的寄存器集合。

?一个累加器 A ,即通用型 8 位寄存器,用作算术与逻辑运算以及内存加载/存储指令的目标和源。?一个 16 位索引寄存器 H:X ,用作索引引用指

针,X 可用作 8 位通用型寄存器。?一个 16 位堆栈指针(SP ),指向自动后进先出(LIFO ) 堆栈上的下一个可用位置。?除了 16 位程序计数器(PC )外,还有一个 8 位条件代码寄存器 (CCR ),其中包含中断掩码 (I ),以及五个标志用于指示最近执行的指令的结果。以下是 KE 系列使用的 Cortex M0+ 内核寄存器的说明。?16 个 32 位寄存器 R0-R15

?R0-R12 基本上可用于所有指令?R13 用作堆栈指针

?R14 用作链接寄存器(用于子例程和异常返回)?R15 用作程序计数器

Cortex-M0+ 内核寄存器都不可直接寻址。 由于所有的 Cortex-M0+ 内核寄存器都是 32 位,因此能够有效支持 32 位算术和逻辑运算。

除了 R0-R15 通用型寄存器外,Cortex M0+ 还有一些专用的寄存器,例如程序状态寄存器、异常屏蔽寄存器、中断屏蔽寄存器和控制寄存器。

?程序状态寄存器(xPSR ):具有多个别名的单个 32 位寄存器,每个别名提供不同内容子集的视图。 PSR 结合了以下寄存器。

?应用程序状态寄存器(APSR ):APSR 基于用户立场包含了 ALU 状态标志。?中断程序状态寄存器 (IPSR ):此寄存器包含当前正在执行的中断数(如果当前没有任何活动的中断,则为零),以供操作系统和异常处理使用。?执行程序状态寄存器 (EPSR ):包含反映执行状态的位,不可直接访问。有关 Cortex M0+ 寄存器及其功能的详细信息,请参见以下网站上提供的《Cortex-M0 设备常规用户指南》: https://www.doczj.com/doc/835781869.html,

3.2寻址模式

寻址模式定义了 CPU 访问操作数和数据的方式。 S08 支持多个寻址模式。 下面列出了这些模式。?固有寻址模式(INH )?相对寻址模式 (REL )?直接寻址模式 (DIR )

?索引寻址模式,具体如下:

?无偏移 (IX )

?无偏移带后增量 (IX+)?8 位偏移 (IX1)

?8 位偏移带后增量 (IX1+)?16 位偏移 (IX2)

?SP 相对 8 位偏移 (SP1)?SP 相对

?16 位偏移 (SP2)?内存间寻址模式,具体如下:

?直接-直接?立即-直接

?索引-直接带后增量?直接-索引带后增量

Cortex-M0+ 寻址模式可以很方便地应用到内存访问,并具有以汇编语言表达的偏移寻址模式:[,]。

3.3指令集

S08 支持 8 位指令集。 指令的长度可变,经扩展后可以包括指令流中长度为 1-4 字节的操作数。

Cortex-M0+ 支持部分 Thumb-2 指令集。 尽管大多数指令都是 16 位,但也有少量的 Thumb 指令是 32 位,例如 BL 、DMB 、DSB 、ISB 、MRS 和 MSR 。 一个重要的差别在于,指令不能扩展为包括操作数数据。 有关指令的任何信息必须在指令本身内部编码。 这种限制的后果之一是无法在指令中指定任意 32 位常数或地址,因此,必须采用其他方法来实现此目的。 支持 Cortex-M0+ 的所有 C 编译器都毫无限制地允许程序员使用此功能。

3.4工作模式

S08 可在以下模式下工作。

?运行、等待和停止模式:等待和停止模式是低功耗模式,可分别通过执行 WAIT 和 STOP 指令进入。 有关这些模式的详细信息,请参见电源管理控制器 。

?后台调试模式:后台模式功能通过 S08 内核中的后台调试控制器 (BDC) 管理。 在软件开发过程中,可以结合使用 BDC 和片上调试模块 (DBG) 进行 MCF 操作分析。 有关后台调试的详细信息,请参见调试 。

?安全模式:处于安全模式时,将会限制从外部访问内部内存,以便只有从安全内存中提取的指令才能访问安全内存。 当代码从内部内存运行时,可以访问所有资

源而不存在任何限制。

Cortex-M0+ 支持两种模式。

?线程模式(用于用户进程):此模式用于执行应用软件。

?处理器模式:此模式用于处理异常情况,发生异常时,将自动进入此模式。

同时还定义了“权限”的概念。无权限的执行只能访问或者根本无法访问某些资源(例如,无权限代码无法屏蔽或取消屏蔽中断)。处理器模式执行始终是有权限的。默认情况下,线程模式也是通过权限执行的,但程序员可将线程模式配置为不使用权限执行。可以使用这种配置来提供某种程度的系统保护,以防止不良或恶意程序的破坏。3.5堆栈

S08 堆栈朝低位 RAM 地址(即以降序)扩展。堆栈可定位在使用 RAM 的 64 KB 地址空间内的任意位置,并可以采用任何大小,但不能超过可用的 RAM 量。通常将其放置在内部 SRAM 中以实现最佳性能。可按字节访问堆栈。堆栈指针(SP)指向堆栈上的下一个可用位置,复位时将初始化为 0x00FF;此地址位于直接页面寄存器段或 RAM 中。但是,建议让应用代码重新初始化 SP,使其指向 RAM 的最后一个位置,如以下示例中所示:

LDHX #RamLast+1 ; Point at next addr past RAM

TXS ; SP <-(H:X)-1

在此情况下,至少需要耗时五个 CPU 周期才能重新初始化堆栈。

堆栈指针在存储或推送操作之后将会递减,在加载或弹出操作之前将会递增。

Cortex-M0+ 支持当前堆栈指针寻址到的满递减堆栈(类似于 S08 堆栈)。但是,堆栈指针指示堆栈内存中的最后一个堆栈条目。堆栈大小仅受可用 RAM 空间的限制。 Cortex-M0+ 堆栈指针通常初始化为已分配堆栈区域顶部上方的字(32 位)。复位时初始化堆栈指针不需要任何 CPU 指令(即 CPU 周期)。由于堆栈模块是满递减的,因此,堆栈指针在第一次存储之前会递减,并将第一个字放置在已分配区域顶部的堆栈上。 Cortex-M0+ 上的所有堆栈访问都以字大小进行。

3.6异常和中断

S08P 具有一个不可屏蔽的中断源(SWI)和 39 个可屏蔽的中断源,其中包括一个外部可屏蔽中断 IRQ。可以使用对应于最高优先级的最小向量编号固定中断优先级。在启用中断优先级控制器后,则可以支持四个优先级。实施嵌套中断方案时需要额外的软件开销。

Cortex-M0+ 具有集成的嵌套向量化中断控制器,最多支持 32 个独立的中断源。共有四个中断优先级,支持真正的硬件嵌套中断方案。 Cortex-M0+ 还支持外部不可屏蔽中断 (NMI) 以及多个内部中断,例如硬故障、SVC 等。

3.7向量表

S08P 向量表定位在内部闪存上端的固定地址上。不支持向量表重新定位。每个向量包含相应中断处理程序/服务例程的地址。向量下端地址存储中断处理程序地址的高位字节,而向量上端地址存储中断处理程序地址的低位字节。POR 和其他复位向量位于闪存 0xFFFE–0xFFFF 的高端。

KE 系列向量默认位于地址 0x00000000 上。在初始化期间,可将其重定位到闪存或 RAM 区域中的某个位置。将向量表放置在内部 SRAM 中可以提高性能。在向量表中,每个条目包含相应处理程序例程的起始地址。位于向量表偏移 0 位置的第一个向量包含初始/起始 SP(监管器 SP),位于向量表偏移 4 位置的第二个向量包含起始 PC。以下代码段显示了前两个向量条目:

#define VECTOR_000 (pointer*)__BOOT_STACK_ADDRESS // ARM core Initial Supervisor SP

#define VECTOR_001 __startup// 0x0000_0004 ARM core Initial Program Counter

要将向量表重新定位到偏移 vtor 位置,请使用以下代码段:

SCB_VTOR = vtor

3.8复位和中断处理程序

对于 S08,在使用“从中断返回”(RTI) 指令时,中断服务例程就会结束。该指令可通过读出堆栈中以前保存的信息,将 CCR 、A 、X 和 PC 寄存器还原到中断前的值。

使用 C 代码时,为 S08 设备定义中断处理程序,则必须使用编译器指令来告诉编译器该处理程序是一个中断服务例程,而不是标准的 C 例程/函数。 以下示例显示了如何使用 CodeWarrior 定义中断服务例程:

interrupt VectorNumber_Vrtc void Rtc_ISR(void){ …}

Cortex-M0+ 支持硬件中的所有异常进入和退出序列,因此允许中断例程是符合 ARM 体系结构过程调用标准

(AAPCS )的标准 C 函数。 只需通过引用相应的地址,就能在向量表中安置任何兼容的函数,并将其用作处理器。使用此方案时,代码开发员并不需要记住此类编译器指令。 以下代码段显示了如何使用 C 语言定义与标准函数相同的 Rtc_ISR :

void Rtc_ISR(void){ …}

3.9内存

S08 内核可以寻址 64 KB 的内存空间,并将内存分割成五个主要段,如下表中所示。

1.上限取决于给定的设备

2.下限取决于给定的设备

S08 内核能够以高效寻址模式访问直接页面寄存器/RAM ,并允许使用 BSET 、BCLR 、BRSET 和 BRCLR 位处理指令来设置、清除或测试这些寄存器中的任何位。 这种“位带”操作十分简单,但需耗时 2–5 个 CPU 周期。

Cortex-M0+ 处

理器可以

访问 4 GB 内存空间,并将内存分割成多个空间。 但并不支持类似于“位带”的操作。 不过,KE 系列添加了位操作引擎 (BME) 以用于实现这种“位带”操作。 有关 BME 的详细信息,请参见位操作引擎(BME ) 。 下表简要描述了 KE02 系统内存映射。

3.10访问类型

S08 处理器支持对内存进行字节访问和位访问。 通过位可寻址区(如前所述的直接页面)支持位访问。 由于可从内存中加载的最大条目为 8 位,而目标也是 8 位,因此,所加载值的符号并不重要。 为了提高编译器的效率,该处理器针对 16 位加载/存储和比较运算执行 LDHX 、STHX 和 CPHX 指令。

Cortex-M0+ 是 32 位处理器,所有内部寄存器均为 32 位。 支持 8 位字节、16 位半字和 32 位字内存传输。 在使用字节和半字时,程序员需要指定是将加载值处理为有符号还是无符号值。 在进行有符号加载时,加载值将进行符号扩展,以在目标寄存器中创建 32 位有符号值;进行无符号加载时,寄存器的上部将会清零。Cortex-M0+ 还提供多重加载与存储指令,能够通过一条指令与相邻的内存块来回传输多个字。

3.11位带

S08 位可寻址区支持独立位通过位处理指令对直接页面位置进行访问。 位设置/清除指令需耗时 5 个总线时钟周期。因此,对于位切换,则需耗时 10 个总线时钟周期。

KE04 和更新款的子系列支持位带。 上部 SRAM 区域 (SRAM_U)

是位带区。 位带可将内存别名区中的整个内存字映射到位带区中的单个位。 例如,写入一个别名字会设置或清除位带区中的相应位。 这样,便可以使用单个 LDR 指令从字对齐地址中直接访问位带区中的每个位,并通过 C/C++ 切换每个位,而无需执行读取-修改-写入指令序列。使用位带时,只需耗时两个内核时钟周期就能切换一个位,而使用读取-修改-写入序列时,则至少需要三个周期。 因此,使用 KE 系列中的位带可以明显地改善性能。

此外,所有 KE 系列都采用了 BME 技术来支持位带。 有关 BME 的详细信息,请参见位操作引擎(BME ) 。

3.12调试

下表提供了 S08 和 KE 系列中的调试模块在某些特性方面的比较。

有关调试的详细信息,请参见调试 。

3.13电源管理

S08P 支持两种低功耗模式:等待和停止。

Cortex-M0+ 支持睡眠和深度睡眠模式。

?在睡眠模式下,通常会将外部逻辑配置为停止处理器时钟,以最大程度地降低功耗。 NVIC 的电源和时钟保持为打开状态,以便在发生异常时能够退出睡眠模式。

?在深度睡眠模式下,处理器可能会完全断电,通常只有外部唤醒中断控制器(WIC )处于活动状态。 在检测到任何未屏蔽外部中断时,WIC 将唤醒处理器。可通过以下方法进入睡眠模式。

?立即睡眠:等待中断(WFI )或等待事件(WFE )指令能使处理器立即进入睡眠模式。 检测到中断或调试事件时将退出该模式。

?退出时睡眠:设置系统控制寄存器中的 SLEEPONEXIT 字段 (SCR[SLEEPONEXIT]) 可以在退出上一个未完成的 ISR 时,使处理器进入睡眠模式。 在此情况下,异常上下文将保留在堆栈中,以便能够立即处理唤醒处

理器的异常。此外,可通过设置 SCR[SLEEPDEEP] 进入深度睡眠模式。 如果设置了此字段,在进入睡眠模式时,处理器将向外部系统指示其可以进入更深度的睡眠。

实际上,KE 系列将睡眠模式实现为等待模式,将深度睡眠模式则实现为停止模式。以下代码段显示了如何进入等待模式和停止模式:

void wait (void){

/* Clear the SLEEPDEEP bit to make sure we go into WAIT (sleep) mode instead * of deep sleep. */

SCB_SCR &= ~SCB_SCR_SLEEPDEEP_MASK;

/* WFI instruction will start entry into WAIT mode */#ifndef KEIL asm("WFI");#else

__wfi();#endif }

void stop (void){

/* Set the SLEEPDEEP bit to enable deep sleep mode (STOP) */ SCB_SCR |= SCB_SCR_SLEEPDEEP_MASK;

/* WFI instruction will start entry into STOP mode */#ifndef KEIL asm("WFI");#else

__wfi();

#endif

}

4嵌套向量中断控制器 (NVIC)

NVIC 是 ARM Cortex M 系列上的标配模块。此模块与内核紧密集成,可以大大缩短进入与退出中断服务例程 (ISR)的延迟时间。需要耗时 15 个周期进入和退出 ISR,除非退出中断后再进入其他等待中的 ISR。在此情况下,MCU 尾链以及退出和再进入操作则需要耗时 11 个周期。

NVIC 提供四个不同的中断优先级,可以使用这些优先级来控制为中断提供服务的顺序。优先级为 0-3,其中 0 是最高优先级。例如,在电机控制应用中,如果同时发生定时器中断和 UART,而运转电机的定时器中断比接收字符的UART 中断更为紧急。那么,必须将定时器优先级设置为高于 UART。这样,无需额外的软件代码,就能实现真正的硬件中断嵌套。

配备中断优先级控制器 (IPC) 的 S08 可以支持不同的中断优先级,但需要在中断服务例程中添加 prolog 和 epilog 软件代码。

以下代码段显示了如何在 KE 系列中使用给定的 IRQ 编号启用或禁用中断:

void enable_irq (int irq)

{

/* Make sure that the IRQ is an allowable number. Up to 32 is

* used.

*

* NOTE: If you are using the interrupt definitions from the header

* file, you MUST SUBTRACT 16!!!

*/

if (irq > 32)

printf("\nERR! Invalid IRQ value passed to enable irq function!\n");

else

{

/* Set the ICPR and ISER registers accordingly */

NVIC_ICPR |= 1 << (irq%32);

NVIC_ISER |= 1 << (irq%32);

}

}

void disable_irq (int irq)

{

/* Make sure that the IRQ is an allowable number. Right now up to 32 is

* used.

*

* NOTE: If you are using the interrupt definitions from the header

* file, you MUST SUBTRACT 16!!!

*/

if (irq > 32)

printf("\nERR! Invalid IRQ value passed to disable irq function!\n");

else

/* Set the ICER register accordingly */

NVIC_ICER = 1 << (irq%32);

}

void set_irq_priority (int irq, int prio)

{

/*irq priority pointer*/

uint32 *prio_reg;

uint8 err = 0;

uint8 div = 0;

/* Make sure that the IRQ is an allowable number. Right now up to 32 is

* used.

*

* NOTE: If you are using the interrupt definitions from the header

* file, you MUST SUBTRACT 16!!!

*/

if (irq > 32)

{

printf("\nERR! Invalid IRQ value passed to priority irq function!\n");

err = 1;

}

if (prio > 3)

{

printf("\nERR! Invalid priority value passed to priority irq function!\n");

err = 1;

}

if (err != 1)

{

/* Determine which of the NVICIPx corresponds to the irq */

div = irq / 4;

prio_reg = ((uint32*)&NVIC_IP(div));

*prio_reg = (((prio&0x3) << (8 - ARM_INTERRUPT_LEVEL_BITS))) << (((irq-(div<<2)))<<3);

}

}

有关 NVIC 和代码示例的详细信息,请参见以下网站上提供的《Kinetis L 外围模块快速参考指南》(KLQRUG):https://www.doczj.com/doc/835781869.html,

5位操作引擎(BME)

位操作引擎(BME)为原子“读取-修改-写入”存储器对外围设备地址空间的操作提供硬件支持。此架构功能也称为“修饰存储”,它定义了一种新的理念,不仅仅是将数据值读/写到编址存储器单元内,而且为存储器映射的外围设备的载入和存储操作提供了附加语义。 BME 修饰参考仅可用于处理器内核生成的系统总线事务,并针对基址为

0x4000_0000 到 0x4007_FFFF(AIPS 外围设备)的标准 512 KB 外围设备地址空间,部分针对从 0x400F_F000 开始的 GPIO 空间。不能使用 BME 来访问其他内存区,包括 RAM 和闪存。

修饰语义嵌入在地址位 28–19 中,并在地址 0x4400_0000–0x5FFF_FFFF 上创建 448 MB 的空间。这些位是从发送给外围总线控制器的实际地址中剥离而得,由 MBE 用来定义和控制其运算。对于大多数 BME 命令而言,单个内核读或写总线周期将转换为原子读-修改-写序列,也就是说,一个不能分割的“先读后写”总线序列。

BME 支持修饰存储(逻辑与、逻辑或、位域插入)和修饰加载(加载-清除 1 位、加载-设置 1 位、无符号位域提取)。外围地址位 31–29 始终是 010,也就是说,用于 BME 的外围内存空间从 0x40000000 开始。

数据大小由读取或写入运算指定,可为字节(8 位)、半字(16 位)或字(32 位)。

对于逻辑 AND、OR 和 XOR 存储运算,外围地址位 28–26 指定此表中提供的运算代码 (opcode)。

地址位 25–20 是“任意”位。 地址位 19–0 是外围空间的实际内存地址位。

对于逻辑位域插入 (BFI)、加载-清除/设置 1 位和位域提取 (UBFX) 存储运算,外围地址位 28–26 指定此表中提供的操作码。

对于无符号位域提取操作,地址位 18–0 是外围空间的实际内存地址位。下图显示了不同运算的地址位表示形式。

字节访问:

16 位访问:

32 位访问:

图 1. 与、或、异或存储的地址位

字节访问:

16 位访问:32 位访问:图 2. 载入-清除/设置 1 位运算的地址位

字节访问:16 位访问:32 位访问:图 3. 位域插入/提取运算的地址位

以下代码段显示了如何使用 BME 运算:

// BME operation code #define BME_OPCODE_AND1#define BME_OPCODE_OR2#define BME_OPCODE_XOR3

#define BME_OPCODE_BITFIELD4

//macro used to generate hardcoded AND address

#define BME_AND(ADDR) (*(volatile uint32_t *)(((uint32_t)ADDR) | (BME_OPCODE_AND<<26)))BME_AND(&FTM2_OUTMASK) = 0x02;

//macro used to generate hardcoded OR address

#define BME_OR(ADDR) (*(volatile uint32_t *)(((uint32_t)ADDR) | (BME_OPCODE_OR<<26)))BME_OR(&FTM2_OUTMASK) = 0x02;

//macro used to generate hardcoded XOR address

#define BME_XOR(ADDR) (*(volatile uint32_t *)(((uint32_t)ADDR) | (BME_OPCODE_XOR<<26)))BME_XOR(&FTM2_OUTMASK) = 0x02;

//macro used to generate hardcoded bit field insert address

#define BME_BITFIELD_INSERT(ADDR,bit,width) (*(volatile uint32_t *)(((uint32_t)ADDR) \ | (BME_OPCODE_BITFIELD <<26) \

| ((bit & 0x1F)<<23) | ((width-1) & 0xF)<<19))

BME_BITFIELD_INSERT(&PORT_IOFLT,16,2) = (0x03 << 16); // write 3 to PORT_IOFLT [10:8] #define GPIO_ALIAS_OFFSET 0x000F0000L

#define GPIOB_PDOR_ALIAS (((uint32_t)&GPIOB_PDOR)-GPIO_ALIAS_OFFSET)

BME_BITFIELD_INSERT(GPIOB_PDOR_ALIAS,19, 2) = (3<<19); // write 3 to GPIOB_PDOR[20:19]//macro used to generate hardcoded bit field extract address

#define BME_BITFIELD_EXTRACT(ADDR,bit,width) (*(volatile uint32_t *)(((uint32_t)ADDR) \ | (BME_OPCODE_BITFIELD <<26) \

| ((bit & 0x1F)<<23) | ((width-1) & 0xF)<<19))

Data = BME_BITFIELD_EXTRACT(&ADC_R,0, 12); // extract 12 bits: ADC_R[11:0]//macro used to generate hardcoded load 1 bit clear address

#define BME_BIT_CLEAR(ADDR,bit) (*(volatile uint32_t *)(((uint32_t)ADDR) \ | (BME_OPCODE_BIT_CLEAR <<26) \ | ((bit & 0x1F)<<21)))

//macro used to generate hardcoded load 1 bit set address

#define BME_BIT_SET(ADDR,bit) (*(volatile uint32_t *)(((uint32_t)ADDR) \ | (BME_OPCODE_BIT_SET <<26) \ | ((bit & 0x1F)<<21)))

bit = BME_BIT_SET(&I2C0_S,1); // read I2C0_S[IICIF] and then clear it by writing // 1 to it

bit = BME_BIT_CLEAR(&ACMP0_CS,5); // read ACMP0_CS[ACF] and then clear it

6时钟模块

内部时钟源(ICS )为 MCU 提供时钟源选项。 其中包含的锁频环(FLL )可用作时钟源,该时钟可由内部或外部参考时钟控制。 此模块可提供该 FLL 时钟或者内部或外部参考时钟作为 MCU 系统时钟的时钟源。 另外还提供了一些信号来控制低功耗振荡器(OSC )模块。 这些信号将配置和启用 OSC 模块,以生成供外围设备模块使用的外部晶振/谐振器时钟(OSCOUT )并用作 ICS 外部参考时钟源。 ICS 内部参考时钟可以是 OSC 提供的外部晶振/谐振器时钟(OSCOUT),也可以是其他外部时钟源。

KE 系列上的 ICS 和 OSC 结构与 S08P 十分相似。 KE02 子系列与 S08P 之间的主要差别在于,KE02 中的 FLL 倍增因子固定为 1024,即 S08P 系列的两倍。 因此,FLL 输出频率为参考时钟频率 x 1024。 可以通过

SIM_BUSDIV[BUSDIV] 将分频器(BDIV )后面的 FLL 输出时钟进一步对半分割,以便同时提供总线时钟和 Flash 时钟。

可通过时钟门控功能对所有外围时钟进行门控。 默认情况下,在复位后,除闪存和 SWD (串行线调试)以外的所有外围时钟都将阻断以节省电源。 这与 S08P 在复位后启用所有外围时钟不同。下图给出了系统时钟示意

EXTAL

XTAL

图 4. 系统时钟示意图

以下代码段显示了如何使用 8 MHz 外部晶振将 ICS 和 OSC 模块从 FEI 模式初始化为 FEE 模式:

/* assume external crystal is 8Mhz * */

/* enable OSC with high gain, high range and select oscillator output as OSCOUT * */

OSC_CR = OSC_CR_OSCEN_MASK

| OSC_CR_OSCSTEN_MASK /* enable stop *//* wait for OSC to be initialized * */

while(!(OSC_CR & OSC_CR_OSCINIT_MASK));

/* divide down external clock frequency to be within 31.25K to 39.0625K * */

/* 8MHz */

ICS_C1 = ICS_C1 & ~(ICS_C1_RDIV_MASK) | ICS_C1_RDIV(3); /* now the divided frequency is 8000/256 = 31.25K *//* change FLL reference clock to external clock */ICS_C1 = ICS_C1 & ~ICS_C1_IREFS_MASK;

while(ICS_S & ICS_S_IREFST_MASK);/* wait for FLL to lock */

while(!(ICS_S & ICS_S_LOCK_MASK));

/* now FLL output clock is 31.25K*512*2 = 32MHz * */

if(((ICS_C2 & ICS_C2_BDIV_MASK)>>5) != 1){

ICS_C2 = (ICS_C2 & ~(ICS_C2_BDIV_MASK)) | ICS_C2_BDIV(1);

}

/* now system/bus clock is the target frequency 16MHz

*

*/

/* clear Loss of lock sticky bit */

ICS_S |= ICS_S_LOLS_MASK;

以下代码段显示了如何门通/阻断 KBI0 时钟:

SIM_SCGC |= SIM_SCGC_KBI0_MASK; // enable KBI0 clock

SIM_SCGC &= ~SIM_SCGC_KBI0_MASK; // gate off KBI0 clock

7系统集成模块(SIM)

下表列出了 S08P、S08AC 和 KE 系列的 SIM 模块的差别。

8电源管理控制器

KE 系列中的电源管理控制器(PMC)与 S08P 中的类似。支持等待和停止模式,并具有通电复位(POR)功能。可以启用或禁用低电压检测(LVD)和低电压警告中断。当 CPU 执行停止指令时,如果 LVD 在停止模式下启用(同时设置了 PMC_SPMSC1[LVDE] 和 PMC_SPMSC1[LVDSE]),那么电压调节器在停止模式下将继续保持激活状态。要获得最低功耗模式 (Stop3),请通过清除这两个字段,在停止模式下禁用 LVD。

以下代码段显示了如何进入 Stop3 模式。

PMC_SPMSC1 = 0x00;//disable LVD;

stop();

9闪存、EEPROM 和闪存控制器模块

KE 系列上的闪存与 EEPROM 模块与 S08P 上的模块十分相似。 KE 系列的闪存带有缓存,而 EEPROM 则没有缓存。 这极大地改善了闪存存取的性能。 但是,所有 S08 设备都没有闪存缓存。 在 KE 系列中,可按字(32 位)、半字(16 位)或字节访问闪存;但只能按字节访问 EEPROM 。

此外,KE 系列具有其他新的闪存操作功能:可同时读写。 允许在编程/擦写闪存的同时读取闪存。 对于不需要从RAM 运行代码的应用,尤其是内存占用空间较小的设备,此功能十分有用。 可通过在 MCM_PLACR 中设置“启用停顿闪存控制器”字段来启用此功能,如以下代码中所示。

MCM_PLACR |= MCM_PLACR_ESFC_MASK;

闪存控制器是一个内存加速单元,有以下特点:?在总线主控与 32 位闪存之间提供接口。

?提供可加快闪存数据传输速度的缓冲器和缓存。

闪存控制器拥有两个单独机制,用于加快总线主控与闪存之间的接口的速度。 32 位前瞻缓冲器可预取下一个 32 位闪存位置,而 4 路、4 组的程序闪存缓存可存储之前访问的闪存数据,以便快速访问。不仅支持指令推测和缓存,而且还支持数据推测和缓存。可以在 MCM_PLACR 寄存器中启用或禁用这些不同的功能。

可以使用以下方法来检查最近编程的数据是否正确:在读取闪存之前使缓存失效:

MCM_PLACR |= MCM_PLACR_CFCC_MASK;

这是为了确保缓存包含目标位置的更新值。

10引脚分配变化

KE 系列的引脚分配与 S08P 兼容。 两者都有 8 个支持 20 mA 驱动能力的高驱动引脚。

KE 系列采用经过优化的新 I/O 结构,能够改善瞬态保护和 EMC 性能。 以下列表提供了引脚分配存在的变化(以S08P 为例)。?将调试端口替换为两个 SWD 引脚:SWD_DIO 和 SWD_CLK 引脚。 KE 系列中没有 BKGD 功能。

?KE 系列使用了稳健可靠的解决方案,可以应对家用电器面对的苛刻使用环境。 EFT 可以支持 4.4 kV 或更高电压,电源 ESD 直接接触放电电压为 20 kV 或更高。 强化的 IO 焊盘设计可以承受系统 EMC 和 ESD 干扰,具体特性包括:

?在 GPIO/RST/IRQ 上进行滤波以实现噪声抑制?驱动强度控制符合 EMI/EMC 规范

?所有 GPIO 默认使用高阻抗(包括非粘合引脚)

11

安全功能增强

11.1看门狗

看门狗 (WDOG) 定时器模块是可供系统使用的独立定时器。 如果在指定的时间段内未使用特定数据写入序列将其更新/刷新,则复位 MCU 。 可以将其用作一种安全元件,以确保软件按计划运行,同时确保 CPU 不会陷于无限循环或执行意外代码。 看门狗是根据 IEC60730 安全标准设计的。

此模块与 S08P 系列中的对应模块类似。 以下是有关使用此模块的一些准则:

?WDOG 寄存器映射以类似于 S08P 的 big-endian 模式进行组织,但是,Cortex-M0+ 内核使用 little-endian 访问模式。 因此,在使用 16 位地址模式访问 WDOG_CNT 、WDOG_TOVAL 和 WDOG_WIN 等 WDOG 寄存器时,始终要记住值的高位字节在高位字节地址中,值的低位字节在低位字节地址中。例如,以下代码段会将 0xA6 写入 WDOG_CNTL (高位字节地址),将 0x02 写入 WDOG_CNTH (低位字节地址)。

WDOG_CNT = 0xA602;

?刷新序列(即向 WDOG 馈送数据)的计数器必须在 16 个总线时钟周期内完成,否则将出现复位。?解锁序列写入必须在 16 个总线时钟周期内完成,以便对一次写入配置位进行更新,否则将出现复位。?软件必须在解锁后、WDOG 关闭解锁窗口前的 128 个总线时钟周期内完成更新,否则将出现复位。

11.2CRC

循环冗余检查(CRC )模块为错误检测生成 16/32 位 CRC 代码。 它提供了可编程的多项式、WAS 以及实施 16 位或 32 位 CRC 标准所需的其他参数。 可以一次性计算 32 位数据的 16/32 位代码。 此模块与 S08P 系列中的模块类似,不过仍存在以下差别:

?支持输入数据或输出数据的按位/按字节移位(CRC 作用的结果)。 S08P 仅支持按位移位。?支持对寄存器进行 32 位访问。 S08P 仅支持对寄存器进行 8 位访问。假如 KE 系列上的 CRC_DATA 寄存器是一个 32 位寄存器,那么,它相当于在 S08P 上串联了 CRC_D0 到 CRC_D3这四个 8 位寄存器。

12端口控制和 GPIO

端口控制模块控制数字干扰滤波器、上拉和高驱动。 在 KE 系列中,有四个 32 位寄存器:PORT_IOFLT 、PORT_PUEL/H 和 PORT_HDRVE 。 这些寄存器与 S08P 中的对应寄存器在功能上类似,唯一的差别在于,KE 系列中的这些寄存器可以在 32 位模式下访问。 这极大地改善了针对多个 I/O 的控制速度。

?PORT_PUEL/H 是对应于 S08P 中 PORT_PTxPE 组合寄存器的端口上拉启用寄存器。 因此,需要相应地更改用于访问 S08P 中任何 PORT_PTxPE 的代码。 KE 系列中没有端口输入和输出启用寄存器(PORT_PTxIE 、PORT_PTxOE )。 KE 系列改为使用 GPIOx_PDDR 来控制数据方向,使用GPIOx_PIDR 来启用或禁用 GPIO 输入。

?在复位后,所有 GPIO 引脚将默认为外围输入,在此情况下,引脚数据输入寄存器中的相应位显示为 0。 要正确读取引脚状态,必须清除端口输入禁用寄存器 (PIDR) 中的相应位。

KE 系列中的 GPIO 模块控制方向以及 I/O 引脚的输入和输出数据,这一点也与 S08P 系列类似。 但是,KE 系列中的 GPIO 寄存器可以在 32 位模式下访问。 此外,还可以通过单周期(内核时钟)IOPORT 接口访问它的 GPIO 。 这称为快速 GPIO 或 FGPIO 。 此 FGPIO 的内存映射从 0xF800_0000 开始。

通过 IOPORT 接口(FGPIO 内存空间)执行的访问与任何指令的获取保持同步,因此可在一个内核时钟周期内完成。参见下图

图 5. Cortex-M0+ 内核平台框图

以下是 GPIO 主要特性的列表:

?在所有数字引脚多路复用模式下均显示引脚输入数据寄存器

?引脚输出数据寄存器,具有对应的设置/清除/切换寄存器

?引脚数据方向寄存器

?可通过 IOPORT 对 GPIO 寄存器执行零等待状态访问

复位后,所有 GPIO 引脚将默认为外围输入,在此情况下,引脚数据输入寄存器中

的相应位显示为 0。要正确读取引脚状态,必须清除端口输入禁用寄存器 (PIDR) 中

的相应位。

以下代码段演示了如何使用端口控制和 GPIO:

PORT_IOFLT = 0x0; // Filter clock source is BUSCLK

PORT_PUEH = 0x0;

PORT_PUEL = 0x1; // Enable pullup for PTA0

PORT_HDRVE = 0x0; // No high drive pin

/* normal GPIO manipulation */

GPIOA_PDDR = 1<<0; // PTA0 is set as output pin

GPIOA_PTOR = 1<<0; // Toggle PTA0

GPIOA_PIDR &= ~2; // configure PTA2 pin as GPIO input, must clear PIDR bit

GPIOA_PDDR &= ~2; // direction is INPUT

/* GPIO manipulation via IOPORT interface */

FGPIOA_PDDR = 1<<0; // PTA0 is set as output pin FGPIOA_PTOR = 1<<0; // Toggle PTA0

13定时器模块

13.1RTC

实时计数器 (RTC) 由一个 16 位计数器、一个 16 位比较器、多个二进制和十进制预分频器因子、三个时钟源、一个可编程周期中断和一个可编程外部切换脉冲输出组成。 S08P 与 KE 系列之间的差别在于寄存器访问宽度。S08P 中的两个 8 位状态与控制寄存器(RTC_SC1 和 RTC_SC2),级联后则相当于 KE 系列中的一个 32 位寄存器RTC_SC 。 S08P 中的两个 8 位 RTC 模数寄存器(RTC_MODH 、RTC_MODL ),级联后则相当于一个 32 位 RTC_MOD 寄存器。

RTC 计数器寄存器的情况与此类似。因此,S08P 中用于访问 RTC_SC1、RTC_SC2、RTC_MODH 、RTC_MODL 、RTC_CNTH 和 RTC_CNTL 的代码需相应地更改为访问 RTC_SC 、RTC_MOD 和 RTC_CNT 。

13.2FlexTimer

FlexTimer (FTM )以简单定时器,即 S08 设备上使用的 TPM 模块为基础而设计,并将其功能扩展,从而可满足电动机控制、数字灯光解决方案和电源转换的需求。 下面将介绍对定时器模块所做的多个关键性增强部分。?带符号的递增计数器?死区时间插入硬件?故障控制输入?增强的触发功能?初始化和极性控制以下列表介绍了 S08 设备中 FlexTimer 模块的主要特性。?FTM 源时钟可选。

?源时钟包括系统时钟、固定频率时钟或外部时钟。

?固定频率时钟是附加的时钟输入,允许选择除系统时钟以外的片上时钟源。

?选择外部时钟可将 FTM 时钟连接到芯片级输入引脚,因此,可将 FTM 计数器与片下时钟源同步?1、2、4、8、16、32、64 或 128 分频的预分频器?16 位计数器

?可以是自由运行计数器,也可以是带有初始值和最终值的计数器。?计数可以是递增或递减计数。

?可为输入捕获、输出比较或边沿对齐的 PWM 模式配置每个通道。?在输入捕获模式下:

?捕获可以在上升沿和/或下降沿发生?可为某些通道选择输入滤波器?在输出比较模式下,可以在匹配时设置、清除或切换输出信号。?可为中心对齐 PWM 模式配置所有通道。

?每个通道对都可以组合,以生成一个 PWM 信号,该信号独立于 PWM 信号两个边沿的控制。

?FTM 通道可以作为提供相同输出的对、提供互补输出的对,或者提供独立输出的独立通道进行操作。?针对每个互补对提供死区时间插入。?生成匹配触发器

?PWM 输出的软件控制

?

提供多达四个故障输入,从而结合可编程极性进

行全局故障控制

?每个通道的极性可配置。?为每个通道生成一个中断?计数器溢出时生成中断?检测到故障状态时生成中断?同步加载写入缓冲 FTM 寄存器?为关键寄存器提供写保护?与 TPM 向下兼容

?陷入 0 和 1 状态时测试输入捕获

?可进行双边沿捕获以便进行脉宽和期限测量?为同步不同的 FlexTimer 模块提供全局时基

与 S08P 相比,KE 系列中的 FlexTimer 模块具有下列新的增强特性。?反转控制/通道交换?故障输入极性控制?中间负载?软件输出控制?调试模式功能

?TOF 频率/周期 TOF

可通过清除或设置 FTMx_FLTPOL[FLTnPOL],将故障输入极性配置为高电平有效或低电平有效。 FTM 可设置为在进入调试模式后仍起作用。 为此,可以设置 FTMx_CONF[BDMMODE]。

反转功能可以交换通道(n) 和通道(n+1) 输出之间的信号。 当条件为(FTMEN = 1)、(QUADEN = 0)、(DECAPEN = 0)、(COMBINE = 1)、(COMP = 1)、(CPWMS = 0) 和(INVm = 1)(其中的 m 代表通道对)时,将选择反转操作。因其中间负载特性,PWMLOAD 寄存器允许使用寄存器缓冲器在定义加载点的内容更新 MOD 、CNTIN 和 C(n)V 寄存器。 在此情况下,则不需要使用 PWM 同步。 支持以下加载点/条件。?当 FTM 计数器从 MOD 值变化为 CNTIN 时

?语句 When CHjSEL = 1 则是进行通道(j) 匹配(FTM 计数器 = C(j)V )。配置加载点后,必须通过设置 FTMx_PWMLOAD[LDOK] 启用这些加载点。 必须设置此字段,以便在后续加载点发生加载。

以下代码段显示了如何使用通道 2 匹配启用中间加载功能:

FTM2_MOD = 1200; FTM2_CNTIN = 200;

FTM2_MODE = 0x05; /* FTM features are enabled ans write protection is disabled */ FTM2_COMBINE = 0x23; /* Combine is enabled, Output CH0 and CH1 are complementary */ FTM2_SYNCONF = 0x4; // CNTIN register is updated with its buffer value by the // PWM synchronization.

FTM2_C0SC = 0x28; /* No Interrupts; High True pulses on Edge Aligned PWM */ FTM2_C1SC = 0x28;

FTM2_C0V = 300; /* 25% pulse width */ FTM2_C1V = 1100; /* 91% pulse width */

FTM2_SC = 0x08; /* CLK source is System clock / 1 */

FTM2_SYNC = 0x80; /* OUTMASK register is updated with the value of its buffer only by the PWM synchronization. */

FTM2_C0V = 150; /* 25% pulse width */ FTM2_C1V = 550; FTM2_MOD = 600;

FTM2_PWMLOAD = 0x203 ; /* enable load on both load points */

在生成 PWM 时,软件输出控制将根据特定时间的软件定义值强制设定通道输出值。 当条件为(FTMEN = 1)、(QUADEN = 0)、(DECAPEN = 0)、(COMBINE = 1)、(CPWMS = 0) 和(CHnOC = 1),将选择软件输出控制。 CHnOC 字段可针对特定的通道输出启用软件输出控制,CHnOCV 可选择强制到此通道输出的值。

可通过 FTMx_CONF[NUMTOF] 设置 TOF 频率。 将会针对第一次发生的计数器溢出设置 TOF 标志,而不会针对后续的 N 次溢出设置此标志(其中的 N = NUMTOF 且不为 0)。 如果只需要在若干个 PWM 周期后更改 PWM 事件,则此功能十分有用。 这会大大减少 CPU 过载现象。此外,用户必须了解下列其他两个差异

实验四Linux内核移植实验

合肥学院 嵌入式系统设计实验报告 (2013- 2014第二学期) 专业: 实验项目:实验四 Linux内核移植实验 实验时间: 2014 年 5 月 12 实验成员: _____ 指导老师:干开峰 电子信息与电气工程系 2014年4月制

一、实验目的 1、熟悉嵌入式Linux的内核相关代码分布情况。 2、掌握Linux内核移植过程。 3、学会编译和测试Linux内核。 二、实验内容 本实验了解Linux2.6.32代码结构,基于S3C2440处理器,完成Linux2.6.32内核移植,并完成编译和在目标开发板上测试通过。 三、实验步骤 1、使用光盘自带源码默认配置Linux内核 ⑴在光盘linux文件夹中找到linux-2.6.32.2-mini2440.tar.gz源码文件。 输入命令:#tar –jxvf linux-2.6.32.2-mini2440-20110413.tar对其进行解压。 ⑵执行以下命令来使用缺省配置文件config_x35 输入命令#cp config_mini2440_x35 .config;(注意:x35后面有个空格,然后有个“.”开头的 config ) 然后执行“make menuconfig”命令,但是会出现出现缺少ncurses libraries的错误,如下图所示: 解决办法:输入sudo apt-get install libncurses5-dev 命令进行在线安装ncurses libraries服务。

安装好之后在make menuconfig一下就会出现如下图所示。 ⑶配置内核界面,不用做任何更改,在主菜单里选择退出,并选“Yes”保存设置返回到刚命令行界面,生成相应配置的头文件。 编译内核: #make clean #make zImage 在执行#make zImage命令时会出现如下错误: 错误:arch/arm/mach-s3c2440/mach-mini2440.c:156: error: unknown field 'sets' specified in initializer 通过网上查找资料 于是在自己的mach-mini2440.c中加入 #include

智能计算平台应用开发(初级)-实验手册-应用软件移植方案实践实验手册-学员用书

应用软件移植方案实践 实验手册 学员用书

目录 1 参考资料及工具 (1) 1.1 参考资料及工具 (1) 2 应用软件移植方案实践 (2) 2.1 课程介绍 (2) 2.2 教学目标 (2) 2.3 案例背景 (2) 2.4 任务 (3) 演练场景1:需求分析 (3) 演练场景2:实施准备 (4) 演练场景3:方案实施 (5) 演练场景4:方案验收 (6) 2.5 评分表 (7)

1 参考资料及工具 1.1 参考资料及工具 文档中所列出的命令以及参考文档,请根据实际环境中的不同产品版本使用对应的命令以及文档。 参考文档: 1. 华为鲲鹏代码迁移工具用户指南 路径:华为云> 鲲鹏社区> 鲲鹏文档> 编译器和工具链> 开发工具 2. 华为鲲鹏分析扫描工具用户指南 路径:华为云> 鲲鹏社区> 鲲鹏文档> 编译器和工具链> 开发工具 3. Nginx软件安装指南 路径:华为云> 鲲鹏社区> 鲲鹏文档> 软件安装指南 4. PHP软件安装指南 路径:华为云> 鲲鹏社区> 鲲鹏文档> 软件安装指南

2 应用软件移植方案实践 2.1 课程介绍 【开发者设计提供引导员的开场白,为新老师提供便利,以下是作为参考】 本章的内容主要为应用软件从x86计算平台向鲲鹏计算平台的迁移实践指导。 2.2 教学目标 ●能完成应用迁移项目的需求分析; ●能完成应用迁移项目的实施准备; ●能完成应用迁移项目的方案实施; ●能完成应用迁移项目的方案验收。 2.3 案例背景 说明:本文所涉及的案例仅为样例,实际操作中请以真实设备环境为准,具体配置步骤请参考对应的产品文档。 在这个数字时代,银行业务面临转型与重塑,为此银行应当实施数字化战略,通过构建有力的支撑体系及IT能力助力数字化转型,从而保持在金融行业的领先地位。 为更好的推进H银行的数字化转型,企业决定将现有的业务平台迁移至华为鲲鹏计算平台,为异构计算、大数据分析等新兴业务提供更好的算力支撑。 假设您是本次项目技术负责人工程师A,需要完成如下任务: ●需求分析; ●实施准备; ●方案实施; ●方案验收。 说明:本手册涉及的操作物理环境下与云环境下均适用,故在此不作区分。

华为常用实验手册范本

目录 实验一以太网交换机基本配置 (1) 实验二以太网端口配置实验 (7) 实验三利用TFTP管理交换机配置 (13) 实验四虚拟局域网VLAN (16) 实验五生成树配置 (25) 实验六802.1x和AAA配置 (38) 实验七路由器基本配置 (45) 实验八PPP配置 (51) 实验九FR配置 (56) 实验十静态路由协议配置 (64) 实验十一RIP协议配置 (68) 实验十二OSPF协议配置 (74) 实验十三访问控制列表配置 (88) 实验十四地址转换配置 (95) 实验十五DHCP配置 (101) 实验十六升级路由器或交换机的操作系统 (116)

实验一以太网交换机基本配置 【实验目的】 掌握以太网交换机基本配置 【实验学时】 建议2学时 【实验原理】 一、交换机常用命令配置模式 1 业务描述 (1)Quidway系列产品的系统命令采用分级保护方式,命令被划分为参观级、监控级、配 置级、管理级4个级别,简介如下: ?参观级:网络诊断工具命令(ping、tracert)、从本设备出发访问外部设备的命 令(包括:Telnet客户端、RLogin)等,该级别命令不允许进行配置文件保存的 操作。 ?监控级:用于系统维护、业务故障诊断等,包括display、debugging命令,该 级别命令不允许进行配置文件保存的操作。 ?配置级:业务配置命令,包括路由、各个网络层次的命令,这些用于向用户提供 直接网络服务。 ?管理级:关系到系统基本运行,系统支撑模块的命令,这些命令对业务提供支撑 作用,包括文件系统、FTP、TFTP、XModem下载、配置文件切换命令、电源 控制命令、备板控制命令、用户管理命令、命令级别设置命令、系统部参数设置 命令等。 (2)命令视图: 系统将命令行接口划分为若干个命令视图,系统的所有命令都注册在某个(或某些)命令视图下,只有在相应的视图下才能执行该视图下的命令: 各命令视图的功能特性、进入各视图的命令等的细则: ◆命令视图功能特性列表

H3C-系统实验手册

2016年南通市地税系统实验手册 目录 实验一:通过Telnet方式登录交换机典型配置举例 (2) 实验二:基于端口的VLAN典型配置举例 (3) 实验三:802.1X认证配置举例 (4) 实验四:网络地址转换配置举例 (6) 实验五:DHCP配置举例 (9) 实验六:静态路由 (10) 实验七:配置OSPF基本功能 (11)

实验一:通过Telnet方式登录交换机典型配置举例 组网图 配置步骤 (1)配置Device接口地址 #配置接口GigabitEthernet0/0地址为192.168.100.230/24。 system [Sysname] interface GigabitEthernet 0/0 [Sysname-GigabitEthernet0/0] ip address 192.168.100.230 24 [Sysname-GigabitEthernet0/0] quit (2)配置认证 #设置VTY的认证模式为scheme。 [Sysname] line vty 0 15 [Sysname-line-vty0-15] authentication-mode scheme [Sysname-line-vty0-15] quit #创建设备管理类本地用户admin。 [Sysname] local-user admin #指定本地用户的授权用户角色为network-admin [Sysname-luser-manage-admin] authorization-attribute user-role network-admin #配置该本地用户的服务类型为Telnet。 [Sysname-luser-manage-admin] service-type telnet #配置该本地用户密码为密文admin。 [Sysname-luser-manage-admin] password simple admin [Sysname-luser-manage-admin] quit (3)开启Telnet服务 [Sysname] telnet server enable

《计算机控制系统》实验手册

《计算机控制系统》实验手册 上海海事大学电气自动化系施伟锋 上海海事大学电气自动化实验中心李妮娜 目录 1《计算机控制系统》实验指导(Matlab版) (2) 实验一数字PID参数的整定 (3) 实验二Smith算法的运用..........................................5实验三二阶对象数字控制系统设计..............................7实验四达林控制算法的运用 (9) 2 《计算机控制系统》实验指导(DSP版) (11) 实验一实验系统介绍与CCS软件使用入门 (11) 实验二数字I/O实验—交通灯实验 (26) 实验三PWM输出实验1——直流电机控制实验 (30) 3 《计算机控制系统》课程设计指导(Matlab版)………33 4 《计算机控制系统》课程设计指导(DSP版) (35) 5 《计算机控制系统》课程设计报告或小论文格式 (40)

《计算机控制系统》实验指导 (Matlab 版) 一、实验课程教学目的与任务 通过实验设计或计算机仿真设计,使学生了解和掌握数字PID控制算法的特点、了解系统PID参数整定和数字控制系统的直接设计的基本方法,了解不同的控制算法对被控对象的控制特性,加深对计算机控制系统理论的认识,掌握计算机控制系统的整定技术,对系统整体设计有一个初步的了解。 根据各个实验项目,完成实验报告(用实验报告专用纸)。 二、实验要求 学生在熟悉PC机的基础上,熟悉MATLAB软件的操作,熟悉Simuli nk工具箱的软件编程。通过编程完成系统的设计与仿真实验,逐步学习控制系统的设计,学习控制系统方案的评估与系统指标评估的方法。 计算机控制系统主要技术指标和要求: 根据被控对象的特性,从自动控制系统的静态和动态质量指标要求出发对调节器进行系统设计,整体上要求系统必须有良好的稳定性、准确性和快速性。一般要求系统在振荡2~3次左右进入稳定;系统静差小于3%~5%的稳定值(或系统的静态误差足够小);系统超调量小于30%~50%的稳定值;动态过渡过程时间在3~5倍的被控对象时间常数值。 系统整定的一般原则: 将比例度置于交大值,使系统稳定运行。根据要求,逐渐减小比例度,使系统的衰减比趋向于4:1或10:1。若要改善系统的静态特性,要使系统的静差为零,加入积分环节,积分时间由大向小进行调节。若要改善系统的动态特性,增加系统的灵敏度,克服被控对象的惯性,可以加入微分环节,微分时间由小到大进行调节。PID控制的三个特性参数在调节时会产生相互的影响,整定时必需综合考虑。系统的整定过程是一个反复进行的过程,需反复进行。

实验 手册范本

实验 4.1 练习 1:在 Brew MP Simulator 6 中运行样例应用程序 在 Brew MP Simulator 6 中运行样例程序应用程序: 1.从“开始”菜单中,启动适用 于 Qualcomm Brew MP SDK 的 Brew MP SDK Manager。 2.在 SDK Manager 中,要显示制 作工具和运行时工具,请单击“工具”选项卡。 3.启动 Target Manager。 4.单击“翻盖手机”设备配置文 件,然后单击“创建目标”。

5.当提示您输入“目标名称”时,保留默认名称,然后单击“继续”。 6.在“Simulator 目标”窗口中,双击“翻盖手机”。 7.在模拟设备上,启动AppManager。 8.选择 C Localized App 应用程序。使用鼠标模拟设备上的按键功能。 9.要退出应用程序,请按“电源(结束)”。 10.在 AppManager 中,尝试其他应用程序。

11.完成后,关闭 Simulator 和 Target Manager。 练习 2:从 Visual Studio 安装样例源代码并运行 Simulator 将样例应用程序源代码安装到便携式计算机上: 1.从“开始”菜单中,启动 Brew MP SDK Manager。 2.要显示工具组和平台,请单击 “设置”。 3.在“工具组” “可选组件” 中,单击“安装”安装样例程序。 4.按照向导窗口中的提示进行操 作。请注意安装文件的位置。

使用安装的源代码打开项目: 1.在 Visual Studio 中,单击 “文件”→“打开”→“项目/解决方案”。 2.导航到已安装的源代码,选择 c_basicapp_VS.vcproj ,然后单击 “打开”。 3.在 Visual Studio Solution Explorer 窗格中,导航到“源文件”目录,然后双击 c_basicapp.c 加载文件。 4.在 Visual Studio 中,使用 Brew MP 插件工具栏执行以下操 作:

实验室管理系统用户手册

实验室管理系统用户手册 目录 1 系统设置简明步 骤 ..................................................................... . (4) 2 实验教 学 ..................................................................... . (4) 2.1 实验教学文 档 ..................................................................... (5) 2.1.1 专业培养计 划 ..................................................................... (5) 2.1.2 课程与项 目 ..................................................................... . (6) 2.1.3 实验项 目 ..................................................................... ...................................... 8 2.2 教学任务与安 排 ..................................................................... .. (9)

2.2.1 集中实践环 节 ..................................................................... (9) 2.2.2 教学任务 书 ..................................................................... . (9) 2.2.3 实验课程安 排 ..................................................................... (9) 2.2.4 实验课程调 整 ..................................................................... . (11) 2.2.5 实验教学计划 表 ..................................................................... (11) 2.2.6 实验成绩录 入 ..................................................................... . (11) 2.2.7 教学任务执行情 况 ..................................................................... .................... 11 2.3 实习与课程设 计 ..................................................................... (12)

嵌入式实时操作系统实验报告

嵌入式操作系统实验报告 系别: 班级: 学号: 姓名: 2013.12

实验一嵌入式开发环境的建立 一、实验目的 通过此实验系统,读者可以了解嵌入式实时操作系统uC/OS-II 的内核机制和运行原理。本实验系统展示了uC/OS-II 各方面的管理功能,包括信号量、队列、内存、时钟等。在各个实验中具体介绍了uC/OS-II 的相关函数。读者在做实验的同时能够结合理论知识加以分析,了解各个函数的作用和嵌入式应用程序的设计方法,最终对整个uC/OS-II 和嵌入式操作系统的应用有较为清楚的认识。 二、实验步骤 1. 安装集成开发环境LambdaEDU 集成开发环境LambdaEDU 的安装文件夹为 LambdaEDU ,其中有一个名为“Setup.exe” 的文件,直接双击该文件便可启动安装过程。具体的安装指导请看“LambdaEDU 安装手册.doc”文件。 当 LambdaEDU 安装完毕之后,我们看到的是一个空的界面,现在就开始一步一步地将 我们的实验项目建立并运行起来。 2. 建立项目 为了我们的实验运行起来,需要建立1 个项目基于x86 虚拟机的标准应用项目。通过点 击“文件”、“新建”、“项目”开始根据向导创建一个项目。

在随后出现的对话框中选择“Tool/标准应用项目”,点击下一步,开始创建一个标准的可执行的应用程序项目。 在随后出现的对话框中填入项目名称“ucos_x86_demo”。点击“下一步”。

选择“pc386 uC/OS-II 应用(x86)”作为该项目的应用框架。点击“下一步” 选择“pc386_elf_tra_debug”作为该项目的基本配置。点击“完成”。

嵌入式学习之系统移植步骤

在线学习好工作https://www.doczj.com/doc/835781869.html,/ 嵌入式学习之系统移植步骤 移植 下面我们就来看下一个内容叫做移植的基本步骤,也就是说我们要现有一个大体的思路,如果说我作为产品开发者,或者说是作为一个系统的整体架构来说,我们拿到一款板子过后我们是如何一步一步把我们的系统用起来呢?它整个系统流程又是什么样的,我们先要有个明确目标,第一个目标是我们要保证PC也就是我们的开发机器跟目标机也就是开发板或者说最终要做成产品的板子的硬件它们俩之间的连接方式。 因为我们在嵌入式开发中有一个很麻烦的事情就是开发板的能力跟PC的能力一般是不平等的,大家都知道PC的功能很强大也很贵而板子很便宜可能一个小系统一个路由器也就几十块钱,但是我们总不能在路由器上接个键盘接个鼠标然后装一个VC,在这里是不现实的,所以说我们一般的开发环境跟ARM讲的内容都是一样的,都是在主机上开发最终把主机编译好的内容跟我们的目标机进行一个数据传输,所以这就涉及到一个非常重要的问题。 数据传输的方式。因为我们数据无外乎就是高低电平这几种,那么传播有哪些传播方式呢?

如图,所以我们如果作为一个产品的研发者来说,你第一个需要考虑的就是我们是怎么连的。 那么给大家来列出了一下,目前来说,我们的PC跟我们的开发板的连接也就大概如上图四种比较常用的方式。第一种就是我们最经典90%的板子上,都支持的方式叫异部串行接口,也就是我们所说的串口。那么这个串口传输在我们之前学习ARM的时候也学习到过,其实别看它很简单,其实它的功能很强大。它既可以输入也可以输出,所以说我们基本上完成了一个输入输出这样数据出和进的功能。 所以说串口是我们比较常用的一个接口。但是它还是有它的特点就是它的速度比较低,因为比如说我们前面所配的速度是11520那这个其实是很低的,不是很高。因为他11520B比特也就是传多少位多少个高低电平的字节,所以说这个效率不是很高但是实用性比较强就几个接口就可以。 我们举个典型的例子就是家里的路由器,如果大家有兴趣,就把家里的老路由器拆下来看一下路由器里面一般都有3个架子或4个架子,3个小插针或4个小插针无外乎就几个电压,一个是D一个是电源很多情况下,路由器都会引出这个东西。如果你的动手能力比较强,你就去市场上买一个叫DB9的一个小头子,拿个烙铁把那里面的几根线给焊上去。然后就跟PC一接,就可能会看到路由器的一些打印信息。所以说串口在我们嵌入式开发中算是一个非常经典的跟PC之间通信的一个接口。 因为大家可以想一下,这个串口既可以输出我们可以把开发板上的信息往我们的平台上去看。甚至来说,我们还可以通过串口把PC里面的东西传到开发板中,所以他说输入输出都可以,这样的话串口也算是一个比较万能的接口,它唯一的缺陷就是速度太低,如果我们传输一些大数据比如说以后我们会看到的安卓中的一些东西,安卓中涉及到的其实跟我们所学的也是一样,他比较麻烦的就是文件系统支柱,文件系统少的可能就要几百兆,或者说压缩过后就是几十兆。那你可以想象一下,我们如果用11520去传,有的时候就要传送一二十分钟,这样很影响开发效率的。 所以说用串口如果是小文件没有关系,但大文件一般情况下用串口传输的可能性不大。如果说你的板子功能比较强,传的东西比较多,这种情况下用串口我们还是不建议。 那么现在我们就需要换一下,串口我们可以把它当作后备资源。 然后我们就要使用如上图所说的USB。随着USB的发展,从USB1.0到2.0、3.0,它的速度越来越快。那么这个传输数据我们就不用担心,它速度快是没有问题的,但是现在唯一比较担心的一个问题就是板子刚刚上电,就让他用串口去工作,这个是不现实的。所以这种情况下,我们还涉及到在开发板要把串口的驱动做好。所以说这个时候我们还要考虑驱动的问题,到底支不支持如果不支持或者开发的周期比较长,那么串口就不把它作为目标机和主机连接的主要方式了。以上就是我们的串口。

AD迁移实验手册server2003直接迁移到server2016

从server2003直接迁移AD至server2016 AD 目的:因公司AD服务器软件为server2003。硬件为赛扬+512M的物理机古迹配置。硬件升级势在必行。 一、环境介绍: 首先说明环境,实验环境比较简单。环境中已经有Windows server2003的域控。 新Server2016X64 试验用客户 XP win7 win10各一台 域名为https://www.doczj.com/doc/835781869.html,

二、实验步骤 1、win2016加域https://www.doczj.com/doc/835781869.html, 2、win2016加域重启,使用server2003域用户登录server2016

3在server2003的将自己的域用户添加至Domian Admins和Enterprise Admins组中。

3、在server2016上安装AD角色管理工具

安装用时的几分钟完成。 4、在server2003上提升将林架构(域和信任)和域架构(用户和计算机)的提升至windows server 2003级别(已经是2003级别的忽略次步) 5、安装完成之后,接要进行AD的扩展,这里注意的是win2003是32位系统,不能使用64位的命令执行域扩展命令,于是我将Windows Server2016的光盘加载到Win2016服务器上,并用命令定位到adprep目录下,将命令提示符转到D 盘的support/adprep目录,升级2003AD Schema林架构; 输入adprep.exe/forestprep(本步为不可逆操作,深夜忘记截图,借用网络server2012图片)

6、升级2003AD Schema域架构;adprep.exe/domainprep (本步为不可逆操作,深夜忘记截图,借用网络server2012图片) 7、更新组策略对象权限;adprep.exe/domainprep/gpprep(本步为不可逆操作,深夜忘记截图,借用网络server2012图片)

实验室综合管理系统学生使用手册

一用户登录 按“回车”键后即进入实验室管理系统地登录界面:,在浏览器地址栏中输入访问地址 系统登陆页图系统登陆界面 登陆本系统时,请选择“学生身份”,用户名为“自己地学号,初始密码为空”<为了确保系统安全,请学生第一次登录后即时修改密码,修改密码在修改密码栏进行操作),在登录界面输入了正确地用户名和密码后,点击“登录”按钮,点击“进入系统”就会进入主界面.b5E2RGbCAP

二详细操作说明 进入登录界面后,系统界面有三个模块:在线学习,实验预约,个人信息. 2.1 在线学习 2.1.1实验工程卡 学生点击“实验工程卡”打开所有实验工程列表,学生在这里可以查看到所有实验室开设地实验工程卡信息. 具体操作: 点击院系名称前地“”打开院系下所有实验室列表1)(点击实验室名称前地“”打开该实验室承担地所有实验工程列表(2)(3)双击实验工程名称则可以打开实验工程卡信息进行查看 2.1.2 实验指导书 . 已便于预习,学生在本模块中可以查找相关实验工程地指导资 料.

实验指导书地查看: (1)单击“指导书名称”,进入实验指导书窗体. (2)选择所要下载地实验指导书所在行,点击“全文”超级链接 (3)在弹出地窗体中显示实验指导书地具体内容. 实验指导书地下载: 选择所要下载地实验指导书所在行,单击后面地文档附件列中地“附件”即可查看和下载 2.1.3 在线交流 在线交流:学生对某一知识点或实验工程有疑点都可以在这里通过交流主题地形式发布出来,感兴趣地同学或者相关老师可以以“回贴”地形式进行交流,主题发布人或者老师可以对一些跟主题无关地内容进行删除.p1EanqFDPw

《嵌入式操作系统》实验报告

《嵌入式操作系统》实验报告 班级计算机 学号 姓名 指导教师庄旭菲

工业大学信息工程学院计算机系 2018年6月 实验一 Linux核移植与编译实验 1. 实验目的 ?了解Linux 核相关知识与核结构 ?了解Linux 核在ARM 设备上移植的基本步骤和方法 ?掌握Linux 核裁剪与定制的基本方法 2. 实验容 ?分析Linux 核的基本结构,了解Linux 核在ARM 设备上移植的一些基本步骤及常识。 ?学习Linux 核裁剪定制的基本配置方法,利用UP-Magic210 型设备配套Linux 核进行 自定义功能(如helloworld 显示)的添加,并重新编译核源码,生成核压缩文件zImage,下载到UP-Magic210 型设备中测试。 3. 实验步骤

实验目录:/UP-Magic210/SRC/kernel/linux-2.6.35.7/ 编译核:在宿主机端为UP-Magic210 设备的Linux 2.6.35.7 核编写简单的测试驱动(核)程序helloworld.c 并修改核目录中相关文件,添加对测试驱动程序的支持。 (1)、使用vim 编辑器手动编写实验代码helloworld.c helloworld.c 如如下: #include #include MODULE_LICENSE("Dual BSD/GPL"); //驱动程序入口函数 static int hello_init(void) { printk(KERN_ALERT "##############Hello, world############\n"); return 0; } //驱动程序出口函数 static void hello_exit(void) { printk(KERN_ALERT "###############Goodbye, world#########\n"); } module_init(hello_init); module_exit(hello_exit);

系统移植试验手册-2010-08-19(new)

嵌入式学院实验手册系统移植部分 嵌入式学院教材开发部编著 (内部资料,请勿外传) 嵌入式学院(2010)版权所有V3.0

目录 目录 (2) 实验一交叉工具链的移植 (3) 实验二 u-boot的烧写及使用 (8) 实验三 u-boot-2010.03的移植 (12) 实验四 linux-2.6.22.6内核的编译和配置 (31) 实验五 linux-2.6.35内核移植—网卡驱动的添加 (34) 实验六 linux-2.6.35内核移植—Nand flash驱动的添加 (36) 实验七 linux-2.6.35内核移植—LCD驱动的添加 (38) 实验八 linux-2.6.35内核移植—USB驱动的添加 (40) 实验九 linux-2.6.35内核移植—SD卡驱动的添加 (42) 实验十 linux-2.6.35内核移植—yaffs2文件系统的支持 (45) 实验十一内核调试 (47) 实验十二内存调试 (50) 实验十三文件系统的移植 (53) 实验十四 UDEV的移植 (58)

实验一交叉工具链的移植 【实验目的】 了解交叉工具链的编译过程及其使用。 说明:在本系统移植课程实验中命令行提示符“$”表示是在主机上执行,“#”表示在目标板执行 【实验环境】 1、Ubuntu 10.10发行版 2、FS2410平台 【实验步骤】 1、源码下载 Crosstools-ng下载地址 https://www.doczj.com/doc/835781869.html,/download/crosstool-ng/ 同时对每一个版本都有相应的补丁我们尽量把这些补丁打上,这些补丁的下载地址是https://www.doczj.com/doc/835781869.html,/download/crosstool-ng/01-fixes/ 我这里选用的是crosstool-ng-1.8.1.tar.bz2 并下载补丁 000-scripts_log_do_not_interpret_log_string_as_printf_format.patch 001-binutils_binutils_remove_faulty_patch.patch 002-kconfig_resync_curses_check_with_Linux_kernel.patch 2、工具的安装 在使用之前必须安装一些软件 $ sudo apt-get install gawk autotools-dev automake texinfo libtool cvs patch bison flex libncurses5-dev 3、必要目录的创建 /home/linux目录下,$mkdir s3c2410-2.6.35 $mkdir toolchain $ cd s3c2410-2.6.35 $mkdir toolchain $cd toolchain $ mkdir toolchain-build $ mkdir toolchain-install 把下列源码包复制到目录/home/linux/s3c2410-2.6.35/toolchain

胚胎实验室操作手册

附件6-01胚胎实验室操作手册第一节胚胎实验室每日工作流程

第二节胚胎实验室安全与质量控制 一、实验室安全与感染控制 实验室必须有完善的安全制度和防患措施,必须有关于火、电意外引起紧急情况时的应急方案,实验室人员必须了解灾情中的救援措施。为避免停电影响设备正常运转,应备有双重供电系统,或不间断电源(UPS),以确保二氧化碳培养箱和显微镜等关键设备在意外停 电时满足正常工作。 1.所有体液样本(精液、血液、卵泡液等)必须视同潜在污染源, 所有的供体组织和体液应有适当的传染病监测。 2.实验室工作人员应清楚乙肝疫苗的必要性并接受乙肝疫苗接种。 3.特别小心不要被那些受体液污染的仪器或设备意外损伤。 4.避免将体液溅到眼中。 5.当接触体液或盛放体液的容器时,应带一次性无粉橡胶或塑料手 套。离开实验室时,将手套脱下丢掉,决不可重复使用。 6.离开实验室时,脱掉实验室衣服,不能穿着出入公开场所或餐厅。 7.被体液沾染时,必须马上用消毒液或肥皂清洗。 8.接触配子和胚胎的耗材必须使用一次性用品。 9.因体液溢出污染实验室设备时,应在操作完成后用75%酒精消毒。 10.在实验室体液操作中必须使用机械抽吸装置,禁止用口吸。 11.所有操作步骤和体液处理应小心,尽量减少浮滴和烟雾生成。例 如离心时必须用带盖的试管。

12.实验室中严禁吃东西、吸烟等。 13.所有丢弃的体液和用后的一次性物品必须按污染物品处理。 二、实验室质量控制 (一)培养箱的质量控制 专人管理,每日确认以下各项内容并予以记录: 1.CO2的控制:6%±0.2%; 2.温度的控制:37℃±0.2℃; 3.湿度:大于80%RH,水盘内水的深度始终保持在大约1cm 以上。 培养箱内的水盘使用超纯水,根据不同培养箱要求定期更换,换水当天培养箱不放卵子或胚胎; 4.培养箱显示器温度与培养箱内温度计的温度应一致。不一致时应 及时调整校正。 5.消毒清洁:每隔3个月消毒培养箱。消毒时拆卸培养箱内所有钢 架,以75%酒精和超纯水分别擦拭消毒,再送高压消毒。培养箱内壁以75%酒精和超纯水分别擦拭。消毒清洁完成后,需开机运行稳定后方可使用。 (二)培养用气体的质量控制 1.使用有合法资格的气体供应厂家,气瓶使用前需检查是否有合格 证标签。 2.使用医用高纯度CO2(99.995%以上)培养胚胎。每天记录气瓶 的压力,定期检查气瓶有无漏气并更换培养箱外气体过滤器。

H3C-系统实验手册

H3C-系统实验手册

2016年南通市地税系统实验手册 目录 实验一:通过Telnet方式登录交换机典型配置举例 (3) 实验二:基于端口的VLAN典型配置举例 (5) 实验三:802.1X认证配置举例 (8) 实验四:网络地址转换配置举例 (13) 实验五:DHCP配置举例 (17) 实验六:静态路由 (19) 实验七:配置OSPF基本功能 (20)

实验一:通过Telnet方式登录交换机典型配置举例 组网图 配置步骤 (1)配置Device接口地址 #配置接口GigabitEthernet0/0地址为192.168.100.230/24。 system [Sysname] interface GigabitEthernet 0/0 [Sysname-GigabitEthernet0/0] ip address 192.168.100.230 24 [Sysname-GigabitEthernet0/0] quit (2)配置认证 #设置VTY的认证模式为scheme。[Sysname] line vty 0 15 [Sysname-line-vty0-15] authentication-mode scheme

[Sysname-line-vty0-15] quit #创建设备管理类本地用户admin。[Sysname] local-user admin #指定本地用户的授权用户角色为network-admin [Sysname-luser-manage-admin] authorization-attribute user-role network-admin #配置该本地用户的服务类型为Telnet。[Sysname-luser-manage-admin] service-type telnet #配置该本地用户密码为密文admin。[Sysname-luser-manage-admin] password simple admin [Sysname-luser-manage-admin] quit (3)开启Telnet服务 [Sysname] telnet server enable 验证配置 配置完成后,Host A 与Host B 能通过Telnet 登录设备 运行cmd->输入telnet 192.168.100.230->回车

实验六Linux内核移植实验

实验六Linux内核移植实验 一、实验目的 1. 掌握交叉编译环境的建立和使用; 2. 熟悉Linux 开发环境,掌握Linux 内核的配置和裁减; 3. 了解Linux 的启动过程。 二、实验环境 预装Fedora10的pc机一台,CVT-A8系列实验箱,以太网线一根,串口线一根。 三、实验步骤 1. Linux 内核移植 。在主机的Fedora10 操作系统下安装Linux 发行包以及交叉编译器。然后对Linux 进行配置(make menuconfig)并选择适合本实验系统的相关配置,配置完成后进行编译生成Linux 映像文件zImage。然后使用u-boot 将该内核镜像文件通过网络下载到目标板并执行。 2. Linux 内核源代码的安装 本实验系统的Linux 发行文件kernel-s5pv210.tar.gz,在Fedora 下将该文件拷贝到/opt/cvtech 目录下,然后在该目录下执行:tar zxvf kernel-s5pv210.tar.gz,当tar 程序运行完毕后,在/opt/cvtech 目录下会有一个kernel-s5pv210 的新目录,这个目录就是linux 的源码根目录,里面有进行linux 内核开发的所有的源代码。

3. Linux 交叉编译环境的建立和使用 4. Linux 内核的配置和编译 2) 配置和编译Linux 核心 1.配置内核: $cd /opt/cvtech/kernel-s5pv210 $make menuconfig 如下图所示, 在提示框中键入config-s5pv210-b4y2 配置文件名,然后选择“Ok”确认,将退回到主菜单。然后按“Esc”键退出,并将提示是否保存,请选择“Yes”保存。 2.编译:可以通过make 或者make zImage 进行编译,它们的差别在于make zImage将make 生成的核心进行压缩,并加入一段解压的启动代码,本实验采用make zImage 编译。 $make zImage

数据库管理与维护-实验手册

数据库管理与维护(SQL Server 2008) 鲍丽红 天水师范学院

目录 实验一SQL Server 2008安装 (1) 实验二数据库创建和管理 (2) 实验三数据库数据表的创建和管理 (3) 实验四数据库的数据查询 (5) 实验五Transact-SQL的编程实现 (8) 实验六数据库中视图的应用 (8) 实验七数据库中索引的应用 (10) 实验八存储过程的应用 (11) 实验九触发器的应用 (12) 实验十数据库安全性管理 (13) 实验十数据库的日常维护 (14) 实验十二自动化管理 (15) 参考文献 (16)

实验一SQL Server 2008安装 【实训目的】 1、了解安装SQL Server 2008 的硬件和软件的要求 2、掌握SQL Server 2008 的安装方法 3、掌握对象资源管理器与查询编辑器的使用 【实训内容】 1、在本地计算机上练习安装SQL Server2008 R2 Enterprise版本。 2、练习启动、暂停和关闭SQL Server2008的某一服务器。

实验二数据库创建和管理 【实训目的】 1、掌握数据库创建的方法 2、掌握数据库扩容和收缩的方法 3、掌握查看数据库信息方法 4、掌握数据库的分离和附加的方法 【实训内容】 1、创建了一个library数据库,该数据库的主数据文件逻辑名称为Library_data_1,物理文件名为Library_data_1.mdf,初始大小为10MB,最大尺寸为无限大,增长速度为10%;数据库的日志文件逻辑名称为Library_log,物理文件名为Library_log_1.ldf,初始大小为3MB,最大尺寸为5MB,增长速度为1MB。 2、对library数据库进行扩容,添加一个5 MB的数据文件library_data_2和一个5MB 的事务日志文件library_log_2。 3、对数据库library进行修改,将事务日志文件library_log_1的大小增加到15MB,将数据文件library_data_1和library_data_2分别增加到15MB和30MB。同时增加两个文件组group_1和group_2,分别包含一个数据文件,逻辑文件名library_data_3和library_data_4,物理文件名为library_data_3.ndf和library_data_4.ndf,初始大小都为15MB,最大尺寸为无限制,增长速度为15%,增加一个10MB事务日志文件library_log_3,最大尺寸无限制,增长速度为10%。 4、利用SQL Server Managerment Studio将library数据库名改为newlibrary。 5、利用sp_renamedb将newlibrary数据库名改为library。 6、创建数据库library的快照数据库library_snapshot 7、将library数据库文件移植到D:\data。 8、将D:\data的library数据库文件附加。。 9、将数据库library收缩30%,将library_log_3数据库文件收缩到8MB。 10、删除library数据库的日志文件library_log_3。 11、删除附加了D:\data数据库文件的library数据库。

Linux移植手册

LINUX移植手册for AT91 SAM9261

目录 一.交叉编译环境的建立 (2) 二. Linux内核下载编译 (2) 1.下载合适的linux内核,这里以2.6.27为例 (2) 2.下载针对AT91的linux补丁 (2) 3.配置编译linux 内核 (2) 4.修改Makefile (3) 5.make ARCH=arm oldconfig (3) 6. 编辑默认的配置 (3) 7. 修改nand flash 分区信息 (3) 8.编译内核 (4) 9.生成可烧写的映像文件 (4) 三.tftp文件传输软件的安装 (4) 1.下载tftp软件包tftp,tftpd和openbsd-inetd (5) 2.在跟目录下创建文件夹tftpboot 并且修改其权限。 (5) 3.修改/etc/inetd.conf文件如下样子 (5) 4.修改/etc/xinetd.d/tftp 如下样子(如果没有就创建) (5) 5.修改/etc/default/tftpd-hp文件如下(如果没有就创建) (5) 6.启动tftp服务 (5) 7.测试tftp服务 (6) 四.JFFS2根文件系统的制作 (6) 1.编译并生成根文件系统文件 (6) 2.准备制作jffs2文件系统的所有文件 (7) 3.制作jffs2文件系统 (8) 五. NFS根文件系统制作 (8) 1.选择交叉编译工具和busybox (8) 2配置busybox (9) 3建立根文件系统目录树 (9) 六.烧写开发板 (11) 1 烧写U-boot文件 (11) 2 烧写内核映像文件 (11) 3烧写根文件系统 (11) 4挂载基于nfs文件系统 (12)

相关主题
文本预览
相关文档 最新文档