User Tools

Site Tools


getting_started:write_app:use_on_cb20

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
getting_started:write_app:use_on_cb20 [2021/03/24 16:02] ursgrafgetting_started:write_app:use_on_cb20 [2023/04/12 16:05] – [Use Existing Project] ursgraf
Line 2: Line 2:
 Back to [[getting_started:install:use_with_cb20|]]. Back to [[getting_started:install:use_with_cb20|]].
  
-Edit the file ''config.sh.in'' as follows +You will use C++ to develop your EEROS applications. For this you need at least some knowledge of the basic language featuresA good starting point might be [[https://www.cplusplus.com/doc/tutorial/]]. Minimal help can also be found under [[tools:cplusplus|]].
-<code> +
-use_simulator=false +
-use_flink=true +
-use_bbblue=false +
-use_comedi=false +
-use_ros=false +
-use_can=false +
-use_custom_application=true +
-use_cross_compilation_environment=true +
-use_ros_setup_script=false +
-</code>+
  
-The entry ''use_cross_compilation_environment'' ensures that you compile using an SDK built for the target platform. Make sure to install the SDK by +What do you want to do next?
-  * downloading the SDK from [[https://wiki.bu.ost.ch/infoportal/software/linux/images/start|Linux Images]]  +
-  * installing the SDK as described in [[https://wiki.bu.ost.ch/infoportal/software/linux/toradex/toradex-sdk]]+
  
-Edit the file ''config.sh.in'' as follows +  * [[getting_started:write_app:use_on_cb20#Say Hello with EEROS|]] 
-<code> +  * [[getting_started:write_app:use_on_cb20#Use Existing Project|]] 
-environment_setup_script=/opt/tdx-xwayland/5.0.0/environment-setup-armv7at2hf-neon-tdx-linux-gnueabi+ 
 +===== Say Hello with EEROS ===== 
 + 
 +  - Create a project directory and change into it with <code> 
 +$ mkdir hello 
 +$ cd hello 
 </code> </code>
-This will guide your make script to use the SDKMake sure that the above path matches your installation path.+  - Create a text file "main.cpp" and copy the following code into it <code cpp> 
 +#include <iostream> 
 +#include <eeros/logger/Logger.hpp> 
 +#include <eeros/logger/StreamLogWriter.hpp> 
 +  
 +int main() { 
 +  using namespace eeros::logger; 
 +  
 +  Logger::setDefaultStreamLogger(std::cout); 
 +  Logger log = Logger::getLogger(); 
 +  
 +  log.info() << "Hello, EEROS";
  
-If you want to use CAN, choose  +  return 0; 
-<code> +}
-use_can=true+
 </code> </code>
 +  - Create a text file "CMakeLists.txt" and copy the following text into it: <code cpp>
 +cmake_minimum_required(VERSION 3.10)
 +project(helloworld)
  
-Setting the entry ''use_custom_application'' to //true// will fetch an existing application from a git repository. Per default this will will be [[https://github.com/eeros-project/simple-motor-control.git]]. However, you could choose another repository in ''config.sh.in''. Or you could set the entry to //false// if you want to develop your own application\\ +set(CMAKE_CXX_STANDARD 14) 
-Now you can run the ''clone'' script  +find_package(EEROS REQUIRED) 
-<code> + 
-./clone.sh+add_executable(helloworld main.cpp) 
 +target_link_libraries(helloworld PRIVATE eeros) 
 +</code>  
 +  - Create a build directory and change into it with <code> 
 +mkdir build-armhf 
 +$ cd build-armhf 
 </code> </code>
 +  - Source the script for the SDK which has been installed in [[getting_started:install:use_on_bbb#Install_SDK_on_the_Host|Install SDK on the Host]] with <code>
 +$ . ~/ost-devel/tdx-xmayland/5.1.0/environment-setup-armv7at2hf-neon-tdx-linux-gnueabi
 +</code> This step has to be done only once. However, you have to repeat it as soon as you open another shell.
 +  - Build the project with <code>
 +$ cmake ..
 +$ make
 +</code>
 +  - Make changes to "main.cpp", save them and rebuild with <code>
 +$ make
 +</code> In order to be able to write your own EEROS programs, you could use any text editor. However, we recommend to use an integrated development environment, see [[getting_started:kdevelop|]].
  
-After this you can continue with [[getting_started:compile_eeros|]].+Continue with [[getting_started:deploy:deploy_cb20|]].
  
 +===== Use Existing Project =====
 +As an example we use the [[getting_started:tutorials:oneaxis|]] demo program.
 +  - Clone the code for the project and change into the directory <code>
 +$ git clone https://github.com/eeros-project/simple-motor-control.git
 +$ cd simple-motor-control
 +</code>
 +  - Create a build directory and change into it with <code>
 +$ mkdir build-armhf
 +$ cd build-armhf 
 +</code>
 +  - Source the script for the SDK which has been installed in [[getting_started:install:use_on_bbb#Install_SDK_on_the_Host|Install SDK on the Host]] with <code>
 +$ . ~/ost-devel/1.0/environment-setup-cortexa8hf-neon-poky-linux-gnueabi
 +</code> This step has to be done only once. However, you have to repeat it as soon as you open another shell.  - Build the project with <code>
 +$ cmake -DUSE_FLINK=TRUE ..
 +$ make
 +</code>
 +
 +Continue with [[getting_started:deploy:deploy_cb20|]].
  
-==== Test Application ==== 
  
-There is a test application for the cb20 board in [[https://github.com/ntb-ch/cb20.git]] under the directory ///Software//. If you wish to use this you can alter ''config.sh.in'' as follows 
-<code> 
-use_custom_application=true 
-custom_application_name=cb20test 
-</code>   
-and further down 
-<code> 
-custom_application_git_remote_address=https://github.com/ntb-ch/cb20.git 
-custom_application_git_version=master 
  
-custom_application_source_dir="$wd/$custom_application_name/Software/$custom_application_name" 
-custom_application_build_dir="$build_dir/$custom_application_name" 
-</code>   
  
-Now you can run the ''clone'' script  
-<code> 
-$ ./clone.sh 
-</code> 
  
-After this you can continue with [[getting_started:compile_eeros|]]. 
  
getting_started/write_app/use_on_cb20.txt · Last modified: 2023/04/12 16:05 by ursgraf