[MM32软件] 给 Arch Linux 下的 jlink-software-and-documentation 添加 MM32_JLINK_pack

[复制链接]
2033|17
 楼主| 饕餮人 发表于 2022-2-24 15:22 | 显示全部楼层 |阅读模式
看到 MM32 官网的 MM32_JLINK_pack 只有 win 版本没有 Linux 版本。为了解决 Linux 下调试 MM32 的问题,于是对官网的 MM32_JLINK_pack 动了想法。
此处以 Arch Linux 为例,其他 Linux 可以参考处理方法。
1. 编写 PKGBUILD
  1. # Maintainer: taotieren <admin@taotieren.com>

  2. pkgname=mm32-jlink-pack
  3. pkgver=0.97
  4. pkgrel=1
  5. epoch=
  6. pkgdesc="JLINK Pack 支持包支持 MM32 全系列芯片,在 SEGGER JLink 6.10 及以上版本下的安装。"
  7. arch=('any')
  8. url="https://www.mindmotion.com.cn/support/software/jlink_pack/"
  9. license=('custom' 'Commercial')
  10. groups=()
  11. depends=("jlink-software-and-documentation>=6.10")
  12. makedepends=('libarchive')
  13. checkdepends=()
  14. optdepends=()
  15. provides=('MM32_JLINK_pack')
  16. conflicts=()
  17. replaces=()
  18. backup=()
  19. options=('!strip')
  20. install=${pkgname}.install
  21. changelog=
  22. source=("${pkgname}-${pkgver}.zip::https://www.mindmotion.com.cn/download1.aspx?itemid=152&typeid=4"
  23.         "${pkgname}.install")
  24. noextract=(${pkgname}-${pkgver}.zip)
  25. sha256sums=('b819fe79db4e135e039ebe407318d9b1a4362bbe71720c9f42f52e4f3825770a'
  26.             '783f83bea0655ec837a2c52286ccea7bc5989b183303c62dc92d86a8a6d78fa9')
  27. #validpgpkeys=()

  28. package() {
  29.     install -dm0755 "${pkgdir}/opt/SEGGER/JLink/"
  30.     bsdtar -xf "${srcdir}/${pkgname}-${pkgver}.zip" --strip-components=1 -C "${pkgdir}/opt/SEGGER/JLink/"

  31.     find "${pkgdir}/opt/SEGGER/JLink/" -type f -exec chmod 644 "{}" \;
  32.     find "${pkgdir}/opt/SEGGER/JLink/" -type d -exec chmod 755 "{}" \;

  33.     cd "${pkgdir}/opt/SEGGER/JLink/"
  34. #     mv JLinkDevices.xml JLinkDevicesMM32.xml
  35.     tail -n +1610 JLinkDevices.xml > JLinkDevicesMM32.xml.patch
  36.     rm -rf JLinkDevices.xml
  37. }
2. 编写 INSTALLL 文件
  1. # mm32-jlink-pack.install
  2. info() {
  3.     echo -e "JLINK Pack 支持包支持 MM32 全系列芯片,在 SEGGER JLink 6.10 及以上版本下的安装。"
  4. }

  5. post_install() {
  6.     echo "Install JLinkDevicesMM32.xml..."
  7.     info
  8.     install_jlinkdevices
  9. }

  10. post_upgrade() {
  11.     post_install
  12. }

  13. pre_remove() {
  14.     echo "Uninstall JLinkDevicesMM32.xml..."
  15.     mv -v /opt/SEGGER/JLink/JLinkDevicesBak.xml /opt/SEGGER/JLink/JLinkDevices.xml
  16. }

  17. install_jlinkdevices() {
  18.     cp -rv /opt/SEGGER/JLink/JLinkDevices.xml /opt/SEGGER/JLink/JLinkDevicesBak.xml
  19.     sed -i "s|</DataBase>||g" /opt/SEGGER/JLink/JLinkDevices.xml
  20.     cat /opt/SEGGER/JLink/JLinkDevicesMM32.xml.patch >> /opt/SEGGER/JLink/JLinkDevices.xml
  21. }
本地验证没发现问题,已经将此包上传至 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 | 显示全部楼层
115296217348e93193.png 效果图
WoodData 发表于 2022-2-25 10:02 | 显示全部楼层
厉害啊
tpgf 发表于 2022-3-4 14:57 | 显示全部楼层
这是给工程打补丁呢吗
gwsan 发表于 2022-3-4 15:11 | 显示全部楼层
通过什么方式进行上传呢
tfqi 发表于 2022-3-4 15:16 | 显示全部楼层
这个是使用的什么工具啊
drer 发表于 2022-3-4 15:21 | 显示全部楼层
哪种系统更加节省资源啊
zljiu 发表于 2022-3-4 15:59 | 显示全部楼层
主要是看那些能参考的资料多的系统
kxsi 发表于 2022-3-4 16:30 | 显示全部楼层
请问Arch Linux 是什么系统呢
wiba 发表于 2022-3-4 16:36 | 显示全部楼层
这个有版本的说法吗
 楼主| 饕餮人 发表于 2022-3-17 11:09 | 显示全部楼层
wiba 发表于 2022-3-4 16:36
这个有版本的说法吗

版本信息是根据官方的包确定。
 楼主| 饕餮人 发表于 2022-3-17 11:11 | 显示全部楼层
kxsi 发表于 2022-3-4 16:30
请问Arch Linux 是什么系统呢

滚动发行的 Linux 系统,一次安装终生使用,除非滚炸,软件会一直保持在最新状态。也可以通过配置忽略更新包来禁止相应软件包更新。
 楼主| 饕餮人 发表于 2022-3-17 11:12 | 显示全部楼层
zljiu 发表于 2022-3-4 15:59
主要是看那些能参考的资料多的系统

各有各的选择。建议官方也能用用户多提供一种选择。
 楼主| 饕餮人 发表于 2022-3-17 11:12 | 显示全部楼层
drer 发表于 2022-3-4 15:21
哪种系统更加节省资源啊

各有各的选择。从节省系统资源的角度来看,linux 远大于 windows
 楼主| 饕餮人 发表于 2022-3-17 11:14 | 显示全部楼层
tfqi 发表于 2022-3-4 15:16
这个是使用的什么工具啊

yay 工具
AUR 包管理器。Arch 系的的都可以使用。其他 linux 可以参考 PKGBUILD 里面的源码进行修改移植并对相应 Linux 进行打包操作
 楼主| 饕餮人 发表于 2022-3-17 11:14 | 显示全部楼层
gwsan 发表于 2022-3-4 15:11
通过什么方式进行上传呢

git 仓库方式,使用 git 进行版本管理。
 楼主| 饕餮人 发表于 2022-3-17 11:15 | 显示全部楼层
tpgf 发表于 2022-3-4 14:57
这是给工程打补丁呢吗

是的,比官方更方便点,安装就可以用了。也希望官方能提供一些 Linux下的开发工具。让用户多一种选择。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

36

主题

152

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部