Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

12/22/17 [x393][master] by AndreyFilippov: implemented parameter REGB = 2 in infer mode

Elphel GIT logs - Fri, 12/22/2017 - 23:45
AndreyFilippov committed changes to the Elphel git project :
implemented parameter REGB = 2 in infer mode

12/22/17 [x393][master] by AndreyFilippov: included system_defines.vh

Elphel GIT logs - Fri, 12/22/2017 - 23:44
AndreyFilippov committed changes to the Elphel git project :
included system_defines.vh

12/22/17 [x393][master] by AndreyFilippov: simulation for last commit

Elphel GIT logs - Fri, 12/22/2017 - 17:38
AndreyFilippov committed changes to the Elphel git project :
simulation for last commit

12/22/17 [x393][master] by AndreyFilippov: completed Bayer MCLT (some cleanup and more testing is needed)

Elphel GIT logs - Fri, 12/22/2017 - 17:38
AndreyFilippov committed changes to the Elphel git project :
completed Bayer MCLT (some cleanup and more testing is needed)

12/22/17 [x393][master] by AndreyFilippov: working more on Bayer version of the MCLT

Elphel GIT logs - Fri, 12/22/2017 - 15:42
AndreyFilippov committed changes to the Elphel git project :
working more on Bayer version of the MCLT

12/22/17 [linux-elphel][rocko] by Oleg Dzhimiev: merged

Elphel GIT logs - Fri, 12/22/2017 - 13:52
Oleg Dzhimiev committed changes to the Elphel git project :
merged

12/22/17 [linux-elphel][rocko] by Oleg Dzhimiev: Merge branch 'master' of https://git.elphel.com/Elphel/linux-elphel

Elphel GIT logs - Fri, 12/22/2017 - 13:44
Oleg Dzhimiev committed changes to the Elphel git project :
Merge branch 'master' of https://git.elphel.com/Elphel/linux-elphel

12/22/17 [linux-elphel][rocko] by Oleg Dzhimiev: + macro to read device name

Elphel GIT logs - Fri, 12/22/2017 - 13:44
Oleg Dzhimiev committed changes to the Elphel git project :
+ macro to read device name

12/21/17 [x393][master] by AndreyFilippov: Working on MCLT version for Bayer data, exploiting symmetry of DTT of checker board data (half zeros)

Elphel GIT logs - Thu, 12/21/2017 - 23:39
AndreyFilippov committed changes to the Elphel git project :
Working on MCLT version for Bayer data, exploiting symmetry of DTT of checker board data (half zeros)

12/21/17 [imagej-elphel][master] by AndreyFilippov: Added code to compare to FPGA

Elphel GIT logs - Thu, 12/21/2017 - 23:38
AndreyFilippov committed changes to the Elphel git project :
Added code to compare to FPGA

12/21/17 [imagej-elphel][master] by AndreyFilippov: previous changes, not committed before

Elphel GIT logs - Thu, 12/21/2017 - 23:37
AndreyFilippov committed changes to the Elphel git project :
previous changes, not committed before

12/21/17 [meta-elphel393][rocko] by Oleg Dzhimiev: updated. rocko - py 3.5.2, jethro - py 2.7.12

Elphel GIT logs - Thu, 12/21/2017 - 16:48
Oleg Dzhimiev committed changes to the Elphel git project :
updated. rocko - py 3.5.2, jethro - py 2.7.12

12/20/17 [x393][master] by AndreyFilippov: Bug fixing while comparing special cases

Elphel GIT logs - Wed, 12/20/2017 - 18:38
AndreyFilippov committed changes to the Elphel git project :
Bug fixing while comparing special cases

12/20/17 [x393][master] by AndreyFilippov: more data for comparison

Elphel GIT logs - Wed, 12/20/2017 - 18:37
AndreyFilippov committed changes to the Elphel git project :
more data for comparison

Updated Poky to Rocko

Elphel Development Blog - Wed, 12/20/2017 - 17:15

We have updated the Yocto build system to Poky Rocko released back in October. Here’s a short summary table of the updates:

before after Poky 2.0 (Jethro) 2.4 (Rocko) gcc 5.3.0 7.2.0 linux kernel 4.0 4.9

Other packages got updates as well:

  • apache2-2.4.18 => apache2-2.4.29
  • php-5.6.16 => php-5.6.31
  • udev-182 changed to eudev-3.2.2, etc.

This new version is in the rocko branch for now but will be merged into master after some transition period (and the current master will be moved to jethro branch). Below are a few tips for future updates.

Poky

It was relatively simple to update the recipes and build the images. Most of the packages were updated to newer versions. One noticeable change is tmp/sysroots/ is not a common location anymore – instead there is the recipe-sysroot/ directory in each recipe’s build directory. Also, our headers didn’t get to the sysroots which got fixed by having:
sysroot_stage_all_append() {
    sysroot_stage_dir ${WORKDIR}/headers/include ${SYSROOT_DESTDIR}/usr/include-uapi
}
We had this task in Jethro but there was another variable used ${STAGING_DIR_TARGET} (instead of ${SYSROOT_DESTDIR})

Linux kernel

It took most of the time to update it.

Luckily our drivers didn’t break but there were a few problems:
 

    1. Serial output

First, we merged our drivers and patches to make the kernel get built at least. After building the kernel the serial output didn’t work – the fix was to switch to earlycon in bootargs in the device tree (in 4.0 ealyprintk still worked):
before:
chosen {
  bootargs = "cma=128M console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootwait rootfstype=ext4";
  linux,stdout-path = "/amba@0/serial@e0000000";
};
after:
chosen {
  bootargs = "earlycon cma=128M root=/dev/mmcblk0p2 rw rootwait rootfstype=ext4";
  stdout-path = "serial0:115200n8";
};
 

    2. Ethernet

Next, there was no ethernet. After some time of debugging the problem was with the device tree again:
before:
phy3: phy@3 {
  compatible = "atheros,8035";
  device_type = "ethernet-phy";
  reg = <0x3>;
};
after:
phy3: phy@3 {
  /* Atheros 8035 */
  compatible = "ethernet-phy-id004d.d072";
  /* compatible = "ethernet-phy-ieee802.3-c22";*/
  device_type = "ethernet-phy";
  reg = <0x3>;
};
The compatible field has to be in a certain format. See the docs.
The next thing has Xilinx switched from xlnx,ps7-ethernet-1.00.a to cdns,zynq-gem (see arch/arm/boot/dts/zynq-7000.dtsi). Didn’t track when – both drivers work. The cdns,zynq-gem is in the mainline, the other is not.
And the last change to the ethernet driver was adding the fixup for Atheros 8035, the network chip we use.
 

    3. Bitstream

Then the bitstream wouldn’t get programmed. It was Xilinx’s problem – new gcc was opting away some of the variables (dma_done) in the driver – they fixed the kernel but didn’t change the hash of the linux-xlnx in the recipe yet (linux-xlnx_2017.3.bb). So, it’s probably coming to 2017.4.
 

    4. Other minor things

Xilinx has changed some of its default config variables and in 4.9 there are a few new dependencies here and there.
The changes made to our config (elphel393.cfg) which is added to the default config for zynq devices:
# This option is for FPGA part
CONFIG_XILINX_DEVCFG=y
# prints time before messages
CONFIG_PRINTK_TIME=y
# dependency for DYNAMIC_DEBUG=y
CONFIG_DEBUG_FS=y
# turned off because old:
CONFIG_XILINX_PS_EMAC=n
CONFIG_XILINX_EMACLITE=n
CONFIG_XILINX_AXI_EMAC=n

 

Applications

udev package switched from udev-182 changed to eudev-3.2.2. udev-182 can copy static device files from /lib/udev/devices/, eudev-3.2.2 does not do this – created a new rule:
ACTION=="add", RUN+="/usr/bin/rsync -a /lib/udev/devices/ /dev/"
This rule adds up ~6 secs to boot time for some reason vs almost nothing if run from the camera init script init_elphel393.py
 

Other notes
  • Reminder: the system boots into initramfs first and runs init built by initramfs-live-boot. The script runs switch_root in the end. udev daemon gets killed and restarted

12/20/17 [x393][master] by AndreyFilippov: renamed data file

Elphel GIT logs - Wed, 12/20/2017 - 14:02
AndreyFilippov committed changes to the Elphel git project :
renamed data file

12/20/17 [x393][master] by AndreyFilippov: Compared through all srages, including phase rotator/fractional pixel shift

Elphel GIT logs - Wed, 12/20/2017 - 11:06
AndreyFilippov committed changes to the Elphel git project :
Compared through all srages, including phase rotator/fractional pixel shift

12/20/17 [x393][master] by AndreyFilippov: removed unneeded register bits

Elphel GIT logs - Wed, 12/20/2017 - 10:10
AndreyFilippov committed changes to the Elphel git project :
removed unneeded register bits

12/20/17 [x393][master] by AndreyFilippov: more debugging

Elphel GIT logs - Wed, 12/20/2017 - 00:05
AndreyFilippov committed changes to the Elphel git project :
more debugging

12/20/17 [x393][master] by AndreyFilippov: rotated data to compare

Elphel GIT logs - Wed, 12/20/2017 - 00:04
AndreyFilippov committed changes to the Elphel git project :
rotated data to compare

Pages

Subscribe to www3.elphel.com aggregator