openocd ubuntu(ubuntu哪个版本最好)

大家好,今天来为大家分享openocd ubuntu的一些知识点,和ubuntu哪个版本最好的问题解析,大家要是都明白,那么可以忽略,如果不太清楚的话可以看看本篇文章,相信很大概率可以解决您的问题,接下来我们就一起来看看吧!

Game and Watch 破解刷机教程

本教程适用于任天堂新版Game&Watch Mario/Zelda版本。进行刷机操作有风险,若机器在刷机过程中发生硬件损坏或机器无法正常使用,我们概不负责。

更新日期:2023/06/19

根据评论区用户@alexzhong的建议,在下载编译固件所需的gcc工具链时,请确保下载x64版本的工具链,而非arm版本。否则,可能会在编译过程中遇到错误。

准备工具:

-十字螺丝刀一把

- Y字螺丝刀一把

- stlink(推荐淘宝盗版stlink v2,价格在20元以内)

- Game&Watch Zelda/Mario版本 MX25U12835FM2I-10G(用于扩展内存大小,可选)

-一台装有Ubuntu的电脑(或使用具有USB直通功能的虚拟机如VMware)

认识Game&Watch硬件:

- Game&Watch主控为stm32h7b0vbt6,配备280Mhz Cortex-M7内核与128kb内部flash存储。

-外部Flash采用mx25u系列的1.8v spi nor flash,Zelda版本为4MB大小,Mario版本为1MB大小,通过OctoSpi接口连接主控。

-电池与喇叭与Switch Joycon同款,以降低成本。

-主板供电为1.8v,debug接口的VDD也是1.8v,请勿接至3.3v供电,以防硬件烧毁。

硬件接口定义:

- Zelda版本:连接SWCLK, GND, SWDIO三根线。

- Mario版本:同样连接SWCLK, GND, SWDIO三根线,但需注意不要连接VDD。

更多硬件信息参考:github.com/ghidraninja/...

破解加密和备份原机固件:

- Game&Watch固件经过加密,尽管硬件开放性高,但固件本身仍需破解。

硬件准备:

-断开电池连接,将SWDIO, SWCLK, GND线连接至stlink对应端口。

-将stlink连接到Ubuntu系统(或VMware)。

-使用Game&Watch的typec电源。

系统软件准备:

-自行编译安装OpenOCD,由于版本和自带库问题,可能无法使用apt自动安装。

-确保git submodule更新完整,可能需要反复尝试。

-下载并解压arm gnu toolchain。

备份和破解流程:

-下载脚本仓库。

-配置脚本环境。

-运行脚本备份外部flash。

-确保flash备份后,开始向flash中写入内容。

-备份内部flash,确保机器处于蓝屏模式,完成所有文件备份。

-机器在完成脚本4解锁和脚本5恢复后,变为解密状态,可刷入其他固件。

错误代码分析:

-运行中可能出现各种问题,查看logs目录下的n_openocd.log以获取详细错误信息。

-确保脚本有读取usb设备的权限,运行sudo命令以获得权限。

-连接器与设备不兼容时,可尝试更新stlink v2的固件。

编译并刷入retro_go固件:

- Game&Watch无扩展存储,所有游戏rom均在固件内。

-支持运行的游戏平台包括:GBC、GB、GBA、NES、SNES、N64、MD、SMS、SCS-1、SFC、PCE、GG、PS、PSX、SCE、PS2、PS3、PS4、Xbox、Xbox360、XboxOne、Wii、WiiU、DS、3DS、PSVita、NDS、3DS、WiiU、Switch等。

-准备游戏rom,确保容量不超过flash大小。

-编译前,确保所有破解流程要求的软件已安装完毕。

-下载固件源码,配置运行环境。

-将游戏rom放入rom目录,编译固件。

-编译完成后,自行刷机。

在CLion 中开发 HPM6000 系列单片机

在 CLion中开发 HPM6000系列单片机的配置流程已成功在 Ubuntu22.04和 Windows11环境下验证。本文将引导你通过使用 CLion集成开发环境进行配置,无论选择 SEGGER Embedded Studio还是其他编译器,如 Andes的 nds-gnu-toolchain。

首先,理解关键:编译器并不绑定于开发环境,RISC-V等开放架构允许厂商自定义工具链以优化性能。对于 HPM6000,推荐使用 nds-gnu-toolchain,它能提供最佳性能,但也有其他可选方案。

以下步骤是配置的基本流程:

1.安装 CLion和 Python,对于 Windows,还需下载 hpmicro的 SDK,包括 openocd和必要的编译工具。

2.在 Ubuntu下,设置环境变量,例如在~/.bashrc中添加相关路径,确保 CMake能找到工具链。

3.对于 Windows,同样设置环境变量并安装 Python库,注意可能存在的驱动冲突问题。

4.为 OpenOCD创建定制的配置文件,如 hpm6750evkmini的示例,放置在 hpm_sdk/boards/openocd目录。

5.在 CLion中,配置工具链(如 nds-v5),并修改 CMake选项,包括板子名称和内存布局。

6.配置 OpenOCD路径和下载/运行目标,确保选择正确的 OpenOCD。

7.编译下载项目,如 hpm6750evkmini,并查看 coremark跑分。

8.如需寄存器调试,需熟悉 HPM的寄存器描述文件,并可能对编译选项做相应调整,如启用硬件浮点。

遵循以上步骤,你就能在 CLion中顺利开发 HPM6000系列单片机,并进行调试和性能测试。

轻松玩转树莓派Pico四、Ubuntu下在线debug环境搭建

在开发树莓派Pico的过程中,常规的固件更新方式可能会限制开发效率。官方文档提供了两种在线调试方法,本文将重点介绍在Ubuntu系统下如何搭建在线调试环境。通过使用SWD接口,可以实现对Pico开发板的在线调试,相比于JLink等工具,这种方法成本更低,操作更简便。

为了搭建在线调试环境,首先需要更新openocd至支持Pico的非标准版本。在安装过程中,可能遇到pkg-config未安装的问题,使用命令安装pkg-config后,确保openocd安装成功,通过命令行验证安装状态。

接下来,使用Picoprobe进行编译与连接。Picoprobe支持SWD和UART,实现在线调试的同时还能进行串口日志输出、串口通讯等功能。确保所有依赖模块下载完成,编译后生成picoprobe.uf2文件,通过更新固件的方式将该文件传输至Pico作为Picoprobe使用。

将PicoA配置为Picoprobe,PicoB作为实际调试目标板。通过物理连接PicoA与PicoB的GND、SWCLK、SWDIO、UART1 TX/RX等引脚,实现使用单个USB接口同时进行SWD和UART功能。

在Ubuntu系统下,通过dmesg| grep usb命令检查USB设备是否加载成功。若加载成功,需设置USB权限,避免在调试过程中出现错误。

使用openocd和gdb进行在线调试。openocd不仅支持固件烧录,也用于在线调试。启动openocd并输入相关命令,同时在另一终端运行gdb,输入target remote localhost:3333启动调试,输入b main等指令进行调试。

对于不熟悉gdb命令的开发者,可以借助VSCode的可视化在线调试功能,通过配置launch.json文件,实现包括全速运行、运行至断点、单步调试等操作。使用VSCode调试功能,无需手动输入命令,提高开发效率。

阅读剩余
THE END