打印
[MM32软件]

给 Arch Linux 下的 jlink-software-and-documentation 添加 MM32_JLINK_pack

[复制链接]
1047|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
看到 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

使用特权

评论回复
沙发
饕餮人|  楼主 | 2022-2-24 15:22 | 只看该作者
mm32-jlink-pack https://aur.archlinux.org/packages/mm32-jlink-pack

使用特权

评论回复
板凳
饕餮人|  楼主 | 2022-2-24 15:32 | 只看该作者
效果图

使用特权

评论回复
地板
WoodData| | 2022-2-25 10:02 | 只看该作者
厉害啊

使用特权

评论回复
5
tpgf| | 2022-3-4 14:57 | 只看该作者
这是给工程打补丁呢吗

使用特权

评论回复
6
gwsan| | 2022-3-4 15:11 | 只看该作者
通过什么方式进行上传呢

使用特权

评论回复
7
tfqi| | 2022-3-4 15:16 | 只看该作者
这个是使用的什么工具啊

使用特权

评论回复
8
drer| | 2022-3-4 15:21 | 只看该作者
哪种系统更加节省资源啊

使用特权

评论回复
9
zljiu| | 2022-3-4 15:59 | 只看该作者
主要是看那些能参考的资料多的系统

使用特权

评论回复
10
kxsi| | 2022-3-4 16:30 | 只看该作者
请问Arch Linux 是什么系统呢

使用特权

评论回复
11
wiba| | 2022-3-4 16:36 | 只看该作者
这个有版本的说法吗

使用特权

评论回复
12
饕餮人|  楼主 | 2022-3-17 11:09 | 只看该作者
wiba 发表于 2022-3-4 16:36
这个有版本的说法吗

版本信息是根据官方的包确定。

使用特权

评论回复
13
饕餮人|  楼主 | 2022-3-17 11:11 | 只看该作者
kxsi 发表于 2022-3-4 16:30
请问Arch Linux 是什么系统呢

滚动发行的 Linux 系统,一次安装终生使用,除非滚炸,软件会一直保持在最新状态。也可以通过配置忽略更新包来禁止相应软件包更新。

使用特权

评论回复
14
饕餮人|  楼主 | 2022-3-17 11:12 | 只看该作者
zljiu 发表于 2022-3-4 15:59
主要是看那些能参考的资料多的系统

各有各的选择。建议官方也能用用户多提供一种选择。

使用特权

评论回复
15
饕餮人|  楼主 | 2022-3-17 11:12 | 只看该作者
drer 发表于 2022-3-4 15:21
哪种系统更加节省资源啊

各有各的选择。从节省系统资源的角度来看,linux 远大于 windows

使用特权

评论回复
16
饕餮人|  楼主 | 2022-3-17 11:14 | 只看该作者
tfqi 发表于 2022-3-4 15:16
这个是使用的什么工具啊

yay 工具
AUR 包管理器。Arch 系的的都可以使用。其他 linux 可以参考 PKGBUILD 里面的源码进行修改移植并对相应 Linux 进行打包操作

使用特权

评论回复
17
饕餮人|  楼主 | 2022-3-17 11:14 | 只看该作者
gwsan 发表于 2022-3-4 15:11
通过什么方式进行上传呢

git 仓库方式,使用 git 进行版本管理。

使用特权

评论回复
18
饕餮人|  楼主 | 2022-3-17 11:15 | 只看该作者
tpgf 发表于 2022-3-4 14:57
这是给工程打补丁呢吗

是的,比官方更方便点,安装就可以用了。也希望官方能提供一些 Linux下的开发工具。让用户多一种选择。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

152

帖子

1

粉丝