![基于Rabbit中央處理器的uCOS-II嵌入式解決方案課件_第1頁(yè)](http://file4.renrendoc.com/view/c2718928b8644f21068fb2c24363de71/c2718928b8644f21068fb2c24363de711.gif)
![基于Rabbit中央處理器的uCOS-II嵌入式解決方案課件_第2頁(yè)](http://file4.renrendoc.com/view/c2718928b8644f21068fb2c24363de71/c2718928b8644f21068fb2c24363de712.gif)
![基于Rabbit中央處理器的uCOS-II嵌入式解決方案課件_第3頁(yè)](http://file4.renrendoc.com/view/c2718928b8644f21068fb2c24363de71/c2718928b8644f21068fb2c24363de713.gif)
![基于Rabbit中央處理器的uCOS-II嵌入式解決方案課件_第4頁(yè)](http://file4.renrendoc.com/view/c2718928b8644f21068fb2c24363de71/c2718928b8644f21068fb2c24363de714.gif)
![基于Rabbit中央處理器的uCOS-II嵌入式解決方案課件_第5頁(yè)](http://file4.renrendoc.com/view/c2718928b8644f21068fb2c24363de71/c2718928b8644f21068fb2c24363de715.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于Rabbit中央處理器的uC/OS-II嵌入式解決方案基于Rabbit中央處理器的uC/OS-II嵌入式解決方案1從硬件入手:了解Rabbit2000/3000Z180的改進(jìn)和提高硬件:集成部分外設(shè)、更高速度的16位CPU
實(shí)時(shí)時(shí)鐘、watchdog、從口編程、4/6個(gè)串口5個(gè)8bitstimers、2個(gè)10bitstimers、4級(jí)中斷遠(yuǎn)程下載及啟動(dòng)軟件:對(duì)C語(yǔ)言更有力的支持從硬件入手:了解Rabbit2000/3000Z180的改進(jìn)2Rabbit4000CPU后向兼容于Rabbit2000&3000CPU16M平鋪內(nèi)存,最大64M(4頁(yè))尋址空間支持16位的接口8通道DMA支持?jǐn)?shù)據(jù)塊拷貝,提高數(shù)據(jù)傳輸速度80Mhz主頻,共支持471條精簡(jiǎn)指令,浮點(diǎn)運(yùn)算能力內(nèi)嵌10M/100M以太網(wǎng)收發(fā)器CPU硬件斷點(diǎn)和單步執(zhí)行中斷新的16位計(jì)數(shù)器,輸出可以控制增強(qiáng)的串口作業(yè)頻率:2kHz-100MHz1.8V的核心電壓,3.3V或者1.8VI/O的電壓Rabbit4000CPU后向兼容于Rabbit2003Rabbit2000計(jì)算能力FloatingPoint
Operation*RABBIT2000
@29.49MHzZilogZ180
@24.58MHzDallasDS80C320
@33.18MHzPhillips80C51
@33.18MHzAMD188ES
@36.86MHzAdd9.6μs263278194Multiply12μs423485184SquareRoot32μs343334805355Sine94μs12384521112804CompilerDynamicC6.10DynamicC6.10Kiel51JSIM-51BorlandC3.31*Flash存取時(shí)間為55nsRabbit2000計(jì)算能力FloatingPoint
O4系統(tǒng)結(jié)構(gòu)—16位CPU上的嵌入系統(tǒng)Rabbit2000/3000硬件系統(tǒng)BIOS硬件驅(qū)動(dòng)直接面向硬件的應(yīng)用應(yīng)用程序I/O控制應(yīng)用文件系統(tǒng)RTOS應(yīng)用程序系統(tǒng)結(jié)構(gòu)—16位CPU上的嵌入系統(tǒng)Rabbit2000/305Complier/Edit簡(jiǎn)介ResetColdload.bin→Polit.binBIOS應(yīng)用程序DynamicC(PC)DTRReset2400bps57600bps57600bps115200bps100msComplier/Edit簡(jiǎn)介ResetColdload.b6BIOS功能為應(yīng)用程序提供低端服務(wù)系統(tǒng)初始化與DynamicC集成開發(fā)環(huán)境通訊存儲(chǔ)空間配置BIOS功能為應(yīng)用程序提供低端服務(wù)7BIOSFlowchart
Startataddress0初始化BIOS與DynamicC通訊調(diào)用MAIN()被診斷工作(目前不支持)是否使用BIOS服務(wù)?設(shè)置存儲(chǔ)控制和BIOS服務(wù)是否有編程電纜?Master工作面向應(yīng)用程序的BIOS服務(wù)應(yīng)用程序BIOSFlowchartStartataddres8編譯和運(yùn)行模式編譯模式:CompileincludedebugcodeCompilewithoutdebugcode運(yùn)行模式:Polling模式/調(diào)試模式非調(diào)試模式編譯和運(yùn)行模式編譯模式:運(yùn)行模式:9更進(jìn)一步:
DynamicC中Rabbit2000/3000內(nèi)存管理基于μC/OS-Ⅱ系統(tǒng)的應(yīng)用DynamicC支持的文件系統(tǒng)TCP/IP編程串口編程I2C、SPI總線編程FFT、AES函數(shù)庫(kù)的使用
更進(jìn)一步:10Rabbit2000的存儲(chǔ)管理
--段頁(yè)管理的存儲(chǔ)系統(tǒng)Rabbit2000的存儲(chǔ)管理11MemoryMapof16-bitAddressingSpaceRootInterchangeMemoryMapof16-bitAddressin12基于Rabbit中央處理器的uCOS-II嵌入式解決方案課件13RAMENDRAM_START*0x1000DATASIZEXalloc_Store[0].size(calculatedbyInit_Xalloc())XallocregionReserve_Store[0].topRAM_START*0x1000+0xff0x100Quadrantswitchingcode為DATA、WATCH保留RAMENDRAM_START*0x1000DATASIZ14邏輯空間中段的內(nèi)容(Small模式)byseveralstacksorremappinginRAM(Watchsegment,InterruptVector)Byspecialfunctionsorkeywords(Assemblyfunction)邏輯空間中段的內(nèi)容(Small模式)byseverals15代碼和數(shù)據(jù)位置的調(diào)整#classoptionrootxdataxmemxstringroot2xmem(),xmem2root(),xmem2mem()#ximport代碼和數(shù)據(jù)位置的調(diào)整#classoption16自定制的存儲(chǔ)映射(BIOS的修改)DATAORGWATCHCODESIZE更改映射#defineDATASEGVAL0x91
#rvarorgrootdata(DATASEGVAL)0xc5ff0x6600apply//growsdown
#rcodorgrootcode0x000x00000x6000apply
#wcodorgwatcode(DATASEGVAL)0xc6000x0400apply
#xcodorgxmemcode0xf80xe0000x1a000apply
//datadeclarationsstarthere
只能編譯成.bin文件自定制的存儲(chǔ)映射(BIOS的修改)DATAORG#defin17文件系統(tǒng)的支持邁向完整的系統(tǒng)文件系統(tǒng)的支持邁向完整的系統(tǒng)18FS2與FAT系統(tǒng)的概念對(duì)應(yīng)FS2系統(tǒng):BIOS中預(yù)留的空間LogicalextentLogicalsectorMetadataFilenumber/Filename(1~255)FAT系統(tǒng):DiskDiskpartition簇Directoryentry—FATFilenameFS2與FAT系統(tǒng)的概念對(duì)應(yīng)FS2系統(tǒng):FAT系統(tǒng):19FS2的使用“安裝”物理空間
修改XMEM_RESERVE_SIZE、FS2_RAM_RESERVE或定義FS2_USE_PROGRAM_FLASH“分區(qū)”
fs_get_flash_lx、fs_get_other_lx、fs_get_ram_lx初始化(第一次使用)fs_init()格式化lx_format()
FS2的使用“安裝”物理空間20FS2使用的注意事項(xiàng)各個(gè)宏定義及存儲(chǔ)器中空間的分配堆棧的使用
fs2.lib中默認(rèn)堆棧為2048bytes;LS倍增時(shí)約多用100bytes的堆棧空間讀寫時(shí)間
512LS時(shí),fs_init()耗時(shí)2秒可重入性Errornumber大部分與POSIX一致FS2使用的注意事項(xiàng)各個(gè)宏定義及存儲(chǔ)器中空間的分配21μC/OS-IIreal-timeoperatingsystem--Z-WORLD系統(tǒng)的基石μC/OS-II22系統(tǒng)開發(fā)面臨的挑戰(zhàn)市場(chǎng)發(fā)展技術(shù)進(jìn)步開發(fā)時(shí)間系統(tǒng)穩(wěn)定性系統(tǒng)復(fù)雜度系統(tǒng)開發(fā)系統(tǒng)開發(fā)面臨的挑戰(zhàn)市場(chǎng)發(fā)展技術(shù)進(jìn)步開發(fā)時(shí)間系統(tǒng)穩(wěn)定性系統(tǒng)復(fù)雜23使用RTOS的利弊優(yōu)點(diǎn):有利于系統(tǒng)建模良好的響應(yīng)時(shí)間程序模塊化方便的數(shù)據(jù)封裝缺點(diǎn):系統(tǒng)占用一定資源調(diào)試難度加大使用RTOS的利弊優(yōu)點(diǎn):缺點(diǎn):24μC/OS-II的定位及性能特點(diǎn)實(shí)時(shí)內(nèi)核*(20MHz)
單進(jìn)程多線程64個(gè)優(yōu)先級(jí)(系統(tǒng)使用8個(gè))ServiceTime獲得信號(hào)量10μs釋放信號(hào)量6~38μs任務(wù)切換17~35μs寫數(shù)據(jù)到隊(duì)列49~68μs讀數(shù)據(jù)到隊(duì)列12~38μs創(chuàng)建任務(wù)158μs注銷任務(wù)36~57μsμC/OS-II的定位及性能特點(diǎn)實(shí)時(shí)內(nèi)核25RTOS環(huán)境中的開發(fā)Dataprocessingfunctions時(shí)間觸發(fā)子系統(tǒng)輸入輸出初始化任務(wù)狀態(tài)圖(事件觸發(fā))硬件平臺(tái)軟件平臺(tái)外設(shè)RTOS環(huán)境中的開發(fā)Dataprocessingfunc26應(yīng)用實(shí)例—埋入式液罐監(jiān)測(cè)系統(tǒng)系統(tǒng)性能概述:1.監(jiān)測(cè)8個(gè)油罐的罐內(nèi)溫度和液位;2.根據(jù)溫度和液位計(jì)算罐內(nèi)狀態(tài).異常時(shí)報(bào)警;3.人機(jī)界面:4*4的鍵盤、20個(gè)字符的LCD和熱敏微型打印機(jī);4.報(bào)警鈴(鍵盤控制停止報(bào)警).應(yīng)用實(shí)例—埋入式液罐監(jiān)測(cè)系統(tǒng)系統(tǒng)性能概述:27細(xì)化時(shí)間需求讀入模擬量間隔時(shí)間:10-1s對(duì)按鍵的響應(yīng)時(shí)間:10-1s模擬量計(jì)算時(shí)間:秒級(jí)液罐溢出或泄露的判定時(shí)間:102s打印速率:2~3行/s報(bào)告長(zhǎng)度:30~59行打印機(jī)每次處理一行數(shù)據(jù)細(xì)化時(shí)間需求讀入模擬量間隔時(shí)間:10-1s28劃分任務(wù)任務(wù)優(yōu)先級(jí)創(chuàng)建任務(wù)原因處理液位任務(wù)低“日?!比蝿?wù)處理溢出和泄漏任務(wù)高關(guān)鍵任務(wù)鍵盤處理任務(wù)高控制系統(tǒng)狀態(tài)顯示處理任務(wù)高有不同的消息傳遞到此任務(wù)打印處理任務(wù)中處理時(shí)間過(guò)長(zhǎng)劃分任務(wù)任務(wù)優(yōu)先級(jí)創(chuàng)建任務(wù)原因處理液位任務(wù)低“日?!比蝿?wù)處理29任務(wù)狀態(tài)圖LevelcalculationtaskButtoncommandtaskPrinterFormattingtaskDisplaytaskOverflowDetectiontaskFloatreadingmoduleTimerinterruptroutineButtoninterruptroutinePrinterinterruptroutineLeveldatamoduleFloatinterruptroutineRTOS傳遞的消息其它任務(wù)激活PrinterLCD任務(wù)狀態(tài)圖LevelButtonPrinterDispl30TCP/IP編程(Pre7.30)--Z-world系統(tǒng)騰飛的雙翅TCP/IP編程(Pre7.30)--Z-world系統(tǒng)騰31TCP/IPandHardware
HowapackettravelsthroughtheNetworkLayers)
ApplicationsPacketPacketPacketPacketPacketTCPUDPIPHardwareLayerApplicationTransportNetworkPhysical&DataLinkTCP/IPandHardware
Howapack32DynamicC支持的協(xié)議IP:InternetProtocolTCP:TransmissionControlProtocolUDP:UserDatagramProtocolFTP:FileTransferProtocolTFTP:TrivialFileTransferProtocolTelnetDNS:DomainNameSystemICMP:InternetControlMessageProtocolPPP:PointtoPointProtocolSMTP:SimpleMailTransferProtocolHTTP:HyperTextTransferProtocolPOP3:PostofficeProtocol,v3SNMP:SimpleNetworkManagementProtocolDynamicC支持的協(xié)議IP:InternetPro33TCP/IP配置pd_getaddress()讀出MAC地址宏MY_IP_ADDRESS宏MY_NETMASK宏MY_GATEWAY宏MY_NAMESERVERtcpconfigsethostid()sethostname()TCP/IP配置pd_getaddress()讀出MAC34TCP/IP動(dòng)態(tài)配置(BOOTPorDHCPClient)BOOTP/DHCPControlMacros
(在#use“dcrtcp.lib”之前)USE_DHCPDHCP_USE_BOOTPDHCP_CLASS_IDDHCP_USE_TFTPsock_init()自動(dòng)配置0:OK. 1:Ethernetpacketdriverinitializationfailed. 2:DHCPfailed,usingfallbackdefinitions. 3:DHCPfailed,nofallbacksdefined. Other:reserved.dhcp_acquire()、dhcp_release()重配置TCP/IP動(dòng)態(tài)配置(BOOTPorDHCPClie35TCP應(yīng)用(Client)#defineMY_IP_ADDRESS“25"#defineMY_NETMASK ""#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應(yīng)用(Client)#defineMY_IP_ADD36TCP應(yīng)用(Server)#defineMY_IP_ADDRESS“25"#defineMY_NETMASK""#definePORT123tcp_Socketechosock;main(){…….sock_init(); while(1){ tcp_listen(&echosock,PORT,0,0,NULL,0); sock_wait_established(&echosock,0,NULL,&status); sock_mode(&echosock,TCP_MODE_ASCII); while(tcp_tick(&echosock)){…… }sock_err:…. }}TCP應(yīng)用(Server)#defineMY_IP_ADD37UDP應(yīng)用(Server&Client)sock_init()Udp_open(P1,P2,P3,P4)
PARAMETER1:socketPARAMETER2:localportPARAMETER3:acceptableremoteip,0toconnectonfirstdatagram,-1 forall(resolve(“55”))PARAMETER4:acceptableremoteport,0toconnectonfirstdatagramPARAMETER5:functiontocallwhendataisreceived,NULLforplacingdatainthesocket'sreceivebuffer.Udp_send()、udp_recv()….UDP應(yīng)用(Server&Client)sock_in38DNS應(yīng)用(Client)#defineMY_NAMESERVER resolve()Non-blockingDNS查詢r(jià)esolve_name_start()resolve_name_check()resolve_cancel()其他區(qū)域DNSserver緩存DNSserverDNS解析器緩存ApplicationDNS應(yīng)用(Client)#defineMY_NAMESE39ZSERVER.LIB(HTTP&FTPserver工具庫(kù))DataStructure:ServerSprc(FormVar):可傳輸對(duì)象列表ServerAuth:用戶列表Constants:以上結(jié)構(gòu)體中的參數(shù)和下面函數(shù)的返回值;數(shù)據(jù)類型定義;服務(wù)器類型定義和參數(shù)Functions:對(duì)以上結(jié)構(gòu)體的設(shè)定、修改和讀取參數(shù)ZSERVER.LIB(HTTP&FTPserver工具40HTTPServer的應(yīng)用應(yīng)用程序處理Http消息使用HTTP.LIB的http_handler()HttpSpec:Webserver提供的文件、變量、函數(shù)HttpType:處理文件的連接HttpRealm:HttpSpec中的需認(rèn)證的資源HttpState:CGI函數(shù)接口HTTPServer的應(yīng)用應(yīng)用程序處理Http消息41HTTPServer實(shí)現(xiàn)#defineMY_IP_ADDRESS"00"#defineMY_NETMASK""#use"dcrtcp.lib"#use"http.lib"main(){sock_init();http_init();tcp_reserveport(80);while(1){http_handler();}}HTTPServer實(shí)現(xiàn)#defineMY_IP_AD42HTTPServer示例1靜態(tài)頁(yè)面#ximport"samples/tcpip/http/pages/static.html"index_html#ximport"samples/tcpip/http/pages/rabbit1.gif"rabbit1_gif
constHttpTypehttp_types[]={{".html","text/html",NULL},{".gif","image/gif",NULL}};constHttpSpechttp_flashspec[]={{HTTPSPEC_FILE,"/",index_html,NULL,0,NULL,NULL},{HTTPSPEC_FILE,"/index.html",index_html,NULL,0,NULL,NULL},{HTTPSPEC_FILE,"/rabbit1.gif",rabbit1_gif,NULL,0,NULL,NULL},};HTTPServer示例1靜態(tài)頁(yè)面#ximport43HTTPServer示例2動(dòng)態(tài)刷新constHttpTypehttp_types[]={{".shtml","text/html",shtml_handler},//ssi{".html","text/html",NULL},//html{".cgi","",NULL},//cgi{".gif","image/gif",NULL}};longcounter;constHttpSpechttp_flashspec[]={{HTTPSPEC_FILE,"/",index_html,NULL,0,NULL,NULL},{HTTPSPEC_FILE,"/index.shtml",index_html,NULL,0,NULL,NULL},{HTTPSPEC_VARIABLE,"counter",0,&counter,INT32,"%ld",NULL}};HTTPServer示例2動(dòng)態(tài)刷新constHt44HTTPServer示例3CGIconstHttpSpechttp_flashspec[]={{HTTPSPEC_FILE,"/",index_html,NULL,0,NULL,NULL},{HTTPSPEC_FILE,"/index.html",index_html,NULL,0,NULL,NULL},{HTTPSPEC_FILE,"/rabbit1.gif",rabbit1_gif,NULL,0,NULL,NULL},{HTTPSPEC_FUNCTION,"/test.cgi",0,test_cgi,0,NULL,NULL}};inttest_cgi(HttpState*state){ staticchardate[20]; staticcharbuffer[256]; staticinthitcount; #GLOBAL_INIT{hitcount=0;} hitcount++; http_date_str(date); sprintf(buffer,teststr,date,hitcount,REDIRECTTO); cgi_sendstring(state,buffer);return0;}HTTPServer示例3CGIconstHtt45FTPSever的實(shí)現(xiàn)main(){ intfile,user;file=sspec_addxmemfile("rabbitA.gif",rabbit1_gif,SERVER_FTP); user=sauth_adduser("anonymous","",SERVER_FTP); sspec_setuser(file,user); sock_init(); ftp_init(NULL);/*usedefaulthandlers*/ tcp_reserveport(21); while(1){ftp_tick(); }}FTPSever的實(shí)現(xiàn)main()46FTPClient的實(shí)現(xiàn)main(){ staticcharbuf[1024]; sock_init(); ftp_client_setup(resolve(REMOTE_HOST),REMOTE_PORT,REMOTE_USERNAME, REMOTE_PASSWORD,FTP_MODE_DOWNLOAD,REMOTE_FILE, NULL,buf,sizeof(buf)) while(0==ftp_client_tick()) ;}FTPClient的實(shí)現(xiàn)main()47SMTPMailClient實(shí)現(xiàn)main(){ sock_init();smtp_sendmail(TO,FROM,SUBJECT,BODY); while(smtp_mailtick()==SMTP_PENDING) continue;if(smtp_status()==SMTP_SUCCESS) printf("Messagesent\n"); else printf("Errorsendingmessage\n");}SMTPMailClient實(shí)現(xiàn)main()48POP3Client實(shí)現(xiàn)main(){sock_init();pop3_init(storemsg); pop3_getmail(POP_USER,POP_PASS,IP); while((retval=pop3_tick())==POP_PENDING )continue;if(retval==POP_SUCCESS)printf(“Successfull!\n"); if(retval==POP_TIME)printf(“Timedout!\n"); if(retval==POP_ERROR)printf(“Error!\n"); }參數(shù)為回傳處理函數(shù)(庫(kù)中已定義格式)POP3Client實(shí)現(xiàn)main()參數(shù)為回傳處理函數(shù)(49謝謝!敬請(qǐng)指教…丁元國(guó)Tel1/2/3Fax-Mail:dingyg99@Msn:dingyg99@謝謝!敬請(qǐng)指教…丁元國(guó)50基于Rabbit中央處理器的uC/OS-II嵌入式解決方案基于Rabbit中央處理器的uC/OS-II嵌入式解決方案51從硬件入手:了解Rabbit2000/3000Z180的改進(jìn)和提高硬件:集成部分外設(shè)、更高速度的16位CPU
實(shí)時(shí)時(shí)鐘、watchdog、從口編程、4/6個(gè)串口5個(gè)8bitstimers、2個(gè)10bitstimers、4級(jí)中斷遠(yuǎn)程下載及啟動(dòng)軟件:對(duì)C語(yǔ)言更有力的支持從硬件入手:了解Rabbit2000/3000Z180的改進(jìn)52Rabbit4000CPU后向兼容于Rabbit2000&3000CPU16M平鋪內(nèi)存,最大64M(4頁(yè))尋址空間支持16位的接口8通道DMA支持?jǐn)?shù)據(jù)塊拷貝,提高數(shù)據(jù)傳輸速度80Mhz主頻,共支持471條精簡(jiǎn)指令,浮點(diǎn)運(yùn)算能力內(nèi)嵌10M/100M以太網(wǎng)收發(fā)器CPU硬件斷點(diǎn)和單步執(zhí)行中斷新的16位計(jì)數(shù)器,輸出可以控制增強(qiáng)的串口作業(yè)頻率:2kHz-100MHz1.8V的核心電壓,3.3V或者1.8VI/O的電壓Rabbit4000CPU后向兼容于Rabbit20053Rabbit2000計(jì)算能力FloatingPoint
Operation*RABBIT2000
@29.49MHzZilogZ180
@24.58MHzDallasDS80C320
@33.18MHzPhillips80C51
@33.18MHzAMD188ES
@36.86MHzAdd9.6μs263278194Multiply12μs423485184SquareRoot32μs343334805355Sine94μs12384521112804CompilerDynamicC6.10DynamicC6.10Kiel51JSIM-51BorlandC3.31*Flash存取時(shí)間為55nsRabbit2000計(jì)算能力FloatingPoint
O54系統(tǒng)結(jié)構(gòu)—16位CPU上的嵌入系統(tǒng)Rabbit2000/3000硬件系統(tǒng)BIOS硬件驅(qū)動(dòng)直接面向硬件的應(yīng)用應(yīng)用程序I/O控制應(yīng)用文件系統(tǒng)RTOS應(yīng)用程序系統(tǒng)結(jié)構(gòu)—16位CPU上的嵌入系統(tǒng)Rabbit2000/3055Complier/Edit簡(jiǎn)介ResetColdload.bin→Polit.binBIOS應(yīng)用程序DynamicC(PC)DTRReset2400bps57600bps57600bps115200bps100msComplier/Edit簡(jiǎn)介ResetColdload.b56BIOS功能為應(yīng)用程序提供低端服務(wù)系統(tǒng)初始化與DynamicC集成開發(fā)環(huán)境通訊存儲(chǔ)空間配置BIOS功能為應(yīng)用程序提供低端服務(wù)57BIOSFlowchart
Startataddress0初始化BIOS與DynamicC通訊調(diào)用MAIN()被診斷工作(目前不支持)是否使用BIOS服務(wù)?設(shè)置存儲(chǔ)控制和BIOS服務(wù)是否有編程電纜?Master工作面向應(yīng)用程序的BIOS服務(wù)應(yīng)用程序BIOSFlowchartStartataddres58編譯和運(yùn)行模式編譯模式:CompileincludedebugcodeCompilewithoutdebugcode運(yùn)行模式:Polling模式/調(diào)試模式非調(diào)試模式編譯和運(yùn)行模式編譯模式:運(yùn)行模式:59更進(jìn)一步:
DynamicC中Rabbit2000/3000內(nèi)存管理基于μC/OS-Ⅱ系統(tǒng)的應(yīng)用DynamicC支持的文件系統(tǒng)TCP/IP編程串口編程I2C、SPI總線編程FFT、AES函數(shù)庫(kù)的使用
更進(jìn)一步:60Rabbit2000的存儲(chǔ)管理
--段頁(yè)管理的存儲(chǔ)系統(tǒng)Rabbit2000的存儲(chǔ)管理61MemoryMapof16-bitAddressingSpaceRootInterchangeMemoryMapof16-bitAddressin62基于Rabbit中央處理器的uCOS-II嵌入式解決方案課件63RAMENDRAM_START*0x1000DATASIZEXalloc_Store[0].size(calculatedbyInit_Xalloc())XallocregionReserve_Store[0].topRAM_START*0x1000+0xff0x100Quadrantswitchingcode為DATA、WATCH保留RAMENDRAM_START*0x1000DATASIZ64邏輯空間中段的內(nèi)容(Small模式)byseveralstacksorremappinginRAM(Watchsegment,InterruptVector)Byspecialfunctionsorkeywords(Assemblyfunction)邏輯空間中段的內(nèi)容(Small模式)byseverals65代碼和數(shù)據(jù)位置的調(diào)整#classoptionrootxdataxmemxstringroot2xmem(),xmem2root(),xmem2mem()#ximport代碼和數(shù)據(jù)位置的調(diào)整#classoption66自定制的存儲(chǔ)映射(BIOS的修改)DATAORGWATCHCODESIZE更改映射#defineDATASEGVAL0x91
#rvarorgrootdata(DATASEGVAL)0xc5ff0x6600apply//growsdown
#rcodorgrootcode0x000x00000x6000apply
#wcodorgwatcode(DATASEGVAL)0xc6000x0400apply
#xcodorgxmemcode0xf80xe0000x1a000apply
//datadeclarationsstarthere
只能編譯成.bin文件自定制的存儲(chǔ)映射(BIOS的修改)DATAORG#defin67文件系統(tǒng)的支持邁向完整的系統(tǒng)文件系統(tǒng)的支持邁向完整的系統(tǒng)68FS2與FAT系統(tǒng)的概念對(duì)應(yīng)FS2系統(tǒng):BIOS中預(yù)留的空間LogicalextentLogicalsectorMetadataFilenumber/Filename(1~255)FAT系統(tǒng):DiskDiskpartition簇Directoryentry—FATFilenameFS2與FAT系統(tǒng)的概念對(duì)應(yīng)FS2系統(tǒng):FAT系統(tǒng):69FS2的使用“安裝”物理空間
修改XMEM_RESERVE_SIZE、FS2_RAM_RESERVE或定義FS2_USE_PROGRAM_FLASH“分區(qū)”
fs_get_flash_lx、fs_get_other_lx、fs_get_ram_lx初始化(第一次使用)fs_init()格式化lx_format()
FS2的使用“安裝”物理空間70FS2使用的注意事項(xiàng)各個(gè)宏定義及存儲(chǔ)器中空間的分配堆棧的使用
fs2.lib中默認(rèn)堆棧為2048bytes;LS倍增時(shí)約多用100bytes的堆??臻g讀寫時(shí)間
512LS時(shí),fs_init()耗時(shí)2秒可重入性Errornumber大部分與POSIX一致FS2使用的注意事項(xiàng)各個(gè)宏定義及存儲(chǔ)器中空間的分配71μC/OS-IIreal-timeoperatingsystem--Z-WORLD系統(tǒng)的基石μC/OS-II72系統(tǒng)開發(fā)面臨的挑戰(zhàn)市場(chǎng)發(fā)展技術(shù)進(jìn)步開發(fā)時(shí)間系統(tǒng)穩(wěn)定性系統(tǒng)復(fù)雜度系統(tǒng)開發(fā)系統(tǒng)開發(fā)面臨的挑戰(zhàn)市場(chǎng)發(fā)展技術(shù)進(jìn)步開發(fā)時(shí)間系統(tǒng)穩(wěn)定性系統(tǒng)復(fù)雜73使用RTOS的利弊優(yōu)點(diǎn):有利于系統(tǒng)建模良好的響應(yīng)時(shí)間程序模塊化方便的數(shù)據(jù)封裝缺點(diǎn):系統(tǒng)占用一定資源調(diào)試難度加大使用RTOS的利弊優(yōu)點(diǎn):缺點(diǎn):74μC/OS-II的定位及性能特點(diǎn)實(shí)時(shí)內(nèi)核*(20MHz)
單進(jìn)程多線程64個(gè)優(yōu)先級(jí)(系統(tǒng)使用8個(gè))ServiceTime獲得信號(hào)量10μs釋放信號(hào)量6~38μs任務(wù)切換17~35μs寫數(shù)據(jù)到隊(duì)列49~68μs讀數(shù)據(jù)到隊(duì)列12~38μs創(chuàng)建任務(wù)158μs注銷任務(wù)36~57μsμC/OS-II的定位及性能特點(diǎn)實(shí)時(shí)內(nèi)核75RTOS環(huán)境中的開發(fā)Dataprocessingfunctions時(shí)間觸發(fā)子系統(tǒng)輸入輸出初始化任務(wù)狀態(tài)圖(事件觸發(fā))硬件平臺(tái)軟件平臺(tái)外設(shè)RTOS環(huán)境中的開發(fā)Dataprocessingfunc76應(yīng)用實(shí)例—埋入式液罐監(jiān)測(cè)系統(tǒng)系統(tǒng)性能概述:1.監(jiān)測(cè)8個(gè)油罐的罐內(nèi)溫度和液位;2.根據(jù)溫度和液位計(jì)算罐內(nèi)狀態(tài).異常時(shí)報(bào)警;3.人機(jī)界面:4*4的鍵盤、20個(gè)字符的LCD和熱敏微型打印機(jī);4.報(bào)警鈴(鍵盤控制停止報(bào)警).應(yīng)用實(shí)例—埋入式液罐監(jiān)測(cè)系統(tǒng)系統(tǒng)性能概述:77細(xì)化時(shí)間需求讀入模擬量間隔時(shí)間:10-1s對(duì)按鍵的響應(yīng)時(shí)間:10-1s模擬量計(jì)算時(shí)間:秒級(jí)液罐溢出或泄露的判定時(shí)間:102s打印速率:2~3行/s報(bào)告長(zhǎng)度:30~59行打印機(jī)每次處理一行數(shù)據(jù)細(xì)化時(shí)間需求讀入模擬量間隔時(shí)間:10-1s78劃分任務(wù)任務(wù)優(yōu)先級(jí)創(chuàng)建任務(wù)原因處理液位任務(wù)低“日?!比蝿?wù)處理溢出和泄漏任務(wù)高關(guān)鍵任務(wù)鍵盤處理任務(wù)高控制系統(tǒng)狀態(tài)顯示處理任務(wù)高有不同的消息傳遞到此任務(wù)打印處理任務(wù)中處理時(shí)間過(guò)長(zhǎng)劃分任務(wù)任務(wù)優(yōu)先級(jí)創(chuàng)建任務(wù)原因處理液位任務(wù)低“日常”任務(wù)處理79任務(wù)狀態(tài)圖LevelcalculationtaskButtoncommandtaskPrinterFormattingtaskDisplaytaskOverflowDetectiontaskFloatreadingmoduleTimerinterruptroutineButtoninterruptroutinePrinterinterruptroutineLeveldatamoduleFloatinterruptroutineRTOS傳遞的消息其它任務(wù)激活PrinterLCD任務(wù)狀態(tài)圖LevelButtonPrinterDispl80TCP/IP編程(Pre7.30)--Z-world系統(tǒng)騰飛的雙翅TCP/IP編程(Pre7.30)--Z-world系統(tǒng)騰81TCP/IPandHardware
HowapackettravelsthroughtheNetworkLayers)
ApplicationsPacketPacketPacketPacketPacketTCPUDPIPHardwareLayerApplicationTransportNetworkPhysical&DataLinkTCP/IPandHardware
Howapack82DynamicC支持的協(xié)議IP:InternetProtocolTCP:TransmissionControlProtocolUDP:UserDatagramProtocolFTP:FileTransferProtocolTFTP:TrivialFileTransferProtocolTelnetDNS:DomainNameSystemICMP:InternetControlMessageProtocolPPP:PointtoPointProtocolSMTP:SimpleMailTransferProtocolHTTP:HyperTextTransferProtocolPOP3:PostofficeProtocol,v3SNMP:SimpleNetworkManagementProtocolDynamicC支持的協(xié)議IP:InternetPro83TCP/IP配置pd_getaddress()讀出MAC地址宏MY_IP_ADDRESS宏MY_NETMASK宏MY_GATEWAY宏MY_NAMESERVERtcpconfigsethostid()sethostname()TCP/IP配置pd_getaddress()讀出MAC84TCP/IP動(dòng)態(tài)配置(BOOTPorDHCPClient)BOOTP/DHCPControlMacros
(在#use“dcrtcp.lib”之前)USE_DHCPDHCP_USE_BOOTPDHCP_CLASS_IDDHCP_USE_TFTPsock_init()自動(dòng)配置0:OK. 1:Ethernetpacketdriverinitializationfailed. 2:DHCPfailed,usingfallbackdefinitions. 3:DHCPfailed,nofallbacksdefined. Other:reserved.dhcp_acquire()、dhcp_release()重配置TCP/IP動(dòng)態(tài)配置(BOOTPorDHCPClie85TCP應(yīng)用(Client)#defineMY_IP_ADDRESS“25"#defineMY_NETMASK ""#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應(yīng)用(Client)#defineMY_IP_ADD86TCP應(yīng)用(Server)#defineMY_IP_ADDRESS“25"#defineMY_NETMASK""#definePORT123tcp_Socketechosock;main(){…….sock_init(); while(1){ tcp_listen(&echosock,PORT,0,0,NULL,0); sock_wait_established(&echosock,0,NULL,&status); sock_mode(&echosock,TCP_MODE_ASCII); while(tcp_tick(&echosock)){…… }sock_err:…. }}TCP應(yīng)用(Server)#defineMY_IP_ADD87UDP應(yīng)用(Server&Client)sock_init()Udp_open(P1,P2,P3,P4)
PARAMETER1:socketPARAMETER2:localportPARAMETER3:acceptableremoteip,0toconnectonfirstdatagram,-1 forall(resolve(“55”))PARAMETER4:acceptableremoteport,0toconnectonfirstdatagramPARAMETER5:functiontocallwhendataisreceived,NULLforplacingdatainthesocket'sreceivebuffer.Udp_send()、udp_recv()….UDP應(yīng)用(Server&Client)sock_in88DNS應(yīng)用(Client)#defineMY_NAMESERVER resolve()Non-blockingDNS查詢r(jià)esolve_name_start()resolve_name_check()resolve_cancel()其他區(qū)域DNSserver緩存DNSserverDNS解析器緩存ApplicationDNS應(yīng)用(Client)#defineMY_NAMESE89ZSERVER.LIB(HTTP&FTPserver工具庫(kù))DataStructure:ServerSprc(FormVar):可傳輸對(duì)象列表ServerAuth:用戶列表Constants:以上結(jié)構(gòu)體中的參數(shù)和下面函數(shù)的返回值;數(shù)據(jù)類型定義;服務(wù)器類型定義和參數(shù)Functions:對(duì)以上結(jié)構(gòu)體的設(shè)定、修改和讀取參數(shù)ZSERVER.LIB(HTTP&FTPserver工具90HTTPServer的應(yīng)用應(yīng)用程序處理Http消息使用HTTP.LIB的http_handler()HttpSpec:Webserver提供的文件、變量、函數(shù)HttpType:處理文件的連接HttpRealm:HttpSpec中的需認(rèn)證的資源HttpState:CGI函數(shù)接口HTTPServer的應(yīng)用應(yīng)用程序處理Http消息91HTTPServer實(shí)現(xiàn)#defineMY_IP_ADDRESS"00"#defineMY_NETMASK""#use"dcrtcp.lib"#use"http.lib"main(){sock_init();http_init();tcp_reserveport(80);while(1){http_handler();}}HTTPServer實(shí)現(xiàn)#defineMY_IP_AD92HTTPServer示例1靜態(tài)頁(yè)面#ximport"samples/tcpip/http/pages/static.html"index_html#ximport"samples/tcpip/http/pages/rabbit1.gif"rabbit1_gif
constHttpTypehttp_types[]={{".html","text/html",NULL},{".gif","image/gif",NULL}};constHttpSpechttp_flashspec[]={{HTTPSPEC_FILE,"/",index_html,NULL,0,NULL,NULL},{HTTPSPEC_FILE,"/index.html",index_html,NULL,0,NULL,NULL},{HTTPSPEC_FILE,"/rabbit1.gif",rabbit1_gif,NULL,0,NULL,NULL},};HTTPServer示例1靜態(tài)頁(yè)面#ximport93HTTPServer示例2動(dòng)態(tài)刷新constHttpTypehttp_types[]={{".shtml","text/html",shtml_handler},//ssi{".html","text/html",NULL},//html{".cgi","",NULL},
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 借資產(chǎn)合同范本
- 2025年度DAF運(yùn)輸合同下的貨物運(yùn)輸保險(xiǎn)責(zé)任劃分
- 使用土地建房合同范例
- 個(gè)人傭金協(xié)議合同范例
- 2024-2030年中國(guó)掃描聲學(xué)顯微鏡(SAM)行業(yè)發(fā)展監(jiān)測(cè)及發(fā)展趨勢(shì)預(yù)測(cè)報(bào)告
- 上門宴席服務(wù)合同范例
- 勞保服合同范本
- 農(nóng)村房屋征收合同范本
- 2025年度教育培訓(xùn)機(jī)構(gòu)經(jīng)營(yíng)權(quán)承包合同范本
- 2025年度節(jié)能減排產(chǎn)品銷售代理合同樣本
- Module 2 Unit 2 I dont like ginger. (說(shuō)課稿)-2024-2025學(xué)年外研版(一起)英語(yǔ)二年級(jí)上冊(cè)
- 2025年新高考語(yǔ)文模擬考試試卷(五) (含答案解析)
- 教育部《中小學(xué)校園食品安全和膳食經(jīng)費(fèi)管理工作指引》專題培訓(xùn)
- 瞻望病人的護(hù)理
- WPS辦公應(yīng)用職業(yè)技能等級(jí)證書(初級(jí))考試復(fù)習(xí)題庫(kù)(含答案)
- 北師大版七年級(jí)數(shù)學(xué)上冊(cè)教材同步課后習(xí)題答案
- 大霧天安全行車培訓(xùn)
- 杭州市2025屆高三教學(xué)質(zhì)量檢測(cè)(一模) 英語(yǔ)試題卷(含答案解析)
- 北師大版七年級(jí)上冊(cè)數(shù)學(xué)思維導(dǎo)圖全套
- 人教版三下勞動(dòng)項(xiàng)目四《蒸蛋羹》教學(xué)設(shè)計(jì)
- 人工智能基礎(chǔ)知識(shí)培訓(xùn)課件
評(píng)論
0/150
提交評(píng)論