freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第八章xilinx操作系統(tǒng)及庫-展示頁

2024-10-23 21:40本頁面
  

【正文】 雙精度乘法,除法和求模函數(shù)使用庫函數(shù) _muldi3, _divdi3, moddi3實(shí)現(xiàn)。 整數(shù)除法和求模操作通過使用庫函數(shù)例程 _divsi3和 _modsi3實(shí)現(xiàn)(軟件)。 MicroBlaze處理器 整數(shù)算術(shù)運(yùn)算 默認(rèn)情況下,整數(shù)乘法通過使用庫函數(shù)例程 _mulsi3 實(shí)現(xiàn)(軟件)。 算術(shù)操作 對所有處理器可以使用 浮點(diǎn)算術(shù)運(yùn)算。堆指針從低向高增 加(運(yùn)行時(shí)不能增加)。 除了標(biāo)準(zhǔn)的 C函數(shù), EDK處理器庫提供了下面的小的 I/O 函數(shù): 1) void print(char *);(打印字符串到 MSS文件中指定的標(biāo)準(zhǔn)輸 出的外設(shè)) 2) void putnum(int);(轉(zhuǎn)換整數(shù)到 16進(jìn)制的字符串,并打印字 符串到外設(shè)) 3) void xil_printf(const *char ctl1,…) (與 printf函數(shù)類似,但代碼 更小,不支持浮點(diǎn)數(shù)) 存儲(chǔ)器管理函數(shù) MicroBlaze處理器和 PowerPC處理器 C庫支持標(biāo)準(zhǔn)的存 儲(chǔ)器管理函數(shù),比如 malloc(), calloc(), free()。將其變成無緩沖格式的,必須調(diào)用 setvbuf。這些函 數(shù)的原型在 。 輸入 /輸出函數(shù) EDK庫包含標(biāo)準(zhǔn) C函數(shù)用于 I/O,比如 printf和 scanf。 XILINX_EDK/gnu/processor/platform/processor lib/include 其中 : XILINX_EDK為 EDK的安裝路徑; processor為 powerpceabi或 microblaze; platform為 sol, nt, lin; processorlib為 powerpceabi或 microblazexilinxelf; 標(biāo)準(zhǔn)的 C庫( ) : _ansi, , machine/, , , , , , , , , , , , , , sys/, , , , , , , , , , , , , , , , , , , , 標(biāo)準(zhǔn)的 C庫( ) 程序訪問標(biāo)準(zhǔn)的 C庫函數(shù),必須使用如下方式編譯: 1) mbgcc C file(對 MicroBlaze處理器); 2) powerpceabigccC file(對 PowerPC處理器),訪 問 libm數(shù)學(xué)函數(shù),指定 lm選項(xiàng); Xilinx C庫( ) Xilinx的 C庫為 MicroBlaze處理器包含下面的目標(biāo)文件: 1) , , , 2)默認(rèn)情況下提供異常和中斷句柄。 標(biāo)準(zhǔn)的 C庫( ) 該庫為 MicroBlaze和 PowerPC處理器提供了標(biāo)準(zhǔn)的 C函 數(shù)。 這些庫和 include文件保存在當(dāng)前工程 lib和 include目錄下。 標(biāo)準(zhǔn) C庫 EDK庫和設(shè)備驅(qū)動(dòng)提供標(biāo)準(zhǔn) C庫函數(shù)和訪問外設(shè)的函 數(shù)。 支持 Xilinx系統(tǒng)內(nèi) Flash和外部的串行 Flash( Atmel 的 AT45XXXD, Intel的 S33和 ST的 M25PXX)。 支持 Intel和 AMD的 CFI (Common Flash Interface)芯片。 這個(gè)系統(tǒng)通過改變安裝區(qū)域的源文件,很容易配置滿 足工程要求。 應(yīng)用程序能以不同模式,靜態(tài)的和 Xilkernel連接形成 單獨(dú)的可執(zhí)行文件。 ( 4)同步和中斷處理。 ( 2)優(yōu)先級驅(qū)動(dòng)的搶先調(diào)度 。 Xilinx的微核 Xilkernel Xilkernel是一個(gè)簡單的嵌入式處理器的核,能根據(jù)系 統(tǒng)進(jìn)行定制。 這些驅(qū)動(dòng)伴隨 EDK提供,并且被 Libgen配置。 BSP提供的一些典型的函數(shù)包括 : ( 1)設(shè)置中斷 ( 2)系統(tǒng)異常 ( 3)配置緩存 ( 4)其它硬件指定的功能。 BSP提供對硬件的小的接口。數(shù)學(xué)庫 。 BSP和 Xilinx驅(qū)動(dòng)構(gòu)成了對底層硬件的抽象。 除了一些交互外,庫之間是獨(dú)立的。 Xilinx的微核 LibXil庫由下面構(gòu)成: 1) LibXil DriverXilinx的設(shè)備驅(qū)動(dòng)程序; 2) LibXil MFSXilinx的存儲(chǔ)文件系統(tǒng)( Memory File System, MFS); 3) LibXil Flash并行 Flash編程庫; 4) LibXil lsf串行 Flash編程庫; Xilinx提供獨(dú)立板級支持包( Board Support Package, BSP,后來 Xilinx稱為 Standard平臺(tái))和 Xilkernel。 標(biāo)準(zhǔn) C庫由 newlib和 libc組成,該庫包含了標(biāo)準(zhǔn) C的函 數(shù),例如, stdio, stdlib, string例程。 其中重點(diǎn)介紹了 Xilkernel核,內(nèi)容包括: Xilkernel核概述、 Xilkernel構(gòu)成、建立 Xilkernel應(yīng)用程序、 Xilkernel處理模型、 Xilkernel調(diào)度模型、 POSIX接口、 Xilkernel API接口、存儲(chǔ)器保護(hù)、 系統(tǒng)初始化、 Xilkernel定制等內(nèi)容。第八章 Xilinx操作系統(tǒng)及庫 何賓 內(nèi)容概述 本章主要介紹操作系統(tǒng)及板級支持包。該章內(nèi)容主要 包括: ( 1) Xilinx微核接口; ( 2) LibXil標(biāo)準(zhǔn) C庫; ( 3)板級支持包; ( 4) Xilkernel核; ( 5) LibXil庫。 Xilinx的微核 Xilinx的微核( Xilinx Microkernel, XMK)包含三個(gè) 不同的軟件實(shí)體,通過它用戶應(yīng)用程序可以與標(biāo)準(zhǔn) C和 Math庫, LibXil庫, Xilkernel或獨(dú)立運(yùn)行的操作系統(tǒng)相 接。數(shù)學(xué)庫是 newlib數(shù)學(xué) 庫的擴(kuò)展,提供了標(biāo)準(zhǔn)的數(shù)學(xué)函數(shù)。 Xilinx的微核結(jié)構(gòu) 圖 XMK結(jié)構(gòu) 用戶應(yīng)用程序 Xilkernel XilFlash Xil MFS Xil lsf 獨(dú)立 BSP Xilinx驅(qū)動(dòng) C, Math和 GCC庫 Xilinx的微核 用戶的應(yīng)用程序通過不同的方法和 XMK的不同組成部 分進(jìn)行接口。比如, Xilkernel 使用 BSP。 XMK的庫和 OS依賴于標(biāo)準(zhǔn)的 C庫組成部分。 Xilinx的微核 板級支持包 BSP BSP是單線程庫。向應(yīng) 用程序提供所要求的最少的功能。 Xilinx的微核 LibXil驅(qū)動(dòng)程序 LibXil是指設(shè)備驅(qū)動(dòng)程序,在軟件平臺(tái)中被包含用來 向系統(tǒng)中的外設(shè)提供接口。 后面詳細(xì)介紹設(shè)備驅(qū)動(dòng)的概念和在軟件平臺(tái)中適配的 方法。 Xilkernel有嵌入式核的那些關(guān)鍵的特征: ( 1)多任務(wù) 。 ( 3)進(jìn)程間通信 。 Xilinx的微核 Xilkernel Xilkernel是一個(gè)小的,模塊化的,用戶定制,能用在 不同的系統(tǒng)配置環(huán)境。 Xilinx的微核 LibXil MFS LibXil MFS提供簡單的存儲(chǔ)文件系統(tǒng),使得很容易通 過使用輸入 輸出文件來訪問數(shù)據(jù)。 Xilinx的微核 LibXil Flash LibXil Flash :提供對并行 Flash的訪問,這些 Flash與 普通的 Flash接口一致。 Xilinx的微核 LibXil lsf LibXil lsf是一個(gè)系統(tǒng)內(nèi) Flash庫。 該庫使得高層軟件能和串行 Flash通信。 EDK庫由 Libgen根據(jù) MSS文件為每個(gè)工程自動(dòng)配置。 mbgcc的選項(xiàng) l和 L用來將這些目錄添加到庫搜索路 徑中??梢愿鶕?jù)下面路徑下的這些標(biāo)準(zhǔn) C函數(shù)找到頭文件。 。 這些函數(shù)代碼太大,不適應(yīng)嵌入式處理器的應(yīng)用。 注意: C標(biāo)準(zhǔn) I/O例程比如 printf, scanf, vfprintf在默 認(rèn)情況下是行緩沖的。 輸入 /輸出函數(shù) 比如: setvbuf( stdout, NULL, _IONBF, 0); 這些輸入 /輸出例程要求在新一行用 CR和 LF結(jié)束。 通過使用堆來動(dòng)態(tài)的分配存儲(chǔ)器。分配堆至少 128字節(jié),觀察函數(shù) 返回值以確定正確的分配堆。 當(dāng)硬件不支持使用指令的算術(shù)運(yùn)算原語時(shí),編譯器為 所有的處理器插入對這些例程的調(diào)用 。 如果編譯器 mbgcc選擇 mnoxlsoftmul時(shí),整數(shù)乘法 可以使用硬件實(shí)現(xiàn)??梢远ㄖ剖褂糜布ㄆ鱽韺?shí)現(xiàn) 除法指令。 無符號的這些操作相對于有符號的操作就是其前綴為 _u,而不是 _。 板級支持包 板級支持包 BSP是軟件模塊的最底層,用來訪問處理 器指定的功能。 MicroBlaze處理器 BSP 當(dāng)系統(tǒng)使用 MicroBlaze處理器,并且沒有使用 OS時(shí), Libgen自動(dòng)在 BSP。 中斷處理 使用中斷處理函數(shù),必須在源文件中包含頭文件 。使用異常處理 函數(shù),必須在源文件中包含頭文件 。 MicroBlaze的異常處理函數(shù)有: ? void microblaze_disable_exceptions(void) ? void microblaze_enable_exceptions(void) ? void microblaze_register_exception_handle(Xuint8 Exceptionld, XExceptionHandler Handler, void *DataPtr) 指令緩存處理 使用指令緩存函數(shù),必須在源文件中包含頭文件 。 MicroBlaze的數(shù)據(jù)緩存處理函數(shù)有: ( 1) void microblaze_enable_dcache(void) 使能 Microblaze處理器的數(shù)據(jù)緩存 ( 2) void microblaze_disable_dcache(void) 禁止 Microblaze處理器的數(shù)據(jù)緩存 ( 3) void microblaze_flush_dcache() 刷新整個(gè)數(shù)據(jù)緩存 ,當(dāng)使用回寫緩存時(shí),使用這個(gè)函數(shù) ( 4) void microblaze_flush_dcache_range(unsigned int cache_addr, unsigned int cache_len) 刷新指定的數(shù)據(jù)緩存的范圍 數(shù)據(jù)緩存處理 ( 5) void microblaze_invalidate_dcache() 使數(shù)據(jù)緩存無效 ( 6) void microblaze_flush_invalidate_range(unsigned int cache_addr, unsigned int cache_len) 使指定范圍的數(shù)據(jù)緩存無效 下面給出初始化指令和數(shù)據(jù)緩存的一段代碼: 1. 初始化指令 Cache microblaze_invalidate_icache()。 數(shù)據(jù)緩存處理 2. 初始化數(shù)據(jù) DCache microblaze_invalidate_dcache()。 3. 在程序的結(jié)尾,應(yīng)該使用下面的代碼對緩存進(jìn)行恢復(fù)操 作。 endif microblaze_disable_dcache()。 microblaze_dis
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1