嵌入式实验指导书(56份)

上传人:小** 文档编号:153537724 上传时间:2022-09-19 格式:DOC 页数:35 大小:1.63MB
收藏 版权申诉 举报 下载
嵌入式实验指导书(56份)_第1页
第1页 / 共35页
嵌入式实验指导书(56份)_第2页
第2页 / 共35页
嵌入式实验指导书(56份)_第3页
第3页 / 共35页
资源描述:

《嵌入式实验指导书(56份)》由会员分享,可在线阅读,更多相关《嵌入式实验指导书(56份)(35页珍藏版)》请在装配图网上搜索。

1、嵌入式系统设计实验指导书张凌志邵国平编黑龙江工程学院电子工程系2010年3月哈尔滨实验一ADS1.2集成开发环境实验1实验二汇编指令实验6实验三C语言调用汇编实验9实验四外部中断与GPIO输出控制实验11实验五PWM输出实验14实验六定时器实验17实验七卩C/OS-II移植实验19实验八基于卩C/OS-II的键盘与数码管显示实验29实验一ADS1.2集成开发环境实验一、实验目的1.了解ADS1.2集成开发环境的使用方法二、实验仪器设备、材料1. 硬件:PC机一台2. 软件:Windows98/XP/2000系统,ADS集成开发环境三、实验内容1.建立一个新的工程。建立一个C源文件,并添加到工程

2、中。3. 设置文本编辑器支持中文。4. 设置编译链接控制选项。5. 编译链接工程。6. 调试工程。四、实验步骤(1)启动ADS1.2IDE集成开发环境,选择【File】-【New】,使用ARMExecutableImage工程模板建立一个工程,工程名称为ADS,见图1.1。图1.1建立ARM指令代码的工程1(2)选择【File】-【New】建立一个新的文件TEST1.S,设置直接添加到项目中,见图1.2。输入如程序清单1.1所示的代码,并保存,见图1.3。图1.2新建文件TEST1.S图添加了TEST1.S的工程管理窗口3程序清单1.1TEST1.S文件代码AREAEKamplel.CODE.

3、READOfCLY:声明代码段EmmpglENTKY:标识程序入11CODE32:ARA1指令STARTMOVRO.15:设直参数MOVRl.SADDSRO.ECO.R1:RO=R04-R1BSTARTEND(3)由于ADS安装以后默认字体是CourierNew,对于中文支持不完善,因此建议修改字体。选择【Edit】-【Perferences】,可以看见以下对话框,如图1.4所示。在Font选项设置字体是Fixedsys.Script是CHINESE_GB2312。由于Tab在不同文本编辑器解释不同,建议在TabInsertsSpaces前打勾,使Tab键插入的是多个空格。图1.4字体和Tab

4、设置(4)选择【Edit】-【DebugRelSettings.】,在DebugRelSettings对话框的左边选择ARMLinker项,然后在Output页设置链接地址(见图1.5),在Options页设置调试入口地址(见图1.6)。#图1.5工程链接地址设置Includeinformat厂:?fViwraEa.ri*.tDpiiorsRin.Itfrslp啣呵回阖第世|购|別如l|回画凹孚冋住日|商丽国日日口|;|初圉浄I嘟|古|也卫jL卸锢1-1*1丄凶C01KTLW40005LCO*定龙一个变咗hJ拘血OZUOSnijOSCuTT&ni:CDDODaDOCN4D0D313:START

5、BJTFESTCaE3&n腔wnvQDDODaDDCDtajipli:务COIiGIilSyXffl丹:戸禽*屈既EgpluU.!屁识租中-%口.型労32税Rir-cairaThkl-conrr口口j口.bo=nHrFl|;IM-rrrrESTH4D0DaD5EgDDCm皿HdnonoQTv|llrnJuLit口:khh|鼻ARM_IiMLEmAddie550nronn口AnunnnocnniQgzizmznHXftJTTF45inni53Qx4JdDOSllQnjDDI3320D14aorrEJDx4DD口远DECEEO1TS-ZAEEDFEaJLACJTGDl-531D7fiaOx1000

6、21302Qbx9fS93HEFLAF295f1MTlDv|-5gAWPEndonFexHLiiarai.i.I站西AAF55E4SFT36EDRHUiCH?KansS1EEDI1rji=rflinrrFOPE11PCirPi,Li=0r#10FOr#O眄叫LOOP;KDRDi+FCuUUl)rfrfzlM:|T-U-lax-tToprefix|图2.2程序运行结果#6实验参考程序程序清单2.1汇编指令实验参考程序COLTXTEQUDxJ0003100:定义-个变星,地址対0x40003100AREAExample2.CODE.READOXLA:声明代码段EiaLiipleZENTRY;标识程

7、庁入口CODE32:声叫32位ARM指令STARTLDRR1=COfNTYDUNTMOVROQ:R0=0SIKRO.R1:Rl=R0,即谡宜COUNT为0LOOPLDRRl.OWTLDRRO一限1:RQ=R1ADDRO.R01:R0=R0+1CMPROIO;R0与10比较影响条件码标志MOXHSRO抑;若rjo大于等于io,则此指令执lr,ro-oSTRRO一限1:RL【Debug】,启动AXD进行软件仿真调试。(6) 在Test.c文件中的调用Add()的代码处设置断点,然后全速动行程序。(7) 程序在断点处停止。使用SetpIn单步运行程序,观察程序是否转到汇编程序Add.S。(8) 选择

8、【ProcessorViews】-Variables)打开变量观察窗口,观察全局变量的值,单步/全速运行程序,判断程序的运算结果是否正确。6实验参考程序C语言调用汇编程序实验的参考程序见程序清单3.1。汇编加法函数代码见程序清单3.2。程序清单3.1C语言调用汇编程序实验参考程序/idefintuintSluisignedcharHdefintuiut32imsign-sdintexternnitir32Add(uint32x,uint32y):niiit32stun:/调用汇编弄序Add实现in法运畀vcidMain(void)sum=Add(555.168);whilc(l):;加法两数t

9、,峥聾为iiitir32Add(uintx2xLitint32y)*EXPORTAddAJLEAAdclCXODE.READONLY:由明代码段AdWExntY;标旧程序入丨CODES;:声明32位蛊RM指令AddADDR0.HJQ.R1:输入参数咒为R6y为只1MOVEXDPC.LR:返回值为皿)程序清单3.2汇编加法函数代码11实验四外部中断与GPIO输出控制实验1实验目的(1) 掌握向量中断控制器(VIC)的设置。(2) 掌握外部中断引脚功能设置及外部中断的工作模式设置。(3) 了解中断服务函数的编写。2实验设备硬件:PC机一台,MagicARM2200-S教学实验开发平台一套软件:Wi

10、ndows98/XP/2000系统,ADS1.2集成开发环境3实验内容设置P0.20脚为EINT3功能,初始化为非向量中断,并设置为电平触发模式,然后等待外部中断。中断服务程序将蜂鸣器控制输出信号取反,然后等待中断信号的撤消,最后清除中断标志并退出中断。4实验预习要求仔细阅读参考文献1第5.4.6节外部中断输入的说明,第5.8节向量中断控制器的说明。5实验步骤(1) 启动ADS1.2,使用ARMExecutableImageforMagicARM2200工程模板建立一个工程VICDef_C。(2) 在user组中的main.c中编写主程序代码。(3) 选用DebugInExram生成目标,然后

11、编译链接工程。(4) 短接MagicARM2200-S教学实验开发平台上的蜂鸣器跳线JP7,独立按键JP11。断开CF卡跳线JP13、GPIO接口J17,PS2跳线JP4。(5) 选择【Project】-【Debug】,启动AXD进行JTAG仿真调试。(6) 在中断服务程序中设置断点,全速运行程序,使EINT3为低/高电平,即反复按下与释放KEY1。(7) 单步/全速运行程序,观察程序是否正确运行,蜂鸣器是否蜂鸣。6实验参考程序外部中断实验的参考程序见程序清单4.1。程序清单4.1外部中断实验参考程序#+*半畔=4*李=+*电申*+机辛+=*+*4*+=+*+*+*+卒彳*半平*中*申拿*中机

12、辛中#*平申*沖*中冲*沖字中中斗中*警中*4+文件喀:niain.c+功能:他用外部中断孑进行B1的控制,每芳有一次中断时,叩取反B1控制口.*使用非向帘中断方式。*说明*短按蜂鸣器跳线JP6彳虫立按键JPlln断开CT卡跳JP13,GPIOnJ17,+P強跳线JIU。*血欧*斗拿血#*电收*审*(1古卓弧車*章*卓*虫*电审理咔*氐*斗*机*衣咔水收古加理卓*章*用*窃*車*电机古*乐*古*理斗fincludeeonfig.li4dcfintBEEPCONL7hPO.7引脚控制El,低电平峰鸣-17等价于OxEQ*0*#*斗*水*斗*住*:1:*斗*#*冷*$*#*住*#*水*斗*需称:I

13、RQ_Eint30*功能:外部中断ErNT3服务喊数,取反日1控制LL*入口参数*无:|:岀口参数:无*&*“*t*.(Cik*4*A*4-1*t*41*4&void_irqIR.Q_Eint3(Yoid)uiiit32iLi:i=IOOSET;if(i&BEEPCON)=0)二读収当盼Bl控制值/控制Bl输出取反IOOSET二BEEPCON:elseIOOCLJt二EE王PCON;述等持外部中断佶号恢复为高电平(若信号保持为低电平,中断标志会一克置位严whilc(EXTINTl3)!=0)EX丁TNT二13:fai(j=0:j10)i=0:IOlSET-OxtlfflEEIO1CLR-i16

14、:卩WMMRJ=DUTY_CC?LE_DALVi,H设背PWM占空比PWMLER=10|l.2lPWMMR1RPWMMR2锁存PWMTCR二0x09:/.-启动定时器PWM使能CdayNS(500):rctiiini(O):)/冲哗申f申中卑耳水尊尊車甲車中車尊康尊尊赛韋車帝卓审堂事車冲*窗章审車*哗电*f敞电申胸朝嚥勒*中車車案卓尊聃*車*卓申瞅申車:*冷尊中車沖名称tDlayNSQ功能:芒软件丑时咔入口参数;dly延时参数.值越大,延时越久沖出口参数t无“*a*审&冬*曲审*“*a*voidDelayNS(uiiit32dly)uint32i:for(i=OLi5000:i+)i17实验六

15、定时器实验1实验目的熟悉LPC2000系列ARM7微控制器的定时器0/1的基本设置及应用。2实验设备硬件:PC机一台,MagicARM2200-S教学实验开发平台一套软件:Windows98/XP/2000系统,ADS1.2集成开发环境3实验内容使用定时器0实现1秒定时,控制蜂鸣器蜂鸣。采用软件查询方式等待定时时间到达。4实验预习要求仔细阅读参考文献1第5.14节定时器0和定时器1的说明。5实验步骤(1)启动ADS1.2,使用ARMExecutableImageforMagicARM2200工程模板建立一个工程TimeBeep_C。(2)在user组中的main.c中编写主程序代码。(3)选用

16、DebugInExram生成目标,然后编译链接工程。(4)见图2.16,短接MagicARM2200-S教学实验开发平台上的蜂鸣器跳线JP7。断开CF卡跳线JP13、GPIO接口J17。(5)选择Project】-【Debug】,启动AXD进行JTAG仿真调试。可以全速运行程序,蜂鸣器会响一秒,停一秒,然后再响一秒依次循环。6实验参考程序定时器实验的参考程序见程序清单6.1。程序清单6.1定时器实验参考程序章彳*电牟囁*啣H晴床+*康第獻*拿耳車巾戢*広*加frfc章彳*旳*戡嘯44囁拿車嚥康常*+*車划獻审*#*4文件軌uiain.c*功能:使用定时器0实现1秒定时.控制蜂鸣器蜂鸣.(査询方

17、式)中说明:短接讎线IPS断川CFF琏线JP13.GPIO按HJ17.*水*申*水#*总衣*冷*用住*斗*斗*/器inchxk七卯诞力ckihieBEEPCON17/;P0.7引脚控制Bl.低电平婵鸣/*斗0*+*水*斗*水*冷*水斗*水*斗*水*中*需称:TimeOPiLtQ中功能:初始化定时器0.定时时IpIJLSo*入口参数:无+出口参数:无*玮*申玮*电*琳弁*疳学申晦斗*畔申电*傘弃申申*事环*隹駅*环*驻*电*伞#申令犠电班*(e克申斗*冷*4=+4-voidTiine01nitvoid)吩Fwk=FoscM=11.0疔92hIHz*4=44.236SMHzFpclk=Fcclk-

18、4=44.236SMHz/4=11.05?2MHzT0PR=99:-设置定时器0分频为100分频.得110592HzT0MCR=Ok03:/匹配通道0匹配中断井复侦T0TClONIRO110592;力比较價少定时值)TOTCR=0x03:TOTCR=0x0L:H启动并毘位T0TCr*卓獣*專尊*韋冲*电戟*專.獣囂專#単事*卓卓*単冲*电*案*車尊呦审卓*卓*獣电申*肌*氐獻典尊*単事电*单專単冲*卑耳*単獻察連卓*41称:ma1110*功能;初始化IO及定时器.然后平断的査询宦时器中断标志.当定时时间到达时,+収反EEEPCON拧制口*中斗*#*冷檢*冷*冷*水斗*斗*#*#*金&中斗斗*冷

19、*斗冲-mtinain(vcid)PINSELOOkOOOOOOOO:谡置管脚连GPIOIO0DIR=BEEPCON:TimeOInitO:设置LO为输出初峭化定时器。wliile(l等持定吋时间到清除中斷标志whil(TOR&OnO1)=O):roiR=OxOi:if(LOOSET&BEEPCON)=0)IOOSET=BEEPCON:)elseIOOCLR=BEEPCON:21实验七pC/OS-II移植实验1实验目的(1) 掌握将卩C/OS-II操作系统移植到ARM7处理器的方法。(2) 了解卩C/OS-II操作系统的基本原理和移植条件。2实验设备硬件:PC机一台,MagicARM2200-

20、S教学实验开发平台一套软件:Windows98/XP/2000系统,ADS1.2集成开发环境,卩C/OS-II操作系统(V2.52)3实验内容学习移植卩C/OS-II操作系统到ARM7处理器,然后编写一个简单的多任务应用程序,实现LED流水灯控制。4实验预习要求(1) 仔细阅读参考文献4,了解卩C/OS-II的组成和移植相关的文件内容。(2) 仔细阅读参考文献1第35章和第7章的内容,了解ARM7体系结构及其汇编编程,了解LPC2000系列ARM7微控制器的硬件结构(如向量中断控制器和定时器等)和卩C/OS-II移植的相关说明。5实验原理pC/OS-II概述卩C/OS-II是一个完整的、可移植

21、、可固化、可剪裁的占先式实时多任务内核。gC/OS-II是用ANSIC语言编写,包含一小部分汇编代码,使之可以供不同架构的微处理器使用。gC/OS-II可以管理64个任务,具有信号量、互斥信号量、事件标志组、消息邮箱、消息队列、任务管理、时间管理和内存块管理等系统功能。gC/OS-II软件体系结构如图7.1所示,由图可以看出,gC/OS-II包括以下3个部分:g核心代码:包括10个C程序文件和1个头文件,主要实现了系统调度、任务管理、内存管理、信号量、消息邮箱和消息队列等系统功能。此部分的代码与处理器无关。g配置代码:包括2个头文件,用于裁剪和配置gC/OS-II。此部分的代码与用户实际应用相

22、关。g移植代码:包括1个汇编文件、1个C程序文件和1个头文件,这是移植gC/OS-II所需要的代码。此部分的代码与处理器相关。说明:移植代码的文件名不是固定的,但为了保持gC/OS-II系统的一致性,文件名一般也不要改变(即OS_CPU.H、OS_CPU_A.ASM和OS_CPU_C.C)。图7.1pC/OS-ll软件体系结构(2)pC/OS-II移植条件移植卩C/OS-II之前需要注意,目标处理器必须满足以下几点要求:处理器的C编译器能产生可重入型代码;处理器支持中断,并且能产生定时中断(通常为10100HZ);用C语言就可以开/关中断;处理器能够支持一定数量的数据存储硬件堆栈(可能是几千字

23、节);处理器有将堆栈指针以及其它CPU寄存器的内容读出,并保存到堆栈或内存中去的指令。LPC2000系列ARM7微控制器可以满足第2、4和5点要求,使用ADS1.2的C编译器可以满足第1、3点要求。(3)pC/OS-II移植步骤1)OS_CPU.H的移植在OS_CPU.H文件中定义与处理器相关(实际上是与编译器相关)的数据类型口BOOLEAN、INT8U、INT8S等等。根据ADS1.2编译器的特性,定义代码可参考程序清单7.1。程序清单7.1OS_CPU.H与编译器相关的数据类型typelefini以刃ledcharBOOLEAN:typedefuntinnedcharEVTSUityped

24、cfsiciicclliarINT8S5typedcfunsignedshortINTlfiU:typedefsigneddiortINT16S;tvpcdcfun前餌.亡日intINT32U:typedefsignedmiINT32S;typedeflloatFP32:typedefdoubleFP64;typedefINT32UOS_STK:在OS_CPU.H文件中定义与处理器相关的宏,主要是进入临界区的OS_ENTER_CRITICAL和退临界区的OS_EXIT_CRITICAL,定义代码可参考程序清单7.2。如程序清单7.2所列,将OS_ENTER_CRITICAL()和OS_EXIT

25、_CRmCAL()定义为软件中断函数,所以还要编写相应的软件中断处理代码(可以在OS_CPU_C.C文件中编写)实现开/关中断。同样定义OS_TASK_SW()为软件中断函数,并编写有相应的软件中断处理代码(调用OSIntCtxSw函数)实现任务切换。程序清单7.2OS_CPU.H与处理器相关的宏_twi(OxOO)voidOS_TASK_SW(void);任务级任务切换函数_twi(0x02)voidOS_EXTER_CRITIfALwid:关中断_swi(OxOJ)voidOS_EXIT_CRJTIC:AL(void)i/*开中斷defineOS_STK_GROWIH1/*堆栈是从匕往下长

26、的2) OS_CPU_C.C的移植在OS_CPU_C.C文件中,需要编写以下10个简单的C函数:OSTaskStkInit();OSTaskCreateHook();OSTaskDelHook();OSTaskSwHook();OSTaskIdleHook();OSTaskStatHook();OSTaskTickHook();OSInitHookBegin();OSInitHookEnd();OSTCBInitHook()。其中,9个系统Hook函数可以为空函数,也可以根据用户自己的需要编写相应的操作代码。任务栈结构初始化函数OSTaskStkInit,必须根据移植时统一定义的任务堆栈结构进

27、行初始化,代码参考程序清单7.3。程序清单7.3OS_CPU_C.C函数OSTaskStkInitOS_SIX*OSTaskStkiiT(void(*t3sk)(vDid*pd);void*pdata70S_SIXINT16U吁。asSTKStic;pi-apt:/+opt没右便用c作用杲避免编洋器警告叭皿=ptos/*获取堆栈捋针*/建立任务环境,AD1,2使用满递减堆栈和也ik=(OS_STK)task:pc*sik=(OS_STK)task:严11*-slk=0:严rl2*/-eft=0;严rlL*/Jtk=0i严rlOk严r9=0:严r8*-6ik=0;严i-7*/严16k严r5stk

28、=0:严r4*-6ik=0;严i-J*/*-sik=0;严r2*/=0;严rl-sik=(unsignedint)pdata:严rQ.第-亍參数使用R0伎递*-stk=(USERUSINGMODE0x00);允许IRQKIQ中断*-sik=0;严关中断计数器O迁JitfrSimL:return(stk):3) OS_CPU_A.S的移植由于ADS1.2编译器默认汇编文件后缀名为“S”,所以移植代码OS_CPU_A.ASM改名为OS_CPU_A.S。在OS_CPU_A.S文件中,需要编写以下4个简单的汇编语言函数:OSStartHighRdy();OSCtxSw();OSIntCtxSw();O

29、STickISR()。其中,函数OSCtxSw不是必须的,但必须要定义好函数OS_TASK_SW(在OS_CPU.H中声明),以实现任务级任务切换。在ISR(中断服务程序)中切换任务时会调用OSIntCtxSw函数,代码参考程序清单7.4。程序清单7.4OS_CPU_A.S函数OSIntCtxSwOSJntCtxSw;下面为保存任务环境LDRR2JSR#20;获取PCLDRR12.SPf=ld;获取R12MRSRJQ.CPSR.MSRCPSRc.=t(NoLnt|SYS32Mode)MOVRl.LRSTMFDSP1.(RL-R.2):保存L:R_P匚STMFDSP!.R4-R12;保存R4-R

30、.12MSRPSR_c.R.0LDMFDADDSPf.R4-R7;获槪R0-R3SPSP.itS:出栈R12.KMSR#(NoInt1SYSJZMode)ST?vlFDLDRSPf.R4-R7R0-R3B.1,=O5EiiTciSiun;获収OsErnciSmuLDRR2.R.1STMFDSP!.(R2.R.3CPSROEiiteiSuiu:保存半前任务堆栈指计到半前带务的TCBLDRR.L.=OSTCBCiitLDRRl.R1:调用钩子函数iOSPi-ioCui:=OSPdaHighRcly:OSTCBCui=OSTCBHishRdySTRSP.RlBLOSIskSwHookLDR.R4.=

31、OSPrioCmLDRR.5.=OSPrioHinhItdyLDRBR(5R5STILBR6.R.4JLDRRfi.=O$TCBHi5;hRdyLDRR6.FL6JLDRR.4.=O$TCBCurSTRR6.R4OSInrCtSwlLDRR4.R6ADDSRR4.哋LDRLIL.SP.S-SMSRCPSRi.#(2SToInt|SVC32Mode)MOVSRR4LDN1FDSPF.(R4R.5LDR.R3.=O5Eiitef$nmSTRR电R3MSRSPSR_cxsf.R5LDMFDSPLR0-R12.LELPC;获取新件齐堆栈指计:17寄存器CPSR.OsEntcrSimvRO-R12.LR

32、.SP;进入哲理模式:股国堆栈描计iCPSR.CtEttteiSuni:恢更新怪务闾OsEurcrSmn:ICPSR:运行新任务启动卩C/OS-II是通过调用OSStart()实现,OSStart()最终调用函数OSStartHighRdy()运行多任务启动前优先级最高的任务。OSStartHighRdy()函数的代码参考程序清单7.5。说明:在OS_CPU_C.C文件已定义OSStartHighRdy。,此函数直接调用_OSStartHighRdy()。程序清单7.5OS_CPU_A.S函数OSStartHighRdyOSStaitHisJjRjdyMSRCPSR_e.(NolntSYS32

33、Mod:告诉nC/OS-n自身已经运拧LDRR4,=OSRiuuiingMOVR5:=1STELBR5.R4BLOSTaskSwHocik闌用钩子函数LDRR6.=OSTCBHihRdyL-DRR6,RdBQSLirCtxSw_L函数OSTickISR为系统时钟节拍中断函数,这需要使用到处理器的定时器和定时中断。为了达到集中地初始化硬件(定时器、中断和I/O等)的目的,此函数可以在用户工程的启动代码文件中实现,参考程序清单7.6。说明:系统时钟节拍中断函数的名称并不是固定的,也并不一定要在OS_CPU_A.S文件中实现。程序清单7.6系统时钟节拍中断服务程序void.Timei0_Except

34、ion(cidTOIR-OkOLCVHtAddr=);/通仙中断控制黠中断结束OSTimcTick(6实验步骤(1)连接EasyJTAG仿真器和MagicARM2200-S,然后安装EasyJTAG仿真器的驱动程序(若已经安装过,此步省略)。(2)为ADS1.2增加LPC2200(forMagicARM2200)专用工程模板(若已增加过,此步省略)。(3)建立一个项目目录uCOS-II,添加卩C/OS2.52源代码和移植代码(移植代码在产品配套光盘上可以找到,其目录名为ARM)。将移植的PC服务代码Arm_Pc复制到项目目录uCOS-II下。将卩C/OS2.52源代码Source(目录)复制到

35、项目目录,此时uCOS-II目录的结构如图7.2所示。卩C/OS2.52源代码可以从参考文献4的附带光盘上获得。说明:SOURCE子目录下存放卩C/OS2.52源代码,ARM子目录存放移植代码,Arm_Pc子目录存放移植的PC服务代码(可通过串口向PC机发送显示信息)。uCOS-II文件世)編辖廻】萱看收嚴迦工鼻帮助QD炸退-图7.2pC/OS-ll目录的结构(5) 启动ADS1.2,使用ARMExecutableImageforUCOSII(forMagicARM2200)工程模板建立一个工程LedDisp,工程存储在uCOS-II目录下。(6) 打开工程窗口user组中的main.c文件,

36、编写实验程序并保存。(7) 根据程序设计来更改Os_cfg.h文件,配置卩C/OS-II操作系统。(对于本实验,卩C/OS-II的配置使用模板默认设置即可)(8) 选用DebugInExram生成目标,如图7.3所示,然后编译链接工程。複索文件夹加妙暮討H1LedDisp.*cpX29D“u芝EniacRamDetugTnChipF1ashDnzlJZJZJnn创n-JZJn000-000000-000电W呂St-IRellnChipRelDutChiphmoOKar一0字-+-asucUEyLIBeL#25files图7.3选择生成目标(9) 将MagicARM2200-S的JP5、JP7跳

37、线短接,JP13跳线断开。注意:与IDE硬盘/CF卡电路的跳线复用口。(10) 选择【Project】-【Debug】,启动AXD进行JTAG仿真调试(需要正确设置仿真器,参考产品配套光盘附带文档ADS集成开发环境及仿真器应用)。注意:使用DebuglnExram生成目标时,使用片外RAM进行仿真调试,在AXD中设置仿真器参考如图3.4所示。(11) 若JTAG连接出错,或AXD主窗口没有显示startup.s源程序,按产品配套光盘附带文档ADS集成开发环境及仿真器应用介绍的方法进行处理。(12) 全速运行程序,程序将会在main.c的主函数中停止(因为main函数起始处默认设置有断点)。(1

38、3) 全速运行程序,观察MagicARM2200-S的LED1LED8显示,监听蜂鸣器是否蜂鸣。图7.4片外RAM调试的仿真器设置7实验参考程序卩C/OS-II移植实验的参考程序见程序清单7.7。程序清单7.7pC/OS-ll移植实验参考程序4iuchidcr5td.lib.lih.“PGT为蜂鸣器的押制10TftktincBEEPLED控制宏函数定义。LED1-LED&的控制I/O为P1.16-P1.23LED_ADJ16defineLEDlOCON(OxFFLEDADT)dtfineLEDOFFQ1O1SET=LEDIOCONtdefiiieLED_DlSP(diit)LED_OFf():IO1CLR=.(dafLED_ADJdefineTaskStkLengh100片定艾用户任务堆栈长度OS_STKTaskSrkOTakStkLc:ngh;DefinetlicTakO曲ck定义用户任务O的堆栈OS_STKTaskStkJTaskStkLcmgh;DefinetlieTak1曲ck定义用户任务1的堆栈voidTastO(void*pdata);TakO任务0voidTask1(voidpdta);TaskO任务1丿冲*电隹*卓年咔*梓窘*斗斗*傘卡斗斗*牡手申斗申*咔申常那*生*唏*辛卓申*程申斗咔*軒申斗斗*卡申斗*年卓申*申*年咔*常鞍*卓芈字盘斗咔*卡程*斗*主困数+

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!