




已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
題 目:智能小車設(shè)計 打開命令行終端的快捷方式:ctr+al+t:默認的路徑在家目錄ctr+shift+n:默認的路徑為上一次終端所處在的路徑.linuxubuntu:$ linux:當(dāng)前登錄用戶名.ubuntu:主機名:和$之間:當(dāng)前用戶所處在的工作路徑.windows下的工作路徑如C:IntelLogslinux下的工作路徑是:/././:代表的是/home/linux這個路徑.(家目錄).ls(list):列出當(dāng)前路徑下的文件名和目錄名.ls -a(all):列出當(dāng)前路徑下的所有文件和目錄名,包括了隱藏文件.:當(dāng)前路徑.:上一級路徑ls -l:以橫排的方式列出文件的詳細信息total 269464(當(dāng)前這個路徑總計所占空間的大小,單位是K)drwxr-xr-x 3 linux linux 4096 Dec 4 19:16 Desktop第一個位置:代表的是文件的類型.linux系統(tǒng)下的文件類型有以下幾種.b:塊設(shè)備文件c:字符設(shè)備文件d:directory,目錄-:普通文件.l:連接文件.s:套接字文件.p:管道文件.rwxr-xr-x:權(quán)限r(nóng):讀權(quán)限 -:沒有相對應(yīng)的權(quán)限w:寫權(quán)限x:可執(zhí)行權(quán)限修改權(quán)限:chmod u-或者+r/w/x 文件名chmod g-或者+r/w/x 文件名 chmod o-或者+r/w/x 文件名第一組:用戶權(quán)限第二組:用戶組的權(quán)限第三組:其他用戶的權(quán)限.chmod 三個數(shù)(權(quán)限) 文件名首先根據(jù)你想要的權(quán)限生成二進制數(shù),再根據(jù)二進制數(shù)轉(zhuǎn)換成十進制的三位數(shù)rwxr-x-wx111101011 7 5 3chmod 753 文件名rwx-xr-x第二個位置上的數(shù)字:對應(yīng)目錄下的子文件個數(shù),如果是非目錄,則數(shù)字是1第三個位置:用戶名(文件創(chuàng)造者).第四個位置:用戶組的名字(前邊的用戶所處在的用戶組的名字).第五個位置:對應(yīng)文件所占的空間大小(單位為b)第六八個位置:Dec 4 19:16時間戳(最后一次修改文件的時間)最后一個位置:文件名操作文件:1.創(chuàng)建一個普通文件:touch 文件名2.刪除一個文件:rm(remove) 文件名3.新建一個目錄:mkdir(make directory) 目錄名 遞歸創(chuàng)建目錄:mkdir -p 目錄1/目錄2/目錄34.刪除一個目錄:rmdir 目錄名./僅刪除一個空目錄 rm -rf 目錄名/刪除一個非空目錄5.切換目錄(change directory):cd 路徑linux下的路徑分兩種相對路徑:以.(當(dāng)前路徑)為起點.絕對路徑:以/(根目錄)為起點,用相對路徑的方式進入Music:cd ./Music用絕對路徑的方式進入Desktop:cd /home/linux/Desktop返回上一級:cd .返回加家目錄的三種方式(1).cd(2).cd (3).cd /home/linux進入到1目錄里并創(chuàng)建一個2普通文件,再退回上一級,并且刪除1目錄6.拷貝文件.cp(copy) 路徑1/源文件 路徑2:把路徑1下的文件拷貝到路徑2下cp 路徑1/源文件 路徑2/目標文件:把路徑1下的文件拷貝到路徑2下并且重命名位目標文件.cp(copy) -r 路徑1/目錄名 路徑2:把路徑1下的目錄拷貝到路徑2下7.剪切文件mv(move) 路徑1/源文件 路徑2:把路徑1下的文件剪切到路徑2下mv 路徑1/源文件 路徑2/目標文件:把路徑1下的文件剪切到路徑2下并且重命名位目標文件mv 源文件 目標文件:重命名文件mv 路徑1/目錄名 路徑2:把路徑1下的目錄剪切到路徑2下8.clear:清屏9.exit 退出終端vi編輯器.vi 文件名:如果文件不存在則創(chuàng)建并打開如果文件已存在,則直接打開VI編輯器的三種模式1.命令行模式:剛進入編輯器的時候,默認處在這種模式下2.編輯模式(插入模式):輸入a/i/o即可進入,按下esc鍵退回命令行模式,再輸入冒號,即可進入底行模式.3.底行模式下:w(保存),q(退出),wq(保存并退出),q!(強制退出不保存) 按下退格鍵,刪除冒號,即可進入命令行模式. 終極保存法;w! sudo tee %d回車再回車即可命令行模式下的快捷操作:1.整行復(fù)制:光標移動想要復(fù)制的那一行,輸入yy即可,再把光標移動到你想要粘貼位置的上一行,輸入p即可2.多行復(fù)制:光標移動想要復(fù)制的那幾行的第一行,輸入數(shù)字yy即可,再把光標移動到想要粘貼的那幾行的第一行,輸入p即可,3.整行刪除:光標移動想要刪除的那一行,輸入dd即可,4.多行刪除:光標移動想要刪除的那幾行的第一行,輸入數(shù)字dd即可,5.整行剪切:光標移動想要剪切的那一行,輸入cc即可,這個時候進入到了編輯模式,按下esc鍵退回到命令行模式,再把光標移動到想要粘貼位置的上一行,輸入p即可,6.多行剪切:光標移動想要剪切的那幾行的第一行,輸入數(shù)字cc即可,這個時候進入到了編輯模式,按下esc鍵退回到命令行模式,再把光標移動到想要粘貼位置的上一行,輸入p即可.7.撤銷上一步:u底行模式下的快捷操作1,對第a行到第b行進行復(fù)制:航標a,行標by,enter回車,再把光標移動到你想要粘貼位置的上一行,輸入p即可2,對第a行到第b行進行刪除:航標a,行標bd,enter回車3.對第a行到第b行進行剪切:航標a,行標bd,enter回車,再把光標移動到你想要粘貼位置的上一行,輸入p即可編輯一個最簡單的hello world程序,保存并退出gcc編譯器.gcc 文件名:編譯成功的話,會在當(dāng)前目錄生成一個a.out可執(zhí)行程序執(zhí)行程序: ./a.out當(dāng)然也可以指定可執(zhí)行程序的名字,命令如下:gcc 文件名 -o 可執(zhí)行程序名編譯步驟:1.預(yù)處理:gcc -i test.c -o test.i(宏定義的替換,頭文件包含)2.匯編:gcc -s test.i -o test.s(c代碼轉(zhuǎn)換成匯編代碼)3.編譯:gcc -c test.s -o test.o(把匯編轉(zhuǎn)換成二進制的目標程序)5.連接:gcc test.o -o test(連接庫函數(shù))linux系統(tǒng)的庫文件:靜態(tài)庫:.a結(jié)尾動態(tài)庫:.so結(jié)尾自己制作一個動態(tài)庫.首先寫一個簡單的c功能函數(shù)編譯成動態(tài)庫:gcc -fPIC -shared 文件名 -o lib庫文件名.so在linux系統(tǒng)下.程序運行時默認搜素庫的路徑是/lib把庫拷貝到/lib下:cp lib庫文件名.so /lib 錯誤提示:permission denied(權(quán)限不足)方法:sudo cp lib庫文件名.so /lib 提示讓你輸入密碼1:sudo暫時將普通用戶 的權(quán)限提高到root用戶權(quán)限 再編譯一個c應(yīng)用程序,在程序中來調(diào)用庫里實現(xiàn)的函數(shù)gcc 應(yīng)用程序名 -l庫名(注意是去掉lib和.so的庫名)文件IOlinux系統(tǒng)下一切設(shè)備皆文件操作文件:open():打開一個文件read():/從文件里邊讀出數(shù)據(jù)write()/向文件里寫入數(shù)據(jù)close()/關(guān)閉文件man手冊:man 2 函數(shù)名open:頭文件 #include #include #include 1.int open(const char *pathname, int flags);/僅限于打開一個已存在文件參數(shù)1:文件的路徑參數(shù)2:打開方式的標志O_RDONLY,/只讀方式打開O_WRONLY,/只寫方式打開O_RDWR./可讀可寫方式打開返回值:打開成功:返回一個正數(shù)(文件描述符)打開失敗:-12.int open(const char *pathname, int flags, mode_t mode);/可以打開一個不存在的文件參數(shù)1:文件的路徑參數(shù)2:打開方式的標志O_RDONLY,/只讀方式打開O_WRONLY,/只寫方式打開O_RDWR./可讀可寫方式打開 如果文件不存在必須|O_CRAET,創(chuàng)建該文件參數(shù)3:權(quán)限 數(shù) 比如:0666返回值:打開成功:返回一個正數(shù)(文件描述符)打開失敗:-1write:頭文件: #include typedef int ssize_tssize_t write(int fd, const void *buf, size_t count);參數(shù)1:就是open函數(shù)的返回值,文件描述符參數(shù)2:你想要寫入的數(shù)據(jù)參數(shù)3:你想要寫入的數(shù)據(jù)的字節(jié)大小返回值:寫入成功:返回的是寫入的字節(jié)大小寫入失敗:-1strlen:實際長度sizeof:數(shù)組的大小arduinoviod setup()端口的配置;void loop()任務(wù)的執(zhí)行;arduino之呼吸燈實驗:int led=13;void setup() pinMode(led,OUTPUT);void loop() digitalWrite(led,HIGH); delay(1000); digitalWrite(led,LOW); delay(1000);漸變燈:暗-亮-暗PWM波:可調(diào)脈沖寬度波.3,5,6,9,10,11這幾個端口可以輸出pwm波analogWrite(pin, value)/輸出pwm波pin:管腳號:3,5,6,9,10,11中的任意一個value:0255中的任何一個數(shù):0:占空比為0%255:占空比位100%遠程視頻監(jiān)控步驟:1.將jpegsrc.v8b.tar.gz(圖片庫) 和mjpg-streamer-code-182.tar.gz(視頻查看軟件) 拷貝到ubuntu的家目錄 2.解壓縮 tar xvf jpegsrc.v8b.tar.gz3. cd jpeg-8b 4. ./configure /創(chuàng)建Makefile文件5. make 6. sudo make install /安裝程序運行時,默認尋找的頭文件的路徑在/usr/include,庫文件的路徑/lib cd /usr/local/include sudo cp * /usr/include cd /usr/local/lib sudo cp libjpeg* /lib 7.切換到家目錄:cd 移植查看視頻的軟件: tar xvf mjpg-streamer-code-182.tar.gz cd mjpg-streamer-code-182cd mjpg-streamermake clean /清除已經(jīng)編譯過的程序make 運行查看視頻的軟件:sudo ./start.sh 打開火狐瀏覽器在地址欄輸入:8080若發(fā)現(xiàn)視頻綠屏 先強制結(jié)束程序運行:ctl+c.解決方法: 修改start.sh 將第30行的 -y 刪除看看是否虛擬機識別到攝像頭:ls /dev/video0地址欄輸入::8080/?action=stream 查看視頻信息 :8080/?action=snapshot 截屏圖片,點擊save image as可以保存圖片A8開發(fā)板:cpu:三星s5pc100內(nèi)存:256Mflash:256Mwindows運行之前會有一個系統(tǒng)的引導(dǎo)代碼叫BIOS與windows類似,linux啟動之前也有這樣的一段代碼叫做bootloaderbootloader有很多種,我們選用其中的一種叫做uboot.linux系統(tǒng)的啟動步驟1.運行uboot(初始化硬件,引導(dǎo)系統(tǒng)內(nèi)核的加載)2.內(nèi)核的運行(zImage,linux的內(nèi)核).3.識別文件系統(tǒng)(類似于C盤,D盤,E盤).是rootfs.tgz系統(tǒng)=內(nèi)核+文件系統(tǒng).掛載系統(tǒng).要對uboot環(huán)境信息進行設(shè)置首先把撥碼開關(guān)撥到0000位置.選擇uboot的啟動方式.uboot從外存啟動.1.找到自己的COM端口號;打開putty2.選中Serial,把波特率改為115200,端口號改為自己的端口號,Flow contrlo選擇none3.開啟電源,會出現(xiàn)一個倒計時,在倒計時完成之前,隨便敲一個鍵盤.4.輸入命令print可以顯示uboot的打印信息確保:ipaddr=00/代表開發(fā)板的ip地址serverip=00/代表ubuntu的IP地址bootargs=root=nfs nfsroot=00:/source/rootfs ip=00 init=/linuxrc console=ttySAC0,115200/打開虛擬機:1.進入到/tftpboot目錄下.把zImage拖到虛擬機,前加cp ,后加 ./使用ls查看一下是否出現(xiàn)zImage2.cd /source把rootfs這個壓縮包拖到虛擬機,前加cp ,后加 ./使用ls查看一下是否出現(xiàn)rootfs.tgz3.解壓命令:sudo tar -xvf rootfs.tgz要讓你輸入密碼;輸入1回車即可,密碼是不可見的.再用ls查看是否多了一個藍色的文件rootfs.4.修改ubuntu的ip地址.找到wiffi圖標,點擊選中edit connection-IPV4 seting-manual-addip netmask gateway00 點擊保存.關(guān)閉窗口.再打開圖標選中wired connection1 再看ip是否改回來了.5.網(wǎng)線連接開發(fā)板和電腦在putty界面輸入:ping 00如果host 00 is alive,這是掛載系統(tǒng)很好的征兆.not alive的話需要關(guān)閉電腦的無線網(wǎng)輸入boot或者重啟開發(fā)板不要再按下任何鍵了,如果出現(xiàn)#很快就要掛載成功了如果出現(xiàn)TTTTTTTTTTTTTT在ubuntu輸入命令:sudo service tftpd-hpa restart其中sudo的作用是暫時將用戶的權(quán)限提升到超級用戶(root)的權(quán)限.如果出現(xiàn)Please press Enter to activate this console.代表系統(tǒng)掛載成功.通過gcc編譯生成的程序不能在開發(fā)板上運行.通過命令file a.out看到文件的格式為intel 30386,說明這是X86格式的程序,只能PC上運行而不能在arm板上運行,解決措施,使用交叉編譯器來編譯.交叉編譯器的配置:將arm-cortex_a8-linux-gnueabi.tar.bz2拖到ubuntu的家目錄解壓命令tar -xvf arm-cor+tab鍵自動補齊,用ls查看是否生成arm-cortex_a8個目錄.配置交叉編譯器:sudo vi /etc/bash.bashrc文件在最后一行添加export PATH=$PATH:/home/linux/arm-cortex_a8/bin保存并退出文件保存完成后重啟文件:source /etc/bash.bashrc重啟成功后輸入arm-cor+tab鍵會自動補齊成arm-cortex_a8-linux-gnueabi-代表交叉編譯器配置成功.利用交叉編譯器編譯程序:arm-cortex_a8-linux-gnueabi-gcc 文件名,并將生成的可執(zhí)行程序拷貝到/source/rootfs下然后再到putty上執(zhí)行./a.out就可以在開發(fā)板上運行程序了.相關(guān)代碼Che.c#include cgic.h#include #include #include #include #include void zigbee_serial_init(int fd) struct termios options;tcgetattr(fd, &options);options.c_cflag |= (CLOCAL | CREAD);options.c_cflag &= CSIZE;options.c_cflag &= CRTSCTS;options.c_cflag |= CS8;options.c_cflag &= CSTOPB;options.c_iflag |= IGNPAR;options.c_iflag &= (BRKINT | INPCK | ISTRIP | ICRNL | IXON); /options.c_ccVTIME = 2; options.c_ccVMIN = 12;options.c_oflag = 0;options.c_lflag = 0;cfsetispeed(&options, B115200);cfsetospeed(&options, B115200);tcsetattr(fd,TCSANOW,&options);int cgiMain()int fd;char a=1;cgiHeaderContentType(text/htmlnn);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,SMART CARn);fprintf(cgiOut,n);fprintf(cgiOut,);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut, n);fprintf(cgiOut,);fprintf(cgiOut, n);fprintf(cgiOut,n);fprintf(cgiOut,n);fprintf(cgiOut,n);fd=open(/dev/ttyUSB0,O_RDWR);if(-1=fd)fprintf(cgiOut,open usart failedn);zigbee_serial_init(fd);if(cgiFormSuccess=cgiFormSubmitClicked(up) a=2;write(fd,&a,1);if(cgiFormSuccess=cgiFormSubmitClicked(down) a=1;write(fd,&a,1);if(cgiFormSuccess=cgiFormSubmitClicked(right) a=4;write(fd,&a,1);if(cgiFormSuccess=cgiFormSubmitClicked(left) a=3;write(fd,&a,1);if(cgiFormSuccess=cgiFormSubmitClicked(stop) a=0;write(fd,&a,1);fprintf(cgiOut,n);fprintf(cgiOut,n);close(fd);return 0;Test.c#include #include #include #include #include int main(int argc, const ch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 一年級暑假題試卷及答案
- 教育教學(xué)反思與實施程序試題及答案
- 形象分析測試題及答案
- 有趣的幼兒園數(shù)學(xué)實踐試題及答案
- 大學(xué)地理考試試題及答案
- 智慧客服面試題及答案
- 幼兒園數(shù)學(xué)考試主題的試題及答案
- 新能源汽車動力電池技術(shù)創(chuàng)新試題及答案
- 2025年GPS同步鐘項目發(fā)展計劃
- 形體分析測試題及答案
- 2025年3月29日全國事業(yè)單位聯(lián)考A類《職測》真題及答案
- 八年級勞動教育測試題目及答案
- 球團焙燒工(高級)技能鑒定備考試題庫-上(單選、多選題)
- 知識寶庫中的寶藏知識產(chǎn)權(quán)的投資潛力和實踐路徑探索
- 基于深度學(xué)習(xí)的圖像修復(fù)算法研究
- 隱私與保密信息管理制度
- 《隧道防火保護板系統(tǒng)技術(shù)規(guī)程》
- 2025年安徽黃山旅游集團招聘筆試參考題庫含答案解析
- 中銅國際貿(mào)易集團有限公司招聘筆試沖刺題2025
- 商演服務(wù)合同
- 《建筑采光分析》課件
評論
0/150
提交評論