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

正文內(nèi)容

嵌入式畢業(yè)設(shè)計論文基于arm的嵌入式gui點(diǎn)菜系統(tǒng)-閱讀頁

2024-12-19 10:17本頁面
  

【正文】 (2)準(zhǔn)備代碼下載、燒寫、硬件檢測軟件工具。 (4)移植啟動代碼 uboot,用于初始化以太網(wǎng)并完成 TFTP協(xié)議棧。 (6)利用目標(biāo)板上運(yùn)行的 Linux完成其他外設(shè)驅(qū)動的調(diào)試。 (8)進(jìn)行圖形界面系統(tǒng)及應(yīng)用程序的開發(fā)。開發(fā)過程一般都采用“宿 主機(jī),目標(biāo)板”開發(fā)模式,即利用主機(jī)系統(tǒng) (PC機(jī) )上豐富的軟硬件資源及良好的開 發(fā)環(huán)境和調(diào)試工具來開發(fā)目標(biāo)板上的軟件,然后通過交叉編譯環(huán)境生成目標(biāo)代碼 和可執(zhí)行文件,通過串口/ USB/以太網(wǎng)等方式下載到目標(biāo)板上,利用交叉調(diào)試器在 監(jiān)控程序運(yùn)行,實(shí)時分析,最后,將程序下載固化到目標(biāo)機(jī)上,完成整個開發(fā)過 程。嵌入式系統(tǒng)的開發(fā)是在交叉開發(fā)環(huán)境下進(jìn)行的,交叉開發(fā)環(huán)境由主機(jī)系統(tǒng) 、目標(biāo)板以及它們之間的連接工具組成。本次開發(fā)使用的是 Linux操作系統(tǒng)(Ubuntu )、目標(biāo)板使用的是深圳華天正公司的 S3C6410開發(fā)板。在交叉開發(fā)環(huán)境下,開發(fā)主機(jī)也是工作站,可以給開發(fā)者提供開發(fā)工具,同時也是一臺服務(wù)器,可以配置啟動各種網(wǎng)絡(luò)服務(wù)。交叉開發(fā)方式,一 方面可以在熟悉的主機(jī)環(huán)境下進(jìn)行程序開發(fā);另一方面又可以真實(shí)地在目標(biāo)板系統(tǒng)上運(yùn)行調(diào)試程序,可以避免受到目標(biāo)板硬件的限制。它不僅能夠支持各種處理器和外圍設(shè)備接口,而且提供了圖形化的用戶交互界面和豐富的開發(fā)環(huán)境,并且十分穩(wěn)定。 Linux軟件從一開始就使用 GNU的工具鏈,這些 GNU的工具和軟件都是開放源碼的,可以免費(fèi)下載源碼編譯。通過這些軟件包,可以生成 gcc、 g++、盯、勰、 ld等編譯鏈接工具,還可以生成 mibc庫和 gdb調(diào)試器。如:arnl. 1inux. gcc。 BINUTILS是二進(jìn)制程序處理工具,包括連接器、匯編器等目標(biāo)程序處理工具; GCC(GNU Compiler Collection)是編譯器,不但能夠支持 c/ C++語言的編譯,而且能 夠支持 FORTRAN、 JAVA、 ADA等編程語言; GLIBC是應(yīng)用程序編程的函數(shù)庫軟件包,可 17 以編譯生成靜態(tài)庫和共享庫,完整的 GCC需要支持 glibc; GDB是調(diào)試工具,可以讀取可執(zhí)行程序中的符號表,對程序進(jìn)行源碼調(diào)試。如圖 4. 3所示,該開發(fā)板支持 LCD和觸摸屏、支持 QT以及支持多種網(wǎng)絡(luò)應(yīng)用,比如 FTP、 H1vrP、 Tel等網(wǎng)絡(luò)應(yīng)用。 通過串口可以作為控制臺,向目標(biāo)板發(fā)送命令,顯示信息;也可以通過串口傳送文件;還可以通過串口調(diào)試內(nèi)核及程序;同時串口的設(shè)備驅(qū)動實(shí)現(xiàn)也比較簡單。 以太網(wǎng)傳輸比較靈活,相對簡單,易于實(shí)現(xiàn),可以實(shí)現(xiàn)快速的數(shù)據(jù)通訊和文 件傳輸。 USB接口傳輸具有明顯的優(yōu)勢,支持熱插拔,通 訊速率也很快。 4)網(wǎng)絡(luò)文件系統(tǒng) 網(wǎng)絡(luò)文件系統(tǒng) (NFS, Network File System)允許一個系統(tǒng)在網(wǎng)絡(luò)上共享目錄和文件。 NFS網(wǎng)絡(luò)文件系統(tǒng)是通過文件系統(tǒng)實(shí)現(xiàn)資源共享的一種主要方式,它擴(kuò)充了傳統(tǒng)文 18 件系統(tǒng)允許多個用戶共享本地主機(jī)中的文件,允許用戶通過網(wǎng)絡(luò)共享遠(yuǎn)程主機(jī)的文件。 NFS系統(tǒng)速度快、調(diào)試方便,調(diào)試程序時,無需重新制作根文件系統(tǒng)映像和下載根文件系統(tǒng)映像文件,而只需將交叉編譯好的,需要調(diào)試的程序放入提供 NFS服務(wù)的目錄,即可進(jìn)行調(diào)試。 (2)調(diào)試工具:即能夠?qū)?zhí)行程序進(jìn)行源碼或匯編級調(diào)試的軟件,如 gdb等。 GNU Tools是一款十分優(yōu)秀的開源軟件,它完全覆蓋了上述類型的軟件開發(fā)工具。 GCC主要包括如下一些工具 (下面具體說明需要用到的工具 )。 gcc:符合 ISO等標(biāo)準(zhǔn)的 C編譯器。 binutils是一組二進(jìn)制工具程序集,它包括 add21ine、 ar、 as、 gprof,ld、 objcopy、 objdump、 ranlib、 size、 strings、 strip等工具,是輔助 GCC的主要軟件。 ld: GNU鏈接器,用于確定相對地址,把多個 object文件、起始代碼段、庫等鏈接起來,并最終形成一個可執(zhí)行文件。 al:創(chuàng)建歸檔文件 (Archive)、修改/替換庫中的 object文件、向庫中添加/提取object文件。 objdump:用來顯示對象文件的信息。 readelf:顯示 ELF格式執(zhí)行文件中的各種信息。 19 gdb是 GNU調(diào)試器。它的基本運(yùn)行方式是在一個 shell環(huán)境下用命令行方式調(diào)試程序數(shù)據(jù)。 GNUmake允許用戶生成和安裝軟件包,而無需了解生成、安裝軟件包的具體執(zhí)行過程。舉個例子來說,假設(shè)在應(yīng)用程序設(shè)計時,我們用 Qt Creator 設(shè)計界面之后保存的文件是 。 uic o uic o – impl 所有的界面初始化工作都在 文件中實(shí)現(xiàn),程序的邏輯代碼也將加入這個文件,那么對于一個已經(jīng)完成邏輯功能的對話框來說,如果要修改界面布局,就不得不重新用 uic 生成 .h 和 .cpp 文件,然后將邏輯代碼復(fù)制到新的 .cpp 文件中,這樣原來的代碼將全部被沖掉。 Qt4 中推薦的方法是,使用 uic 根據(jù) .ui 文件生成一個 .h 文件,以前面的 MainMenu 為例,生成的文件叫做 ,其中會實(shí)現(xiàn)一個名為 Ui_MainMenu 的類,包含了界面所有控件的加載功能。如 的文件部分內(nèi)容為: include class MainMenu : public QDialog,public Ui:: MainMenu { Q_OBJECT public: 20 MainMenu (QWidget *parent=0)。 的文件部分內(nèi)容為: include MainMenu:: MainMenu (QWidget *parent) : QDialog(parent) { setupUi(this)。 中不再包含任何用戶自己寫的代碼了,如果用戶想更改界面布局的話,只需要用 Qt Designer 修改界面,再用 uic 生成 文件,直接替換原文件就可以了。 程序圖形界面設(shè)計 運(yùn)行 QT Creator,進(jìn)入界面,選擇 New File or Project創(chuàng)建新的工程,選擇 QT C++ Project,創(chuàng)建 QT Gui Application工程,工程名為 client。然后完成工程的創(chuàng)建,這時會生成如下 圖的 幾個文件 。 編譯生成 實(shí)現(xiàn)圖形 代碼。mdow類和 QUrl類及其成員,故需要 包含進(jìn)相應(yīng)的頭文件。 } Client繼承自 QMainWindow類,在其公共區(qū)聲明構(gòu)造函數(shù),進(jìn)行初 始化。 Client(Qwidget *parent=0)。 在其私有區(qū),首先聲明了指向點(diǎn)菜界面對話框類的指針成員變量,其次是聲明友元函數(shù) my_send_data(int flag)用來標(biāo)志向服務(wù)器發(fā)送命令。 22 friend int my_send_data(int flag)。)。 private: // Ui::client *ui。 在 client類的私有槽區(qū),聲明了幾個返回類型都是 void的槽函數(shù),分別響應(yīng)點(diǎn)菜、換臺、顯示信息、查詢已點(diǎn)菜、退菜、退出系統(tǒng)等的操作。 void my_chaxun(void)。 void diancai_zhuohao(int)。 void my_liangcai(int)。 void my_jiachang(int)。 void my_guopan(int)。 void my_xiangyan(int)。 void huan_cai(void)。 void tui_chu(void)。 void diancai_xianzhuohao(int)。 }。 包含的頭文件: include include include include include include 定義各類菜色和桌號、員工號數(shù)據(jù)變量 int liang_cai = 0,hai_xian = 0,jia_chang = 0,chuan_cai = 0,guo_pan = 0,jiu_shui = 0,xiang_yan = 0。 int my_send_data(int flag)。 int xianzhuo_hao = 25。 //static int sfd。 Packet p[2020]。 client::client(QWidget *parent) : QMainWindow(parent), ui(new Ui::client) { uisetupUi(this)。 clientsetWindowModality(Qt::NonModal)。 clientresize(480, 272)。 (0)。 (clientsizePolicy().hasHeightForWidth())。 qDebug(查詢 )。 //這條代碼作用是隱藏 client圖形界面 Ui::chaxun_Dialog d_ui。 //創(chuàng)建查詢界面的對話框,界面用之前設(shè)計 client界面方法一樣用 ui生成好了查詢對話框類,包含在頭文件 。 dsetWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint|Qt::Popup|Qt::Tool)。 dshow()。 connect(,SIGNAL(clicked()),this,SLOT(show_text()))。)),SLOT(insertPlainText(const QString amp。 connect(,SIGNAL(clicked()),d,SLOT(close()))。 25 connect(,SIGNAL(valueChanged(int)),this,SLOT(chaxun_zhuohao(int)))。 } //例如,下面是退出槽函數(shù)的實(shí)現(xiàn),當(dāng)單擊退出按鈕,發(fā)送 clicked()信號,根據(jù)上面的連接,則會退出關(guān)閉當(dāng)前對象的對話框。 thisclose()。 } //如下是其他界面的實(shí)現(xiàn)代碼也類似如此,構(gòu)建其他界面的實(shí)現(xiàn)方法基本如此。 //變量清零 liang_cai = 0。 jia_chang = 0。guo_pan = 0。 xiang_yan = 0。gong_hao = 12。 Ui::diancai_dialog d_ui。 dsetGeometry(0,0,480,272)。 (d)。 //設(shè)置按鍵和主窗口之間的關(guān)系 connect(d,SIGNAL(accepted()),this,SLOT(show()))。 connect(,SIGNAL(valueChanged(int)),this,SLOT(diancai_zhuohao(int)))。 connect(,SIGNAL(currentIndexChanged(int)),this,SLOT(my_liangcai(int)))。 connect(,SIGNAL(currentIndexChanged(int)),this,SLOT(my_jiachang(int)))。 connect(,SIGNAL(currentIndexChanged(int)),this,SLOT(my_guopan(int)))。 connect(,SIGNAL(currentIndexChanged(int)),this,SLOT(my_xiangyan(int)))。 } /*************************創(chuàng)建查詢界面 *************************/ void client::my_chaxun(void) { chaxunzhuo_hao = 25。 thishide()。 QDialog *d = new QDialog。 dsetWindowFlags(Qt::FramelessWindowHint|Qt::WindowStaysOnTopHint|Qt::Popup|Qt::Tool)。 dshow()。 connect(this,SIGNAL(send_text(const QString amp。)))。)))。 connect(,SIGNAL(clicked()),this,SLOT(show()))。 // connect(d,SIGNAL(accepted()),this,SLOT(show_text()))。 qDebug(查詢 )。 Ui::check_Dialog d_ui。 dsetGeometry(0,0,480,272)。 (d)。 connect(,SIGNAL(clicked()),this,SLOT(check_text()))。)),SLOT(insertPlainText(const QStri
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1