ARM課程
回顧
- 進(jìn)入虛擬機(jī),因?yàn)橹耙呀?jīng)燒寫好了尘执,直接進(jìn)行以下步驟舍哄。
- ls -l /dev/ttyUSB0
- sudo chmod 777 /dev/ttyUSB0
- minicom
網(wǎng)絡(luò)
- 將網(wǎng)線和主機(jī)連接
- ifconfig查看開發(fā)板ip
- ifconfig eth0 192.168.0.230(一般不會用0)
- 新開終端修改watch sudo ifconfig eth0 192.168.0.1
-
ping 192.168.0.230 查看是否接通
如果不通,就查看虛擬機(jī)是否是橋接模式誊锭,
- 斷電后重啟會出現(xiàn)問題表悬,無法連接網(wǎng)絡(luò)
-
進(jìn)入虛擬機(jī)管理將設(shè)置
-
文件下載
- 在開發(fā)板上輸入netstat查看網(wǎng)絡(luò)狀態(tài)
-
netstat -ant查看參數(shù)
- 可以查看各類監(jiān)聽狀態(tài)
- 可見80->http接通
- 可見21->ftp
- 可見23->終端下
玩法1:上http
玩法2:文件傳輸
- 在開發(fā)板下新建文件等,可在主機(jī)中下載。
玩法3:終端登錄啥的傻傻分不清
下載TFTP
sudo apt-get install tftpd-hpa
sudo apt-get install tftp-hpa
sudo vim /etc/default/tftpd-hpa
sudo mkdir tftpboot
sudo chmod 777 /tftpboot/
-
配置如下
- 0.0.0.0.代表本機(jī)任意地址都可行(any)
- 69代表端口
sudo mkdir tftpboot
sudo chmod 777 /tftpboot/
-
進(jìn)入文件夾
- cd tftpboot
- vim tftptest(隨便寫點(diǎn)什么)
-
重啟服務(wù)
- sudo service tftpd-hpa restart
- netstat -anu|grep 69
-
下載
- tftp -r tftptest -g 192.168.0.1
- cat tftptest
嵌入式開發(fā)的流程
- 寫代碼
- 交叉編譯
- 下載到開發(fā)板
- 運(yùn)行
- 在主機(jī)下弄個(gè)hello world
- 復(fù)制到tftpbooot目錄下:cp:tftpboot
- tftp -r hello1 -g 192.168.0.1
- 執(zhí)行不了,有語法錯(cuò)誤
- 因?yàn)榭蓤?zhí)行文件是x86下的
- 解決方法:
- 在x86下編譯一個(gè)在ARM平臺下運(yùn)行的程序
- 將啥啥啥復(fù)制進(jìn)去
- cp ~/arm-linux-gcc-4.4.3.tar.gz .
- 解壓縮
- tar zxvf arm-linux-gcc-4.4.3.tar.gz
- 記下路徑
- /home/sunsuhui/1612/ARM/src/4.4.3/bin
- cd ~
- vi .bashrc
- 最后一行添加
- export PATH=$PATH:/home/sunsuhui/1612/ARM/src/4.4.3/bin
- 因?yàn)殡娔X是64位需要安裝一個(gè)包
- sudo apt-get install lib32z1
- 重開一個(gè)終端輸入
- arm-linux-gcc -v
-
出現(xiàn)下文即成功
- 進(jìn)行編譯時(shí)出現(xiàn)問題
-
arm-linux-gcc -o hello1 hello.c
- 安裝兩個(gè)包
- $sudo apt-get install libstdc++6
- $sudo apt-get install lib32stdc++6
-
- 重新編譯
- arm-linux-gcc XXX.c
- 將編譯完成的文件保存到開發(fā)板目錄下:/home/plg
- tftp -r XXX.c -g 192.168.0.1
- 運(yùn)行即可