how to develop mcu with Linux

文章主要记录在ubuntu上开发mcu遇到的问题 以及使用到的不熟练的指令

解压tar.xz文件

1
tar -xvf file.tar.xz

添加arm-none-eaib环境变量到~/.profile文件文件最后

1
2
3
## hamouren add code start ##
export PATH=/home/ha/toolchain/arm-gnu-toolchain-14.2/bin:$PATH
## hamouren add code end ##

pyocd使用usb设备

  1. ubuntu 使用pipx 安装pyocd pycod无法识别到设备
  2. 添加当前用户到 plugdev 组来授予设备访问权限
1
sudo usermod -aG plugdev $USER
  1. 获取到link的pid和id
1
2
3
4
5
6
7
sudo dmesg -w
[11564.042480] usb 1-1.1: New USB device found, idVendor=0d28, idProduct=0204, bcdDevice= 1.00
[11564.042487] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[11564.042491] usb 1-1.1: Product: DAPLink CMSIS-DAP
[11564.042494] usb 1-1.1: Manufacturer: Arm
[11564.042497] usb 1-1.1: SerialNumber: 07200001005800255300000e4e594b4da5a5a5a597969908

  1. 增加/etc/udev/rules.d/99-daplink.rules文件
1
2
# 为 DapLink 调试器设置设备权限
SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE="0666", GROUP="plugdev"

vmware 安装win10 和ubuntu共享文件夹 既可以使用win10MDK编译也可以linux gcc编译

  1. ubuntu 安装samb服务
1
sudo apt install samb
  1. ubuntu /etc/samba/smb.conf 文件最后增加配置 把需要共享的文件夹放在这里
1
2
3
4
5
6
7
8
## hamouren add code start ##
[work]
path = /home/ha/work
browseable = yes
read only = no
guest ok = no
force user = ha
## hamouren add code end ##
  1. ubuntu 设置访问密码
1
sudo smbpasswd -a ha
  1. win10 虚拟命令行测试是否可以连接上共享文件夹
1
net use \\192.168.31.162\work /user:ha your_password

使用wine

  1. 安装wine
1
sudo apt install wine
  1. 运行.exe会遇到中文乱码,豆腐块
1
2
sudo apt install fonts-wqy-microhei fonts-wqy-zenhei winetricks
winetricks corefonts cjkfonts
  1. 将串口映射到 wine中
1
2
3
4
ln -s /dev/ttyACM0 com40
ln -s /dev/ttyACM1 com41
ln -s /dev/ttyUSB0 com50
ln -s /dev/ttyUSB1 com51
  1. 创建wine.desktop 文件,方便.exe文件右键选择wine运行
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
cd /usr/share/applications
sudo vim wine.desktop

[Desktop Entry]
Name=Wine Windows Program Loader
Comment=Run Windows programs with Wine
Exec=env LANG=zh_CN.UTF-8 wine start /unix %f
Type=Application
MimeType=application/x-ms-dos-executable;application/x-msdownload;application/x-ms-installer;
NoDisplay=false
Terminal=false
Icon=wine
Categories=Utility;Application;


sudo update-desktop-database /usr/share/applications