1.平台
vmware workstation pro 15 ,ubunutu-server 18.04 换源为阿里云。
2. 安装编译环境:
sudo apt install build-essential lsb-core lib32ncurses5
lsb-core 和 lib32ncurses5 与 arm-linux-gcc 的安装有关。
3.配置静态ip:
前提步骤:使用vmware的虚拟网络编辑器将虚拟网卡的dhcp关闭,并设置子网地址和网关。
在主机的网路共享中心,根据虚拟网路编辑器里的信息更改 vmnet8 的属性,配置ip 和网关。
在ubuntu中配置手动 ip:
$ ifconfig #查询网卡
$ sudo vi /etc/netplan/"此处文件名视具体情况而定"
文件内容修改为下图,具体ip自行拟定:
network:
ethernets:
ens33:
addresses:
- 192.168.168.168/24 #ubuntu ip 这里的24是固定的,与子网掩码有关
dhcp4: false
gateway4: 192.168.168.2 #网关地址
nameservers:
addresses:
- 114.114.114.114 #dns 服务器
- 8.8.8.8
- 8.8.4.4
search:
- localdomain
optional: true
version: 2
:wq 保存并退出
sudo netplan --debug apply
这里有个大坑,如果是$ sudo netplan apply 则报错,不知原因。
4.配置ssh免密登陆
vim ~/.ssh/authorized_keys
将主机的公钥(id_rsa.pub)内容粘贴进去,重启即可免密登陆。
如果没有 .ssh 这个目录就 mkdir 创建一个。
5.安装dnw
先配置驱动开发环境,为后边编译usb驱动做准备。
查看内核版本:
uname -r
sudo apt install linux-headers-4.15.0-180-generic # 根据具体的版本执行
sudo apt install linux-source-4.15.0
dnw在linux环境下要自己下载编译
仓库地址如下,安装方法见 readme
https://github.com/Chemelon/dnw-linux.git
6.安装minicom(或者直接在主机上使用串口软件)
minicom 配置方法参考:
https://blog.csdn.net/qq_38880380/article/details/77662637
7.全部安装完成就可以开开心心在vscode里看代码、下载、调试了。
8.补充常用指令
ssh传输文件从本地到服务器:
scp <本地文件名> <用户名>@
scp -r <本地文件夹名> <用户名>@
两个路径交换就是从服务器下载到本地。
编辑环境变量 :
sudo vi ~/.bashrc
在末尾添加 export PATH=要添加到环境的路径:$PATH
然后
source ~/.bashrc
第二部分:
arm-linux-gdb 和 openocd 的安装与使用
2.1 openocd 的安装
比较简单,百度有很多文章。也可以直接使用apt直接安装:
sudo apt install openocd
使用:
openocd -f interface/jlink.cfg -f target/samsung_s3c2440.cfg
链接开发板
根据提示信息可能需要指定jlink的频率 在 jlink.cfg 中加入 adapter_khz 6000 即可
如果没有错误信息则 openocd 分别在 localhost 的 6666 4444 3333 监听 tcp telnet gdb 连接
2.2 arm-linux-gdb 安装
gdb的各种版本的区别可以百度了解一下
从:
https://www.sourceware.org/gdb/download/
下载 gdb 源码
解压后在 gdb 源码目录中使用:
./configure --target=arm-linux --disable-werror --with-expat --prefix=/usr/local/arm-gdb -v
配置 gdb 版本
然后 make && sudo make install
如果缺少 expat 则使用:
sudo apt-get install libexpat1-dev expat
成功安装后在 ~/.bashrc 中添加
export PATH=$PATH:/usr/local/arm-gdb/bin
使用 arm-linux-gdb -v 检查安装是否成功