Skip to content

Add SeerOpenOCDWidget#424

Draft
QuangNguyenMinh123 wants to merge 1 commit intoepasveer:mainfrom
QuangNguyenMinh123:feature/add_OpenOCD_Widget
Draft

Add SeerOpenOCDWidget#424
QuangNguyenMinh123 wants to merge 1 commit intoepasveer:mainfrom
QuangNguyenMinh123:feature/add_OpenOCD_Widget

Conversation

@QuangNguyenMinh123
Copy link
Contributor

As discussed previously, my final intention is to integrate OpenOCD into Seer.
I’ll explain what OpenOCD is and what you need to prepare in order to test it

@QuangNguyenMinh123 QuangNguyenMinh123 marked this pull request as draft January 25, 2026 16:42
@QuangNguyenMinh123
Copy link
Contributor Author

QuangNguyenMinh123 commented Jan 25, 2026

You’re already very familiar with debugging applications on x86.
However, there is another field that is also very important: embedded systems.

An embedded system typically contains one or more microcontrollers (MCUs) or microprocessors (MPUs). These, along with their peripherals, make up an embedded system. Embedded systems have many applications: TVs, microwaves, refrigerators, air conditioners, digital watches, IoT devices, phones, cars, routers, set-top boxes, and more. Essentially, almost every electronic device has an embedded system inside it

Unlike debugging on a PC, debugging embedded systems is more challenging. To debug an embedded system, three things are required: a hardware debugger, a driver for the hardware, and software to control it.

The software manages the hardware debugger using its driver, and the hardware debugger uses JTAG, SWD, or other interfaces to communicate with MCUs and MPUs.

OpenOCD is an open-source project that provides debugging and in-system programming for embedded target devices. It acts as a software layer that allows users to communicate with a hardware debugger to flash and debug embedded devices.

@QuangNguyenMinh123
Copy link
Contributor Author

These MCUs and MPUs might have many core architecture. But for simplicity, I will focus only on ARM architecture as ARM CPUs currently power approximately 90% of all embedded devices.
This is the list of devices that you'll need in order to test OpenOCD:

  1. A hardware debugger: I'm using a Jlink V9: https://www.amazon.in/j-link-Emulator-Downloader-Debugger-Firmware/dp/B0CYL7RR84. I don't know why is this so expensive in US. A typical Jlink V9 in VN is just 50$
  2. A MCU board: I recommend STM32_Smart V2.0, few $. I'm using this one
  3. A MPU board: Raspberry Pi 4 Model B 4GB. You won't need this right away

Read tests/stm32f1_blink/README.md to install neccessary packages and build stm32 image. Please inform me if you encounter any issue

@epasveer
Copy link
Owner

A MCU board: I recommend STM32_Smart V2.0, few $. I'm using this one

Can you send a picture of yours, or a link to it. I see many versions. I'd like to get the right one that matches to yours.

@epasveer
Copy link
Owner

Read tests/stm32f1_blink/README.md to install neccessary packages and build stm32 image.

This take a little time for me to setup. I'll let you know how it goes.

@epasveer
Copy link
Owner

Please inform me if you encounter any issue

Will do. Thanks!

@QuangNguyenMinh123
Copy link
Contributor Author

A MCU board: I recommend STM32_Smart V2.0, few $. I'm using this one

Can you send a picture of yours, or a link to it. I see many versions. I'd like to get the right one that matches to yours.

A MCU board: I recommend STM32_Smart V2.0, few $. I'm using this one

Can you send a picture of yours, or a link to it. I see many versions. I'd like to get the right one that matches to yours.

This is the one that I'm using:
https://stm32-base.org/boards/STM32F103C8T6-STM32-Smart-V2.0.html

Note the chip on the board will have label: STM32 F103C8T6, the postfix won't matter. Even the clone version will work just fine, so don't worry too much about it

@QuangNguyenMinh123
Copy link
Contributor Author

A hardware debugger: I'm using a Jlink V9: https://www.amazon.in/j-link-Emulator-Downloader-Debugger-Firmware/dp/B0CYL7RR84. I don't know why is this so expensive in US. A typical Jlink V9 in VN is just 50$

In my Amazon account, I see this as about $40 US dollars.

https://www.amazon.com/simulator-multifunctional-downloader-conversion-emulator/dp/B0CSF6Q5N3/ref=sr_1_4?crid=KSEVAGE9OVVZ&dib=eyJ2IjoiMSJ9.NUKAZ0W2NjHNX0mwG5MjWZ6UzA6IERaQkITGkayGuISYJFu7DO5QZRWz5qlBs1nLfVs3uXw0DtVb6pN6giqVq9GOW0bSVXjI74k655QezycCpO0Aa8KDuHedwXl16EasKT8fHbBv1MYeixelHokz4Y8GYcpY7MRO13BxDeHrL0a6veFAZTZ5UOBbgHNgUccDOZ61xbM4eCAcfM5FSmIA3PU6nV1t1gOGDbIAIcH2CHE.2tMQmMnH3rLv1X97ebTG22WstN2WKFS-H6cNxdOcDOI&dib_tag=se&keywords=jlink%2Bv9&qid=1769707906&sprefix=jlink%2Bv9%2Caps%2C174&sr=8-4&th=1

A hardware debugger: I'm using a Jlink V9: https://www.amazon.in/j-link-Emulator-Downloader-Debugger-Firmware/dp/B0CYL7RR84. I don't know why is this so expensive in US. A typical Jlink V9 in VN is just 50$

In my Amazon account, I see this as about $40 US dollars.

https://www.amazon.com/simulator-multifunctional-downloader-conversion-emulator/dp/B0CSF6Q5N3/ref=sr_1_4?crid=KSEVAGE9OVVZ&dib=eyJ2IjoiMSJ9.NUKAZ0W2NjHNX0mwG5MjWZ6UzA6IERaQkITGkayGuISYJFu7DO5QZRWz5qlBs1nLfVs3uXw0DtVb6pN6giqVq9GOW0bSVXjI74k655QezycCpO0Aa8KDuHedwXl16EasKT8fHbBv1MYeixelHokz4Y8GYcpY7MRO13BxDeHrL0a6veFAZTZ5UOBbgHNgUccDOZ61xbM4eCAcfM5FSmIA3PU6nV1t1gOGDbIAIcH2CHE.2tMQmMnH3rLv1X97ebTG22WstN2WKFS-H6cNxdOcDOI&dib_tag=se&keywords=jlink%2Bv9&qid=1769707906&sprefix=jlink%2Bv9%2Caps%2C174&sr=8-4&th=1

It doesn't look like mine
The one i'm using has a clear Jlink label in it:
https://www.thegioiic.com/j-link-v9-mach-nap
And I recommend using V9 instead of V8. It seems that V8 couldn't debug a MPU for embedded linux chip
Jlink V9 has label in the back to indicate its version like this:
https://vi.aliexpress.com/item/1005005311895969.html?gatewayAdapt=glo2vnm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants