Development for 10393
create new project
← Older revision Revision as of 00:12, 30 March 2017 (7 intermediate revisions by the same user not shown)Line 1: Line 1: ===Setup environment=== ===Setup environment=== −[[Poky_2.0_manual#Setup|Instructions]]+Get sources and build default images: [[Poky_2.0_manual#Setup|Instructions]] + +====setup.py==== +* clones all projects +* rerun to update all repositories - then rebuild with bitbake +* creates a working copy of projects-default.json - projects.json + +====check_versions.py==== +* compares software versions on the 10393 vs current sources + ~$ ./check_versions.py root@192.168.0.9 + ===Flash vs micro SD=== ===Flash vs micro SD=== * micro SD cards work best for development * micro SD cards work best for development Line 10: Line 20: ** limited write cycles ** limited write cycles ** because of overlayfs changes need an extra sync (overlay_sync) and a proper reboot to get written to the flash. ** because of overlayfs changes need an extra sync (overlay_sync) and a proper reboot to get written to the flash. + +===Environment tree=== +<font size='2'> + '''elphel393''' + ├── '''bootable-images -> poky/build/tmp/deploy/images/elphel393/''' - poky generated boot images + ├── '''fpga-elphel''' - fpga projects, matching recipes are in ''meta/meta-elphel393/recipes-core/'' + │ ├── '''x359''' + │ ├── '''x393''' + │ └── '''x393_sata''' + ├── '''linux-elphel''' - kernel - a kernel tree with Elphel's sources only - it is merged with the full kernel tree + ├── '''meta''' - extra recipe layers for poky + │ ├── '''meta-elphel393''' - Elphel's recipes: fpga, device tree, kernel and applications, lots of bbappends + │ ├── '''meta-ezynq''' - Elphel's recipes for u-boot + │ ├── '''meta-openembedded''' - recipes (like PHP) that were not included in poky 2.0 + │ ├── '''meta-swupdate''' - swupdate recipes (not yet used) + │ └── '''meta-xilinx''' - Xilinx's recipes, help to build kernel and device tree + ├── '''poky''' - poky tree + │ ├── '''build''' + │ │ └── '''conf''' + │ │ ├── '''bblayers.conf''' - paths to extra layers (generated by setup.py) + │ │ └── <font color='red'>'''local.conf'''</font> - have a look inside, local configuration (generated by setup.py) + │ └── '''meta''' - poky's recipes + ├── '''rootfs-elphel''' - user applicatons projects and init scripts, matching recipes are found in ''meta/meta-elphel393/recipes-core/'' + │ ├── '''elphel-apps-autocampars''' - camera parameters manager - setup, store/restore, set default + │ ├── '''elphel-apps-autoexposure''' - autoexposure daemon + │ ├── '''elphel-apps-camogm''' - recorder program + │ ├── '''elphel-apps-editconf''' + │ ├── '''elphel-apps-gps''' - gps receiver application + │ ├── '''elphel-apps-histograms''' - histograms + │ ├── '''elphel-apps-imgsrv''' - image server + │ ├── '''elphel-apps-php-extension''' - php functions, compiled as a php extension (part of php recipe) + │ ├── '''elphel-apps-tempmon''' - temperature monitor + │ ├── '''elphel-init''' - system init script + │ ├── '''elphel-udev-rules''' - udev rules: drive automount + │ ├── '''elphel-web-393''' - web GUIs + │ ├── '''elphel-web-camvc''' - main control GUI, ported from 353 + │ └── '''elphel-web-hwmon''' - hardware monitor + └── '''tools''' + └── '''elphel-tools-update''' - useful scripts, e.g. create bootable mmc + +===Change repository address, branch, hash=== +* change uri: edit ''elphel393/projects.json'' +* change hash: edit ''elphel393/projects.json'': + "elphel-apps-camogm":[ + "https://git.elphel.com/Elphel/elphel-apps-camogm.git", + "master","" '''<- leave empty to get the latest, add hash to freeze''' + ], + +* change branch: ''edit elphel393/poky/build/conf/local.conf'' + ELPHEL393_branches += "elphel-apps-camogm:framepars" + ===Kernel=== ===Kernel=== +====Add new driver==== +* examples in ''elphel393/linux-elphel/src'' +** add new files to the tree +** do not forget KConfig and Makefiles +** change kernel config in ''elphel393_fixold/meta/meta-elphel393/recipes-kernel/linux/config/elphel393.cfg'' - clean then rebuild the kernel. The cfg file gets copied to the poky's kernel build directory. ===Applications=== ===Applications=== +====Create new project==== +The best reference projects are in ''elphel393/rootfs-elphel/'' +* Place project files to ''elphel393/rootfs-elphel/'' +* Create a recipe in ''elphel393/meta/meta-elphel393/.../'' +* In the recipe set package name - it will go to the rootfs recipe ''elphel393/meta/meta-elphel393/recipes-core/images/'''''core-image-elphel393.bb''' +* bitbake core-image-elphel393 + +====Project structure==== +=====recipe===== + elphel393/meta/meta-elphel393/recipes-core/init/init_1.0.bb + +'''Note:''' The recipe and the project sources are in different repos + +=====in repository===== + rootfs-elphel/elphel-init/ + ├── eclipse_project_setup + ├── LICENSE + ├── Makefile + ├── README.md + ├── run_bitbake.sh + ├── src + │ ├── init_elphel393 + │ ├── init_elphel393.py + │ ├── init_elphel393.sh + │ ├── init_eyesis12.sh + │ ├── init_eyesis_bottom2.sh + │ └── Makefile + └── VERSION + +=====after building===== + rootfs-elphel/elphel-init/ + ├── <font color='green'>bitbake-logs -> /.../elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/init/1_0-60/temp</font> + ├── eclipse_project_setup + ├── <font color='green'>image -> /.../elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/init/1_0-60/image</font> + ├── LICENSE + ├── Makefile + ├── README.md + ├── run_bitbake.sh + ├── src + │ ├── init_elphel393 + │ ├── init_elphel393.py + │ ├── init_elphel393.sh + │ ├── init_eyesis12.sh + │ ├── init_eyesis_bottom2.sh + │ └── Makefile + ├── <font color='green'>sysroots -> /home/oleg/GIT/elphel393_fixold/poky/build/tmp/sysroots</font> + └── VERSION −===Projects structure===+</font> [[Category:393]] [[Category:393]] OlegDevelopment for 10393
← Older revision
Revision as of 00:12, 30 March 2017
(6 intermediate revisions by the same user not shown)Line 1:
Line 1:
===Setup environment=== ===Setup environment===
−[[Poky_2.0_manual#Setup|Instructions]]+Get sources and build default images: [[Poky_2.0_manual#Setup|Instructions]]
+
+====setup.py====
+* clones all projects
+* rerun to update all repositories - then rebuild with bitbake
+* creates a working copy of projects-default.json - projects.json
+
+====check_versions.py====
+* compares software versions on the 10393 vs current sources
+ ~$ ./check_versions.py root@192.168.0.9
+
===Flash vs micro SD=== ===Flash vs micro SD===
* micro SD cards work best for development * micro SD cards work best for development
Line 10:
Line 20:
** limited write cycles ** limited write cycles
** because of overlayfs changes need an extra sync (overlay_sync) and a proper reboot to get written to the flash. ** because of overlayfs changes need an extra sync (overlay_sync) and a proper reboot to get written to the flash.
+
+===Environment tree===
+<font size='2'>
+ '''elphel393'''
+ ├── '''bootable-images -> poky/build/tmp/deploy/images/elphel393/''' - poky generated boot images
+ ├── '''fpga-elphel''' - fpga projects, matching recipes are in ''meta/meta-elphel393/recipes-core/''
+ │ ├── '''x359'''
+ │ ├── '''x393'''
+ │ └── '''x393_sata'''
+ ├── '''linux-elphel''' - kernel - a kernel tree with Elphel's sources only - it is merged with the full kernel tree
+ ├── '''meta''' - extra recipe layers for poky
+ │ ├── '''meta-elphel393''' - Elphel's recipes: fpga, device tree, kernel and applications, lots of bbappends
+ │ ├── '''meta-ezynq''' - Elphel's recipes for u-boot
+ │ ├── '''meta-openembedded''' - recipes (like PHP) that were not included in poky 2.0
+ │ ├── '''meta-swupdate''' - swupdate recipes (not yet used)
+ │ └── '''meta-xilinx''' - Xilinx's recipes, help to build kernel and device tree
+ ├── '''poky''' - poky tree
+ │ ├── '''build'''
+ │ │ └── '''conf'''
+ │ │ ├── '''bblayers.conf''' - paths to extra layers (generated by setup.py)
+ │ │ └── <font color='red'>'''local.conf'''</font> - have a look inside, local configuration (generated by setup.py)
+ │ └── '''meta''' - poky's recipes
+ ├── '''rootfs-elphel''' - user applicatons projects and init scripts, matching recipes are found in ''meta/meta-elphel393/recipes-core/''
+ │ ├── '''elphel-apps-autocampars''' - camera parameters manager - setup, store/restore, set default
+ │ ├── '''elphel-apps-autoexposure''' - autoexposure daemon
+ │ ├── '''elphel-apps-camogm''' - recorder program
+ │ ├── '''elphel-apps-editconf'''
+ │ ├── '''elphel-apps-gps''' - gps receiver application
+ │ ├── '''elphel-apps-histograms''' - histograms
+ │ ├── '''elphel-apps-imgsrv''' - image server
+ │ ├── '''elphel-apps-php-extension''' - php functions, compiled as a php extension (part of php recipe)
+ │ ├── '''elphel-apps-tempmon''' - temperature monitor
+ │ ├── '''elphel-init''' - system init script
+ │ ├── '''elphel-udev-rules''' - udev rules: drive automount
+ │ ├── '''elphel-web-393''' - web GUIs
+ │ ├── '''elphel-web-camvc''' - main control GUI, ported from 353
+ │ └── '''elphel-web-hwmon''' - hardware monitor
+ └── '''tools'''
+ └── '''elphel-tools-update''' - useful scripts, e.g. create bootable mmc
+
+===Change repository address, branch, hash===
+* change uri: edit ''elphel393/projects.json''
+* change hash: edit ''elphel393/projects.json'':
+ "elphel-apps-camogm":[
+ "https://git.elphel.com/Elphel/elphel-apps-camogm.git",
+ "master","" '''<- leave empty to get the latest, add hash to freeze'''
+ ],
+
+* change branch: ''edit elphel393/poky/build/conf/local.conf''
+ ELPHEL393_branches += "elphel-apps-camogm:framepars"
+
===Kernel=== ===Kernel===
+====Add new driver====
+* examples in ''elphel393/linux-elphel/src''
+** add new files to the tree
+** do not forget KConfig and Makefiles
+** change kernel config in ''elphel393_fixold/meta/meta-elphel393/recipes-kernel/linux/config/elphel393.cfg'' - clean then rebuild the kernel. The cfg file gets copied to the poky's kernel build directory.
===Applications=== ===Applications===
+====create new project====
+The best reference projects are in ''elphel393/rootfs-elphel/''
+* Place project files to ''elphel393/rootfs-elphel/''
+* Create a recipe in ''elphel393/meta/meta-elphel393/.../''
+* In the recipe set package name - it will go to the rootfs recipe ''elphel393/meta/meta-elphel393/recipes-core/images/'''''core-image-elphel393.bb'''
+* bitbake core-image-elphel393
+
+====Project structure====
+=====recipe=====
+ elphel393/meta/meta-elphel393/recipes-core/init/init_1.0.bb
+
+'''Note:''' The recipe and the project sources are in different repos
+
+=====in repository=====
+ rootfs-elphel/elphel-init/
+ ├── eclipse_project_setup
+ ├── LICENSE
+ ├── Makefile
+ ├── README.md
+ ├── run_bitbake.sh
+ ├── src
+ │ ├── init_elphel393
+ │ ├── init_elphel393.py
+ │ ├── init_elphel393.sh
+ │ ├── init_eyesis12.sh
+ │ ├── init_eyesis_bottom2.sh
+ │ └── Makefile
+ └── VERSION
+
+=====after building=====
+ rootfs-elphel/elphel-init/
+ ├── <font color='green'>bitbake-logs -> /.../elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/init/1_0-60/temp</font>
+ ├── eclipse_project_setup
+ ├── <font color='green'>image -> /.../elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/init/1_0-60/image</font>
+ ├── LICENSE
+ ├── Makefile
+ ├── README.md
+ ├── run_bitbake.sh
+ ├── src
+ │ ├── init_elphel393
+ │ ├── init_elphel393.py
+ │ ├── init_elphel393.sh
+ │ ├── init_eyesis12.sh
+ │ ├── init_eyesis_bottom2.sh
+ │ └── Makefile
+ ├── <font color='green'>sysroots -> /home/oleg/GIT/elphel393_fixold/poky/build/tmp/sysroots</font>
+ └── VERSION
−===Projects structure===+</font>
[[Category:393]] [[Category:393]]
Oleg
03/29/17 [elphel-apps-camogm][] by Mikhail Karpenko: Merge branch 'multithreaded_aligned'
Mikhail Karpenko committed changes to the Elphel git project :
Merge branch 'multithreaded_aligned'
Merge branch 'multithreaded_aligned'
03/29/17 [elphel-init][] by Oleg Dzhimiev: scripts merged, switched to x393sata_control.py
Oleg Dzhimiev committed changes to the Elphel git project :
scripts merged, switched to x393sata_control.py
scripts merged, switched to x393sata_control.py
03/29/17 [elphel-apps-camogm][] by Mikhail Karpenko: Reset write pointer to start when disk end is reached
Mikhail Karpenko committed changes to the Elphel git project :
Reset write pointer to start when disk end is reached
Reset write pointer to start when disk end is reached
03/29/17 [elphel-apps-camogm][master-initial] by Mikhail Karpenko: Fix incorrect mapping of splitted frame
Mikhail Karpenko committed changes to the Elphel git project :
Fix incorrect mapping of splitted frame
Fix incorrect mapping of splitted frame
03/29/17 [elphel-apps-camogm][] by Mikhail Karpenko: WIP: Write aligned frames to block device
Mikhail Karpenko committed changes to the Elphel git project :
WIP: Write aligned frames to block device
WIP: Write aligned frames to block device
Development for 10393
← Older revision
Revision as of 18:23, 29 March 2017
(One intermediate revision by the same user not shown)Line 1:
Line 1:
===Setup environment=== ===Setup environment===
−[[Poky_2.0_manual#Setup|Instructions]]+Get sources and build default images: [[Poky_2.0_manual#Setup|Instructions]]
+
===Flash vs micro SD=== ===Flash vs micro SD===
* micro SD cards work best for development * micro SD cards work best for development
Line 10:
Line 11:
** limited write cycles ** limited write cycles
** because of overlayfs changes need an extra sync (overlay_sync) and a proper reboot to get written to the flash. ** because of overlayfs changes need an extra sync (overlay_sync) and a proper reboot to get written to the flash.
+
+===Environment tree===
+<font size='2'>
+ '''elphel393'''
+ ├── '''bootable-images -> poky/build/tmp/deploy/images/elphel393/''' - poky generated boot images
+ ├── '''fpga-elphel''' - fpga projects, matching recipes are in ''meta/meta-elphel393/recipes-core/''
+ │ ├── '''x359'''
+ │ ├── '''x393'''
+ │ └── '''x393_sata'''
+ ├── '''linux-elphel''' - kernel - a kernel tree with Elphel's sources only - it is merged with the full kernel tree
+ ├── '''meta''' - extra recipe layers for poky
+ │ ├── '''meta-elphel393''' - Elphel's recipes: fpga, device tree, kernel and applications, lots of bbappends
+ │ ├── '''meta-ezynq''' - Elphel's recipes for u-boot
+ │ ├── '''meta-openembedded''' - recipes (like PHP) that were not included in poky 2.0
+ │ ├── '''meta-swupdate''' - swupdate recipes (not yet used)
+ │ └── '''meta-xilinx''' - Xilinx's recipes, help to build kernel and device tree
+ ├── '''poky''' - poky tree
+ │ ├── '''build'''
+ │ │ └── '''conf'''
+ │ │ ├── '''bblayers.conf''' - paths to extra layers (generated by setup.py)
+ │ │ └── <font color='red'>'''local.conf'''</font> - have a look inside, local configuration (generated by setup.py)
+ │ └── '''meta''' - poky's recipes
+ ├── '''rootfs-elphel''' - user applicatons projects and init scripts, matching recipes are found in ''meta/meta-elphel393/recipes-core/''
+ │ ├── '''elphel-apps-autocampars''' - camera parameters manager - setup, store/restore, set default
+ │ ├── '''elphel-apps-autoexposure''' - autoexposure daemon
+ │ ├── '''elphel-apps-camogm''' - recorder program
+ │ ├── '''elphel-apps-editconf'''
+ │ ├── '''elphel-apps-gps''' - gps receiver application
+ │ ├── '''elphel-apps-histograms''' - histograms
+ │ ├── '''elphel-apps-imgsrv''' - image server
+ │ ├── '''elphel-apps-php-extension''' - php functions, compiled as a php extension (part of php recipe)
+ │ ├── '''elphel-apps-tempmon''' - temperature monitor
+ │ ├── '''elphel-init''' - system init script
+ │ ├── '''elphel-udev-rules''' - udev rules: drive automount
+ │ ├── '''elphel-web-393''' - web GUIs
+ │ ├── '''elphel-web-camvc''' - main control GUI, ported from 353
+ │ └── '''elphel-web-hwmon''' - hardware monitor
+ └── '''tools'''
+ └── '''elphel-tools-update''' - useful scripts, e.g. create bootable mmc
===Kernel=== ===Kernel===
Oleg
Poky 2.0 manual
Environment tree
← Older revision Revision as of 23:45, 28 March 2017 (5 intermediate revisions by the same user not shown)Line 100: Line 100: '''Notes:''' '''Notes:''' * '''deployed''' = running on the target system * '''deployed''' = running on the target system + +{| +|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal]] +|} ==<font color="blue">Build</font>== ==<font color="blue">Build</font>== Line 145: Line 149: * '''rootfs.tar.gz''' * '''rootfs.tar.gz''' * '''rootfs.ubi''','''rootfs.ubifs''' * '''rootfs.ubi''','''rootfs.ubifs''' + +==<font color="blue">Environment tree</font>== +===top project=== +* [https://git.elphel.com/Elphel/elphel393.git elphel393.git] + +{| class='wikitable' +!file +!description +|- +| '''projects-default.json''' +| +* list of cloned repositories and tree structure +* copy of this file makes a working copy - '''projects.json''' +|- +| '''setup.py''' +| +* creates a working copy from default and parses the contents +* rerun to update all repositories - then rebuild using bitbake +* generates a default ''local.conf'' for poky pre-configured for 10393 +|- +| '''check_versions.py''' +| local repository vs running on target hardware version checker +|} + +===default paths=== +<font size='2'> + '''elphel393''' + ├── '''bootable-images -> poky/build/tmp/deploy/images/elphel393/''' - poky generated boot images + ├── '''fpga-elphel''' - fpga projects, matching recipes are in ''meta/meta-elphel393/recipes-core/'' + │ ├── '''x359''' + │ ├── '''x393''' + │ └── '''x393_sata''' + ├── '''linux-elphel''' - kernel - a kernel tree with Elphel's sources only - it is merged with the full kernel tree + ├── '''meta''' - extra recipe layers for poky + │ ├── '''meta-elphel393''' - Elphel's recipes: fpga, device tree, kernel and applications, lots of bbappends + │ ├── '''meta-ezynq''' - Elphel's recipes for u-boot + │ ├── '''meta-openembedded''' - recipes (like PHP) that were not included in poky 2.0 + │ ├── '''meta-swupdate''' - swupdate recipes (not yet used) + │ └── '''meta-xilinx''' - Xilinx's recipes, help to build kernel and device tree + ├── '''poky''' - poky tree + │ ├── '''build''' + │ │ └── '''conf''' + │ │ ├── '''bblayers.conf''' - paths to extra layers (generated by setup.py) + │ │ └── <font color='red'>'''local.conf'''</font> - have a look inside, local configuration (generated by setup.py) + │ └── '''meta''' - poky's recipes + ├── '''rootfs-elphel''' - user applicatons projects and init scripts, matching recipes are found in ''meta/meta-elphel393/recipes-core/'' + │ ├── '''elphel-apps-autocampars''' - camera parameters manager - setup, store/restore, set default + │ ├── '''elphel-apps-autoexposure''' - autoexposure daemon + │ ├── '''elphel-apps-camogm''' - recorder program + │ ├── '''elphel-apps-editconf''' + │ ├── '''elphel-apps-gps''' - gps receiver application + │ ├── '''elphel-apps-histograms''' - histograms + │ ├── '''elphel-apps-imgsrv''' - image server + │ ├── '''elphel-apps-php-extension''' - php functions, compiled as a php extension (part of php recipe) + │ ├── '''elphel-apps-tempmon''' - temperature monitor + │ ├── '''elphel-init''' - system init script + │ ├── '''elphel-udev-rules''' - udev rules: drive automount + │ ├── '''elphel-web-393''' - web GUIs + │ ├── '''elphel-web-camvc''' - main control GUI, ported from 353 + │ └── '''elphel-web-hwmon''' - hardware monitor + └── '''tools''' + └── '''elphel-tools-update''' - useful scripts, e.g. create bootable mmc + +===project structure (example: elphel-init)=== +====recipe==== + elphel393/meta/meta-elphel393/recipes-core/init/init_1.0.bb + +'''Note:''' The recipe and the project sources are in different repos + +====in repository==== + rootfs-elphel/elphel-init/ + ├── eclipse_project_setup + ├── LICENSE + ├── Makefile + ├── README.md + ├── run_bitbake.sh + ├── src + │ ├── init_elphel393 + │ ├── init_elphel393.py + │ ├── init_elphel393.sh + │ ├── init_eyesis12.sh + │ ├── init_eyesis_bottom2.sh + │ └── Makefile + └── VERSION + +====after building==== + rootfs-elphel/elphel-init/ + ├── <font color='green'>bitbake-logs -> /.../elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/init/1_0-60/temp</font> + ├── eclipse_project_setup + ├── <font color='green'>image -> /.../elphel393/poky/build/tmp/work/cortexa9-neon-poky-linux-gnueabi/init/1_0-60/image</font> + ├── LICENSE + ├── Makefile + ├── README.md + ├── run_bitbake.sh + ├── src + │ ├── init_elphel393 + │ ├── init_elphel393.py + │ ├── init_elphel393.sh + │ ├── init_eyesis12.sh + │ ├── init_eyesis_bottom2.sh + │ └── Makefile + ├── <font color='green'>sysroots -> /home/oleg/GIT/elphel393_fixold/poky/build/tmp/sysroots</font> + └── VERSION + +</font> ==<font color="blue">Notes</font>== ==<font color="blue">Notes</font>== OlegPoky 2.0 manual
← Older revision
Revision as of 22:33, 28 March 2017
(One intermediate revision by the same user not shown)Line 100:
Line 100:
'''Notes:''' '''Notes:'''
* '''deployed''' = running on the target system * '''deployed''' = running on the target system
+
+{|
+|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal]]
+|}
==<font color="blue">Build</font>== ==<font color="blue">Build</font>==
Line 145:
Line 149:
* '''rootfs.tar.gz''' * '''rootfs.tar.gz'''
* '''rootfs.ubi''','''rootfs.ubifs''' * '''rootfs.ubi''','''rootfs.ubifs'''
+
+==<font color="blue">Environment tree</font>==
+===top project===
+* [https://git.elphel.com/Elphel/elphel393.git elphel393.git]
+
+{| class='wikitable'
+!file
+!description
+|-
+| '''projects-default.json'''
+|
+* list of cloned repositories and tree structure
+* copy of this file makes a working copy - '''projects.json'''
+|-
+| '''setup.py'''
+|
+* creates a working copy from default and parses the contents
+* rerun to update all repositories - then rebuild using bitbake
+* generates a default local.conf for poky pre-configured for 10393
+|-
+| '''check_versions.py'''
+| local repository vs running on target hardware version checker
+|}
+
==<font color="blue">Notes</font>== ==<font color="blue">Notes</font>==
Oleg
Poky 2.0 manual
Compare built vs deployed software versions
← Older revision Revision as of 20:50, 28 March 2017 Line 100: Line 100: '''Notes:''' '''Notes:''' * '''deployed''' = running on the target system * '''deployed''' = running on the target system + +{| +|[[File:Check versions.png|thumb|400px|check_versions.py output in terminal]] +|} ==<font color="blue">Build</font>== ==<font color="blue">Build</font>== OlegDevelopment for 10393
← Older revision
Revision as of 20:42, 28 March 2017
(One intermediate revision by the same user not shown)Line 1:
Line 1:
===Setup environment=== ===Setup environment===
− +[[Poky_2.0_manual#Setup|Instructions]]
===Flash vs micro SD=== ===Flash vs micro SD===
* micro SD cards work best for development * micro SD cards work best for development
Oleg
Development for 10393
Created page with "===Setup environment=== ===Flash vs micro SD=== * micro SD cards work best for development ** replaceable ** changes get written to the card, no extra sync required * flash..."
New page
===Setup environment======Flash vs micro SD===
* micro SD cards work best for development
** replaceable
** changes get written to the card, no extra sync required
* flash works best for a production system:
** non-replaceable
** limited write cycles
** because of overlayfs changes need an extra sync (overlay_sync) and a proper reboot to get written to the flash.
===Kernel===
===Applications===
===Projects structure===
[[Category:393]] Oleg
03/28/17 [imagej-elphel][master] by AndreyFilippov: deleted already moved code
AndreyFilippov committed changes to the Elphel git project :
deleted already moved code
deleted already moved code
03/28/17 [imagej-elphel][master] by AndreyFilippov: extracted classes to separate files
AndreyFilippov committed changes to the Elphel git project :
extracted classes to separate files
extracted classes to separate files
Poky 2.0 manual
Compile devicetree
← Older revision Revision as of 20:01, 28 March 2017 (7 intermediate revisions by the same user not shown)Line 60: Line 60: * '''rootfs.ubifs''', '''rootfs.ubi''', '''rootfs.tar.gz''' - rootfs in different formats * '''rootfs.ubifs''', '''rootfs.ubi''', '''rootfs.tar.gz''' - rootfs in different formats −They are found poky's deploy directory '''elphel393/poky/build/tmp/deploy/images/elphel393/''', linked to+They are found at '''elphel393/bootable-images/''', which is a link (for convenience) to poky's deploy directory '''elphel393/poky/build/tmp/deploy/images/elphel393/''' −'''elphel393/bootable-images/''' for convenience. * complete set of files for rootfs in NAND Flash: ''elphel393/bootable-images/nand/'' * complete set of files for rootfs in NAND Flash: ''elphel393/bootable-images/nand/'' Line 81: Line 80: ==<font color="blue">Setup</font>== ==<font color="blue">Setup</font>== −* <font size='2'> <font size='2'> git clone https://git.elphel.com/Elphel/elphel393.git git clone https://git.elphel.com/Elphel/elphel393.git Line 91: Line 89: </font> </font> −==<font color="blue">Compare '''built''' vs '''running on target system''' software</font>==+'''Notes:''' −*+* The last line builds all targets. + +==<font color="blue">Compare '''built''' vs '''deployed''' software versions</font>== <font size='2'> <font size='2'> cd elphel393 cd elphel393 Line 98: Line 98: </font> </font> −==<font color="blue">Build bootloader</font>==+'''Notes:''' +* '''deployed''' = running on the target system + +==<font color="blue">Build</font>== + +===<font color="blue">All targets</font>=== + bitbake u-boot device-tree linux-xlnx core-image-elphel393 + +===<font color="blue">Bootloader</font>=== <font size='2'> <font size='2'> − bitbake u-boot-ezynq − or bitbake u-boot bitbake u-boot − or − bitbake virtual/bootloader </font> </font> ====Output==== ====Output==== Line 111: Line 115: ====Notes==== ====Notes==== −* Since Poky 1.5.1 switched from u-boot-xlnx to u-boot - some of the u-boot-xlnx reached the upstream+* Since Poky 1.5.1: switched from u-boot-xlnx to u-boot - some of the u-boot-xlnx reached the upstream −* Since Poky 1.5.1 u-boot introduced Kconfig and currently (as of 2016/01/22) is still migrating from autoconf - keeping both build methods working together.+* Since Poky 1.5.1: u-boot introduced Kconfig and currently (as of 2016/01/22) is still migrating from autoconf - keeping both build methods working together. * Current u-boot uses the board's device tree blob to make a stripped version for itself - uncompiled device tree files are present in the u-boot sources * Current u-boot uses the board's device tree blob to make a stripped version for itself - uncompiled device tree files are present in the u-boot sources −==<font color="blue">Compile devicetree</font>==+===<font color="blue">Device tree</font>=== <font size='2'> <font size='2'> bitbake device-tree bitbake device-tree Line 122: Line 126: * '''devicetree.dtb''' * '''devicetree.dtb''' −==<font color="blue">Build kernel</font>==+===<font color="blue">Kernel</font>=== <font size='2'> <font size='2'> bitbake linux-xlnx bitbake linux-xlnx − or − bitbake virtual/kernel </font> </font> ====Output==== ====Output==== Line 136: Line 138: * Uncompiled device tree files are present in the linux sources provided by linux-xlnx * Uncompiled device tree files are present in the linux sources provided by linux-xlnx −==<font color="blue">Build ramdisk.image.gz</font>==+===<font color="blue">Rootfs</font>=== <font size='2'> <font size='2'> bitbake core-image-elphel393 bitbake core-image-elphel393 </font> </font> ====Output==== ====Output==== −* '''uramdisk.image.gz''' (the file has *.u-boot extension after it's built)+* '''rootfs.tar.gz''' −* '''rootfs.ubi'''+* '''rootfs.ubi''','''rootfs.ubifs''' −* '''rootfs.ubifs''' ==<font color="blue">Notes</font>== ==<font color="blue">Notes</font>== OlegPoky 2.0 manual
Build kernel
← Older revision Revision as of 19:40, 28 March 2017 (4 intermediate revisions by the same user not shown)Line 81: Line 81: ==<font color="blue">Setup</font>== ==<font color="blue">Setup</font>== −* <font size='2'> <font size='2'> git clone https://git.elphel.com/Elphel/elphel393.git git clone https://git.elphel.com/Elphel/elphel393.git Line 92: Line 91: ==<font color="blue">Compare '''built''' vs '''running on target system''' software</font>== ==<font color="blue">Compare '''built''' vs '''running on target system''' software</font>== −* <font size='2'> <font size='2'> cd elphel393 cd elphel393 Line 100: Line 98: ==<font color="blue">Build bootloader</font>== ==<font color="blue">Build bootloader</font>== <font size='2'> <font size='2'> − bitbake u-boot-ezynq − or bitbake u-boot bitbake u-boot − or − bitbake virtual/bootloader </font> </font> ====Output==== ====Output==== Line 111: Line 105: ====Notes==== ====Notes==== −* Since Poky 1.5.1 switched from u-boot-xlnx to u-boot - some of the u-boot-xlnx reached the upstream+* Since Poky 1.5.1: switched from u-boot-xlnx to u-boot - some of the u-boot-xlnx reached the upstream −* Since Poky 1.5.1 u-boot introduced Kconfig and currently (as of 2016/01/22) is still migrating from autoconf - keeping both build methods working together.+* Since Poky 1.5.1: u-boot introduced Kconfig and currently (as of 2016/01/22) is still migrating from autoconf - keeping both build methods working together. * Current u-boot uses the board's device tree blob to make a stripped version for itself - uncompiled device tree files are present in the u-boot sources * Current u-boot uses the board's device tree blob to make a stripped version for itself - uncompiled device tree files are present in the u-boot sources Line 125: Line 119: <font size='2'> <font size='2'> bitbake linux-xlnx bitbake linux-xlnx − or − bitbake virtual/kernel </font> </font> ====Output==== ====Output==== OlegEyesis4Pi 393 User Guide - Recording
Stop
← Older revision Revision as of 01:59, 28 March 2017 (5 intermediate revisions by the same user not shown)Line 42: Line 42: Important Notice: Use a fan to cool the camera's pole when shooting indoors. Important Notice: Use a fan to cool the camera's pole when shooting indoors. </b> </b> +{| +|[[File:Eyesis4pi393 gui access.png|thumb|500px|GUI access]] +|} + <br/><br/> <br/><br/> Line 187: Line 191: <br> <br> + +== Troubleshooting == + <!-- <!-- == Downloading IMU/GPS Log == == Downloading IMU/GPS Log == Line 205: Line 212: '''''Note:''' Missing files most likely means that the FPS is too high''. '''''Note:''' Missing files most likely means that the FPS is too high''. --> --> + == Links == == Links == OlegPages
