1. 概述
針對低端處理器(如arm m系列處理器)的開發工作,翼輝資訊推出了sylixos lite工程版本。sylixos lite版本工程屬於sylixos輕量級工程,與標準的sylixos工程相比裁剪掉部分功能(如gdb除錯、虛擬記憶體管理、動態裝載、部分網路功能等)。
由於sylixos lite版本不支援動態裝載,本文件介紹基於sylixos標準開發環境下的中介軟體移植到sylixos lite版本的方法,如在標準版本下開發核心模組工程、動態庫工程移植到lite版本的方法。本文件以在標準版本下開發的uorb中介軟體為例,介紹如何移植該中介軟體到lite版本。
2. 例項
本例項以uorb為例,介紹標準版本移植到lite版本的過程。
2.1 標準開發版本
uorb標準版本下由核心模組和動態庫組成,即核心模組工程和動態庫工程,如圖 2.1所示。
圖 2.1 標準開發版本
2.2 核心模組移植到lite版本
由於sylixos lite版本不支援動態裝載,所以lite版本不支援核心模組工程。核心模組移植到lite版本需將該工程載入到lite版本bsp工程目錄下,同時在系統啟動時載入該模組。
將核心模組**放到bsp工程目錄下參與編譯,如圖 2.2所示。
圖 2.2 bsp工程結構
同時在系統啟動時載入該模組,如圖 2.3所示在系統啟動函式中呼叫初始化介面。
圖 2.3 系統啟動載入核心模組
2.3 移植動態庫到lite版本
移植動態庫到lite版本,需將**移植到lite版本bsp工程中參與編譯,如圖 2.2所示。
動態庫在bsp工程中參與編譯後,需將動態庫提供的介面加入符號表中,應用程式即可以呼叫符號表中的函式介面。sylixos下將函式介面新增到符號表中需在函式定義前新增「lw_symbol_export」符號,uorb動態庫移植過程中需在相應的函式界面前新增此符號,如圖 2.4所示。
圖 2.4 新增匯入符號表命令
新增到符號表編譯後,應用程式即可呼叫該庫中的函式介面。
工程移植到c 11標準
日誌向。記錄一下遷移中遇到的幾個不那麼明顯的編譯錯誤。都是由於c 11標準更加嚴格,以前編譯器幫忙做的事現在不讓做了導致的。對c 11標準沒有去研究 md基礎的c 都沒學好呢tat 所以只記錄問題和目前的解決方法,到底為什麼這麼改或者有沒有更好的修改方法以後學習過了再說。1.std basic is...
Keil工程到IAR工程的移植
keil工程到iar工程的移植 stm32工程使用的啟動檔案有不同的版本,在移植stm32工程之前先檢查mdk工程的啟動檔案。啟動檔案為cortexm3 macro.s和stm32f10x vector.s,如下圖時 下面以建立iar工程example為例講述如何移植。首先建立資料夾命名為examp...
Socket程式從windows移植到linux下
1 標頭檔案 windows下winsock.h或winsock2.h linux下netinet in.h 大部分都在這兒 unistd.h close函式在這兒 sys socket.h 在in.h裡已經包含了,可以省了 2 初始化 windows下需要用wsastartup啟動ws2 32.l...