I’m wondering what you plan to use for flash memory on the Pi. Is the SD card a 
viable solution in this application? Would the Pi compute module with onboard 
flash memory be a workable solution?

One issue with onboard flash memory is that swapping out a pi in the case of a 
processor failure would be more difficult. Is there anything else that makes 
the compute modules a worse choice than the standard pi?
 
Of course this is just me wishing someone would hook up a basic MESA card with 
the Pi4 compute module headers. 


> On Jan 12, 2021, at 2:33 PM, Ralph Stirling <ralph.stirl...@wallawalla.edu> 
> wrote:
> 
> Success at last!
> 
> To summarize everything I've learned:
> - I was missing one ground (RPi pin 14)
> - mesaflash doesn't tell me that I have to 
>  use --device 7i90, not 7i90hd.  I had to
>  look at the mesaflash source to figure that out.
> - my Fluke 179 dvm diode check does not
>   give me ~0.7v readings for fpga pins
> - I have to load the spi bit file with jtag
> 
> I now have native RPi jtag using openocd
> working, so don't need the $50 Digilent
> HS2 dongle any more.  I edited the
> raspberrypi-native.cfg file to move the
> gpio pins from 11,25,10,9 to 17,27,22,5
> to avoid conflict with the 7i90's SPI pins.
> 
> I will spin another version of my little adapter
> shim pcb to include the jtag header.  I'll be
> happy to share that design with the group
> when I get them back and tested.
> 
> Thank you again!
> -- Ralph
> 
> 
>> Is there anything that needs to be done
>> differently on the RPi 3b+ to communicate
>> with the 7i90 via spi versus the 7c81?
> 
> It should be identical, and AFAIK the mesaflash interface
> should be less picky since it runs at a lower clock speed
> than the default hm2-rpspi driver
> 
> Are all RPI grounds connected to all 7I90 26 pin
> header grounds?
> 
> 
>> 
>> Is the next step to cobble up some vhdl to
>> verify all the pins on the spi interface side
>> are functioning?  I suppose somewhere along
>> the line I might have blown a pin.
> 
> 
> If you blow a  pin, it will usually show as the
> protection diode being damaged. You can check
> this with a DVMs diode check function. Connect
> the DVMs positive lead to 7I90 ground and check
> the diode voltage drop on the SPI leads, they should
> all be ~.7V
> 
>> 
> 
>> I'd really like to get this working, as I'm putting
>> together a standard package I can use for all
>> our custom controllers for machines and instruments.
>> Bioprinters, syringe pumps, bioreactors, routers,
>> pick & place, hotwire foam cutters.  I'm tired of
>> random castoff pc's.
>> 
>> Thanks again,
>> -- Ralph
>> ________________________________________
>> From: Peter C. Wallace [p...@mesanet.com]
>> Sent: Monday, January 11, 2021 4:34 PM
>> To: Enhanced Machine Controller (EMC)
>> Subject: Re: [Emc-users] Rpi 3b+ to 7i90hd
>> 
>> CAUTION: This email originated from outside the Walla Walla University email 
>> system.
>> 
>> 
>>> On Mon, 11 Jan 2021, Ralph Stirling wrote:
>>> 
>>> Date: Mon, 11 Jan 2021 23:48:56 +0000
>>> From: Ralph Stirling <ralph.stirl...@wallawalla.edu>
>>> Reply-To: "Enhanced Machine Controller (EMC)"
>>>    <emc-users@lists.sourceforge.net>
>>> To: "Enhanced Machine Controller (EMC)" <emc-users@lists.sourceforge.net>
>>> Subject: Re: [Emc-users] Rpi 3b+ to 7i90hd
>>> 
>>> I've made a bit of progress now.  I found a Digilent HS2
>>> jtag dongle, and got to the point of (apparently) successfully
>>> loading an SPI bitstream to the 7I90 (chose 7i90_spi_svst4_8.bit).
>>> 
>>> Running:
>>> 
>>> $ mesaflash --device 7i90hd --addr /dev/spidev0.0 --spi --readhmid
>>> 
>>> gives me the same "no 7I90HD board found" error though.  I tried
>>> adding a pullup resistor to the SDO pin, without change, which
>>> would seem to indicate the 7I90HD is actively driving it low.
>>> 
>>> Is there a very simple blinky bitstream I can try loading to
>>> be sure the jtag loading is successful?  The /INIT yellow led
>>> flashes briefly, and /DONE red led does go on during the load
>>> and goes off afterward.
>>> 
>>> Thanks again.
>>> -- Ralph
>> 
>> 
>> Theres no blinky light test bitfile but if you load the sserial
>> remote bitfile 7i90_ssremote.bit, The init LED should light once
>> configured (well 50 ms after configured indicating a watchdog timeout)
>> 
>>> ________________________________________
>>> From: Peter C. Wallace [p...@mesanet.com]
>>> Sent: Friday, January 8, 2021 1:22 PM
>>> To: Enhanced Machine Controller (EMC)
>>> Subject: Re: [Emc-users] Rpi 3b+ to 7i90hd
>>> 
>>> CAUTION: This email originated from outside the Walla Walla University 
>>> email system.
>>> 
>>> 
>>>> On Fri, 8 Jan 2021, Ralph Stirling wrote:
>>> 
>>>> Date: Fri, 8 Jan 2021 21:08:55 +0000
>>>> From: Ralph Stirling <ralph.stirl...@wallawalla.edu>
>>>> Reply-To: "Enhanced Machine Controller (EMC)"
>>>>    <emc-users@lists.sourceforge.net>
>>>> To: "Enhanced Machine Controller (EMC)" <emc-users@lists.sourceforge.net>
>>>> Subject: Re: [Emc-users] Rpi 3b+ to 7i90hd
>>>> 
>>>> Not having Xilinx Impact tool on the Rpi (or anywhere
>>>> at the moment), I found a tutorial on setting up
>>>> OpenOCD for jtag on the Rpi.  I have installed OpenOCD
>>>> on my RPi 3B+ and connected the gpio to the JTAG pins
>>>> on the 7i90HD, following this tutorial:
>>>> 
>>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Fmovr0.com%2F2016%2F09%2F02%2Fuse-raspberry-pi-23-as-a-jtagswd-adapter%2F&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239287153%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=iap%2BTsn6u%2F0IHsUt9EIMTWXTY7lyroW19dK7Ds0H8s0%3D&amp;reserved=0
>>>> 
>>>> The last step seems to be to make a configuration
>>>> file for the target device.  The EEPROMs are WInbond
>>>> 25Q16JVNIQ as best I can read the chip labels.  OpenOCD
>>>> doesn't have anything that looks directly applicable.
>>>> I also don't know where the two chips are in the jtag
>>>> chain.
>>> 
>>> You dont need to do this if you can program the FPGA
>>> (and JTAG programming large EEPROMS is glacially slow)
>>> 
>>> If you can program the FPGA via JTAG, you program the FPGA with a SPI
>>> configuration, and then run mesaflash from the RPI to write the
>>> flash memory
>>> 
>>> 
>>>> 
>>>> Am I heading down a rat hole, or getting close to success?
>>>> 
>>>> Thanks again.
>>>> -- Ralph
>>>> ________________________________________
>>>> From: Peter C. Wallace [p...@mesanet.com]
>>>> Sent: Thursday, January 7, 2021 3:47 PM
>>>> To: Enhanced Machine Controller (EMC)
>>>> Subject: Re: [Emc-users] Rpi 3b+ to 7i90hd
>>>> 
>>>> CAUTION: This email originated from outside the Walla Walla University 
>>>> email system.
>>>> 
>>>> 
>>>> On Thu, 7 Jan 2021, Ralph Stirling wrote:
>>>> 
>>>>> Date: Thu, 7 Jan 2021 23:37:03 +0000
>>>>> From: Ralph Stirling <ralph.stirl...@wallawalla.edu>
>>>>> Reply-To: "Enhanced Machine Controller (EMC)"
>>>>>    <emc-users@lists.sourceforge.net>
>>>>> To: "Enhanced Machine Controller (EMC)" <emc-users@lists.sourceforge.net>
>>>>> Subject: Re: [Emc-users] Rpi 3b+ to 7i90hd
>>>>> 
>>>>> I assumed that the 7i90hd would recognize SPI
>>>>> directly, like the 7c81 does.  Do I have to go
>>>>> dig up a parallel port computer from somewhere
>>>>> and get at least mesaflash running on it just
>>>>> so I can get spi working for the pi?  That is an
>>>>> unfortunate hurdle.  I don't see anything in the
>>>>> manual about needing to load the correct bitstream
>>>>> over parallel in order to use spi.  In fact, I read
>>>>> this in the manual:
>>>> 
>>>> Yep, you need to have SPI firmware loaded in the 7I90HD
>>>> default 7I90HD firmware is EPP, so a device with a EPP
>>>> interface is needed to load the SPI configuration
>>>> I would suggest loading the SPI interface into the
>>>> secondary flash leaving the primary as EPP for a fallback
>>>> 
>>>> That is, power the 7I90 with the flash jumper in the "P" position
>>>> them move the jumper to "S" before loadin the SPI firmware
>>>> 
>>>> 
>>>>> 
>>>>> "Linux and Windows utility programs mesaflash and mesaflash.exe are 
>>>>> provided to
>>>>> write configuration files to the 7I90HD EEPROM via the RS-422 interface 
>>>>> and LBP16. The
>>>>> linux utility can also write configuration files via the EPP interface. 
>>>>> These files depend on
>>>>> a simple SPI interface built into both the standard user FPGA bitfiles 
>>>>> and the fallback
>>>>> bitfile."
>>>> 
>>>> 
>>>> Well there are 2 SPI interfaces, the HM2 compatible host interface (which 
>>>> needs
>>>> specific SPI firmware) and the SPI Flash memory interface (which is in HM2
>>>> memory space and allows access to the SPI flash chip)
>>>> 
>>>>> 
>>>>> I can tack on a pullup to SDO.  I have put four
>>>>> scope probes on the four signals, and see data
>>>>> when interrogating the 7c81, but not the 7i90hd.
>>>>> The clock from the pi is correct.
>>>>> 
>>>>> Thanks again.
>>>>> -- Ralph
>>>>> ________________________________________
>>>>> From: Peter C. Wallace [p...@mesanet.com]
>>>>> Sent: Thursday, January 7, 2021 3:18 PM
>>>>> To: Enhanced Machine Controller (EMC)
>>>>> Subject: Re: [Emc-users] Rpi 3b+ to 7i90hd
>>>>> 
>>>>> 
>>>>> Looks right
>>>>> 
>>>>> 2 layer should be fine as long as the ground is solid (wide)
>>>>> between the 7I90 and the RPI (and lo longer than a couple of
>>>>> inches
>>>>> 
>>>>> You might try adding a pullup to SDO (7I90 15) to see if you read
>>>>> 0xFFFFFFFF which would indicate the the 7I90 is not driving SDO
>>>>> 
>>>>> Sure you have a SPI config in the 7I90?
>>>>> 
>>>>> 
>>>>> Peter Wallace
>>>>> Mesa Electronics
>>>>> 
>>>>> (\__/)
>>>>> (='.'=) This is Bunny. Copy and paste bunny into your
>>>>> (")_(") signature to help him gain world domination.
>>>>> 
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Emc-users mailing list
>>>>> Emc-users@lists.sourceforge.net
>>>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239287153%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zRGQQnf%2B%2FtAOB1OAYntbNrnNqt7bzClJfye8QyXWLH0%3D&amp;reserved=0
>>>>> 
>>>>> 
>>>>> _______________________________________________
>>>>> Emc-users mailing list
>>>>> Emc-users@lists.sourceforge.net
>>>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239287153%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zRGQQnf%2B%2FtAOB1OAYntbNrnNqt7bzClJfye8QyXWLH0%3D&amp;reserved=0
>>>>> 
>>>> 
>>>> Peter Wallace
>>>> Mesa Electronics
>>>> 
>>>> (\__/)
>>>> (='.'=) This is Bunny. Copy and paste bunny into your
>>>> (")_(") signature to help him gain world domination.
>>>> 
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Emc-users mailing list
>>>> Emc-users@lists.sourceforge.net
>>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239287153%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zRGQQnf%2B%2FtAOB1OAYntbNrnNqt7bzClJfye8QyXWLH0%3D&amp;reserved=0
>>>> 
>>>> 
>>>> _______________________________________________
>>>> Emc-users mailing list
>>>> Emc-users@lists.sourceforge.net
>>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239287153%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zRGQQnf%2B%2FtAOB1OAYntbNrnNqt7bzClJfye8QyXWLH0%3D&amp;reserved=0
>>>> 
>>> 
>>> Peter Wallace
>>> Mesa Electronics
>>> 
>>> (\__/)
>>> (='.'=) This is Bunny. Copy and paste bunny into your
>>> (")_(") signature to help him gain world domination.
>>> 
>>> 
>>> 
>>> _______________________________________________
>>> Emc-users mailing list
>>> Emc-users@lists.sourceforge.net
>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239287153%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zRGQQnf%2B%2FtAOB1OAYntbNrnNqt7bzClJfye8QyXWLH0%3D&amp;reserved=0
>>> 
>>> 
>>> _______________________________________________
>>> Emc-users mailing list
>>> Emc-users@lists.sourceforge.net
>>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239297146%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zPBrZ9jq5HefQHGbDDBDHWPnAeOoz5Zqj2wlEtsNEss%3D&amp;reserved=0
>>> 
>> 
>> Peter Wallace
>> Mesa Electronics
>> 
>> (\__/)
>> (='.'=) This is Bunny. Copy and paste bunny into your
>> (")_(") signature to help him gain world domination.
>> 
>> 
>> 
>> _______________________________________________
>> Emc-users mailing list
>> Emc-users@lists.sourceforge.net
>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239297146%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zPBrZ9jq5HefQHGbDDBDHWPnAeOoz5Zqj2wlEtsNEss%3D&amp;reserved=0
>> 
>> 
>> _______________________________________________
>> Emc-users mailing list
>> Emc-users@lists.sourceforge.net
>> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239297146%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zPBrZ9jq5HefQHGbDDBDHWPnAeOoz5Zqj2wlEtsNEss%3D&amp;reserved=0
>> 
> 
> Peter Wallace
> Mesa Electronics
> 
> (\__/)
> (='.'=) This is Bunny. Copy and paste bunny into your
> (")_(") signature to help him gain world domination.
> 
> 
> 
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://nam12.safelinks.protection.outlook.com/?url=https%3A%2F%2Flists.sourceforge.net%2Flists%2Flistinfo%2Femc-users&amp;data=04%7C01%7Cralph.stirling%40wallawalla.edu%7C4feb8a1bac6e4697cd8308d8b69a8eef%7Cd958f048e43142779c8debfb75e7aa64%7C0%7C0%7C637460122239297146%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&amp;sdata=zPBrZ9jq5HefQHGbDDBDHWPnAeOoz5Zqj2wlEtsNEss%3D&amp;reserved=0
> 
> 
> _______________________________________________
> Emc-users mailing list
> Emc-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/emc-users


_______________________________________________
Emc-users mailing list
Emc-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/emc-users

Reply via email to