Step-by-Step: STM32 Development Environment with OpenOCD and Visual Studio Code (macOS)

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ก.พ. 2025

ความคิดเห็น • 16

  • @Fastcabling
    @Fastcabling 7 หลายเดือนก่อน

    Hi I followed the video to install openOCD through homebrew, but I just can't find the scripts folder. It doesn't exist even if the openocd command runs well. Do you know where the scripts could be located?

  • @hamzaiqbal2310
    @hamzaiqbal2310 2 ปีที่แล้ว +1

    Hi I was following along with the steps you demonstrated in the video, but I am using an STM32G0 board, is there a separate library that I can use because the G0 line is not included in LIBOPENCM3-EXAMPLES/examples/stm32

    • @ekasusilo
      @ekasusilo  2 ปีที่แล้ว

      what specific part number of STM32G0? or devboard name?

    • @hamzaiqbal2310
      @hamzaiqbal2310 2 ปีที่แล้ว

      @@ekasusilo STM32G0316-DISCO

    • @s.h7124
      @s.h7124 ปีที่แล้ว

      Will be nice if you show us as well how to populate some else project as well the easiest possible way after this point of the lecture since every thing is already install
      Thank you so much

  • @AjayKumar-du2uu
    @AjayKumar-du2uu 11 หลายเดือนก่อน

    Hi,
    Does this cortex-debug extension work for cortex R connections as well?

  • @gappujimast
    @gappujimast 2 หลายเดือนก่อน

    openocd has issue opening usb. is there a fix ?

    • @ekasusilo
      @ekasusilo  2 หลายเดือนก่อน

      Which version and what does error message say?

    • @gappujimast
      @gappujimast 2 หลายเดือนก่อน

      @@ekasusilo I get "Info : clock speed 1000 kHz
      Error: open failed"

    • @gappujimast
      @gappujimast 2 หลายเดือนก่อน

      @@ekasusilo added more in stack overflow with subject "OpenOCD issue on MacBook using STM32VLDiscovery"

    • @ekasusilo
      @ekasusilo  2 หลายเดือนก่อน

      @@gappujimast error opening may have something to do with USB permission

  • @yusufyigitbas1125
    @yusufyigitbas1125 2 ปีที่แล้ว

    Hello,
    I've some problem with installation of arm-gcc-embedded tool into apple MacBook Air M1 2020. I've installed, I' assumed that.
    The installation log:
    ==> Tapping homebrew/cask
    Cloning into '/opt/homebrew/Library/Taps/homebrew/homebrew-cask'...
    remote: Enumerating objects: 691649, done.
    remote: Counting objects: 100% (14/14), done.
    remote: Compressing objects: 100% (10/10), done.
    remote: Total 691649 (delta 6), reused 11 (delta 4), pack-reused 691635
    Receiving objects: 100% (691649/691649), 327.73 MiB | 1.89 MiB/s, done.
    Resolving deltas: 100% (491419/491419), done.
    Tapped 4122 casks (4,194 files, 349.8MB).
    ==> Downloading developer.arm.com/-/media/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-darwin-x86_64-arm-none-eabi.pkg
    ==> Downloading from armkeil.blob.core.windows.net/developer/Files/downloads/gnu/11.3.rel1/binrel/arm-gnu-toolchain-11.3.rel1-darwin-x86_64-ar
    ######################################################################## 100.0%
    ==> Installing Cask gcc-arm-embedded
    ==> Running installer for gcc-arm-embedded; your password may be necessary.
    Package installers may write to any location; options such as `--appdir` are ignored.
    Password:
    installer: Package name is arm-gnu-toolchain-11.3.rel1-darwin-x86_64-arm-none-eabi
    installer: Installing at base path /
    installer: The install was successful.
    ==> Linking Binary 'arm-none-eabi-addr2line' to '/opt/homebrew/bin/arm-none-eabi-addr2line'
    ==> Linking Binary 'arm-none-eabi-as' to '/opt/homebrew/bin/arm-none-eabi-as'
    ==> Linking Binary 'arm-none-eabi-c++' to '/opt/homebrew/bin/arm-none-eabi-c++'
    ==> Linking Binary 'arm-none-eabi-c++filt' to '/opt/homebrew/bin/arm-none-eabi-c++filt'
    ==> Linking Binary 'arm-none-eabi-cpp' to '/opt/homebrew/bin/arm-none-eabi-cpp'
    ==> Linking Binary 'arm-none-eabi-elfedit' to '/opt/homebrew/bin/arm-none-eabi-elfedit'
    ==> Linking Binary 'arm-none-eabi-g++' to '/opt/homebrew/bin/arm-none-eabi-g++'
    ==> Linking Binary 'arm-none-eabi-gcc' to '/opt/homebrew/bin/arm-none-eabi-gcc'
    ==> Linking Binary 'arm-none-eabi-gcc-11.3.1' to '/opt/homebrew/bin/arm-none-eabi-gcc-11.3.1'
    ==> Linking Binary 'arm-none-eabi-gcc-ar' to '/opt/homebrew/bin/arm-none-eabi-gcc-ar'
    ==> Linking Binary 'arm-none-eabi-gcc-nm' to '/opt/homebrew/bin/arm-none-eabi-gcc-nm'
    ==> Linking Binary 'arm-none-eabi-gcc-ranlib' to '/opt/homebrew/bin/arm-none-eabi-gcc-ranlib'
    ==> Linking Binary 'arm-none-eabi-gcov' to '/opt/homebrew/bin/arm-none-eabi-gcov'
    ==> Linking Binary 'arm-none-eabi-gcov-dump' to '/opt/homebrew/bin/arm-none-eabi-gcov-dump'
    ==> Linking Binary 'arm-none-eabi-gcov-tool' to '/opt/homebrew/bin/arm-none-eabi-gcov-tool'
    ==> Linking Binary 'arm-none-eabi-gdb' to '/opt/homebrew/bin/arm-none-eabi-gdb'
    ==> Linking Binary 'arm-none-eabi-gdb-add-index' to '/opt/homebrew/bin/arm-none-eabi-gdb-add-index'
    ==> Linking Binary 'arm-none-eabi-gfortran' to '/opt/homebrew/bin/arm-none-eabi-gfortran'
    ==> Linking Binary 'arm-none-eabi-gprof' to '/opt/homebrew/bin/arm-none-eabi-gprof'
    ==> Linking Binary 'arm-none-eabi-ld' to '/opt/homebrew/bin/arm-none-eabi-ld'
    ==> Linking Binary 'arm-none-eabi-ld.bfd' to '/opt/homebrew/bin/arm-none-eabi-ld.bfd'
    ==> Linking Binary 'arm-none-eabi-lto-dump' to '/opt/homebrew/bin/arm-none-eabi-lto-dump'
    ==> Linking Binary 'arm-none-eabi-nm' to '/opt/homebrew/bin/arm-none-eabi-nm'
    ==> Linking Binary 'arm-none-eabi-objcopy' to '/opt/homebrew/bin/arm-none-eabi-objcopy'
    ==> Linking Binary 'arm-none-eabi-objdump' to '/opt/homebrew/bin/arm-none-eabi-objdump'
    ==> Linking Binary 'arm-none-eabi-ranlib' to '/opt/homebrew/bin/arm-none-eabi-ranlib'
    ==> Linking Binary 'arm-none-eabi-readelf' to '/opt/homebrew/bin/arm-none-eabi-readelf'
    ==> Linking Binary 'arm-none-eabi-size' to '/opt/homebrew/bin/arm-none-eabi-size'
    ==> Linking Binary 'arm-none-eabi-strings' to '/opt/homebrew/bin/arm-none-eabi-strings'
    ==> Linking Binary 'arm-none-eabi-strip' to '/opt/homebrew/bin/arm-none-eabi-strip'
    ==> Linking Binary 'arm-none-eabi-ar' to '/opt/homebrew/bin/arm-none-eabi-ar'
    🍺 gcc-arm-embedded was successfully installed!
    Then, I entered gcc version command
    ysfyigitbasi@Yusuf-Air ~ % arm-none-eabi-gcc --version
    zsh: bad CPU type in executable: arm-none-eabi-gcc
    This error is shown up.
    Thanks for any help, greetings. I really wonder that I will be able to program my stm32 board with my pc in macOS system.

    • @ekasusilo
      @ekasusilo  2 ปีที่แล้ว

      You need to have Rosetta installed, if you haven't done it yet. But looking at your log, it is actually trying to install in /opt/homebrew, which should download aarch64 packages instead of x86_64. Let me know if installing Rosetta fixes your issue. It is still weird though.

    • @yusufyigitbas1125
      @yusufyigitbas1125 2 ปีที่แล้ว

      @@ekasusilo Hello, I installed Rosetta 2, I can see the version of arm-embedded. No problem. However, I would like to use stm32f103c8 with debugger st-link v2. Moreover, I do not prefer stm32CubeIde, I like writing my codes from scratch. Therefore, I'm going to use vsCode. I do not know to create make files, how to create .json files etc. How am I going to create my object files or executables etc. ? Do I need any tools for st-link?
      Thanks for any suggestions.

    • @ekasusilo
      @ekasusilo  2 ปีที่แล้ว

      Ok, great. But I am wondering if you actually have solved the problem, or you actually just allowing another toolchain you might have installed earlier, not by Homebrew, that is actually added in the system PATH. I am curious, if you run `which arm-none-eabi-gcc` in terminal, what PATH it gives you? Let me know.

    • @ekasusilo
      @ekasusilo  2 ปีที่แล้ว

      I have lots of videos in the making, categorized as beginner, intermediate, and advanced learners in embedded system hardware and software making. Please check back to this channel for upcoming video tutorials. Most videos are intended for EVERYONE who wishes to get their hands on embedded system, with no background in engineering, computer science, or any relevant degree whatsoever. I believe that EVERYONE can do embedded system coding!