基于Rabbit中央处理器的uCOS-II嵌入式解决方案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

基于Rabbit中央处理器的uC/OS-II嵌入式解决方案从硬件入手:了解Rabbit2000/3000•Z180的改进和提高硬件:集成部分外设、更高速度的16位CPU实时时钟、watchdog、从口编程、4/6个串口5个8bitstimers、2个10bitstimers、4级中断远程下载及启动软件:对C语言更有力的支持Rabbit4000CPU•后向兼容于Rabbit2000&3000CPU•16M平铺内存,最大64M(4页)寻址空间•支持16位的接口•8通道DMA•支持数据块拷贝,提高数据传输速度•80Mhz主频,共支持471条精简指令,浮点运算能力•内嵌10M/100M以太网收发器•CPU硬件断点和单步执行中断•新的16位计数器,输出可以控制•增强的串口•作业频率:2kHz-100MHz•1.8V的核心电压,3.3V或者1.8VI/O的电压Rabbit2000计算能力FloatingPointOperation*RABBIT2000@29.49MHzZilogZ180@24.58MHzDallasDS80C320@33.18MHzPhillips80C51@33.18MHzAMD188ES@36.86MHzAdd9.6µs263278194Multiply12µs423485184SquareRoot32µs343334805355Sine94µs12384521112804CompilerDynamicC6.10DynamicC6.10Kiel51JSIM-51BorlandC3.31*Flash存取时间为55ns系统结构—16位CPU上的嵌入系统Rabbit2000/3000硬件系统BIOS硬件驱动直接面向硬件的应用应用程序I/O控制应用文件系统RTOS应用程序Complier/Edit简介ResetColdload.bin→Polit.binBIOS应用程序DynamicC(PC)DTRReset2400bps57600bps57600bps115200bps100msBIOS功能•为应用程序提供低端服务•系统初始化•与DynamicC集成开发环境通讯•存储空间配置BIOSFlowchartStartataddress0初始化BIOS与DynamicC通讯调用MAIN()被诊断工作(目前不支持)是否使用BIOS服务?设置存储控制和BIOS服务是否有编程电缆?Master工作面向应用程序的BIOS服务应用程序编译和运行模式编译模式:•Compileincludedebugcode•Compilewithoutdebugcode运行模式:•Polling模式/调试模式•非调试模式更进一步:DynamicC中Rabbit2000/3000内存管理基于μC/OS-Ⅱ系统的应用DynamicC支持的文件系统TCP/IP编程串口编程I2C、SPI总线编程FFT、AES函数库的使用Rabbit2000的存储管理--段页管理的存储系统MemoryMapof16-bitAddressingSpaceRootInterchangeRAMENDRAM_START*0x1000DATASIZEXalloc_Store[0].size(calculatedbyInit_Xalloc())XallocregionReserve_Store[0].topRAM_START*0x1000+0xff0x100Quadrantswitchingcode为DATA、WATCH保留逻辑空间中段的内容(Small模式)Rootcodesegment(24K)Instruction;RootConstantsRootdatasegment(8orabove~52K)StaticVariablesStacksegment(52~56K)AutoVariablesMultiplestacksXMemSegment(56k~64K)Shiftby4KeachtimeExtendedmemoryExtendedCode:Instruction;ConstantsExtendedDatabyseveralstacksorremappinginRAM(Watchsegment,InterruptVector)Byspecialfunctionsorkeywords(Assemblyfunction)代码和数据位置的调整•#classoption•root•xdata•xmem•xstring•root2xmem(),xmem2root(),xmem2mem()•#ximport自定制的存储映射(BIOS的修改)•DATAORG•WATCHCODESIZE•更改映射#defineDATASEGVAL0x91#rvarorgrootdata(DATASEGVAL)0xc5ff0x6600apply//growsdown#rcodorgrootcode0x000x00000x6000apply#wcodorgwatcode(DATASEGVAL)0xc6000x0400apply#xcodorgxmemcode0xf80xe0000x1a000apply//datadeclarationsstarthere只能编译成.bin文件文件系统的支持---迈向完整的系统FS2与FAT系统的概念对应FS2系统:•BIOS中预留的空间•Logicalextent•Logicalsector•Metadata•Filenumber/Filename(1~255)FAT系统:•Disk•Diskpartition•簇•Directoryentry—FAT•FilenameFS2的使用•“安装”物理空间修改XMEM_RESERVE_SIZE、FS2_RAM_RESERVE或定义FS2_USE_PROGRAM_FLASH•“分区”fs_get_flash_lx、fs_get_other_lx、fs_get_ram_lx•初始化(第一次使用)fs_init()•格式化lx_format()FS2使用的注意事项•各个宏定义及存储器中空间的分配•堆栈的使用fs2.lib中默认堆栈为2048bytes;LS倍增时约多用100bytes的堆栈空间•读写时间512LS时,fs_init()耗时2秒•可重入性•Errornumber大部分与POSIX一致µC/OS-IIreal-timeoperatingsystem--Z-WORLD系统的基石系统开发面临的挑战市场发展技术进步开发时间系统稳定性系统复杂度系统开发使用RTOS的利弊优点:•有利于系统建模•良好的响应时间•程序模块化•方便的数据封装缺点:•系统占用一定资源•调试难度加大µC/OS-II的定位及性能特点•实时内核*(20MHz)•单进程多线程•64个优先级(系统使用8个)ServiceTime获得信号量10μs释放信号量6~38μs任务切换17~35μs写数据到队列49~68μs读数据到队列12~38μs创建任务158μs注销任务36~57μsRTOS环境中的开发Dataprocessingfunctions时间触发子系统输入输出初始化任务状态图(事件触发)硬件平台软件平台外设应用实例—埋入式液罐监测系统系统性能概述:1.监测8个油罐的罐内温度和液位;2.根据温度和液位计算罐内状态.异常时报警;3.人机界面:4*4的键盘、20个字符的LCD和热敏微型打印机;4.报警铃(键盘控制停止报警).细化时间需求•读入模拟量间隔时间:10-1s•对按键的响应时间:10-1s•模拟量计算时间:秒级•液罐溢出或泄露的判定时间:102s•打印速率:2~3行/s•报告长度:30~59行•打印机每次处理一行数据划分任务任务优先级创建任务原因处理液位任务低“日常”任务处理溢出和泄漏任务高关键任务键盘处理任务高控制系统状态显示处理任务高有不同的消息传递到此任务打印处理任务中处理时间过长任务状态图LevelcalculationtaskButtoncommandtaskPrinterFormattingtaskDisplaytaskOverflowDetectiontaskFloatreadingmoduleTimerinterruptroutineButtoninterruptroutinePrinterinterruptroutineLeveldatamoduleFloatinterruptroutineRTOS传递的消息其它任务激活PrinterLCDTCP/IP编程(Pre7.30)--Z-world系统腾飞的双翅TCP/IPandHardwareHowapackettravelsthroughtheNetworkLayers)ApplicationsPacketPacketPacketPacketPacketTCPUDPIPHardwareLayerApplicationTransportNetworkPhysical&DataLinkDynamicC支持的协议•IP:InternetProtocol•TCP:TransmissionControlProtocol•UDP:UserDatagramProtocol•FTP:FileTransferProtocol•TFTP:TrivialFileTransferProtocol•Telnet•DNS:DomainNameSystem•ICMP:InternetControlMessageProtocol•PPP:PointtoPointProtocol•SMTP:SimpleMailTransferProtocol•HTTP:HyperTextTransferProtocol•POP3:PostofficeProtocol,v3•SNMP:SimpleNetworkManagementProtocolTCP/IP配置•pd_getaddress()读出MAC地址•宏MY_IP_ADDRESS•宏MY_NETMASK•宏MY_GATEWAY•宏MY_NAMESERVER•tcpconfig•sethostid()•sethostname()TCP/IP动态配置(BOOTPorDHCPClient)•BOOTP/DHCPControlMacros(在#use“dcrtcp.lib”之前)USE_DHCPDHCP_USE_BOOTPDHCP_CLASS_IDDHCP_USE_TFTP•sock_init()自动配置0:OK.1:Ethernetpacketdriverinitializationfailed.2:DHCPfailed,usingfallbackdefinitions.3:DHCPfailed,nofallbacksdefined.Other:reserved.•dhcp_acquire()、dhcp_release()重配置TCP应用(Client)#defineMY_IP_ADDRESS“192.168.0.125#defineMY_NETMASK255.255.255.0#definePORT180main(){tcp_Sockets;…..sock_init();tcp_open(&s,0,ip,PORT,NULL);sock_wait_established(&s,0,NULL,&status);sock_mode(&s,TCP_MODE_ASCII);while(tcp_tick(&s)){sock_wait_input(&s,0,NULL,&status);if(sock_gets(&s,buffer,2048))printf(%s\n,buffer);}sock_err:…..}TCP应用(Server)#defineMY_IP_ADDRESS“192.168.0.125#defineMY_NETMASK255.255.255.0#definePORT123tcp_Socketechosock;main(){…….sock_init();while(1){tcp_liste

1 / 50
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功