ARM课程
回顾
- 进入虚拟机,因为之前已经烧写好了,直接进行以下步骤。
- ls -l /dev/ttyUSB0
- sudo chmod 777 /dev/ttyUSB0
- minicom
网络
- 将网线和主机连接
- ifconfig查看开发板ip
- ifconfig eth0 192.168.0.230(一般不会用0)
- 新开终端修改watch sudo ifconfig eth0 192.168.0.1
-
ping 192.168.0.230 查看是否接通
如果不通,就查看虚拟机是否是桥接模式,
- 断电后重启会出现问题,无法连接网络
-
进入虚拟机管理将设置
-
文件下载
- 在开发板上输入netstat查看网络状态
-
netstat -ant查看参数
- 可以查看各类监听状态
- 可见80->http接通
- 可见21->ftp
- 可见23->终端下
玩法1:上http
玩法2:文件传输
- 在开发板下新建文件等,可在主机中下载。
玩法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.代表本机任意地址都可行(any)
- 69代表端口
sudo mkdir tftpboot
sudo chmod 777 /tftpboot/
-
进入文件夹
- cd tftpboot
- vim tftptest(随便写点什么)
-
重启服务
- sudo service tftpd-hpa restart
- netstat -anu|grep 69
-
下载
- tftp -r tftptest -g 192.168.0.1
- cat tftptest
嵌入式开发的流程
- 写代码
- 交叉编译
- 下载到开发板
- 运行
- 在主机下弄个hello world
- 复制到tftpbooot目录下:cp:tftpboot
- tftp -r hello1 -g 192.168.0.1
- 执行不了,有语法错误
- 因为可执行文件是x86下的
- 解决方法:
- 在x86下编译一个在ARM平台下运行的程序
- 将啥啥啥复制进去
- 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
- 因为电脑是64位需要安装一个包
- sudo apt-get install lib32z1
- 重开一个终端输入
- arm-linux-gcc -v
-
出现下文即成功
- 进行编译时出现问题
-
arm-linux-gcc -o hello1 hello.c
- 安装两个包
- $sudo apt-get install libstdc++6
- $sudo apt-get install lib32stdc++6
-
- 重新编译
- arm-linux-gcc XXX.c
- 将编译完成的文件保存到开发板目录下:/home/plg
- tftp -r XXX.c -g 192.168.0.1
- 运行即可