Since Infineon has made the PSOC5LP parts and dev kits unobtainium, I am having to look at other products for low volume production at work, and for SocMaker Weekend Engineering.
QuickLogic has a processor that combines a tinyFPGA with an M4F processor and a 12 bit A/D. SparkFun has produced a board based on the Feather platform for it, and it can be purchased from them, from Amazon, or from Mouser (among others).
The ugly thing about this processor is it is only a BGA style package, which makes it hard for the Weekend Engineer to put onto a board. The good thing is the Feather board is 0.9″ wide, so it can be hosted by a carrier board for your weekend project. QFN or TQFP would be great, but I suspect this is a low volume product at the moment.
An old PSOC dev kit had a cable of the right size for connecting to the swd port, and now I need an adapter to connect up to the segger. I tried the Sparkfun Forum for answers, but crickets are still chirping after a couple of days. A contact to QuickLogic on their web site also has chirping crickets after about a week of waiting. I don’t hold out much hope, but this is a fun project.
Documentation? Who Needs it!
Well, they do have documentation, sort of. They basically threw it out there and said “use these open source tools.” (Symbiflow, recon, tinyfpga, gcc).
Debug? Not so much on details. Is an arm processor. You have to create your own SVD to use with VSCode. Segger is said to work, but the $500 unit is a bit hard to swallow. I have an old segger (V8) and will give it a try, but I have to get a cable adaptor. I will also try to see if a newer cheap segger will work.
Virtual Machine Nightmare(s)
The USB-C connector provides a OpenMoko Modem connection. I use VMWare, and connected it to my Windows 10 VM running on my Mac. Ugh. Kept disconnecting. Putty could never find the serial port after Windows 10 finally installed the driver. (\\..\\Com21 was not available. I assigned that comport number after Com5 failed. I used the Windows Device Manager to do so.) TeraTerm (from japan) did finally give me a connection, but the OpenMoko modem disconnected again. For a hint, SparkFun quickstart said that an Ubuntu VM was not supported. Hmm… USB and VMware are not friendly.
After about 30 to 45 minutes I began to suspect it was some USB 3 protocol issue. I moved the USB QuickFeather plug from a hub to the plugs directly on the back of the Macintosh. Connected OpenMoko to Windows 10. It finally stayed connected. Putty still could not connect to it.
I tried Teraterm. Success, after about 1 minute for Teraterm to finally connect to it, baud rate 115,200. I was able to turn the red-green-blue leds on/off and detect the button press.
There is some sort of disconnect between OpenMoko and Windows 10. Putty still does not work, but I was able to get Teraterm to work. I suspect that Python will not work either, but I will find out.
I am slowly working through Youtube videos and the other files that are available.
If you connect to an Ubuntu VM, you can get faster results for the serial port, and you are able to run the diagnostic tool.
I followed the Quicklogic instructions for setting up the tinyfpga environment. The git clone commands almost worked. I will attempt to describe them later. The two things of note are there are several “is not” text commands in the python script for programming the eos board, and those need to be changed to “!=”, as suggested by the python error dump. In addition, “pip install tinyfpgab” is needed, nowhere documented.
Like an idiot, I compiled the “new” bootloader downloaded from the QuickLogic site and flashed it into the board. The board hung after the write, and the verify failed to execute, no information was sent back. Bad bootloader, even though it compiled without error. I have a bricked QuickLogic QuickFeather.
I found a segger 20 pin to 10 pin (called a 9 pin) used SWD adapter board on Ebay for $25usd and have ordered it. (Other boards are priced $60usd to $100usd) I will attempt to rescue the Quickfeather board later, but will also order another one for future explorations.
Sparkfun has some instructions on recovering from a bricked unit. I will play with those, but based on what I was reading, I don’t believe they will work.
The segger folks seem to be realizing their pricing issues. They have cheaper versions of their debuggers available for weekend warriors. I will attempt to use one or more of them, and will attempt to play with the Chinese clones, just to see what happens.
The only reason I have a Segger (which is over $1,000.00 in price) is because I did work for a Multi-national company and they purchased it for a project that I did for them. Market crash caused them to slow the project, and the Segger became mine. I saw “DirtyJTAG” as a possibility for a Chinese Clone, but have not pursued it. One step at at time.