嵌入式實驗報告二

2022-12-05 14:00:05 字數 1752 閱讀 1729

實驗時間 2013/6/9報告人

一、實驗目的:

1.學習cygwin;

2.通過上機實驗,使學生驗證、鞏固和充實所學理論知識,加深對相關內容的理解,了解嵌入式linux的工具鏈,掌握基於linux的c程式設計。

二、實驗要求:

1.安裝cygwin;

2.學習gcc的使用和makefile的編寫。

3.程式設計實現檔案拷貝功能。

三、問題:

1.簡述gcc的常用選項並舉例說明。

gcc基本使用格式:$ gcc [ 選項 ] 《檔名》

命令列中 gcc表示我們是用gcc來編譯我們的源程式,[選項]表示我們要求編譯器給我們輸出的檔案為何種型別,相當於一種約束。

常見選項:

-o :將原始檔經過gcc處理過的結果輸出,這個結果檔案可能是預處理檔案、彙編檔案、目標檔案或者最終的可執行檔案。比如:

gcc –o hello 把原始檔 經gcc編譯後生成可執行的檔案輸出為hello

-e :只啟用源程式的預處理,這個不生成檔案,你需要把它重新定向到乙個輸出檔案裡面。比如:gcc –e –o 把原始檔經gcc預處理後的檔案輸出為hello. i。

-c :只啟用源程式的預處理,編譯,和彙編,也就是他只把程式生成obj檔案。比如:gcc –c –o 把原始檔經gcc 預處理,編譯,和彙編後的檔案輸出為

-s :只啟用源程式的預處理和編譯,就是指把檔案編譯成為彙編**。比如:gcc –s –o 把原始檔經gcc 預處理,編譯後的檔案輸出為

-g :表示我們要求編譯器在編譯的時候提供我們以後對程式進行除錯的資訊。

2.簡述makefile編寫規則,舉例說明。

makefile編寫規則:(1)以「#」開始的行為注釋

(2)檔案依賴關係為:

target: components //表示的是依賴關係

tab rule //編寫規則,tab表示那是乙個tab鍵

例如有如下:

/* */

#include ""

#include ""

int main(int argc,char **ar**)

/* */

#include ""

void mytool1_print(char *print_str)

/* */

#include ""

void mytool2_print(char *print_str)

/* */

#ifndef _mytool_1_h

#define _mytool_1_h

void mytool1_print(char *print_str);

#endif

/* */

#ifndef _mytool_2_h

#define _mytool_2_h

void mytool2_print(char *print_str);

#endif

可以這樣來編譯

gcc -c

gcc -c

gcc -c

gcc -o main

這樣的話我們也可以產生main程式,而且也不時很麻煩

在我們執行make之前,我們要先編寫乙個非常重要的檔案——makefile。對於上面的那個程式來說,可能的乙個makefile的檔案是:

# this is the makefile of main

gcc -o main

gcc -c

gcc -c

gcc -c

嵌入式系統實驗報告二

一 實驗目的 1.掌握嵌入式系統開發上下位機的作用和特點 2.掌握交叉編譯環境的安裝和使用 二 實驗內容 1.安裝arm linux gcc 3.3.2 2.安裝arm linux gcc 2.95.3 3.安裝arm linux gcc 3.4.1 4.建立工作目錄 5.修改環境變數 三 源程式清...

嵌入式系統實驗報告

報告姓名 努爾買買提 吐孫 學號 12600123 班級 電腦科學與技術非師範121班 實驗一 lcd控制 一 實驗目的 1 初步掌握液晶顯示屏的使用及其電路設計方法。2 掌握s3c44b0x處理器的lcd控制器的使用。3 通過實驗掌握液晶顯示文字和圖形的方法以及程式設計方法。二 實驗內容 學習lc...

嵌入式開發實驗報告

時間 2015 年 04 月 25 日 目錄1 緒論1 2 課程設計的目標2 3 課程設計的意義2 4 需求分析3 5 概要設計4 1.分配記憶體4 2.獲取並記錄快取的物理空間5 3.處理採集資料7 4.關閉 裝置8 6 相關技術說明8 1.採集應用程式流程8 2.設定屬性及採集方式8 7詳細設計...