编写 nuc970-nuwriter 的 PKGBUILD 已经上传到 Arch Linux 的 AUR 仓库 [nuc970-nuwriter-git](https://aur.archlinux.org/packages/nuc970-nuwriter-git)。
可以通过 AUR 工具下载安装,如:yay
yay -S nuc970-nuwriter-git
PKGBUILD 源码
# Maintainer: taotieren <admin@taotieren.com>
pkgname=nuc970-nuwriter-git
pkgver=1328b10
pkgrel=1
epoch=
pkgdesc="The Nu-writer Command Tool is a linux console application consisting of functions to access storage(eg. DRAM,NAND,SPINOR,SPINAND,SD) in a NUC970 family processors"
arch=('any')
url="https://gitee.com/OpenNuvoton/NUC970_NuWriter_CMD"
license=('GPL3')
groups=()
depends=('libusb')
makedepends=("gcc" "git" "automake" "pkgconfig")
checkdepends=()
optdepends=()
provides=('NUC970_NuWriter_CMD')
conflicts=(${pkgname%-git})
replaces=()
backup=()
options=('!strip')
install=
changelog=
source=("${pkgname%-git}::git+${url}.git")
noextract=()
sha256sums=('SKIP')
#validpgpkeys=()
pkgver() {
cd "${srcdir}/${pkgname%-git}/"
# git describe --long --tags | sed 's/V//g;s/\([^-]*-g\)/r\1/;s/-/./g'
git describe --always | sed 's|-|.|g'
}
build() {
cd "${srcdir}/${pkgname%-git}"
autoreconf -f -i
./configure
# ./configure --prefix=$PWD/install
make
}
package() {
cd "${srcdir}/${pkgname%-git}"
# make install
install -Dm0755 "nuwriter" "${pkgdir}/usr/bin/${pkgname%-git}"
install -Dm0755 "99-nuvoton_isp.rules" "${pkgdir}/usr/lib/udev/rules.d/99-nuvoton_isp.rules"
install -dm0755 "${pkgdir}/usr/share/${pkgname%-git}"
cp -rv nudata "${pkgdir}/usr/share/${pkgname%-git}"
}
反馈的问题:
- 内置的 automake 版本是使用 automake-1.15 生成。现 Arch 上版本是 1.16 需要使用 `autoreconf -f -i` 更新配置文件,其他 Linux 版本编译不过,也可以使用 `autoreconf -f -i` 更新 automake 文件
- `./configure --prefix=$PWD/install` 内的文件有缺失,需要更新。
- 串口配置文件安装后需要刷新 udev
sudo udevadm trigger
sudo udevadm control --reload-rules
- 可能会踩的坑 Ubuntu 等需要将 $USER 加到 串口组(uucp) 里面(新版本一般是 uucp ,旧版本可能是其他的,使用 ls -lsh /dev/ttyUSB* 查看设备所在组。如果在 Linux 下调试时遇到串口不通或者提示没权限,把用户加入串口设备组里面,后重启电脑试试。示例:
❯ ls -lash /dev/ttyS0 0 crwxrwxrwx 1 root uucp 4, 64 Feb 15 19:09 /dev/ttyS0
❯ sudo gpasswd -a `whoami` uucp
[sudo] taotieren 的密码:
正在将用户“taotieren”加入到“uucp”组中
❯ groups `whoami`
wheel uucp vboxusers taotieren
❯ reboot
离线