1. 程式人生 > >國嵌TQ2440學習筆記(網路分享2015-12-27)Paulliam

國嵌TQ2440學習筆記(網路分享2015-12-27)Paulliam

百度雲盤文字檔案下載連結:http://pan.baidu.com/s/1ntVmYd7

1,檔案共享:

關閉防火牆:/etc/init.d/iptables stop
先重啟smb伺服器:/etc/init.d/smb restart
\\192.16.xx.xx開啟共享
登陸:win 123456
關閉Selinux,類似於防火牆的東西:setenforce permissive
路由器可以提供多個IP地址


2,TFTP與NFS配置:
關閉防火牆:/etc/init.d/iptables stop
關閉Selinux,類似於防火牆的東西:setenforce permissive


3,切換使用者:
 切換到root使用者:su - 或者 su - root
 切換到普通使用者,如win使用者:su - win


4,《Linux密碼故障排除》
 刪除root密碼,並重啟系統再設定root密碼,對應手機圖片2012/12/22 15:38-15:52
 給root使用者設定新的密碼:passwd root


5,《GCC程式編譯》
 預處理:gcc -E hello.c -o hello.i  //-o後的hello.i表示指定生成的預處理檔案叫做hello.i
 編譯:gcc -S hello.i -o hello.s  //生成彙編檔案
 彙編:gcc -c hello.s -o hello.o  //生成二進位制目標檔案
 連結:gcc hello.o -o hello  //生成應用程式
 一步到位方法一:gcc hello.c  //生成可執行檔案a.out,執行它,使用命令 ./a.out
 一步到位方法二:gcc hello.c -o hello  //生成可執行檔案hello,執行它使用命令 ./hello
 一步到位方法三:gcc -O hello.c -o hello  //優化執行,計算執行的時間用命令time ./hello
 一步到位方法三:gcc -O2 hello.c -o hello  //更好的優化執行
 直接生成hello.o檔案: gcc -c hello.c
 使具備可除錯資訊:gcc -g hello.c -o hello 或者gcc -g -o hello hello.c //應用程式hello的大小將比gcc hello.c -o hello得到的更大
 自定義目錄作為編譯器尋找標頭檔案的標準路徑eg:gcc -I /home/include hello.c -o hello或者gcc  hello.c -I /home/include -o hello
  顯示所有編譯警告:gcc -Wall hello.c -o hello
  隱藏所有編譯警告:gcc -w hello.c -o hello
  預編譯定義巨集,如巨集名叫做MIE:gcc -DMIE hello.c -o hello //巨集名前面加上編譯選項選項D,意指define


6,虛擬機器設定,即Virtual Machine Settings,在該對話方塊款中勾選你想要的設定選項時,必須保證兩點:必須保證VMware USB Arbitration Service在工作管理員程序中執行;虛擬機器必須處在Power Off狀態下。


7,《安裝linux系統到開發板》
 顯示已經安裝的驅動程式:lsmod,在其所有的結果中只顯示你想要顯示的東西,如包含關鍵字為key的檔案:lsmod | grep key
 安裝模組,載入模組:insmod dnw_usb.ko
 {注意:usb下載線必須接到電腦usb2.0埠}
 如果要解除安裝它,則執行:rmmod dnw_usb
 norflash啟動板子,串列埠顯示中選擇命令:9 format...
 下載uboot,串列埠顯示中選擇命令:1 download uboot...
 通過usb下載uboot到指定地址:./dnw ./u-boot-1.1.6_Q43_20141118.bin 30000000
  【技能:
   在虛擬機器中,右下角有一個類似優盤的裝置圖示,顯示“Samsung SEC S3c6400x Test B/D”,選中裝置圖示,點選右鍵,選擇connet.
#呼叫dnw時只能在當前目錄使用./dnw執行,對此情況,將dnw新增到/usr/local/sbin中,這樣可以在任何目錄,使用  sudo dnw filename來呼叫。
   $sudo insmod ./secbulk.ko 為載入模組進核心,開機的時候不會自動載入,這樣每次都要先載入才可以使用,此時將其加入開機指令碼,使其得到自動載入,編輯/etc/init.d/rc.local 在最後加上 insmod /所在路徑/secbulk.ko
  】
 下載核心,串列埠顯示中選擇命令:3 download linux kernel...
 下載核心:./dnw ./zImage_W43_20141026
.bin 30000000
 下載檔案系統,串列埠顯示中選擇命令:6 download YAFFS...
 下載檔案系統:./dnw ./
root_qtopia_2.2.0_2.6.30.4_256MB_20130330


.bin 30000000




/**************************************************************************************/
/************************國嵌-第三季 小應用大智(上學期)*******************************/
/**************************************************************************************/
1,第2課-GDB程式除錯:
  編譯生成帶除錯資訊的可執行檔案test:gcc -g test.c -o test
  啟動GDB:gdb test
  執行程式:run (若有斷點,執行後將會停在斷點所在行的程式碼處,該行程式碼還並未執行)
  顯示一定行數的程式程式碼:list或者l
  在函式入口處新增斷點:break 函式名 或者 b 函式名
  在指定行新增斷點:break(或者b) 行號
  在指定檔案的指定行新增斷點:break(或者b) 檔名:行號 如test.c的第10行:break test.c:10
  檢視所有設定的斷點:info break
  刪除斷點:delete 斷點編號 (注意:斷點編號是info break顯示資訊中num對應的那一列編號)
  檢視變數result的值:print(或者p) result
  單步往下執行程式,不進入子函式,並顯示下一步將要執行的:next(或n)
  單步往下執行程式,要進入子函式,並顯示下一步將要執行的:step(s)
  連續執行一個程式直到遇見下一個斷點:continue(或者c)
  設定變數的值:set var=value
  退出gdb:quit(或者q)