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

正文內容

基于arm平臺的lniux系統(tǒng)移植畢業(yè)設計論文(編輯修改稿)

2025-08-16 10:45 本頁面
 

【文章內容簡介】 平臺由核心板和底板 (外設板或稱基本板 )組成,核心板上集成 SamsungS3C2410處理器, 64M 的 FLASH 和 64M SDRAM,為應用研發(fā)提供了足夠的空間。 Samsung 公司推出的16/32 位 RISC 處理器 S3C2410,為手持設備和一般類型應用提供了低價格、低功耗、高性能小型微控制器的解決方案。為了降低整個系統(tǒng)的成本, S3C2410 提供了以下豐富的內部設備:分開的 16KB 的指令 Cache 和 16KB 數據 Cache, MMU 虛擬存儲器管理, LCD 控制器(支持STNamp。TFT),支持 NAND Flash 系統(tǒng)引導,系統(tǒng)管理器(片選邏輯和 SDRAM 控制器), 3 通道UART, 4 通道 DMA, 4 通道 PWM 定時器, I/O 端口, RTC, 8 通道 10 位 ADC 和觸摸屏接口, IICBUS接口, IICBUS 接口, USB 主機, USB 設備, SD 主卡 amp。MMC 卡接口, 2 通道的 SPI 以及內部 PLL時鐘倍頻器。 S3C2410 采用了 ARM920T 內核, 工藝的 CMOS 標準宏單元和存儲器單元。 畢業(yè)設計(論文)專用紙 8 它的低功耗、 精簡和出色的全靜態(tài)設計特別適用于對成本和功耗敏感的應用。 同樣它還采用了一種叫做 Advanced Microcontroller Bus Architecture(AMBA)新型總線結構。 S3C2410 的顯著特性是它的 CPU 核心,是一個由 Advanced RISC Machines( ARM)有限公司設計的 16/32 位 ARM920T RISC 處理器。 ARM920T 實現了 MMU, AMBA BUS 和 Harvard 高速緩沖體系結構。這一結構具有獨立的 16KB 指令 Cache 和 16KB 數據 Cache,每個都是由 8 字長的行( line)構成。通過提供一系列完整的系統(tǒng)外圍設備, S3C2410 大大減少了整個系統(tǒng)的成本, 消除了為系統(tǒng)配置額外器件的需要。本文檔將介紹 S3C2410 中集成的以下片上功能: S3C2410 ARM MPU 圖 21 2410 體系結構框圖 畢業(yè)設計(論文)專用紙 9 圖 22 內部結構圖 畢業(yè)設計(論文)專用紙 10 第三章 嵌入式 linux 移植的實現 移植環(huán)境搭建 嵌入式開發(fā)傳統(tǒng)方式是 PC 機 +虛擬機來實現,但考慮到效率太低,在本次移植中采用直接的硬盤安裝 linux 系統(tǒng)來實現,安裝了 Ubuntu 版本 。所謂的交叉編譯簡單地說,就是在一個平臺上生成另一個平臺上的可執(zhí)行代碼.我們需要一套編譯環(huán)境,將在 X86 上的 C代碼編譯為 ARM 系統(tǒng)可以識別的目標代碼。 armlinuxgcc 是基于 ARM 目標機的交叉編譯軟件,前面幾年安裝 armlinuxgcc 交叉編譯軟件對與一個初級嵌入式工程師來說特別棘手,因為它需要安裝多個軟件包,而且安裝過程中不能有半點差錯,因為每個軟件包都有它的依賴關系【換句話就是說安裝某個軟件包時,如果它的依賴軟件版本太低或者沒有安裝都將導致該軟件包安裝失敗】,在此使用了別人集成的交叉編譯鏈 armlinuxgcc 安裝如下 tar zxvf vim /etc/profile 添加如下 export PATH=$PATH:/opt/usr/local/arm/export PATH=$PATH:/opt/usr/local/arm/ source /etc/profile 使安裝馬上生效 armlinuxgcc –v 查看是否生效 結果如下說明可以了 gcc version (Sourcery G++ Lite 20xxq372) 圖 31 交叉編譯環(huán)境結構圖 主機 目標機 交叉開發(fā)工具鏈 目標機接口層 主機通訊層 打 ARMDISC Arm linux Bootloader 調試工具 GCC 編譯器 Armlinuxgcc 畢業(yè)設計(論文)專用紙 11 Tftp 服務搭建 安裝相關軟件包: Ubuntu tftp(服務端), tftp(客戶端), xid aptget install tftpd tftp xid 建立配置文件 在 /etc/ vim tftp 在文件中輸入以下內容: service tftp { socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/ server_args = s /tftpboot disable = no per_source = 11 cps = 100 2 flags = IPv4 } 保存退出。 建立 Ubuntu tftp 服務文件目錄(上傳文件與下載文件的位置),并且更改其權限 mkdir /tftpboot /*在根目錄下建立 tftpboot 文件夾 ,注意與 mkdir tftpboot 的區(qū) 別 */ chmod 777 /tftpboot R 重新啟動服務 /etc/至此 Ubuntu tftp 服務已經安裝完成了,下面可以對其進行一下測試。(在當前目創(chuàng)建,在 tftpboot目錄下創(chuàng)建 ,且 tftpboot目錄下 777)。 執(zhí)行 get 命令時,保證 tftpboot 目錄下的文件權限 chomd 777 ,執(zhí)行 put 命令時,必須先在 tftpboot 目錄下新建一個和上傳文件同名的文件權 限 chmod 777 。 畢業(yè)設計(論文)專用紙 12 tftp tftp get Received 7 bytes in seconds tftp put Sent 10 bytes in seconds tftp quit 以上把 tftp 服務成功搭建好 。 bootloader 概念 引導加載程序是系統(tǒng)加電后運行的第一段代碼。我們熟悉的 PC 中的引導程序一般由 BIOS和位于 MBR 的 OS BootLoader(例如 LILO 或者 GRUB)一起組成。然而在嵌入 式系統(tǒng)中通常沒有像 BIOS 那樣的固件程序,因此整個系統(tǒng)的加載啟動任務就完全由 BootLoader 來完成。在嵌入式 Linux 中的引導加載程序即等效為 BootLoader。 Boot Loader 就是在操作系統(tǒng)內核運行之前運行的一段小程序。通過這段小程序,我們可以初始化硬件設備、建立內存空間的映射圖,從而將系統(tǒng)的軟硬件環(huán)境帶到一個合適的狀態(tài),以便為最終調用操作系統(tǒng)內核準備好正確的環(huán)境。通常, Boot Loader 是嚴重地依賴于硬件而實現的,特別是在嵌入式世界。因此,在嵌入式世界里建立一個通用的 Boot Loader 幾乎是不可能的。盡管如此,我們仍然可以對 Boot Loader 歸納出一些通用的概念來,以指導用戶特定的 Boot Loader 設計與實現。 BootLoader 和內核映象以及文件系統(tǒng)的分區(qū)表如圖 32 圖 32 關系圖 對于每一種體系結構,都有一系列開放源碼的 BootLoader 可以選用。而 U— Boot 已經成為 ARM 平臺事實上的標準 BootLoader。 Bootloader 是一段可執(zhí)行程序,完成的主要功能是將可執(zhí)行文件(一般是操作系統(tǒng))搬移到內存中,然后將控制權交 給這段可執(zhí)行文件(操作系統(tǒng))。 bootloader 啟動參數 內核 文件系統(tǒng) 畢業(yè)設計(論文)專用紙 13 Bootloader 的安裝媒介 系統(tǒng)上電時或復位以后,都從芯片廠商預先安排的一個地址處取第一條指令執(zhí)行(對我們的 S3C2410 芯片,從 0x0 處開始)。由于上電或復位需要運行的第一段程序就是 Bootloader,故必須把 Bootloader 放入該地址。將 Bootloader 寫入固態(tài)存儲設備,永久保存,系統(tǒng)上電后將自動執(zhí)行 Bootloader。 Bootloader 的工作模式 ( 1)下載模式 對研發(fā)人員來說, Bootloader 一般需要工作在這種模式下 ,特別是調試內核或者Bootloader 本身的時候。通過串口終端與 Bootloader 進行交互,可以操作系統(tǒng)硬件。比如通過網口或者串口下載內核,燒寫 Flash 等等。 ( 2)啟動加載模式 嵌入式產品發(fā)布的時候, Bootloader 必須工作在該模式下。這種情況下, Bootloader 必須完成硬件自檢、配置,并從 Flash 中將內核拷貝到 SDRAM 中,并跳轉到內核入口,實現自啟動,而不需要人為的干預。 uboot 簡介 1999 年由德國 DENX 軟件工程中心的 Wolfgang Denk 發(fā)起,全稱 Universal Bootloader。特點:支持多種硬件構架:包括 ARM、 x8 PPC、 MIPS、 m68k、 NIOS、 Blackfin 支持多種操作系統(tǒng):包括 Linux、 VxWorks、 NETBSD、 QNX、 RTEMS、 ARTOS、 216 種以上的開發(fā)板 , 開放源代碼,遵循 GPL 條款 , 易于移植、調試 官方網站: uboot 目錄結構 board 目標板相關文件,主要包含硬件初始化、 SDRAM 初始化 mon 獨立于處理器體系結構的通用代碼 cpu 與處理器相關的文件,包含 cpu 初始化、串口初始化、中斷初始化等代碼 drivers 設備驅動代碼,如 Flash 驅動、網卡驅動、串口驅動等 fs UBoot 支持的文件系統(tǒng)的實現,如 cramfs、 fat、 ext jffs2 等 include UBoot 使用的頭文件,包括不同硬件構架的頭文件 lib_xxx 處理器相關文件,如我們要使用的 lib_arm,與 arm 體系結構相關的文件 網絡功能的上層文件,實現各種協(xié)議,如 nfs、 tftp、 arp 等 畢業(yè)設計(論文)專用紙 14 uboot 存儲映射圖 見圖 33 圖 33 uboot 存儲映射圖 uboot 移植 ( 1) 首先下載 uboot 的源碼包,然后解壓,進入源碼包目錄。 ( 2) 修改源碼讓 uboot 支持從 Nand Flash 啟動。 具體如下: ( a) 修改 “u ” 文件,執(zhí) 行以下命令: vim cpu/arm920t/ ( b) 181 行和 201 行前加上 //,注釋掉 181 //ifdef CONFIG_AT91RM9200 201 //endif ( c) ifndef CONFIG_SKIP_RELOCATE_UBOOT 之后加入: ifdef CONFIG_S3C2410_NAND_BOOT bl copy_myself else ( d) “ble copy_loop” 語句之后加入: endif ( e) “_start_armboot: .wo rd start_armboot” 語句之后加入 copy_loop 子程序: /* 畢業(yè)設計(論文)專用紙 15 ************************************************************************* * * copy uboot to ram * ************************************************************************* */ ifdef CONFIG_S3C2410_NAND_BOOT copy_myself: mov r10, lr
點擊復制文檔內容
研究報告相關推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1