Zynq uSD Image Generation

160 views
Skip to first unread message

Charles Steinkuehler

unread,
Dec 21, 2017, 8:45:37 PM12/21/17
to Machinekit Mailing List
Anyone got a recipe or scripts for generating a working Zynq uSD image
that includes Machinekit? I've got a (day-job) project that will be
targeting a low-end Zynq board with HDMI in, and I'm thinking of using
the Arty board:

http://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/

...which has Arduino headers, meaning it would be pretty trivial to
add some stepper driver to make a pan/tilt platform along with the
video in.

--
Charles Steinkuehler
cha...@steinkuehler.net

Charles Steinkuehler

unread,
Dec 21, 2017, 9:42:00 PM12/21/17
to Chris Albertson, Machinekit Mailing List
<adding list to the reply>

On 12/21/2017 8:29 PM, Chris Albertson wrote:
> I see a couple problems
>
> 1) the "Arduino computable" pins are 3.3 volts and will be damaged if
> connected to a device that expects an actual Arduino that is 5 volts. So
> these pins are in the same place but are 3.3 volt. I have this same
> problem with my Nuceol ARM boards, Arduino pinout but at 3V3.

Yeah, that's an issue. I don't think it is a big problem for driving
a couple stepper drivers, but a careful review of the pin-outs will be
important before actually powering anything or you could fry the Soc+FPGA.

> 2) It might be hard to run Linux as there is no CPU on this board. You can
> load a "soft CPU" into the FPGA but it is not the correct type and also
> VERY slow at 100MHz.

Sorry, wrong link. I mean the Arty Z7 with the dual-core ARM Cortex A9:

http://store.digilentinc.com/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists/

> What baffles me is that if you are using these boards for a Day Job them
> you must know a lot more about them then I do. So I might be missing
> something. I got REALLY excited when I read "FPGA" and yu wanted to use
> these for running Linux based software. I hoped that would have BOTh the
> ARM CPU for Linus and have an integrated FPGA. That would be very nice to
> have on an Arduino size board for $100, I'd buy one.

Yeah...my bad. I do mean the ones that can run Linux. Sadly, it's
$150 and not $100, but that's not too bad. If you want a board for
around $100, the DE0-Nano-SoC is in that price range, and it's
replacement the DE10-Nano is in-between ($130).
>> --
>> website: http://www.machinekit.io blog: http://blog.machinekit.io github:
>> https://github.com/machinekit
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Machinekit" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to machinekit+...@googlegroups.com.
>> Visit this group at https://groups.google.com/group/machinekit.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
>



--
Charles Steinkuehler
cha...@steinkuehler.net

Chris Albertson

unread,
Dec 23, 2017, 6:53:35 PM12/23/17
to Charles Steinkuehler, Machinekit Mailing List

That makes more sense.  I read the specs and these will boot Linux from an SD card.  You can download the image.   Then after that it looks like you are building everything from source yourself.

If I were doing development on this little board I would put all the files in my home directory on a NAS and share them over NFS to the development board.  Running off an SD card is impossibly slow especially when doing things like building kernel from source.

It is to bad these don't do a network boot, then you just keep everything on the NAS and don't have to mess with SD cards.   But do put the home directories on an NFS star.  I do that with all by Pi and eagle cards

I had a project that I thought might require an FPGA. It was controlling four servo motors in a four wheel drive mobile robot.  Each  motor had it's own encoder that could in the worst case make 11,000 pulses per second.   I was going to put the PID loops inside an FPGA.   But them found out an Arm cortex-4 at 100MHz could handle the interrupt rate.   Then I found that ARM chips haver hardware quadrature decoding up to abuot 1MHz pulse rate so they don't even use the CPU.   So I didn't use an FPGA.  But I was lookngat his one. that are only $14 on eBay



> Sorry, wrong link.  I mean the Arty Z7 with the dual-core ARM Cortex A9:
>
> http://store.digilentinc.com/arty-z7-apsoc-zynq-7000-development-board-for-makers-and-hobbyists/
>


--

Chris Albertson
Redondo Beach, California

automata

unread,
Jan 7, 2018, 1:21:27 AM1/7/18
to Machinekit
Hi Charles,

I managed to get machinekit running on the Zed board and Zturn board.

I used instructions on this site to get petalinux kernel loaded.

I used mksocfpga repo from Cameroon: https://github.com/cmcquinn/mksocfpga
As his scripts were Vivado version independent (or atleast worked for Vivado version 2017.2). The mksocfpga is stuck on vivado 2015.4 and I could only be compiled on the docker image

I also followed these instructions from Xilinx to make sure I had an RT kernel with petalinux: https://pastebin.com/Pk04f5At

I also used a rootfs from rcn: https://rcn-ee.com/rootfs/2017-10-12/elinux/ 

Then it was putting the petalinux generated files: BOOT.BIN, image.ub and system.dtb into a boot partition on SD card. Copying the rootfs on the SD card rootfs partition. 

Then download the machinekit source from the github repo. Install the dependencies (there are a lot of those) and compile and launch machinekit. 

I do want to harmonize the above steps with the official machinekit versions but I am not able to figure it out.

Hope you can help with that part.

Regards,
-automata.

Charles Steinkuehler

unread,
Jan 10, 2018, 8:53:12 PM1/10/18
to machi...@googlegroups.com
Thanks!

All the links are very helpful. I'm quite familiar with the Altera
side of the SoC+FPGA stuff since I work with that at my day job, but
I'm not nearly as familiar with the Zynq.
>> cha...@steinkuehler.net <javascript:>
>>
>


--
Charles Steinkuehler
cha...@steinkuehler.net

Doc Cotton

unread,
Feb 16, 2018, 6:43:30 PM2/16/18
to Machinekit
Hi Charles;
I recently purchased one of these boards with the dual arm processor hoping to use it for cnc control using machineKit.
https://www.crowdsupply.com/krtkl/snickerdoodle
from the specs any thoughts on if it will work. Also linux has been ported to the chip already.
It might work for the zynq image generation?
thanks
Doc

Cameron McQuinn

unread,
Feb 22, 2018, 2:48:29 AM2/22/18
to Machinekit
Hi Doc,

I also have a Snickerdoodle, and am working on getting Machinekit running on it. It still has a long ways to go before it is functional, but I am making progress. I wrote up some instructions for how I built my rootfs, and posted them in a gist. Hopefully my procedure is clear enough for you to follow.

Sometime in the next few days, I hopefully will find time to sit down and write a detailed forum post outline the current state of my efforts to get Machinekit fully up and running on Snickerdoodle, so I can get help from the community to overcome some problems I have run into.

Best,
Cameron

Doc Cotton

unread,
Feb 26, 2018, 8:26:11 PM2/26/18
to Machinekit
Charles;
I also have a snickerdoodle black that I had planned to use with machinekit for CNC control. I would be interested in helping by beta testing etc. let me know.
thanks
Bill



On Thursday, December 21, 2017 at 6:45:37 PM UTC-7, Charles Steinkuehler wrote:

Doc Cotton

unread,
Feb 26, 2018, 8:33:58 PM2/26/18
to Machinekit
Charles;
I have the linux sd card for the snickerdoodle. Can that image be used to recompile machinekit? or do we have to start from scratch?
thanks
Doc



On Thursday, December 21, 2017 at 6:45:37 PM UTC-7, Charles Steinkuehler wrote:
Reply all
Reply to author
Forward
0 new messages