Posts

EOS-S3 Thing Plus Setup Part 1

If you are trying to setup your Quicklogic EOS-S3 Thing Plus (Thing+), then you have come to the right place. The goal of this series is to describe the journey Joe and I went on to setup the Thing+ so you can spend less time setting it up and more time making cool stuff. I will be using Linux for these tutorials. I have done some of these steps in Windows as well and if you have questions about that, feel free to leave a comment below. This guide focuses on setting up the Thing+ with an open source SWD programmer, if you have or want to use a J-Link programmer, Sparkfun has a guide for that here:  https://learn.sparkfun.com/tutorials/quicklogic-thing-plus-eos-s3-hookup-guide   This is also a very good resource to learn about the hardware and pin layouts. The Thing+ has an SDK called QORC which was released by Quicklogic. Among other things, the QORC SDK is supposed to allow programming the microcontroller and FPGA over USB. However, as of January 2023, the firmware on the Spa...

EOS-S3 Thing+ Example Project and Debugging

We set out to have a project that just turned on an LED. Joe figured out how to do this and then he found a function called HAL_RTC_SetupAlarm which can call a function every x seconds. He made a function to switch the led color every 1 second. We were consistently making and uploading new versions using qfprog which was very satisfying in its own right. It shows just how far we've come.  I was able to load up Joe's example code to the board and then prove I was actually debugging the chip by placing a breakpoint on the setupAlarm function and each time I hit continue, the LED would change color. I could also step around if I needed to.

Escape to the Northern Lights

Northern Lights Have you ever wanted to see the Northern Lights in its full glory? My friends and I decided to journey to Iceland in November and it's the event I am most looking forward to this year. We have been planning this trip since early 2023 and as we get closer, it's becoming more real. I've seen the Northern Lights in movies and pictures, but I can only imagine how breathtaking it will be in person. This phenomenon makes me think of a doorway to a different universe. For someone who grew up on science fiction, this experience will be like a fantasy realized. Travel Planning I am also looking forward to the country itself and traveling with friends I don't see very often. Exploring new places and trying new cuisines are two of my favorite things, and doing both with friends is just the icing on the cake. We plan to see the whole island in about 12 days, driving along the perimeter and stopping at various sights along the way. We are preparing for this trip b...

Jeff Probe and Black Magic Setup

 The Jeff Probe is a simplified version of a Black Magic Debug probe and it uses the Black Magic Debug software to talk between the computer and the chip being programmed. As of March 2023, the Jeff probe we bought from Sparkfun didn't have firmware that communicated with the Black Magic software, so we need to update it using a program called DFU-UTIL. On Linux, the package can be installed using your package manager, On Windows, you will need to find an EXE version and install the correct driver using Zadig. Once DFU-UTIL is installed, download the current release of the Jeff Probe here:  https://github.com/flirc/blackmagic/releases/tag/v1.8.4 . Unzip the file and go to firmware/blackmagic_fw folder in the terminal. The Jeff probe will need to be in DFU mode to program it. To enter this mode, hold down while you are plugging the probe into your computer. You should only see one green light. Enter the following command, you may have to run it as sudo:     ...

EOS-S3 Thing+ Debug Setup 8/27/2023

We can now pause and resume a program running on the Thing+ in VS Code using GDB, Black Magic, and Cortex Debug. I found the template for the Black Magic config here: https://github.com/Marus/cortex-debug/wiki/Black-Magic-Probe-Specific-Configuration I modified it to fit out situation and uploaded it to the repo. To setup, you need to not have the jumpers on the Thing+ and open Black Magic in a terminal. Then select BMP Debug from the dropdown debug menu in VS Code and then press F5 to start the debug session. If it doesnt connect or attach, try to connect to the Thing+ outside of VS Code with Blackmagic and GDB. You may need to unplug the Thing+ or I found putting it into program (green flashing) mode and then connecting to in from GDB in the Terminal helped and I was then able to connect through VS Code. To set breakpoints, you can click on a line of a file that is part of the same project and folder structure as the elf you are running on the board. I wasnt able to set a brea...

EOS-S3 Thing+ Debug Setup 8/20/2023

There is an extension for VS Code called Cortex-Debug, using the below links I have made a first pass at developing an OpenOCD launch.json file for debugging the Thing+. Cortex Debug requires gdb version 9 or above, but the version that comes with qorc is 8.x. I downloaded version 10.x from the arm link down below. I tried the most recent version ( 12.x at the time of this writing) but it had some python error that is describe in the stackoverflow link. Cortex Debug also needs a SVD file which QuickLogic doesnt provide, but there is one someone made at the eos-s3-rs repo. It is not fully featured but is a great start. https://lonesometraveler.github.io/2020/03/27/debug.html https://www.digikey.com/en/maker/projects/raspberry-pi-pico-and-rp2040-cc-part-2-debugging-with-vs-code/470abc7efb07432b82c95f6f67f184c0 https://github.com/Josfemova/eos-s3-rs https://developer.arm.com/downloads/-/gnu-rm https://stackoverflow.com/questions/72187185/arm-none-eabi-gdb-cannot-start-because-of-some-pyt...

Setting Up Raspberry Pi in Headless Mode 6/18/2023

  This post is part of a series of notes I originally recorded on a GitLab wiki for our QuitetThing project with can be found here:  https://gitlab.com/mccormjf/quietthing/-/wikis/home   We are going to use Raspberry Pi's as the initial development platform for the Audio Bonnet that will help perform the Active Noise Cancellation. We are going to be communicating with the Pi's using SSH and maybe a virtual desktop application down the road. To get the Pi to work in what they call "Headless Mode" you have two main options. If you have the ability to operate the Pi as a standalone computer, you can log in and make sure it is connected to the internet (you can also use Ethernet) and you need to make sure ssh is enabled. If you do not have the ability to plug the Pi into its own monitor or you are starting/willing to start from scratch follow the instructions at this link: https://www.tomshardware.com/reviews/raspberry-pi-headless-setup-how-to,6028.html The easiest method...