以下是小编整理的TMS320VC5402的并行引导装载方案的研究与设计(共含9篇),希望能够帮助到大家。同时,但愿您也能像本文投稿人“陌巷”一样,积极向本站投稿分享好文章。
TMS320VC5402的并行引导装载方案的研究与设计
摘要:介绍了TMS320VC5402并行Bootloader的原理,分析了设计过程中需要考虑的重点问题并提出了解决问题的可靠的电路方案,设计的电路具有良好的可扩展性。关键词:TMS320VC5402 Bootloader CPLD EPROM
TMS320VC5402(以下简称C5402)是德州仪器公司10月推出的性价比极高的定点数字信号处理器(DSP)。与TMS32054X系列的其它芯片相比,C5402以其独有的高性能、低功耗和低价格特性,使得一推出就受到业内用户的欢迎。它大多应用在如机顶盒(STB)、数字无线通信等要求能脱机运行的内嵌式系统中。但它的内部结构和片内掩模的引导装载(Bootloader)程序与C54X系列的其它DSP处理器有较大差异。C5402为脱机运行提供了五种启动装载模式:HPI端口启动模式、标准串口启动模式、I/O口启动模式、串口EEPROM启动模式和并行启动方式。对于以C5402为核心的独立系统中,并口加载方案被认为是最佳的。因为前三种方案只适用于由其它处理器为C5402提供运行代码的多处理器系统中,后两种方案虽然都可以适应以C5402为核心的独立系统,但是串口EEPROM启动模式中只支持价格偏高的SPI端口EEPROM,而并口启动模式却可以采用EPROM,而且并行EPROM和FLASH种类很多,有的价格较低,因而可以充分体现系统的性价比优势。
基于实践经验,本文详细介绍并行Bootloader的实现方法和方案设计重点,并介绍一种方便可靠的可扩展EPROM Bootloader方案。
(本网网收集整理)
1 C5402的Bootloader原理
C5402的Bootloader在系统加电时把外部源程序传送到内部存储器或内部程序空间。它允许程序被存放在外部慢速的存储器中,并调到高速的存储器中运行。这可大大减小C5402内部RAM掩模的需要,降低电路设计的成本。C5402的内部ROM中有固化好的加载程序。如果DSP的MP/MC管脚接低,在DSP加电RESET时,程序就从内部ROM的FF80H地址开始行运行。在FF80H处,有一条跳转到BOOT程序的指令,执行内部固化好的BOOT程序。BOOT程序在运行搬移程序之前,首先进行初始化,工作包括关闭中断、将内部RAM映射在程序/数据空间,以及为访问数据和程序空间设置的七个软件等待等;然后根据设计完成不同方式下程序的搬移。C5402共有上面讲述的5种加载方式。这里只讨论并口加载方案的设计,其流程如图1所示。
在判断前几种加载方式无效后,Bootloader从I/O空间0FFFFH处读取一个16位的程序起始地址。然后根据这个地址从外部数据区读入一个字,判断是否为10AAH。如果是,就采用16位的搬移方式;否则,就判断读入的字的低位字节和下一个地址读入的字的低字节组成的16位字。如果是08AAH,就采用8位并行加载方式;否则,就在外部数据空间的0FFFFH读取一个16位的程序起始地址,然后重复上面的检测方法。本文采用在外部数据空间0FFFFH处存放程序起始地址的方案。
2 方案设计中需要考虑的重点问题
C5402并口Bootlader需要将映射在数据区的程序由慢速的EPROM搬到快速的RAM中运行,其设计主要需要考虑三个方面的问题。
2.1 速度匹配问题
C5402的工作频率可以达到100MHz。一般的并口EPROM是无法可靠工作的,如何使C5402顺利装载而又能使C5402达到最高的工作效率是要考虑的一个重点。
2.2 3.3V和5V混合逻辑设计
C5402的外围工作电压为3.3V,而它的外围器件包括EPROM一般工作在5V,必须为DSP和外围芯片设计一个安全可靠的接口。
2.3 高效协调地利用空间
如何高效方便地利用存储空间和I/O端口,例如重新利用并口EPROM在bootloader时占用的数据空间、如何协调外设和地址分配等都是需要考虑的问题。
3 系统硬件电路设计
图2为一种具有良好扩展性的C5402的Bootloader方案设计原理图。
图中,DVDD为3.3V供电。C5402的时钟输入为20MHz,此时系统工作频率就是CLKMD1、CLKMD2、CLKMD3组合产生的倍频系数和输入时钟的乘积。C5402的工作频率可达到100MHz。虽然C5402在RESET时自动插入7个软件延时,但这只能满足较贵的速度不低于70ns的EPROM接口,而一般的EPROM无法可靠工作。为了解决速度匹配问题,利用了C5402的倍频可以由硬件和软件两种方式设置
的特性。在系统加电时将C5402的倍频选择为2,即将CLKMD1、CLKMD2、CLKMD3分别设置为1、0、0,让DSP工作在40MHz的频率,等加载完成之后再通过软件将C5402的工作频率调高到100MHz,使C5402达到最大的工作效率。实验证明这是可行而且可靠的。
C5402的地址总线和数据总线挂有两个164245,它是TI公司生产的3.3V和5V双向收发器,个164245可以看作两个8位收发器或一个16位收发器。它由3.3V和5V双电源供电,收发的方向由两个方向控制端管脚(DIR)控制。它串在地址总线和数据总线上,既可为DSP提供驱动5V数字电路的能力,也可为DSP提供5V信号读入的保护。对于地址总线,只是输出信号,所以将同地址总线相接的164245的DIR信号接高,使其只完成从3.3V到5V的转换。使用164245,总线就可以为扩展的多个外设提供可靠的接口,解决了3.3V和5V混合逻辑设计问题。
EPM7032用来提供整个系统需要的组合逻辑。它属于MAX7000系列,是Altera公司的基于第二代MAX结构的CPLD,可提供多达5000个可用门和在系统编程。其引脚到引脚延时快达5ns。可以容纳各种各样的独立的组合逻辑和时序逻辑功能。所有的.驱动器均能配置在3.3V和5.5V电压下工作,允许用于混合电压系统中。EPM7032为Bootloader提供的内部组合逻辑电路如图3所示。
EPROM采用NS公司或ST公司的27C256。EPM7032的ROMCE接EPROM的CE管脚,使其映射在DSP的C000H-FFFFH的数据空间。DIR控制16245的转发方向。EPM7032共有36个I/O引脚可供编程使用,剩余的管脚可以用来接入PS、IS等管脚,方便系统扩展存储空间和外设。它同时方便了系统的调试,修改时只需重新编程,不用修改硬件电路,且延时非常小。可以方便地完成协调外设和存储空间的工作。
对于如何在Bootloader后释放EPROM占用的数据空间,可以通过软件可设置管脚XF解决,只需简单修改内部逻辑电路,如图4所示。RESET时,XF被置高,使EPROM能够映射在数据空间。RESET完成之后,可用软件设置XF为低,使CE输出的片选无效,从而让EPROM让出数据空间。
4 系统软件设计
4.1 测试程序设计
由于Bootloader需要完成的是系统的脱机运行,因此可用一个简单可靠的测试程序验证硬件是否已经协调工作。下面是一个可行的方法,通过设置XF的电平高低,让XF输出不同频率的方波,或者在XF管脚外接一个发光二极管,就可以直观的看到系统有没有协调工作。
test:nop
rsbx,1,13 /*将XF管脚置为低电平*/
call delay /*调用延时子程序*/
ssbx 1,13 /*将XF管脚置为高电平*/
call delay /*调用延时子程序*/
b test /*循环运行*/
4.2 系统设置程序
加载完成之后,需要半DSP的频率调高,使DSP能高效运行。实际上就是用软件改变DSP内部的PLL来改变倍频系数。因为PLL是模拟的,在它锁定之前需要一定的锁定时间,在锁定时间内DSP不能使用PLL模式,必须把它调整到DIV模式。下面就是方案系统设置部分的子程序。
.mmregs
vCLKMD:.set 0x4007 /*5倍频的CLKMD值*/
.global sinitCLKMD
.sect “initCLKMD”
sinitCLKMD:
cmpm CLKMD,#0x1007 /*测试DSP是否工作在2倍频*/
nop
bc lretest,ntc
stm #0h,CLKMD /*将CLKMD寄存器设置为二分频,即关闭倍频电路*/
test: ldm 58h,A /*下面程序读取CLKMD的PLLSTAUS值
AND #0001h,A 如果PLLSTAUS值为0,则DIV状态
Bc test,aneq 设置成功。为1,等待再检测*/
Stm #vCLKMD,CLKMD /*将CLKMD设置为5倍频,DSP工作在100MHz/
Rpt #256 /*等待C5402工作频率稳定*/
Nop
EinitCLKMD:
Ret
.end
5 将软件装入EPROM
要使在系统调试的程序能够脱机装载,需要hex500.exe把*.out文件转化为*.hex。一个名称为main的转换文件(CMD文件)例子如下:
syw.out /*syw.out是在系统调试生成的out格式的文件名。*/
-i /*-i选项决定了输出文件的格式*/
-memwidth 8 /*-memwidth选项决定产生的数据的位宽度,根据使用的EPROM具体情况设定,这里选8。如果采用16位的EPROM则应该为16*/
-romwidth 8 /*-romwidth选项决定于存储数据的EPROM的位宽度*/
-boot /*-boot选项用来说明产生一个boot表示*/
-bootorg 0xc000 /*-bootorg选项说明加载信息在DSP数据空间中的起始位置*/
-e 0080h /*-e选项时程序中断向量的入口点*/
-o syw.hex /*-o产生的文件的文件名。*/
在DOS环境下执行Hex500 main.cmd就可以完成转换。对应上面的地址分配,在烧录时同时在EPROM的7FFEH和7FFFH处烧处C000H的值。
6 方案性能分析
从上面的分析可以看出,方案实现方便可靠。但是采用外部并行BOOT方式时,BOOT的寻址区是在数据区,因而最大的范围是3FFF~FFFFH,共48KPB。而采用8位的EPROM,最大的程序代码长度仅为24K字。如果程序超过了48K字,只能采用另外的替代方法。这是在一些电路方案论证时需要考虑的问题。
TMS320VC5402外部并行引导装载方法的研究
摘要:分析了TMS320VC5402 DSP的引导装载过程,给出了两个外部并行引导装载的典型电路。针对这两个电路设计了可脱离Flash烧写器的仿真器在线编程装载方法,并得到了实验验证。关键词:DSP引导装载 在线编程装载 虚拟扩展程序空间 DSP
所谓引导方式就是指单片机(MCU)系统复位时,其系统软件代码所取得的方式。对于单片机来说,它使用复位矢量方式从程序空间的固定地址处开始取得指令代码。如果所需代码来自程序空间外部,则引导过程无法进行。TMS320VC5402 DSP内部ROM中的引导装载程序?Bootloader?使系统上电后能自动将程序代码从外部?如Flash、Eprom、主机?引导装载到DSP内部或者外部程序存储器中脱机运行。这样的设计有三个突出点:一是程序代码可以存储在片外相对慢速、非易失性器件中,而装载运行于高速器件;二是提供多种装载方式,使得DSP可以灵活应用到不同系统;三是省去对DSP片内ROM进行掩膜编程操作,节省大量费用。
引导装载程序根据不同的系统要求提供了多种装载模式,主要包括并行I/O口引导装载、串行口引导装载、HPI引导装载、外部并行引导装载等模式,并且兼容8位和16位字引导装载方式。
1 引导装载程序分析
TMS320VC5402内部4K字的ROM程序位于0xF000~0xFFFF程序空间,包括引导装载程序、μ律和A律扩充表、正弦对照表、工厂测试码和中断向量表。其中,引导装载程序位于0xF800~0xFBFF空间。复位时,如果TMS320VC5402处在微计算机方式?MP/MC=0?,则片内ROM中的引导装载程序就会被执行。引导装载程序在决定采用何种装载模式之前,首先对CPU状态寄存器进行初始化。初始化工作包括:禁止可屏蔽中断?INTM=1?,内部DARAM映射到程序/数据区?OVLY=1?,对程序和数据区均设置为7个等待状态。初始化完成后,引导装载程序执行装载模式判断。判断的顺序是:HPI模式、SPI模式、外部并行模式、标准串口模式、并行I/O模式。图1说明了整个装载模式的判断流程。
图1 引导装载模式选择流程
2 外部并行装载电路的设计
由图1可知,外部并行装载时?引导装载程序先读I/O空间FFFFh,判断是否是有效的并行装载模式;如果FFFFh处为非有效值,则读数据空间FFFFh,判断是否是有效的并行装载模式。对于外部并行装载,要求装载时Flash位于数据空间。下面给出两种实际应用过的并行装载电路,如图2所示。
图2(a)适用于程序运行时不要求大数据空间的系统。若对DS(数据空间选择)信号与A15地址线译码,Flash占用数据空间的8000h~FFFFh共32K空间,因此程序代码的存储区大小不能超过32K。当然,若对A15、A14与DS译码,Flash也可将整个片外48K的数据空间作为程序代码的存放区。
图2(b)将Flash分为16页,每页64K,Flash的片选信号CE利用DSP的A16~A19、通用I/O引脚XF以及程序/数据空间选择?DS/PS?信号译码获得。图2?b?所示系统上电后,XF=1,译码后Flash的0页映射到数据空间,此时引导装载程序可利用它正确装载;装载完毕后,DSP从程序代码的入口地址开始执行,此时DSP设置XF=1,DSP利用内部DARAM或者外部SRAM作为程序和数据空间存储器,Flash的0页被屏蔽而无法再操作,Flash的1~15页作为DSP扩展程序存储器使用。这样设计系统电路有如下好处:由于装载时与系统程序运行时数据空间的物理存储器分离,系统程序可利用全部64K的数据空间;程序运行时程序代码存储器被屏蔽,保证了装载程序的安全性;扩展程序空间可作为数据暂存或永久存储空间,满足了数据处理系统的要求。当然,也可使用单片64K的Flash作为程序代码存储器,以SRAM作为程序扩展空间存储器。
图2 外部并行装载典型电路
3 外部并行装载的仿真器在线编程
DSP引导装载程序从外部数据存储器(Flash)中读取引导装载表,并且装载程序代码到DSP片内或片外程序存储器。Flash中存储的是引导装载表。它的结构如表1所示。要使用TMS320VC5402的引导装载功能,必须利用Hex转换工具生成一个如表1所示结构的包含引导装载操作所需的全部数据项的引导装载表。表中第一个字08AAh/10AAh代表8/16位并行装载模式。
表1 引导装载表结构
08AAh或者10AAhSWWSR寄存器初始化值BSCR寄存初始化值程序入口地址XPC程序入口地址指(PC)第一程序块大小第一个程序块目标地址XPC第一个程序块目标地址指针程序代码1……程序代码N最后程序块大小最后程序块目标地址XPC最后程序块目标地址指针程序代码1……程序代码N代码结束标志0000h
通常的DSP独立系统都需要利用Flash烧写器将引导装载表写入Flash中,对于采用表贴封装的Flash器件,烧写器无法写入数据。为了解决这个问题,采用仿真器在线编程方式将引导装载表数据写入Flash,它具有节约开发成本、减小器件尺寸、编程灵活的特点。
对于图2?a?所示的系统,在仿真器仿真状态下,将引导装载表读入DSP数据区的0000h~7FFFh空间,然后使用Flash在线编程方法将数据写入Flash中,最后在Flash的'FFFFh处写入引导装载表在Flash中的起始地址。编程完毕,复位系统即可实现装载过程。
对于图2(b)所示的系统,仿真器在线编程则要复杂得多。由于在仿真状态下,程序空间与Flash的0页空间重叠,Flash的0页被屏蔽,程序无法操作到Flash的存储空间。为此,程序将Flash的0页空间作为“虚拟扩展程序空间”,以便程序写入引导装载表。具体实现过程是:设置外部控制信号=1,此时译码电路将A18地址线信号取反,虚拟扩展程序空间开放。Flash的0页空间虚拟成为扩展程序空间的040000h~04FFFFh空间。这样,仿真器在线编程040000h~04FFFFh空间即相当于对Flash的0页编程。编程完毕后,设置外部控制信号=0,复位系统后即可实现装载过程。
本文分析了TMS320VC5402的引导装载程序的装载过程,给出了两个经常使用的外部并行装载典型电路。针对两个典型电路设计了仿真器在线编程装载方法。利用此方法实现了一个以128K×16bit的SRAM作为程序和数据空间,以1M×16bit的Flash作为扩展程序空间和系统程序代码存储器的系统。该系统无需Flash烧写器进行Flash数据写入,并且完全利用了TMS320VC5402的全部存储空间,充分发挥了DSP的效能。
TMS320VC5402 DSP并行8bit EPROM引导装载方法研究
摘要:TMS320VC5402 DSP芯片并行引导的特点和引导的过程中,设计了并行8bit EPROM引导装载的电路,并给出了实现方法。实践证明,该电路和方法在利用TMS320VC5402 DSP芯片设计系统时非常简便,具有很大的实用性。关键词:DSP 引导装载 并行引导表
TMS320VC5402(以下简称C5402)是德州仪器公司(TI)推出的性价比极高的16bit定点数字信号处理器(DSP),操作速率可达100MIPS,它的内部资源配置为用户构造系统提供了很大便利。
C5402芯片配置有4K×16bit片内屏蔽式的ROM(F000h-FFFFh)。在4K ROM资源里,包含了Bootloader程序。这个Bootloader程序在系统通电后能自动将存放在外部载体的用户代码引导到程序存储器的任何空间或片内RAM。如果芯片的MP/MC脚在复位时为低电位,指令从片内ROM的FF80h地址开始执行,在FF80h地址后有一个跳转指令自动转入到Bootloader程序,由Bootloader程序进行引导装载用户程序。
C5402芯片内包含有16K×16bit双存取的RAM(DARAM)。DARAM分成两个块,每个块为8K,每个块在一个机器周期内支持两次读或一次读和一次写。片内DARAM位于数据空间0080h-3FFFh地址,通过设置C5402寄存器PMST的OVLY位为1,可以把片内RAM映射成程序/数据存储空间。用户在设计自己的系统时,如程序容量不超过16K,则可考虑充分利用芯片的内部资源,采用引导装载的方式,以降低系统的设计难度和设计成本、缩短产品研制周期。
1 8bit EPROM引导装载的特点和初始化
TMS320VC5402 Bootloader用于在芯片通电时将存储于外部的用户代码传输到内部或外部程序存储器,用户代码可存储在外部速度较慢的非失忆性的存储器内,使C5402能外扩普通低速的EPROM。经引导后,用户代码可装载到高速的片内或片外RAM中执行,以充分发挥C5402指令高速运行的特点。
Bootloader能提供许多种引导方式以适配不同的系统设备,包括两种并行总线方式、串口方式以及主机口方式(HPI),具有很强的系统灵活性。同时支持8位字节和16位字的模式。8bit EPROM并行引导是设计C5402 DSP系统最常用、最经济、最简便的引导方式,用户代码可存储在低速的EPROM外设中,其地址位于外部数据空间的`4000h~FFFFh段,共48K。要实现EPROM并行引导至片内RAM,C5402首先要进行如下初始化设置:
(1)将芯片的MP/MC脚接地,使C5402工作在微计算机方式;
(2)设置寄存器PMST中OVLY=1,使片内RAM0080h~3FFFh既映射在程序区,又映射在数据区;
(3)设置寄存器PMST中DROM=0,使F000h~FFFFh映射在外部数据区;
(4)程序和数据空间设置成7个等待状态。
(2)、(3)、(4)项用C5402芯片掩摸ROM中的引导程序实现。在C5402上电复位后,指令总是从FF80h处执行,然后自动跳转到内部引导程序入口地址F800h,判断芯片MP/MC位,若为逻辑0,则执行引导程序。
2 8bit EPROM引导装载的实现
2.1 EPROM并行引导过程
为使C5402能有效地把外扩EPROM中的程序引导到芯片内RAM,需要编制一个引导表。引导表定位于数据空间的4000h~FFFFh段,引导表的内容包含如下几个方面:(1)引导方式的标识;(2)程序存放的目标首地址;(3)程序执行的入口址址;(4)用户程序代码;(5)用户程序块长度。
引导表数据结构是通过执行链接命令程序和Hex转换公用命令程序形成的。在链接命令程序中分配了程序和数据结构,在Hex转换公用命令程序中定义了引导方式、程序执行的入口地址和外部EPROM的首地址。
片内ROM的引导程序首先读取I/O空间的FFFFh地址内容(指定为4000h)作为引导表的起始地址,通过判别引导表起始地址内的引导标识来确定是8位并行还是16位并行引导方式。若引导标识是10AAh,则是16位的并行引导方式;若引导标识是08AAh,则是8位的并行引导方式。
当从I/O空间FFFFh地址读取不到有效的引导标识时,片内ROM的引导程序即读取数据空间FFFFh的内容作为引导表的起始地址。同样通过判别引导表起始地址内的引导标识来确定是8位并行还是16位并行引导方式。当EPROM数据位宽是8bit时,则要读取数据空间FFFFh地址的内容(低字节)和FFFEh地址的内容(高字节)作为引导表的起始地址。
2.2 硬件实现电路
8bit EPROM引导装载的实现电路如图1所示。
图中D3、D4器件为74AHC373,提供了C5402采集I/O端口地址FFFFh的数据,这里设置为4000h。EPROM选用27C512-60(64k),缓冲器74AHC244作电平变换用,EPROM的片选端和缓冲器的选通端同时接C
5402的数据选通信号MSTRB。当程序引导完后,MSTRB为高,缓冲器74AHC244输出为高阻,可以并挂在数据总线上。
(本网网收集整理)
当C5402读取I/O端口地址FFFFh时,IOSTRB为低有效,同时地址线A15为高,经反相与IOSTRB信号相“或”,以选通D3、D4器件,C5402即采集到引导表起始地址4000h。当用户不采用从I/O端口读取引导表起始地址时,C5402将读取数据文凭间FFFFh地址的内容和FFFEh地址的内容作为引导表的起始地址。在将程序代码用编程器写入到EPROM时,将EPROM的FFFFh地址和FFFEh内容写定为00和40即可。若使用低于64k的EPROM时,只要在EPROM的最高两个地址写入00和40即可。例如,使用8K EPROM,而C5402的地址线只用到A0~A12,那么在EPROM的1FFFh和1FFEh地址写入00和40即可,并将Hex制转换命令程序中的-bootorg 0x4000句修改为-bootorg 0x0000。
2.3 编制命令文件程序
(1)链接命令文件程序(文件名设为dsp5402lj.cmd):
;dsp5402lj.cmd program
dsp5402.obj ;输入汇编后的文件名
-o dsp5402.out -m dsp5402.map ;设定输出文件名
MEMORY ;内部存储器分配
{
PAGE 0:ROM:origin=0080h length=1000h
;程序引导后首地址和块长度
PAGE 1:RAM:origin=200h length=500h
;定义数据块首地址和块长度
}
SECTIONS
{
.text:>ROM ;将text段定义的程序放入程序页
.bss:>RAM ;将bss段定义的数据块放入数据页
}
(2)Hex制转换命令程序(文件名设dsp5402h.cmd):
;dsp5402h.cmd program
dsp5402.out ;输入链接后的文件名
-o dsp5402.m1 ;定义输出文件名和格式
-m1 ;输入文件格式为Motrola-s1
-memwidth 8 ;定义8位EPROM
-romwidth 8 ;输出文件是字节
-bbtorg 0x4000 ;外扩EPROM存放代码的首地址
-e 0x0080 ;定义引导后程序执行的入口地址
SCTIONS {.text:BOOT}
2.4 创建并行引导表
为充分发挥C5402的引导特点,必须建立一个包含完整数据流的引导表。引导表通过Hex转换应用工具来实现。当执行Hex转换命令程序时,不同的引导方式和引导选项,建立的引导表内容将所不同。引导表的建立包括如下三个步骤:
(1)汇编文件
用C5402汇编语言在文本形式下编程,执行如下命令:
asm500.exe -1 -v548
程序将被汇编成后缀名为obj的目标文件,命令中如文件名缺省,目标文件名与汇编程序源文件名相同。
(2)链接文件
执行命令:lnk500.exe dsp5402lj.cmd
dsp5402lj.cmd为链接命令文件名,由用户编程确定用户代码装载引导的入口地址、程序块长度以及程序段和数据段的分配。引导表内数据的每一个块同等于COFF文件的一个初始化段,初始化段包括:.text,.data,和.sect。未初始化段为:.bss和.usect。
(3)执行Hex转换公用命令程序
执行命令:Hex500.exe dsp5402h.cmd
dsp5402h.cmd为Hex转换命令文件名。对可执行的COFF文件使用Hex转换公用程序进行转换后得到若干种标准的十六进制格式文件。转换后的十六进制格式文件即是引导表的内容,引导表包含并行引导的标识、程序执行的入口地址、程序存放的目的地址、用户程序及用户程序块长度。利用编程器可以将引导表的内容写入EPROM,然后将EPROM插入C5402用户系统中运行。
DSP+FLASH引导装载系统的设计与实现
摘要:介绍了利用DSP编程实现对FLASH的读写操作,设计并实现子一个引志装载系统的模型,给出了一个简单的测试用的实例。整个方案有较大的灵活性和实用性。关键词:数字信号处理器 FLASH存储器 引导装载
在一些脱机运行的DSP系统中,用户代码需要在加电后自动装载运行。DSP系统的引导装载(Bootload)是指在系统加电时,DSP将一段存储在外部的非易失性存储器的代码移植到内部的高速存储器单元中去执行。这样既利用了外部的存储单元扩展DSP本身有限的ROM资源,又充分发挥了DSP内部资源的效能。尽管用户代码在一段时间相对是固定的,但是如果直接将其掩膜到内部ROM中去的话,一方面受容量以及价格的限制,另一方面则在系统代码级上显得不是很灵活方便。FLASH是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统的EPROM要低,十分适合于低功耗、小尺寸和高性能的便携式系统。除了可以采用专用的硬件编程器把代码灌入FLASH中之外,也可以利用现成的DSP通过软件编程来实现同样的功能。本文论述的正是如何通过DSP软件编程来实现对FLASH的读写操作,并介绍一个简单的系统引导装载方案的实现。
1 系统描述
本系统由DSP(TMS320VC5410)及外部的FLASH(M29W400T)以及相关的电源管理单元等构成。DSP与FLASH的连接如图1所示。DSP与FLASH是主从关系,由DSP的相关输出管脚控制FLASH的擦除和读写。其中,A0~D15为数据线,/MSTRB为存储选通信号,R/W是读写脉冲信号,/OE和/WE分别为读使能和写使能,/CE为片使能,/BYTE为8位或16位数据模式选择(图中接高电压为16位模式)。FLASH用于存放引导程序段和用户代码,由DSP软件编程来写入。当系统脱机加电时,DSP首先从外部FLASH指定的引导程序段的起始位置处开始执行引导装载。所谓引导装载,就是将原先存储在FLASH中的用户代码移植到DSP内部的高速执行执行,然后将程序指针设置为用户代码的起始地址。这样,接下来就可以利用DSP资源高速执行用户代码了。
(本网网收集整理)
2 DSP对FLASH的'操作
2.1 DSP及FLASH简介
TMS320VC5410是TI公司的C54x系列的定点DSP,具有低功耗和高速度,常用于便携式系统开发。其内部在座资源包括256Kb的可掩膜RO凤及可高速运行的128Kb的DARAM和896Kb的SARAM。ROM中固化了TI提供引导装载代码,方案采用自编的引导程序。
ST公司的M29W400系列的FLASH容量为4Mb,分为11个不同大小的块结构,支持8位或16位操作模式。通过特殊的命令字序列可以对每一块独立进行擦除和读写。与以往的FLASH相比,它由外部单电压供电,无需额外提供高电压即可实现擦除及写入,因而在系统设计上无需考虑特殊的电平匹配。本方案采用16位模式。
2.2 地址映射方式
由于用DSP操作FLASH,必然涉及到FLASH的实际地址在DSP中的映射方式。TMS320VC5410的地址空间如图2所示,包括数据空间和程序空间,具体的映射方式由DSP内部的一些寄存器决定。它使用页面扩展机制,最多可以寻址8192Kb的程序空间。假设FLASH的起始地址0x0000和DSP的起始地址0x0000重合,那么FLASH中只有对应于DSP外部空间的那部分地址,才是DSP可见的。比如,本方案中采用微处理器模式(MP=1)且OVLY=1时,则DSP第0页程序空间中可见的FLASH的地址范围为0x8000~0xFFFF。
在擦除或读写FLASH之前,必须先执行相应的命令字序列,即在指定的FLASH地址处写入指定的指令代码。而整个FLASH地址空间并非和FSP的地址空间一一对应,所以需要考虑地址的重映射。
现以对FLASH写入为例。未考虑地址重映射时,命令字序列如下所示:
Flash Write(0x5555L,0x00AA);//1st cycle
Flash Write(0x2AAAL,0x0055);//2nd cycle
Flash Write(0x5555L,0x00A0);//Program command
Flash Write(myaddress,mydata);//put mydata into myaddress
由图2可知,当MP=1和OVLY=1时,FLASH地址0x5555L和0x2AAAL在DSP中位于外部空间之外,是不可见的。这样DSP执行上述语句时,根本没有对FLASH进行相应的操作,从而导致即使FLASH地址myaddress是DSP可见的,也无法实现数据写入的功能。
仔细分析FLASH的命令字序可知,前三句命令字序列中真正起作用的地址位是A0~A14,而高地址位A15~A17可以是任意值。于是考虑加一个偏移量0x8000,使得重映射后的FLASH地址在DSP中是可见的。修改
后的代码如下所示:
#define OFFSET 0x8000
Flash Write ((0x5555L+OFFSET),0x00AA);//1st cycle
Flash Write((0x2AAAL+OFFSET),0x0055);//2 nd cycle
Flash Write((0x5555L+OFFSET),0x00A0);//Program command
Flash Write((myaddress,mydata);//put mydata into myaddress
这样,在DSP中就可以对外部FLASH进行写入操作了,前提是FLASH地址myaddress在DSP中可见。擦除和读操作也要对照图2作类似的地址重映射,不一一累述。
2.3 擦除和读写过程描述
在DSP将数据写入FLASH之前,先要删除数据所在块,然后才能重新写入。擦除和写操作之前都要执行相应的命令字序列,而读操作则可以直接进行。而且要写入的数据部分应为引导程序段以及用户代码是经过编译、连接后的目标代码,且为FLASH可识别的HEX格式。
3 引导装载模型设计
3.1 引导装载原理
加电前,DSP设置为微处理器模式(MP=1)。加电后,DSP首先执行0xFF80处的中断向量表起始处的跳转命令,转向0xF800处的引导程序段并实现代码移植功能。完毕后,再次跳转到移植后的用户程序段的起始地址并执行之。
3.2 逻辑功能分块
引导装载系统包括引导程序段、用户程序段、中断向量表和连接命令文件四部分。引导程序段负责将用户程序段和中断向量表装载到目标地址,用户程序段是实现用户系统功能的核心代码,中断向量表包括加电后的跳转处理和中断服务程序的入口,连接命令文件则是分配各个程序段在DSP地址空间中的位置。
3.3 具体代码实现
引导程序段(load.asm)如下:
.def load_start
.sect “load_prg”
load_start:
ssbx intm ;关中断
rsbx sxm ;符号扩展模式设置为0
ld #0,dp ;定义数据页指针为0
nop
nop
nop
ld #0ff80h,a ;移植中断向量表,0xff80为中断向量表的旧起始地址
stm #VECT_NEW,ar1 ;VECT_NEW表示中断向量表的新起始地址
rpt #(VECT_LEN-1) ;VECT_LEN表示中断向量表的长度
reada *ar1+
nop
ld #MAIN_OLD,a ;移植用户程序段,MAIN_OLD表示用户程序段的旧起始地址
stm #MAIN_NEW,ar1 ;MAIN_NEW表示用户程序段的新起始地址
rpt #(MAIN_LEN-1) ;MAIN_LEN表示用户程序段的长度
reada *ar1+
endboot:
orm #020h,@1dh ;设置OVLY=1,使得内部RAM同时映射到DSP数据和程序空间
ld #MAIN_NEW,a
bacc a ;程序指针指向用户程序段的的起始地址
.end
用户程序段(main.asm)如下:
.def main_start
.sect “main_prg”
main_start:
USER_PRG ;此处添加用户程序段
.end
中断向量表(vect.asm)如下:
.mmregs
.ref main_start
.ref load_start
.def reset
.def nmi
.sect “.vectors”
reset: bd load_start ;加电后,跳转到自启程序段起始地址
stm #200,sp
nmi:rete ;此表中只包含NMI中断入口,也可以类似添加其它中断入口
nop
nop
nop
.end
连接命令文件(boot.cmd)的配置如下:
vect.obj
main.obj
load.obj
-o boot.out
SECTIONS
{
main_prg: load=MAIN_OLD,run=MAIN_NEW
vectors: load=0ff80h,run=VECT_NEW
load_prg: load=0f800h
}
4 写入目标代码
上述引导程序经过CCS编译及连接后,生成的目标文件boot.out是DSP能够识别的COFF格式。但是FLASH不支持这种模式,所以不能直接写入FLASH中。CCS自带有多种HEX类型的转换程序,比如常见的有Intel格式等。但是不同的HEX类型有不同的格式和头尾开销,比如Intel格式中除了数据之外还有起始符、字节个数、起始地址、类型以及校验位等各种信息,并非纯粹数据的HEX格式表示。了解了Intel格式的文件结构之后,就可以从中提取出需要写入FLASH中的代码的HEX格式有相应的地址,即对应上面提到的mydata和myaddress。然后就可以利用上面的方法,用DSP将引导系统各个部分的代码脱机运行前写入FLASH。
5 简单测试实例
利用上述方法,使得系统在脱机状态下实现引导装载,并且从DSP的XF端口输出均匀脉冲波形。直接修改用户程序段可用如下的代码取代用户程序段中的USER_PRG。
loop:rsbx xf
nop
ssbx xf
nop
b loop
经过编译、连接、格式转换以及写入FLASH之后,系统就可以实际脱机运行了。加电一段时间后,可以通过示波器测量得到XF端口的均匀脉冲波形,证明引导装载成功。
TMS320C6711的FLASH引导装载系统研究与设计
摘要:引导装载是DSP系统设计中必不可少的重要环节。文章对TI公司TMS320C6711中FLASH引导装载的概念、方法及特点做了详细阐述,同时以SST公司的FLASH器(SST39VF040)为例,设计了一个利用FLASH进行引导装载的系统方案,并给出相应的自加载程序源代码。关键词:数字信号处理器FLASH存储器引导装载TMS320C6711
1概述
在一些脱机运行的DSP系统中,用户代码需要在加电后自动装载运行。DSP系统的引导装载(Bootload)是指在系统加电时,由DSP将一段存储在外部非易失性存储器中的代码移植到高速存储器单元中去执行。这样既可利用外部存储单元来扩展DSP本身有限的ROM资源,又能充分发挥DSP内部资源的效能。因此,在装载系统中,外部非易失性存储器和DSP的性能显得尤为重要。FLASH是一种高密度、非易失性的电可擦写存储器,而且单位存储比特的价格比传统EPROM要低,十分适合用于低功耗、小尺寸和高性能的便携式系统。本文介绍了TI公司TMS320C6711浮点DSP芯片和SST公司SST39VF040FLASH存储器的基本特点,同时给出了一具完整的用FLASH来实现系统引导装载的实现方案。
2硬件设计
2.1器件介绍
整个系统由DSP(TMS320C6711),外部FLASH存储器(SST39VF040)以及电源管理单元等构成。下面主要介绍前面两个模块。TMS320C6711数字信号处理器是美国TI公司推出的TMS320C6000系列浮点DSP的一种,它采用256管脚的BGA封装,3.3V的I/O电压和1.8V的内核电压供电方式,并具有两级cache缓存结构和高达900MFLOPS的峰值运算能力,可广泛应用于图像处理等系统中。
SST39VF040是SST公司推出的FLASH存储器,该器件十分适合用作外扩存储器,它的存储容量为4MB,采用3.3V单电源供电,无需额外提供高电压即可通过一些特殊的命令字序列实现对各个子模块的读写和擦除,并且可以重复十万次以上,因而可通过DSP软件编程来实现对它的读写操作,十分适合于系统的调试和开发。
2.2硬件连接
DSP访问片外存储器主要通过外部存储器接口(EMIF),它不仅具有很强的接口能力,可以和各种存储器直接接口,而且还具有很高的数据吞吐能力,最高可达1200MB/s。TMS320C6711的EMIF支持8位、16位和32位宽的所有存储器,当从这些窄位宽的存储空间读写数据时,EMIF会将多个数据打包成一个32位的值,而不必增加额外电路。TMS320C6711与SST39VF040的连接电路如图1所示。
该电路主要通过DSP的相关输出管脚来控制FLASH的擦除和读写。其中,A0~A18为地址线,DQ0~DQ7为数据线,OE和WE分别为输出使能和写使能,CE1为片使能。由于TMS320C6711默认的引导模式是从外部CE1空间的8位FLASH来引导装载,所以,TMS320C6711的CE1和FLASH的片选CE相连。如果是从16位或32位FLASH引导,则只需将HD[4:3]设置成相应的值即可。
2.3EMIF寄存器的配置
由于TMS320C6000在异步接口上更加方便,因此,用户可以灵活地设置读写周期以实现与不同速度、不同类型的异步器件的直接接口。EMIF接口由一组存储器映射的寄存器进行控制与维护,包括配置各个空间存储器类型和设置读写时序等。和异步器件接口时需配置CE空间控制寄存器,由它来控制存储器的读写周期,本系统用到了CE1空间,故需要设置CE1空间控制寄存器的值。在设置CE1空间控制寄存器时,应满足以下条件:
(1)异步读时:
SETUP+STROBE≥(tacc(m)+tsu+tdmax)/tcyc
SETUP+STROBE+HOLD≥(trc(m))/tcye
HOLD≥(th-tdmin-toh(m)/tcye
HOLD≥(th-tdmin-toh(m)/tcye
(2)异步写时:
STROBE≥(twp(m)/tcye
SETUP+STROBE≥(txw(m))/tcye
HOLD≥(Max(tih(m),twr(m))/tcye
SETUP+STROBE+HOLD≥(twc(m))/tcye
(3)附加参数TA:TA≥(tohz(m))/tc
ye
以上参数可以从芯片手册里查到,并可据此得以满足上述条件的CE1值:CE1=1161C901h。
3软件设计
引导装载系统主要由实现自加载功能的定制代码和用户程序两部分构成,最后都存储在外扩SST39VF040的指定地址中。其中如何写定制代码是设计的`重点,它负责将中断向量表和用户代码段从片外FLASH移植到其它高速存储器中,并且将程序指针指向用户代码段的起始地址。
3.1FLASH引导过程
对于许多DSP应用系统,常常需要从FLASH装载程序到DSP以便使它能够脱机运行。设置完芯片装载方式后,FLASH引导装载的具体过程如下:
首先将位于外部CE1空间的FLASH(即图1中的SST39VF040)中的程序通过EDMA自动搬入内部RAM的地址0处(参见图2),实际上,尽管加载过程RAM的地址0处(参见图2),实际上,尽管加载过程是在芯片复位信号被释放后才开始的,但是当芯片开始复位时,就开始准备上述传输了。用EDMA进行的加载过程是一个单帧数据块的传输过程,数据块的大小为1kB,当然这1kB的数据必须包括用于实现自加载功能的定制代码,1kB的数据传输完成后,CPU退出复位状态,开始执行地址0处的自加载功能的定制代码,同时把其它的初始化段从FLASH拷贝到相应的高速存储器处,之后初始化C变量以换行用户程序。
3.2链接
在链接自加载功能的定制代码和其它代码时,需要特别注意该程序COFF(公共目标文件格式)段的放置。因为有时候需要对某些段制定两个不同的地址:一个导入地址,一个运行地址。导入地址用来决定装载器把段的原始数据放在何处,而运行地址就是该段代码运行的地方。任何对段的引用都是指它的运行地址。因此,如果给某个段指定不同的导入地址和运行地址,在程序访问该段之前,都需要把它从导入地址拷贝到运行地址处,当然这个拷贝过程有时是自动进行的,有时需要人工介入,即由自加载功能的定制代码来完成。如前面提到的1kB数据拷贝就是EDMA自动完成的。显然,制定两个不同地址的目的是为了加快代码的执行速度。链接可由*.cmd文件来实现。代码在链接在应遵循以下原则:
(1)所有代码和初始化数据都必须有一个FLASH的导入地址;
(2)所有非常数数据据都有一个RAM运行地址;
(3)未初始化的数据无需独立的导入地址;
(4)从FLASH拷贝到RAM的代码要有一个FLASH导入地址和RAM运行地址。
3.3写自加载功能的定制代码
通常1kB的定制代码需要包括以下三个部分:
(1)配置EMIF寄存器。只有正确配置了EMIF的值,它才有可能访问外部存储器FLASH和SDRAM;
(2)拷贝初始化段。对于既有导入地址,又有运行地址的初始化段,需要把它从导入地址拷贝到它的运行地址处,处时还必须参考.map文件来确定要搬移的数据块的大小,这些段代码的搬移可以用汇编指令MOV来实现,也可以用TMS320C6711的EDMA来实现。由于用EDMA搬移数据要对EDMA参数进行设置,所以通常采用MOV指令来实现;
(3)转向C程序的入口_c_int00,即跳转到main函数的入口处。
该自加载功能的代码如下:
BOOT_SIZE.equ0x9800;待装载代码的大小
FLASH_START.equ0x90000000;FLASH起始地址
BOOT_START.equ0x0000000;L2sram起始地址
EMIF_GCR.equ0x01800000;EMIF全局控制寄存器的地址
EMIF_CE1.equ0x01800004;CE1空间控制寄存器的地址
EMIF_CE1-8.equ0x1161C901;CE1空间控制寄存器的值
.sect“.boot_load”
.global_boot
.ref_c_int00
_boot:
mvklEMIF_GCR,A4
mvkl0x3300,B4
mvkhEMIF_GCR,A4
mvkh0x3300,B4
stwB4,*A4;配置EMF全局控制寄存器
mvk1EMIF_CE1,A4
mvk1EMIF_CE1-8,B4
mvkhEMIF_CE1,A4
mvkhEMIF_CE1-8,B4
stwB4,*A4;配置CE1空间控制寄存器
mvklBOOT_START+1024,A4;待搬移数据的目标地址
mvklFLASH_START+1024,B4;待搬移数据的源地址
mvkhBOOT_START+1024,A4
mvkhFLASH_START+1024,B4
zer0A1
_boot_loop1:数据搬移
ldb*B4++,B5
mvklBOOT_SIZE,B6
add1,A1,A1
mvkhBOOT_SIZE,B6;B6为待搬移数据块大小,可根据实际情况来修改
cmpltA1,B6,B0
nop
stbB5,*A4++
[B0]b_boot_loop1
nop5
mvk1.S2_c_init00,B0
mvkh.S2_c_int00,B0
B.S2B0;转向C程序的入口
nop5
3.4FLASH编程
建立好了上述定制代码段、用户程序段、中断向量表和链接命令文件后,便可利用TI公司的DSP集成开发环境CCS进行编译、调试及链接,之后生成的目标文件*.out就是DSP能够识别的COFF格式。为了使系统能够脱机运行,需要把该目标文件的代码写入FLASH中,往FLASH中写入目标代码可以采用以下两种方法:
(1)用硬件仿真器XDS510/560通过JTAG口对FLASH进行在线编程。此时需要把*.out文件数据放入缓冲存储器,然后按照FLASH芯片手册提供的编程格式把缓冲存储器里的数据写入FLASH。
(3)利用编程器进行编程。由于编程器不支持*.out文件模式,不能直接写入FLASH中,所以必须将*.out文件转换成编程器可读入的*.hex格式,这可以通过CCS软件中的转换工具hex6x来实现,转换时要注意hex.cmd文件的写法,而且整个文件转换过程是在DOS提示符下完成的。
4结论
利用上述方法可使系统在脱机状态下实现引导装载,本次实验所用的用户代码段的功能是利用DSP的多通道缓冲串口发送一个字符串给PC机的RS232口。按照前面的方法写好定制代码段、用户程序段、中断向量表和链路命令文件并进行编译、链接、格式转换以及写入FLASH之后,系统就可以实现脱机运行了。这样,给DSP系统加电后,就可以通过串行口调试软件在PC机上接收到DSP所发送的字符串以证明引导装载成功。由于用户代码段也可以被其它程序代替,因此,本文设计的引导装载系统其有一定的通用性。
摘要:简要介绍了MOTOROLA公司的24位定点数字信号处理器DSP56362的并行引导过程和特点。并结合实际,提出了一种双引导模式,给出了具体的实现方法。通过这种双引导模式,巧妙地达到了系统的要求。另外,介绍了采用DSP软件编程来实现FLASH擦除和读写方法。
关键词:DSP56362;Bootstrap;双引导模式;命令字序列
1引言
在脱机运行的DSP系统中,用户代码往往都需要在上电后自动装载运行。目前,大多数的DSP内部都有固化的引导装载(Bootload)程序,它能在系统加电时,自动将一段存储在外部非易失性存储器中的程序代码移植到内部的高速存储器单元中去执行。采用这种方式,既可利用外部的存储单元来扩展DSP本身有限的ROM资源,又充分发挥了DSP内部资源的效能。
因为用户代码在一段时间内是相对固定的,所以可以将其固化在非易失性存贮器中。而如果将代码掩膜到DSP内部ROM中去?一方面要受到容量以及价格的限制,另一方面,系统代码升级也不是很灵活方便。FLASH是一种高密度、非易失性的电可擦写存储器,其单位存储比特的价格比传统的EPROM要低,十分适合低功耗、小尺寸和高性能的脱机系统。此外,除了可以采用专用的硬件编程器把程序代码烧入FLASH中之外,也可以直接利用DSP通过软件编程来实现。本文论述的正是如何通过DSP软件编程来实现对FLASH的读写操作,同时介绍了系统双引导装载方案的实现方法。
2系统描述
本系统是基于MOTOROLA公司DSP56362芯片构建的数字音效处理系统中的一部分,整个数字音效处理系统的系统框图如图1所示。
DSP56362是一款24位通用定点数字信号处理器。它采用高性能单时钟指令周期的DSP56300内核和MotorolaSymphonyDSP的音频处理性能相结合的方法来实现?具有运算速度快(100MIPS)?精度高(24bit),外设接口丰富(具有增强型串行音频接口ESAI、并行主机接口HI08、串行主机接口SHI、数字音频接口DAX等),价格低廉等诸多优点,特别适用于音频处理。其24位的处理精度配合20位的A/D(PCM1800)和24位的D/A?PCM1744?使得整个系统具有很高的动态范围(96dB以上)。它高达100MIPS的运算速度保证了算法处理的实时性。其增强型串行音频接口ESAI可以很方便地与音频A/D、D/A直接通过I2S协议进行连接。通过8bit的并行主机接口HI08可以方便地与负责键盘控制和LED显示的单片机89C51进行通信。
FLASH选用SST公司的39LV010?其存储容量为128k×8bit,采用3.3V供电,读写周期为70ns,支持块擦除与字节编程,是一款高性价比存储芯片。
DSP与外部FLASH的连接示意图如图2所示。图中,DSP的AA1脚和FLASH的片选信号脚CE相连。
DSP56362的4个地址属性寄存器AAR[3~0]是24位读写寄存器,它们的值可用于控制DSP芯片的AA[3~0]引脚的状态,当某个AAR寄存器中的基址与外部访问指令存取范围相匹配时,由这个AAR定义的相应地址空间(X数据、Y数据或程序)将被相应的AA线选通。在本系统中,正是把DSP的AA1作为FLASH的片选线。AA1脚相应的AAR1寄存器的值设为0xD00811H,当访问地址的高8位为11010000时,外部FLASH被选通。
通过设置DSP的总线控制寄存器BCR,可以设置访问外部存储器时插入的等待状态的个数。在本系统中,FLASH的存取周期为70ns,为了保证FLASH的正确读写,一般要插入32个等待状态。
3DSP56362的引导过程
在DSP56362内部的0xFF0000H-0xFF00BFH地址范围内有Motorola定制的24位192字的BootstrapROM。该ROM内的Bootstrap引导程序可以通过用户设置的DSP引导模式信号线,将用户程序从外部的8位EPROM、EEPROM、FLASH、SHI接口或者HDI接口引导到DSP内部的高速RAM中全速运行。
当DSP56362硬件复位后,它将首先采样外部的MODA、MODB、MODC和MODD信号线,并将它们的状态写入工作模式寄存器OMR?OperatingModeReg-ister?的MA、MB、MC和MD位,然后使程序指针指向0xFF0000H去执行Bootstrap引导程序,Bootstrap引导程序通过对OMR的MA、MB、MC和MD位进行判断来决定选择哪种引导模式。主要的引导模式如表1所列。
表1DSP56362Bootstrap的.引导模式
MODDMODCMODBMODA
描述
0001从字节存储器引导0010跳转到程序ROM起始地址0101从串行主机接口SHI引导(SPI从模式)0110从串行主机接口SHI引导(I2C从模式,时钟静止使能)0111从串行主机接口SHI引导(I2C从模式,时钟静止关闭)1001内部测试保留1100从并行主机接口HDI08引导(ISA模式)1101从并行主机接口HDI08引导(HC11非复用模式)1110从并行主机接口HDI08引导(8051复用总线模式)1111从并行主机接口HDI08引导(68302总线模式)
在本系统中,由于程序保存在外部的FLASH里,所以采用的引导模式为第一种?即从字节存储器引导。在这种模式下?Bootstrap程序将从地址0xD00000H处开始加载外部数据,并采用以下数据格式从外部接口下载用户的系统程序:
(1)最开始的3个字节用于定义系统程序的总字数(24位)。
(2)接着的3个字节用于定义系统程序下载到DSP56362程序存储器的目的地址。
(3)其余是用户的系统程序(每个24位的字由三个字节组成),这些程序将存储在DSP程序存储器内连续的地址空间里。
Bootstrap引导程序要求系统程序在外部FLASH中以地位字节(LSB)在前的顺序排列每个24位字的3个字节。DSP的引导程序一旦完成数据的下载,将马上跳转到内部程序存储器的起始目的地址开始运行用户的系统程序。
4.1DSP56362的片内内存分配
DSP56362采用增强型哈佛结构,片内空间可分为程序空间、X数据空间、Y数据空间,每个空间都有一套独立的24位地址总线和数据总线。在缺省情况下,DSP片内的RAM分配情况为:3kB程序RAM、5.5kBX数据RAM和5.5kBY数据RAM。通过设置内存切换模式(MS=1)可以将2kB的Y数据RAM映射到程序RAM中,此时的片内RAM分配为:5kB程序RAM、5.5kBX数据RAM和3.5kBY数据RAM。考虑到本系统对程序空间的需求量较大,而数据RAM相对较多,且系统对内部数据RAM的需求并不是很大,因此,将DSP设置成内存切换模式比较好。DSP56362在内存切换模式下(MS=1)的内存映像图如图3所示。
4.2直接使用Bootstrap引导程序的问题
DSP的内存切换模式需要通过软件指令对OMR寄存器进行设置来实现。由于只有在该指令执行后才能生效,这样就产生了一个矛盾。因为若在系统程序开始时将DSP设置为内存切换模式,那么,往往希望DSP能装载5kB的程序指令,但是,DSP的Bootstrap引导程序是在系统复位后立即执行的,此时DSP处于缺省(MS=0)状态,程序RAM只有3kB,如果此时外部的指令代码的大小超过了这个限制,引导程序就不能把它们加载进去,而当这条设置指令生效时,虽然DSP的程序空间又增加了2kB,但是引导程序已经结束,因而这2kB的程序空间实际上没有被利用。
另外,从DSP的Bootstrap程序流程可以看出,这个引导程序只能将系统的程序代码数据加载到DSP内部的程序RAM,而不能将数据加载到DSP内部的X数据RAM、Y数据RAM,这样,那些需要在数据区内定义常数的程序将无法正常运行。
4.3双引导模式
为了解决以上问题,本文提出了一种双引导模式。具体思路是:在系统程序的开始处,设计一个用户自己的引导模块,用这个模块先对DSP内部的OMR寄存器进行相应的内存切换设置,以使DSP内部的程序RAM扩大为5kB。然后参照DSP的Boot-strap引导程序分别对系统的X、Y及P区的数据进行加载。同时在将程序烧录到FLASH时采用地址隔离的方式将引导模块与系统程序分开存放,引导模块作为一段独立的程序放在首地址为0xD00000H的存储区。于是,对于DSP的Bootstrap引导程序来说,它需要引导的不是整个系统程序,而仅仅是这个引导模块,另外加载完这个模块后就立即跳转到内部程序RAM中执行,此时引导模块已获得CPU控制权,它在完成内存切换后将继续引导系统程序的其他部分。采用这种两次引导的方法,不但使X、Y区的数据可以按照程序的要求进行初始化,而且DSP的程序指令空间可以预先设置成5kB,从而非常巧妙地达到了系统的要求。该双引导模式的引导模块程序流程如图4所示。
5FALSH的擦除和读写
为了使系统能够脱机运行,应当把系统程序烧录到外部FLASH中去。除了可以用专用的编程器把代码烧入FLASH中外,还可以用软件编程的方法由DSP来实现同样的功能。本系统正是采用这种软件编程的方法实现对FLASH的擦除和读写。
5.1地址映射
利用DSP擦除和读写FLASH必然会牵涉到FLASH中的地址在DSP中的映射方式。DSP56362的内存映像图已在图3中给出。本系统采用的是128kB的FLASH,其地址范围为:0x000000H~0x1FFFFH。假设FLASH的起始地址0x0000H和DSP的起始地址0x000000H重合,那么FLASH中只有对应于DSP外部空间的那部分地址空间才是DSP可见的。为了使DSP能够访问全部的外部FLASH空间,设计时必须进行地址重映射。
本系统实际用到的FLASH的存储容量不足64kB,也就是说,当访问外部FLASH时,真正起作用的地址线是A0~A15,而高位地址线A23~A16可以为任意值。因此,可以考虑给访问地址加一个偏移量0xD00000H,以将FLASH的地址空间映射到DSP内部X数据RAM中,映射后的地址范围是:0xD00000H~0xD0FFFFH。重映射后的FLASH地址空间落在X数据RAM的外部保留区内,这在DSP中是可见的。
5.2擦除和读写过程
在DSP将数据写入FLASH之前,先要删除数据所在块,然后才能重新写入。在擦除和写操作之前都要执行相应的命令字序列,即在指定的FLASH地址处写入指定的指令代码,而读操作则可以直接进行。FLASH的擦除和写入流程图分别如图5、图6所示。在本系统中,由于采用了双引导模式,所以首先要将引导程序写入FLASH,然后再分别将用户程序的P区数据、X区数据、Y区数据写入FLASH。
在利用DSP软件编程进行烧录时,可以从目标文件中提取出将要写入FLASH的数据,然后将这些数据打包成一个asm文件,再在烧录程序中将这个asm文件包含进来。接着对烧录程序进行编译、链接,以产生一个目标文件。最后,通过JTAG口将目标文件下载到DSP中运行,这样,DSP就会通过其外部数据线将打包好的asm文件中的数据写入FLASH。在本系统中,引导程序和用户程序将分4次烧入FLASH?为此要分别将引导程序、用户程序P区数据、用户程序X区数据、用户程序Y区数据打包成asm文件。打包一个asm文件的具体步骤如下:
(1)调用MOTOROLA公司提供的ASM56300和DSPLNK程序对源文件进行编译、链接,以产生一个cld格式的目标文件。
(2)调用MOTOROLA公司提供的SREC程序将cld格式的目标文件转换成MOTOROLA公司的S-RECORD文件格式,可将目标文件中的P区数据、X区数据、Y区数据提取出来并生成3个文件,其后缀分别为p、x、y。
(3)调用Srec2bin程序将S-RECORD格式的文件转换成BINARY格式的文件。
(4)调用Bin2asm程序将BINARY格式的文件转换成asm文件。这个asm文件由一系列的数据定义指令组成,定义的数据依次为系统程序总字节数、系统程序起始地址、系统程序对应的十六进制操作码,其数据结构如图7所示。
为了验证上面方法是否能将引导程序和用户程序的各部分代码成功写入到FLASH中,笔者编写了一个测试程序作为用户程序,该测试程序的功能是将AD输入的音频信号不经任何处理直接输出。实验证明:系统脱机运行时能够正确地运行测试程序,从而说明了系统引导装载和FLASH烧录的成功。
6结束语
采用双引导装载方式可以克服Bootstrap引导程序不能加载X区数据和Y区数据的缺点,还可以在系统程序运行前将DSP设置为内存切换模式,同时,采用软件编程方法可以在没有专用编程器的条件下,方便、可靠地实现对FLASH的擦除和读写。该方案具有一定的实用性和参考价值,也能够用于其它DSP系统。
田林三小 崔莹
论文摘要:
我校于确立了“小学生创新教育活动方案的设计与研究”的区级重点科研课题,研究中我们收集和学习了国内外大量有关创新教育的情报资料,通过对小学生创新教育活动方案的设计与研究,试图培养学生的创新精神、创新意识和创新能力。我们从科技教育、德育和学科教学三大板块展开课题研究,其中科技创新教育的研究内容包括编写科技创新活动方案集、科技活动内容的创新和科技活动模式的创新三个方面,德育创新活动的研究内容包括德育活动领域的创新、德育活动内容的创新和少先队创新小队活动设计三个方面。课题实施过程中,教师敢于使用新理论、采用新方法、探索新方式,设计了部首新颖独特的科技、德育活动方案,为此,我们通过实践,编写了《科技创新活动方案集》、《少先队创新小队活动方案集》和《创新教育教学案例集》。
一、问题的提出
江泽民同志多次强调创新对于国家和民族的重要意义。他指出,创新是一个民族的灵魂,是一个国家兴旺发达的不竭动力。《面向21世纪教育振兴行动计划》及“跨世纪素质教育工程”的一个重要任务就是“整体推进素质教育,全面提高国民素质和民族创新能力”。
早在20世纪代,陶行知先生就曾提出并实施过“创造教育”,在西方,创造教育的研究已有近百年历史,可以追溯到本世纪初的美国教育家杜威。
我们这里所说的创新教育,是指在基础教育阶段以培养人的创新精神和创新能力为基本价值取向的教育实践。创新教育是一个时代命题,其实质就是以培养学生的创新意识和创新能力为目标的教育方式。
由于创新作为教育的核心目标,会牵涉到教育的许多方面,所以创新教育的实践与研究将会有利地推动教育改革的深化,更好地促进素质教育的实施。二期课改要求我们在中小学中设立研究性课程,以学生为主体,指导学生学会探究性学习,培养学生具有不断追求卓越的态度和提出问题、解决问题的能力。这一个个教育教学的重大改革,正在告诉我们教师,要通过创新教育培养具有创新意识的人才。目前,研究和解决如何培养学生的创新意识、创新精神和创新能力的问题是各个学校在探索和实践的。
为了培养和造就适应未来时代需要的创新型人才,必须要有适宜这种人才健康成长的“土壤”和良好的环境。儿童有旺盛的求知欲和强烈的好奇心,他们的创新精神、实践能力的培养是在丰富多彩的创新教育活动中实现的,不是外界强加的,可见,开发和开展创新教育活动是学校落实创新教育,培养学生创新能力,创造意识最有效的途径。
为此,我校科研课题组与20确立了“小学生创新教育活动方案的设计与研究”的区级重点科研课题,课题贯彻以“活动促发展”的思想,从科技教育、德育及学科教育教学的创新教育活动方案的设计、实践和研究入手,探索创新教育的规律,使学生的创新意识和创造能力培养走向系统化、规范化和科学化。
二、创新教育活动总体构想
(一)创新教育活动的涵义
美国心理学家马斯洛曾经把人的创造性分为有特别才能的创造性;自我实现
的创造性。前者是指科学家、艺术家、天才人物的创造性,后者是指人人皆可有的行为与经验,但其创新活动不一定得到社会承认,而只是他们自己才感受到是有价值的新经验。显然,小学创新教育活动中的创新,从学生主体角度看,主要是个人意义上的创新,包括个人生活的创新,大多不直接显示其创新的社会意义。
我们提出的创新教育活动是指以创新能力和创新精神的培养为目的,以创造性思维为桥梁,以学生创造性思维的激发为实施手段,以创新人格的养成为指向的教育活动。而不仅仅局限在搞小发明、小制作、小论文或培养学生发散思维。
(二)研究目标
意识和创新能力;不断的设计和积累创新活动方案,编写创新活动方案集,提炼创新教育活动的组织、实施、评价等相关操作方法;把开展创新教育活动研究作为一项完整的系统工作来对待,通过对教育教学的目标、课程体系、教学方法和手段以及校园文化等诸多要素进行较为深刻的变革,而在整体上形成一种在过程和结果上都具有创新特征的教育环境和教育氛围,使学校的创新教育系统化、规范化和科学化。
(三)研究方法
主要通过有关创新教育情报资料的收集,学习创新教育,结合学科教育教学写创新教育随笔;通过创新教育活动的方案设计和部分创新教育活动的实践探索,编写创新教育活动方案集和相关活动操作方法的提炼。
(四)研究内容
课题研究的主要内容是:在原有开展的相关活动中,以创新作为理念,在科技教育、德育和学科教学三大板块进行创新教育活动方案设计与研究,并在不断的实践操作中日渐形成一套创新教育活动模式,如:《科技创新教育活动方案集》、《少先队创新小队活动方案集》、《创新教育教学案例集》、《科技创新活动模式》等等。
具体实践研究分为三大板块:(一)科技创新教育活动,主要从编写科技创新活动方案集,部分科技创新教育主题系列活动的实施和科技活动模式的创新三方面开展研究。(二)德育创新活动,主要通过编写德育创新教育活动方案集,少先队体验教育活动内容、形式的创新和德育与科技活动相结合,努力在科技教育中培养学生的人文精神三方面开展研究。(三)学科创新教育教学活动,主要从学科渗透创新教育的教学公开课展示,编写学科创新教育教学案例集两方面入手。
(五)研究过程
1、科技创新教育的研究
(1)编写科技创新活动方案集
科技活动是一种实践性很强的活动,它能使学生大脑两半球健康和谐发展,
是创新能力培养的有效载体。“课内出人才,课外出天才”,说的就是这个道理。日本早在1954年就创立了不少有利于创新能力培养的科技活动,如:“星期天发明学校”、“少男少女发明俱乐部”等。
学生创新精神、实践能力的培养是在学生丰富多彩的自主活动中实现的,不是外界强加于学生的,从这个角度看,科技教育创新的关键是科技活动的主题、内容和形式要推层出新,要创造出学生的活动。
我们把“活动促发展”作为科技创新教育研究的指导思想,在科技活动方案的设计上下功夫,及时抓住社会生活热点,用独特的视角赋予科技活动全新的主题、内容和形式,从而吸引学生积极参与,体验创新的乐趣,激发学生敢于创新的勇气,分享创新的成果,让学生愿意创造,勇于创新,逐步达到培养学生创新意识、创新能力的目的。
例如:《“流动的芳草地”―制作环保公益广告》的科技活动方案,它凭借多处创新亮点一举荣获第十七届全国创新大赛优秀科技实践活动二等奖。首先,活动主题创新,“寻找流动的芳草地”本身就是个亮点,是一个独创,它诠释了环保宣传的真正意义,投射出环保的生命力,《上海科技报》的孙玲记者在一次科技研讨会上,一听到这样一个响亮的口号,顿时觉得耳目一新来了兴趣,执意认为有东西可挖,执意要跟踪采访、报道活动。其次,活动内容创新,“集资在公交车上做环保广告”是一个首创的环保活动内容,它给环保教育注入了新的生命力,通过让学生关注环保问题,做环保实事,体验环保活动过程,达到环保教育的目的,让环保教育成为活的生命体,东方电视台“有话大家说”栏目得知小学生要集资在公交车上做环保广告宣传环保,觉得前所未有,是一个创举,立即被其独特新颖的活动内容吸引,特意准备专门制作一档节目讨论这一有意思的话题,希望为孩子们出一点力,帮助他们实现愿望。最后,活动形式创新,“流动的芳草地”的活动形式打破了课堂教学狭隘的空间,不局限在课堂内、学校内,把课堂拓宽到家庭、社区,开放活动空间,如:在家里和家长设计制作环保广告牌,把环保广告牌挂在家长、老师的自行车上;为做环保广告集资社区义卖活动,在地铁里刊出了学生自己设计的环保灯箱广告;给家长、市长写环保信等等。这样的活动形式又是一个创新,它得到了«国家科技教育指导纲要»科研课题组的青睐,并指导我们进行专门的探究,我校创立的“学校、家庭、社区”的三位一体化科技活动模式就是从这一活动方案的实践探索中衍生出来的。
《“共绘绿色春天”―吊兰无土栽培》的科技活动方案,又是一个响亮而新颖的主题,活动中我们利用学校丰富的科技资源,在社区科学家的指导下运用无土栽培这一高科技方法培育吊兰,敢于将高科技技术在小学中实践、普及,用学生的成果描绘绿色春天,这在小学生中是首创;在培育吊兰的过程中,要进行观察、绘画、摄影、制作、试验、写作等多方面的实践活动,学生的多方面得到了综合性的锻炼和培养。
《花房的设计》的科技活动方案,当时学校正在建造花房,教师就及时抓住了这一科技活动热点设计了这一活动方案。整个活动过程就是一个创新的过程,学生们运用所学的几何图形、植物知识、设计技术等进行实际创造设计,提出了多种建造花房的方案,通过活动让学生的创新思维更符合现实,具有实际的效果。
《从洗手习惯看讲卫生的重要性》的科技活动方案,教师设计了独特的活动内容达到了事半功倍的效果,让学生自觉地养成洗手的卫生习惯。教师针对活动对象是低年级的小朋友,在社区科学家的指导下,把学生未洗手和洗过手的手印进行细菌培养,若干天后,通过菌落数的比较,学生们被真实的现象和数据吓了一大跳,意识到洗手的重要性,很自然地达到了活动目的。
创新思维是由于热爱、追求、奋斗和奉献所形成的精神境界高度集中,沉浸于那种环境里所产生的自觉思维。事实证明,创新的科技活动使学生活动兴趣盎然,学生喜欢探究科技活动,愿意为活动出主意,想办法,充分发挥创新潜力和聪明才智,释放激情。
三年来,我们陆续设计了《“和你交朋友”――认养濒危动物系列科普活动》、《过期药品的回收和处理系列科普活动》、《环保祝愿――关于田林三小师生贺卡使用情况的调查》、《流动的芳草地――东西部手拉手环保系列活动》等十个具有创新色彩的科技活动方案,为此,我们编写了《科技创新活动方案集》。
(2) 创新科技活动内容
随着教改的逐步深入,对开展科技活动的要求也越来越高。到底怎样的科技
活动才能吸引学生,能让学生迸发出创新火花呢?我们认为应该着眼于科技活动内容的创新,活动中每一个内容的设计都要独具匠心,别出心裁,这样才能抓住学生的视线,才能激发学生的创造力和想象力。
下面介绍《流动的芳草地――制作环保公益广告系列科普活动》中的几个独
具特色的活动内容:“我给妈妈讲环保”的活动,这一活动为“三•八妇女节”注入了新的内容,让学生给家长写一封环保信,给家长宣传环保知识,家长给孩子回一封环保信,不仅为家长和学生搭建了沟通的桥梁,而且使双方都受到了一次生动、独特的环保教育,由此活动我们还衍生出鼓励五年级学生给给市长写环保信,畅谈环保环保问题和“芳草地”的活动;“我和家长共绘环保广告牌”的活动,学生和家长共同创想,设计和制作环保广告牌,而且学生不拘一格把环保广告牌挂在家长和老师的自行车上,利用自相车宣传环保,形成流动的芳草地,这项活动设计又是一个独创,在创新大赛上吸引了不少评委的目光;“征集环保宣传画”的活动,这个活动让学生体验到了创新的乐趣,学生在活动中激情释放创新激情,每一幅环保宣传画都极富创意,以至于我们最终在制作环保灯箱广告时难以取舍,最后我们把学生设计的环保宣传画组合起来合成一幅环保灯箱广告。
上述事例可以看出,每个活动都有亮点,都能激发学生的创新思维,让学生能自主创新地学习。
(3) 科技活动模式的创新
有了全新的科技活动内容,广阔的科技活动领域,我们决心创设一条富有田
三特色的科技活动模式,于是,在已有的实践经验基础上,一条“学校、家庭、社区”三位一体崭新的科技活动模式呈现在我们的眼前,而学校的科技教育在探索创新教育的实践中,也提升到新的台阶。
“学校、家庭、社区”的三位一体化科技活动模式,首次提出把学校、家庭、社区加以整合,组成一个联动的整体,形成一体化的科技活动体系,实现科技教育的可持续发展。
该活动模式遵循了互动性原则和实践性原则,希望通过三位一体化的活动模式,一方面把家庭、社区中丰富的科技资源引入学校,增强学校科技教育的师资力量;另一方面利用家庭、社区资源的吸纳,为学生的科技活动领域提供广阔的天地,让学校的科技教育,融入家庭,走进社区,使学校、家庭、社区共同承担科技教育的责任。由此形成了学校、家庭和社区共同参与、多方拓展、互动互补的科技教育运作机制。
该活动模式运用多元沟通和强化过程教育的策略。通过学校与家庭、社区的多元沟通,形成校内、校外共同参与、互相合作的科技教育管理机制;学生通过学校、家庭、社区活动的亲身体验,强化环保教育的过程,体会环境保护的重要性、迫切性和宣传环保的艰难性。
几年来,我校坚持运用“三位一体化”的科技活动模式开展科技教育卓有成
效,逐步形成了以环保教育为主,以环保活动推进环保教育为特色的科技教育。这一独创的科技活动模式被收入《中小学现代科技教育指导模式和研究》一书中。
2、德育创新教育的研究
作为学校的两大活动板块,我们除了在科技教育中进行创新教育活动的研究
外,还在德育中探索创新,展开少先队的系列创新活动实践。
(1) 德育活动领域的创新
为了给学生营造良好的德育氛围,我们认为要拓宽学生德育活动的时空,集合多方面的教育力量开展德育活动,把学校、家庭、社区的德育内容、活动形式加以整合,创立一条自己德育活动的途径。
为此,我们利用田林社区丰富的社会资源,与田林社区的14个单位签约,共同创建德育基地,其中有航天基地、第六人民医院、联华超市、田林街道各居委等等,这在徐汇区的中小学是第一所,我们通过创建德育基地充分利用社会力量与校共同来教育学生,培养学生的各方面能力。
创建德育基地后,我们把社区资源请进来,加强了德育师资队伍力量,丰富了德育的素材。如:社区科学家给学生做科技讲座,指导学生进行“植物克隆”的探究,社区的老红军给学生讲红军长征故事,学生们通过与科学家们的真实接触交谈,学习科学家成长的轨迹,敢于探索创新的事迹。
创建德育基地后,少先队的各中队走出校门,与各自的德育基地共同探讨体验教育的创新方法,共同设计德育活动的创新方案,“雏鹰假日小队”有了固定的活动场所,,学生的课外生活内容丰富多彩,逐步纳入正轨。
(2) 德育活动内容的创新
我们都知道德育内容枯燥,总是老一套,但是如何让这些传统的德育内容“亮”起来,“活”起来呢?只有依靠德育活动,而及时更新德育活动的内容,更是让德育活动保持生命力,增添活动的关键。为此,我们坚持不懈地在学生德育活动的内容上开拓创新,为爱心教育、孝心教育、集体主义教育、爱国主义教育赋予更新、更广的涵义。
例如:我校德育中几个常规活动的内容设计:
“学雷锋”活动,一提到3月5日,人人都知道这一天要为别人献爱心、做好事,学生早已厌倦了如此单调重复的活动内容,使得每次的“学雷锋”活动走形式主义,陈旧的德育活动使学生开展活动提不起兴趣,缺乏活力,不愿意创新,借于这一点,我们把“学雷锋”纳入到环保科技活动中,打破常规为德育活动开辟内容。
3月5日这天,少先队的“雏鹰假日小队”到各个德育基地开展环保宣传活动,有的在肯德基的店堂内贴环保宣传小报、环保警示标志,有的到居民家中安装节水瓶,有的为田林街道各居委设立环保宣传牌等等。富有特色的活动内容,让学生感到新鲜,愿意去创造,他们自己设计环保警示标志,自己设计环保宣传画,自己制作环保宣传牌,处处闪现创新的火花。
独特的德育活动内容还扩大和拓展了“学雷锋,做好事”的内涵,活动过程让学生体会到宣传环保也是“学雷锋”,它是为地球母亲尽责任,为子孙后代做好事,为社会和国家做好事,这样的德育活动内容立意更高。
“三•八妇女节”活动,我们从情感体验出发,作到德育以情育人。我们鼓励学生和妈妈互写环保信,关注环保问题,交流环保信息;开展“环保妈妈”的评选活动,学做丝袜花献给妈妈;开展“妈妈的一天”社会调查活动,体验妈妈生活和工作中辛劳,学生们体验后会更热爱妈妈,会更能体会到妈妈对自己的期望,随后,我们又继续开展创新小队活动,让妈妈快快乐乐地笑一笑,用独特的视觉角度开展爱心教育和孝心教育。
“迎新贺岁”活动,我们抓住“如何使用压岁钱?”这一社会热点,引发学生的思考和讨论,学生的思维一下子活跃起来,金点子一个又一个,有一个学生提出了“请家长赠压岁言贺新年”的金点子,成为活动内容的一大亮点,学生既懂得了节约,又从赠言中了解家长对自己新一年的希望。
大量德育活动方案的实践证明,只要活动内容新,学生就喜欢参与,敢于创造,能够自觉内化自己的道德品质。
(3) 少先队小队活动的创新
由于我们持之以恒地开展德育和科技创新实践活动,为学生创设了创新实践、探索的良好学习氛围,他们在活动中因为创造而获得成功,从为完成活动而动脑转变为喜欢而想开展活动,学生们已不满足老师来设计活动,带着他们走路,他们想自己设计开展活动,体验创造的乐趣。
为了能给学生更自由开放的'空间,激发学生更多的想象力和 创造力,我们不仅放手让各个少先队雏鹰假日小队自己起队名,设定队名的涵义,制作队标,更是鼓励他们自主设计创新小队活动防哪个按,尽情发挥聪明才智。
都说孩子的思维是最具创造力的,他们的想象可以天马行空 ,摆脱束缚,任意驰骋,往往创造出的事物别具一格。
例如:我校几个雏鹰假日小队的创新活动方案设计:
“爱心小队”中有名队员的姐姐仇英瑛是位脑瘫患儿,长期呆在家里,当队员们得知仇英瑛一直有一个心愿:能背上书包,走进校门。孩子们找到了设计活动的灵感,他们设计了“我来帮你”的小队活动。新学期第一天的升旗仪式上,仇英瑛背着队员们准备的新书包,在队员们的陪伴下,坐着轮椅走进了田林三小的校门,她第一次看到了操场、老师、同学、教室……,流下了激动的泪花。除此之外,孩子们还鼓动青年教师们加入活动的行列,为青年教师设计了“上门送教”的活动,每周有一位青年教师上门给仇英瑛补习功课。
“绿叶小队”的队员看到亲手培育成功的无土栽培吊兰欣喜不已,他们到德育基地田林四幼和小朋友开展活动时突发灵感:“我们也当老师,把无土栽培的方法教给幼儿园的小朋友 和敬老院的老人们。”学生们精心设计了“播洒绿色,辐射绿色文明”的小队活动,他们到幼儿园、敬老院指导小朋友和老人们用无土栽培的方法培育吊兰,望着茁壮成长的吊兰,孩子们高兴不已。
每一个小队活动方案的设计都有创新的内容,都十分精彩,这正是我们坚持开展创新教育活动成果的体现,只要有适宜的“土壤”和环境,学生就会有创新的东西,我们认为只有教师自己不断创新,教师善于启发、鼓励学生创新,学生才会勇于创新,善于创新,自主学习。
3、学科教育教学的创新
我们除了通过创新教育活动的设计与实践,培养学生的创新精神、创新意识和创新能力以外,还鼓励教师在创新教育的主阵地――课堂教学中探索创新。教师们积极地从教学手段、方法、活动设计等方面摸索研究,力求教学过程有新思路、新想法,变教师的单项信息传递为双向的交互式信息交流,变“让我学”为“我要学”,让学生在教学中可以充分展示自我,启迪智慧,经受探索新知的磨练。
例如:我校各学科教师设计的小学创新教育探究课的教学方案:
《800米跑的训练》,这堂体育课的教学设计,教师从训练方法上探索创新,一改传统800米跑圈的常规训练,设计了“越野定向”的游戏来进行800米的训练。学生通过钻山洞、绕障碍等内容不知不觉完成了较大运动量的训练,健身实效比之以往单纯跑圈大大提高了,而且教师在教、学法的安排上,鼓励学生自由分组,自己选择练习路线、方式等,给了学生更大的自主学习空间,形成了自主、合作和探究的学习方式,很好地培养了学生的创新能力和创新意识。
《长方形和正方形面积的计算》,这堂数学课的教学设计,教师在教学手段上力求创新,从信息技术与数学教学整合的途径探索,鼓励学生设计装饰自家住房的方案,从要购买什么规格的瓷砖,需要购买多少,需要多少涂料,大概需要准备多少钱等问题着手思考、计算,教学中教师给学生提供家具装修信息的网络寻找一些必须的资料数据用以解决问题,从而在这种不断解决问题的过程中培养学生运用信息的能力。
《怎样购物》,这堂现代科技课的教学设计,教师在教学环境上打破常规,把教学环境搬到真实的超市,带领学生到超市里上课,学生们通过了解商品价格、观察货品摆放、购物,学会如何到超市购物,大大提高了学生学习知识的兴趣。
语文课的教学设计,教师尝试打乱教材中的单元排列,以指导学生掌握学习方法为主线进行单元设计,让学生的主体作用得到充分发挥,教师真正起到引导、组织作用,语文规律和方法。顾菁老师把五年级的语文教材重新编排,分成了通读单元、朗读比赛单元、书写单元、戏剧单元、段落与段落大意单元、复述单元、问答(思维训练)单元,这样的编排使学生更容易掌握语文学习规律和方法,阅读分析其他的文章也能融会贯通。
教师通过教学设计的创新实践研究,深深体会到要让学生喜爱自己的课,要让学生学得“活”,高高兴兴地学,自己的课必须要“活”起来,有创新的亮点。
三、研究成果
1、 促进教师观念的更新
自从学校确立了“创新教育”的科研课题后,我们欣喜地看到经过创新教育
教学的探索和实践,促进了教师观念的更新,他们对学生提出的希奇古怪乃至荒诞不经的想法,不再视为捣乱,不再大声训斥,而且注意呵护学生的奇思异想,鼓励学生大胆表达自己的设想,他们认为教学已经不单单是教师教什么学生学什么,而是学生怎么学老师怎么教,要充分发挥学生的主体作用,培养学生的自主锻炼和创新意识。
例如:九月中旬的一堂体育课上,老师为了避免阳光直射眼睛,使眼睛看不清,影响教学,戴了顶遮阳帽,而队伍中有位男生也戴了顶雪白的帽子,老师请学生把帽子摘下,学生理直气壮地说:“老师可以戴帽子,我为什么不可以戴?”老师二话不说脱下帽子,别以为事情结束了,接下来老师别出心裁地设计了“叫口令”的游戏,不失时机地请戴帽子的学生来做小老师叫口令,当学生站到老师的位置时,强烈的阳光直射身上和脸上,不到2分钟,就使他满头大汗,眼睛模糊,学生已经明白了老师的良苦用心,当学生走到队伍中时,头上的帽子不见了,只见在旁边的草地上,放着一定雪白的帽子。老师教育孩子的方法多有创意啊!
在一节30米快速跑的教学课中,有一个孩子顽皮得问到:“我能不能横着跑?有一次我抓螃蟹,螃蟹是横着跑的,而且跑得很快,,抓了很长时间才把它抓住。”学生们哄堂大笑,面对这样的奇思异想,教师没有呵斥,而是将计就计,精心组织了一场别开生面的“横着跑比赛”,这样一个独特的跑步方法,学生们争相跑起来,小小的设想不经意间让学生了解了侧身跑的技术,也通过实践知道了直跑是跑的最快的动作。
我们不仅启发、鼓励学生创新需要耐心和爱心,更要善于为培养学生的创造力创设环境。在一堂心理课上,一个孩子突然提问:“老师,我有很多心事,就是想找个人聊聊,出出主意,可是,我又不想让别人知道,怎么办呢?”同学们顿时议论纷纷。
老师灵机一动,来了灵感:“我们大家帮他想个办法解决困难吧!”一个小学生自己的“小麻烦诊所”应运而生。学生们把自己的心事问题写在小纸条上,投入小信箱,青年教师轮流为学生解决问题,畅谈心事,起到了很好的沟通效果。
由此可见,教师呵护、鼓励学生的创新思维时,往往也会给自己的教育教学带来灵感,得到启发。为了把教师这些宝贵的创新教育教学经验体会保留起来,我们编写了《教师创新教育案例集》。
2、锻炼了学生的求异创新能力
几年来,通过创新教育的实践和研究,我们欣喜地发现无论在课堂里还是活
动中,学生的创新能力都有很大的提高,校内校外无处不闪现学生创新的火花。
在老师的指导下,我们的学生学会了自己设计活动方案,自己组织开展活动,自己研究问题、解决问题,他们的兴趣得到了培养,素质能力得到了不同程度的提高。2001年至今,我校的学生参加徐汇区“壳牌美境行动”环保活动方案设计竞赛、“汇中杯”环保故事演讲比赛、“上中杯”金点子活动方案设计竞赛、“五九”锦旗环保小报设计竞赛都获得了一等奖,其中我们师生共同开展的“流动的芳草地”――制作环保公益广告系列科普活动一举荣获了上海市英特尔创新大赛优秀科技实践活动一等奖,同时被选送参加了全国的创新大赛荣获二等奖;科幻画《白果树》荣获上海市英特尔创新大赛科幻画二等奖。
我校曾经在社区科学家的指导下,成为第一所小学生开展“植物克隆”试验和研究的学校。如今,我们又再次突破,对《鸡粪转化为鱼饲料》、《校园立柱式无土栽培》两个崭新的科研小课题展开研究。
3、 获得的成绩
经过三年的探索和实践,我们的老师写下了近30篇渗透创新教育的教育教
学案例,10篇创新科技活动方案设计和活动总结,30篇班主任创新教育教学心得体会,30篇各科教师富有创新意识的课堂教学教案,我们在此基础上总结经验,编写了《创新活动方案集》、《德育创新活动方案集》、《教育创新案例汇编》和《教学设计的创新》4本集子。
我校教师的探究课《无土栽培》、《怎样购物》分别荣获全国现代科技优质课评比二等奖;科技活动方案《共绘绿色春天――吊兰无土栽培系列科普活动》和《流动的芳草地――制作环保公益广告系列科普活动》分别荣获全国科技活动方案评比二等奖,刊登在《现代科技活动方案的设计与评价》一书中,并被收入中国科技活动方案题库;我们创立的《“学校、家庭、社区”三位一体的科技活动模式》荣获徐汇区教育教学论文评比一等奖,被刊登在《中小学现代科技教育指导模式和研究》一书中;思品课教案《小乐队听指挥》和体育课个案《关于“尊重学生”》和《关于“呵护学生的奇思异想》刊登在《课堂教学实施素质教育案例续集》一书中。
几年来,由于我们的努力和开拓,我校先后被评为徐汇区科技特色学校、徐汇区绿色学校、徐汇区科技教育示范校等荣誉称号。我们的学生也在市、区乃至全国的科技竞赛中获奖。
总之,创新教育的研究为学校的教育教学注入了新的生命力,为学生的发展提供了更广阔、自由的空间,从而提升了学校整体的教育教学水平和学生的质量。
参考文献:
1、阎立钦 《创新教育》1999年10月第1版
★ 实践与活动并行
★ 让道德与规则并行
★ 教学设计研究
★ 外语教学与研究