Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
  • Nov 27 23:02
    Annath commented #18
  • Nov 27 20:06
    esden commented #18
  • Nov 27 07:55
    Annath opened #18
  • Aug 06 02:33
    SaintGimp edited #4
  • Apr 20 01:51
    esden commented #2
  • Apr 20 01:50

    esden on master

    Update to recent libopencm3 (compare)

  • Apr 20 01:50
    esden closed #2
  • Jan 04 00:37
    schodet opened #2
  • Oct 20 2021 08:57
    tommcq opened #17
  • Jun 19 2021 05:58

    esden on master

    Updated LOCM3. Improved the clean target. Ignore if st-link/dfu-util is n… and 9 more (compare)

  • Aug 05 2020 21:27

    0xdec on v2.0a

    More WIP (compare)

  • Jul 31 2020 21:36

    0xdec on v2.0a

    WIP migration + v2.0a (compare)

  • Nov 06 2018 16:29
    esden commented #16
  • Nov 06 2018 16:28

    esden on master

    Fix formatting, typos, grammar … (compare)

  • Nov 06 2018 16:28
    esden closed #16
  • Nov 06 2018 03:42
    0xdec opened #16
  • Oct 21 2018 20:53
    Poofjunior opened #15
  • Oct 12 2018 05:48
    frankalicious closed #10
  • Aug 24 2018 22:49
    irandms opened #5
  • Aug 22 2018 11:38
    elektor-labs edited #14
Chuck McManis
@ChuckM
There is no driver model @BecomingMaker_twitter. As it stands its just the register library. There is a fork of it called unicore-mx which does have a driver model (and at this point has diverged quite a bit from libopencm3)
Mark Osborne
@BecomingMaker_twitter
Thanks @ChuckM . I'll take a look at that project.
I wonder, would it be interesting to build up a set of libraries for the 1bitsy (based on the core libopncm3) that people can add to overtime? 1bitsy-examples would probably not be the right repo for that as the samples should ideally be simple and easy to understand - flexible, performant libraries don't always make good examples.
Chuck McManis
@ChuckM
There exist drivers at that level, its called mBed and it is something that ARM supports. The BSP for the 1Bitsy would be pretty straightforward I think.
Will
@wmarone
ST might also have something, most vendors typically do
Mark Osborne
@BecomingMaker_twitter
Yeah, they have STM32CubeF4, but it's pretty overwhelming with massive downloads, complex configuration, IDE project tie ins etc. And not based on libopencm3 of course.
Mark Osborne
@BecomingMaker_twitter
@esden I forgot to mention that I recompiled and retested and everything worked fine with the 1bitsy and TFT hardware!
Piotr Esden-Tempski
@esden
@BecomingMaker_twitter thank you! I have submitted a review. Had a few improvement suggestions. :)
Paul Fernquist
@PaulF8080
@BecomingMaker_twitter I wrote an SPI test and that did the wait between command and data the same as you. I use defines in include/libopencm3/stm32/common/spi_common_all.h instead of the doc examples. SPI2_SR is the same as your (SPI_SR(SPI2) . I used figure 253 in the stm32reference.pdf to figure out the timing.
Mark Osborne
@BecomingMaker_twitter
Thanks @PaulF8080, I hadn't spotted the SPI2_SR definition.
Paul Fernquist
@PaulF8080
@esden My BMP JTAG scan stopped working and I panicked a fired off an email with an unanswerable question, so please ignore it. I suspect the cable and was wondering how I can figure out what pogo pin pads are the JTAG signals on both ends of the cable. I found the pcb files, I think, but I need a viewer because I only use KiCad.
Piotr Esden-Tempski
@esden
@PaulF8080 here is the pad legend :)
bmpm2-back-legend-with-pads.png
Piotr Esden-Tempski
@esden
I was about to write you a reply saying: “it is unlikely but possible that the bmp got broken, unless you apply some really high voltage. I do not know of anyone breaking the V2.0 or V2.1 bmp through wrong wiring.”
also you might want to try out SWD to scan your target instead of JTAG
it uses less electrical connections for communication
Mark Osborne
@BecomingMaker_twitter
Or you might need to power up your 1bitsy with the boot pins shorted. I had to do that once after flashing with non libopencm3 firmware.
Piotr Esden-Tempski
@esden
usually you should be able to get around it with either using “connect_srst” … this is needed when you use WFI instructions. Also if you have a firmware that is setting TRST pin to be GPIO. (PB4) you will have to use SWD not JTAG as it is an errata related bug that JTAG is not working on the STM32F415 silicon when TRST pin is set to GPIO.
Piotr Esden-Tempski
@esden
Ohh and a broken ribbon cable does behave erraticly I have seen that happen with my ribbon cable I use on daily basis for everything including programming production boards. I assume these were at least 5k cycles that resulted in an intermitten connection on one of the strands.
Michael McAvoy
@mbmcavoy
@BecomingMaker_twitter I was having a big problem where I could not connect. I could use monitor connect_srst enable before scanning and then I could scan and attach, but upon running it would fail. It turned out that my code was disabling the pins used for jtag , killing the connection. Make sure your code leaves the jtag/swd pins you need configured correctly.
Mark Osborne
@BecomingMaker_twitter
For anyone who is interested I got RAMRD (ram read) working on an ST7735 TFT. It's a bit tricky because it requires a dummy clock cycle, a dummy read and toggling of the slave select pin. So I wasn't planning to add it to the 1bitsy-examples repo.
Paul Fernquist
@PaulF8080
I have 3 1Bitsy boards. One of the boards used to work so I don't see bugs or bad FW being a problem. The cable checks out OK. I got out the scope and TCK toggles and TDO stays high. So far this makes no sense to me. Normally you leave the JTAG in the reset state and when TCK toggles TDO spits out the ID Code. No TDO would normally mean the STM chip is bad not the probe. I worked with JTAG for many years, but it was a long time ago. I guess have to find my old JTAG spec. Two Bitsy boards a are fresh out of the box and the LED turns on and off, but slowly dims.
Chuck McManis
@ChuckM
The slowly dimming LED is the 'fancy' version of blink. It is using PWM @PaulF8080
Piotr Esden-Tempski
@esden
@PaulF8080 JTAG is as much of a standard as XML is a standard. I would not rely on old specs for the modern ARM chips. You should consider looking into the ADIv5 spec. https://static.docs.arm.com/ihi0031/c/IHI0031C_debug_interface_as.pdf
Yes the lowlevel state machine of the JTAG registers will probably be the same, but all the commands and the layers above are different for every chip architecture. Mainly because JTAG was not designed for what we are using it for these days. :)
and yes you should be getting TDO output from the chip, unless it is in SWD mode.
Piotr Esden-Tempski
@esden
the slowly fading led example that comes preloaded or the 1Bitsy boards: https://github.com/1Bitsy/1bitsy-examples/tree/master/examples/1bitsy/pwmledfade
Paul Fernquist
@PaulF8080
Thanks. The JTAG state machine will never change. I knew I forgot something. Reset loads the JTAG instruction with a shift ID Code so you don't need TDI to set the register. That is why I thought the STM must be bad. Another chip in the chain changing TDI has no effect. The part I forgot was that you need to use TMS to change state to the shift data(IDCode) state. I scoped TMS and the rise time is so slow the shorter pulses never make it high. Could be a high resistance on the cable.
Paul Fernquist
@PaulF8080
Bingo! TMS looks good on the probe end of th cable.
Piotr Esden-Tempski
@esden
\o/
Paul Fernquist
@PaulF8080
I should no better than to pull on the cable to un-plug it. I fixed many broken ribbon connectors I was at Univac in St Paul and 3M in St Paul came up with ribbon cable. Our 1110 computer had a stack of 40 wire cable 6 inches high. Every flip flop in the machine was displayed and set able. I had fun playing with it for couple of years. The next computer had scan. Later called JTAG.
Michael McAvoy
@mbmcavoy
FYI - I've been working to get Visual Studio Code set up for ARM development (with 1bitsy and BMP) and decided to write up my process as some parts have been tricky. Work in progress: http://shadetail.com/blog/using-visual-studio-code-for-arm-development-introduction/
Paul Fernquist
@PaulF8080
Got the cables and it is still not working. I guess I poked the TCK pad next to the TMS pad before. The TMS is bad on the probe. The symptoms are the active pull-up is not pulling. The problem is that I have to fix this because it broke when I plugged it into my newly designed board that uses a 1Bitsy. If the board is at fault a new BMP would be at risk. More later.
Paul Fernquist
@PaulF8080
I give up.
Piotr Esden-Tempski
@esden
@PaulF8080 sorry to see that you have trouble with your board. Unfortunately I am not coming to the next Dorkbot but maybe there will be someone else that will be able to look at your setup.
@PaulF8080 I can ask a friend who also has 1bitsy and black magic probe to go to dorkbot and help you out. They might be able to provide some additional insight.
it is difficult to help witohut the device on the table with some scopes and multimeters
I would check if you are maybe applying some high voltages on any of the pins suddenly throughout the power cycle of your new device
also connect the bmp to an oscilloscope and see if all the signals are coming out of it correctly when you try to scan for a target
and some more other approaches to figure out if the bmp or maybe the custom device have an issue
Paul Fernquist
@PaulF8080
It worked great for awhile so my setup is OK. I only used the 1Bitsies with their associated voltages. The TMS signal broke. I know what a signal looks like when there is a large RC time constant. I actually saw a similar signal on a first silicon of a CPU chip. In that case they showed me the microscope picture of metal layer short. They had to change the process rules. The only thing I can guess is an electrostatic discharge or an infant failure. Intel does burn-in to weed out infant mortality. I only wanted try out the BMP and I am moving on to another project. Maybe later I will come back.
Piotr Esden-Tempski
@esden
Thank you for trying it out. If you want we can send you a replacement board. This would be the first instance of a failure like that so far. I am not sure comparing us to Intel is a fair thing to do though.
We do not make burnin tests as that is beyond what is reasonable in this situation.
But if your hardware is genuinely broken due to hardware failure we are happy to replace it for you.
Send us an email at info@1bitsquared.com or we can meet in Portland the next time I will be going up there.
Paul Fernquist
@PaulF8080
I was only trying to show that that is a common problem and can happen to anyone. That said, I have no clue what happened.
Paul Fernquist
@PaulF8080
Now that I rethink this. The components used on your boards probably passed a burn-in test. It is frustrating because I have had very few unsolved failures.
Paul Fernquist
@PaulF8080
Just checking in. Thanks for the offer, but I think it was my fault. The board I plugged the BMP into is a mess because my soldering was terrible. I held my breath when I first plugged it in. The solder stencil worked great, but my hands weren't steady enough to place tiny caps etc. I bought a cheap laser to make stencils and to learn to solder better on my next project. New BMP later.
Luke Beno
@lgbeno
Hi Everyone, I'm curious is there is a base template for a 1bitsy project aside from hacking on one of the examples
I'm asking simply because the directory structure of the 1bitsy examples has a makefile structure that is difficult for me to follow