看到 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
|