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
getting_started:write_app:use_on_cb20 [2021/03/24 16:02] ursgrafgetting_started:write_app:use_on_cb20 [2023/04/12 16:05] (current) – [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/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 -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.1616598129.txt.gz · Last modified: 2021/03/24 16:02 by ursgraf