Hi Cameron,

Thanks for your response. I will be trying the debian jessie rootfs image 
you suggested.

Can you provide any reference on how to copy the kernel modules from your 
custom built kernel to the rootfs.
The kernel I am using is the Xilinx linux-xlnx from petalinux17.02 with the 
Preempt_rt patch.

Awesome work on making the projects independent of Vivado version. Just 
tried your repo with 2017.2. 

So you have any pointers on making and deploying the device tree files. I 
have been trying to understand it for the last two days but have not been 
able to get anything going on the device tree front. Any pointers on what 
to do with the .dts file generated from the 
$carrier/$carrier$config_created/$carrier$config_ol.dts file? That file 
essentially lists the AXI base address in the bitfile design.

Thanks for the awesome work.

Regards,

-automata

On Friday, November 3, 2017 at 1:23:34 AM UTC+5:30, Cameron McQuinn wrote:
>
> Hi automata,
>
> With regards to Linux, I have actually switched from using the ubuntu 
> distribution provided by KRTKL to using a Debian Jessie image that I 
> created myself using qemu-debootstrap. That way, I can just install the 
> pre-built machinekit packages. I followed the instructions on the Debian 
> wiki (
> https://wiki.debian.org/EmDebian/CrossDebootstrap#QEMU.2Fdebootstrap_approach),
>  
> and then installed the kernel modules for my custom-compiled kernel into 
> the rootfs after debootstrap finished. I don't plan on trying to make this 
> work on Ubuntu.
>
> Now to answer your question about Vivado versions. In the TCL scripts for 
> the block diagrams, there is a section that includes the line `set 
> scripts_vivado_version` which checks to make sure that the script is being 
> run in the version of Vivado that generated it. If you remove that section, 
> the script will run in any version of Vivado. The other issue is that 
> Vivado versions after 2015.4 default to using what is called "out of 
> context" builds for the IP, which causes problems when building the hm2 
> firmware_id module because it tries to initialize from a file that lives in 
> the project directory, not the IP directory. To fix this, you have to add 
> some lines to the project template that force Vivado to use a global 
> context when building the IPs. See this 
> <https://github.com/cmcquinn/mksocfpga/pull/1> pull request in my 
> personal fork of the mksocfpga repo for details.
>
> Let me know if you have any other questions.
>
> Good luck,
> Cameron
>
> On Thursday, November 2, 2017 at 12:40:34 AM UTC-6, automata wrote:
>>
>> hi Cameron,
>>
>> I posted this on the snickerdoodle group by mistake. Reposting here as 
>> the questions are mainly Machinekit related.
>>
>> ************************ Repost
>> I got the mksoc fpga project for Zturn to build on Vivado 2017.2. I have 
>> also ported the project for Zedboard. I did this by peaking and poking at 
>> the 2015.4 Vivado projects made by JD2 (Many thanks to the-snowwhite and 
>> jd2).
>>
>> Though not being familiar with Xilinx tools or tcl, I dont know how to 
>> generate the tcl project build scripts. I would like to try to get then 
>> done with some guidance. My question is "Is there any plan to account for 
>> the various versions of Vivado in the mksocfpga repository?" For each 
>> Vivado version, do we require a new script to generate the IP wrappers and 
>> other files?
>>
>> I compiled the mksocfpga bitfile and loaded it on the Zturn and Zed 
>> boards with a bare metal application and was able to write to the various 
>> GPIO, LEDs, and hm2_uarts using the memory map in the regmap. Need to try 
>> the encoder and SPI components still. 
>>
>> I am stuck at the linux part. I compiled preempt RT version of the 
>> petalinux kernel supplied by Xilinx. I have put up the instructions for 
>> that here ( https://pastebin.com/Pk04f5At  )
>>
>> Using the instruction here ( 
>> https://medium.com/developments-and-implementations-on-zynq-7000-ap/install-ubuntu-16-04-lts-on-zynq-zc702-using-petalinux-2016-4-e1da902eaff7
>>  ) 
>> I created an Ubuntu root file system image. The only change to the 
>> instructions I made was which particular root file system to use and how to 
>> generate the bit file. I used an Ubuntu 16.04.3 rootfs by rcn from here 
>> https://rcn-ee.com/rootfs/2017-10-12/elinux/ubuntu-16.04.3-console-armhf-2017-10-12.tar.xz
>>  which 
>> includes a C compiler. 
>>
>> However, in this process I lost the ethernet connection on the Zturn 
>> board. Ethernet works during uboot and u boot can get a dhcp IP. But after 
>> the linux kernel boots it does not provide a wired networking interface. My 
>> most likely guess is the device tree is not setup correctly.  I have been 
>> reading about how to use device tree and get the ethernet port working on 
>> the above system.
>>
>> Anyways, Using the C compiler, I compiled a dumb C application that can 
>> write directly to the AXI memory mapped registers for the HM2  offsets in 
>> regmap. Instructions on writing the C application here 
>> 1. 
>> http://fpga.org/2013/05/28/how-to-design-and-access-a-memory-mapped-device-part-two/
>> 2. http://svenand.blogdrive.com/files/gpio-dev-mem-test.c
>>
>> From the hardware side, I have been able to use a logic analyser to test 
>> the output signals.  I have also routed the Uart Rx to Uart Tx and read 
>> back the data sent.  So I think hm2 fpga i.e.,  mksocfpga is working.
>>
>> Further I want to fall inline with the machinekit way of doing things. 
>> i.e., use the mainline kernel and debian jessie or stretch filesystems and 
>> U-boot-spl instead of Xilinx fsbl for the first stage boot loader. But, I 
>> don't have a clue on how to go about this. 
>>
>> Any help and pointers are appreciated.
>>
>> Regards,
>>
>> -automata
>>
>> On Friday, October 20, 2017 at 11:21:14 PM UTC+5:30, Cameron McQuinn 
>> wrote:
>>>
>>> Hi everyone,
>>>
>>> I am trying to get MachineKit running on a Snickerdoodle Black dev board 
>>> from Krtkl. My goal is to eventually get mksocfpga running and build a 3D 
>>> printer controlled remotely via MachineFace.
>>>
>>> I managed to compile MachineKit from source, and am trying to start it 
>>> using the 5i25-zynq configuration (I don't actually have a bitstream to 
>>> program the FPGA yet, just trying to get MK running). Starting from the 
>>> command line, MachineKit errors out because the rtapi app gets terminated 
>>> due to "stack smashing". Output to from the terminal is as follows:
>>>
>>> MACHINEKIT - 0.1
>>> Machine configuration directory is 
>>> '/home/snickerdoodle/machinekit/./configs/hm2-soc-stepper'
>>> Machine configuration file is '5i25-zynq.ini'
>>> Starting Machinekit...
>>> *** stack smashing detected ***: rtapi:0 terminated
>>> halcmd: cant connect to rtapi_app: -1 (uri= 
>>> uuid=a42c8c6b-4025-4f83-ba28-dad21114744a): rtapi_rpc(): reply timeout
>>>
>>> E: 17-10-20 11:16:04 dangling 'DEALER' socket created at 
>>> hal/utils/halcmd_rtapiapp.cc:281
>>> io started
>>> halcmd: cant connect to rtapi_app: -1 (uri= 
>>> uuid=a42c8c6b-4025-4f83-ba28-dad21114744a): rtapi_rpc(): reply timeout
>>>
>>> halcmd: the rtapi:0 RT demon is not running - please investigate 
>>> /var/log/linuxcnc.log
>>> E: 17-10-20 11:16:11 dangling 'DEALER' socket created at 
>>> hal/utils/halcmd_rtapiapp.cc:281
>>> halcmd loadusr io started
>>> halcmd: cant connect to rtapi_app: -1 (uri= 
>>> uuid=a42c8c6b-4025-4f83-ba28-dad21114744a): rtapi_rpc(): reply timeout
>>>
>>> The lines starting with "halcmd:" are repeated until MK finally cleans 
>>> everything up and quits.
>>>
>>> Operating system is Ubuntu 16.04, running an rt_preempt kernel that I 
>>> compiled from source. Running "uname -a" gives "Linux snickerdoodle 
>>> 4.9.0-rt1-snickerdoodle-68568-gfc719c0-dirty #1 SMP Tue Oct 10 19:54:36 MDT 
>>> 2017 armv7l armv7l armv7l GNU/Linux". Contents of linuxcnc.log are at 
>>> https://pastebin.com/0UPpnCb7. Git log shows:
>>> commit 15d5a3f6b1ac1760d3ec68c853b5c1e2e0101533
>>> Merge: d88049e def2443
>>> Author: Bas de Bruijn
>>> Date:   Fri Oct 13 09:53:46 2017 +0200
>>>
>>> Interestingly, I have to "export FLAVOR=rt-preempt" in the shell before 
>>> attempting to start machinekit, or else it tries to load rtapi_app_posix, 
>>> which I did not compile.
>>>
>>> If anyone can point me towards a solution and help me get MachineKit 
>>> running, I would be very grateful.
>>>
>>> Thanks,
>>> Cameron
>>>
>>

-- 
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+unsubscr...@googlegroups.com.
Visit this group at https://groups.google.com/group/machinekit.
For more options, visit https://groups.google.com/d/optout.

Reply via email to