给 Arch Linux 下的 jlink-software-and-documentation 添加 MM32_JLINK_pack
看到 MM32 官网的 MM32_JLINK_pack 只有 win 版本没有 Linux 版本。为了解决 Linux 下调试 MM32 的问题,于是对官网的 MM32_JLINK_pack 动了想法。此处以 Arch Linux 为例,其他 Linux 可以参考处理方法。
1. 编写 PKGBUILD
# Maintainer: taotieren <admin@taotieren.com>
pkgname=mm32-jlink-pack
pkgver=0.97
pkgrel=1
epoch=
pkgdesc="JLINK Pack 支持包支持 MM32 全系列芯片,在 SEGGER JLink 6.10 及以上版本下的安装。"
arch=('any')
url="https://www.mindmotion.com.cn/support/software/jlink_pack/"
license=('custom' 'Commercial')
groups=()
depends=("jlink-software-and-documentation>=6.10")
makedepends=('libarchive')
checkdepends=()
optdepends=()
provides=('MM32_JLINK_pack')
conflicts=()
replaces=()
backup=()
options=('!strip')
install=${pkgname}.install
changelog=
source=("${pkgname}-${pkgver}.zip::https://www.mindmotion.com.cn/download1.aspx?itemid=152&typeid=4"
"${pkgname}.install")
noextract=(${pkgname}-${pkgver}.zip)
sha256sums=('b819fe79db4e135e039ebe407318d9b1a4362bbe71720c9f42f52e4f3825770a'
'783f83bea0655ec837a2c52286ccea7bc5989b183303c62dc92d86a8a6d78fa9')
#validpgpkeys=()
package() {
install -dm0755 "${pkgdir}/opt/SEGGER/JLink/"
bsdtar -xf "${srcdir}/${pkgname}-${pkgver}.zip" --strip-components=1 -C "${pkgdir}/opt/SEGGER/JLink/"
find "${pkgdir}/opt/SEGGER/JLink/" -type f -exec chmod 644 "{}" \;
find "${pkgdir}/opt/SEGGER/JLink/" -type d -exec chmod 755 "{}" \;
cd "${pkgdir}/opt/SEGGER/JLink/"
# mv JLinkDevices.xml JLinkDevicesMM32.xml
tail -n +1610 JLinkDevices.xml > JLinkDevicesMM32.xml.patch
rm -rf JLinkDevices.xml
}
2. 编写 INSTALLL 文件
# mm32-jlink-pack.install
info() {
echo -e "JLINK Pack 支持包支持 MM32 全系列芯片,在 SEGGER JLink 6.10 及以上版本下的安装。"
}
post_install() {
echo "Install JLinkDevicesMM32.xml..."
info
install_jlinkdevices
}
post_upgrade() {
post_install
}
pre_remove() {
echo "Uninstall JLinkDevicesMM32.xml..."
mv -v /opt/SEGGER/JLink/JLinkDevicesBak.xml /opt/SEGGER/JLink/JLinkDevices.xml
}
install_jlinkdevices() {
cp -rv /opt/SEGGER/JLink/JLinkDevices.xml /opt/SEGGER/JLink/JLinkDevicesBak.xml
sed -i "s|</DataBase>||g" /opt/SEGGER/JLink/JLinkDevices.xml
cat /opt/SEGGER/JLink/JLinkDevicesMM32.xml.patch >> /opt/SEGGER/JLink/JLinkDevices.xml
}本地验证没发现问题,已经将此包上传至 AUR 仓库:mm32-jlink-pack
mm32-jlink-pack https://aur.archlinux.org/packages/mm32-jlink-pack 效果图 厉害啊 这是给工程打补丁呢吗 通过什么方式进行上传呢 这个是使用的什么工具啊 哪种系统更加节省资源啊 主要是看那些能参考的资料多的系统 请问Arch Linux 是什么系统呢 这个有版本的说法吗 wiba 发表于 2022-3-4 16:36
这个有版本的说法吗
版本信息是根据官方的包确定。 kxsi 发表于 2022-3-4 16:30
请问Arch Linux 是什么系统呢
滚动发行的 Linux 系统,一次安装终生使用,除非滚炸,软件会一直保持在最新状态。也可以通过配置忽略更新包来禁止相应软件包更新。 zljiu 发表于 2022-3-4 15:59
主要是看那些能参考的资料多的系统
各有各的选择。建议官方也能用用户多提供一种选择。 drer 发表于 2022-3-4 15:21
哪种系统更加节省资源啊
各有各的选择。从节省系统资源的角度来看,linux 远大于 windows tfqi 发表于 2022-3-4 15:16
这个是使用的什么工具啊
yay 工具
AUR 包管理器。Arch 系的的都可以使用。其他 linux 可以参考 PKGBUILD 里面的源码进行修改移植并对相应 Linux 进行打包操作 gwsan 发表于 2022-3-4 15:11
通过什么方式进行上传呢
git 仓库方式,使用 git 进行版本管理。 tpgf 发表于 2022-3-4 14:57
这是给工程打补丁呢吗
是的,比官方更方便点,安装就可以用了。也希望官方能提供一些 Linux下的开发工具。让用户多一种选择。
页:
[1]