Debian Hello World: Difference between revisions
From Variscite Wiki
(Created page with "<!-- Set release according to "release" parameter in URL and use RELEASE_SUMO_V1.0_DART-MX8M as default --> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!-- --> {{#lst:De...") |
|||
Line 41: | Line 41: | ||
} | } | ||
</pre> | </pre> | ||
ESC :wq! and save the file, | ESC :wq! and save the file, | ||
== Compile code on Target == | == Compile code on Target == | ||
# gcc myhello.c -o myhello.out | # gcc myhello.c -o myhello.out |
Revision as of 05:24, 17 July 2020
DART-MX8M-MINI Audio Record/Play
Build a sample C "Hello, world!" program (Cross Compiling)
Create a file called myhello.c with the following content:
#include <stdio.h> int main() { printf("Hello, World!\n"); return 0; }
Export the C (cross-)compiler path:
$ export CC=~/var_mx8mm_dart_debian_buster/toolchain/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
Compile:
$ $CC myhello.c -o myhello
Now you should have an app called myhello, that can be run on your target board.
You can add it to your rootfs image or copy it directly to the rootfs on the board (using scp, for example).
Build a sample C "Hello, world!" program on Target
One of the biggest advantages of having Debian OS is you can compile your code directly on the target. Although not recommended as linking big programs can take entire memory but for smaller test is sufficient. This reduces back and forth transfer of the compiled binary between host PC. On Target:
Getting Ready target to install tools
# apt-get install -y gcc g++ automaker cmake build-essential vim
Create myhello.c file via vim
# vim myhello.c
Paste below code,
#include <stdio.h> int main() { printf("Hello, World!\n"); return 0; }
ESC :wq! and save the file,
Compile code on Target
# gcc myhello.c -o myhello.out
Execute on Target
# ./myhello.out Hello, World! #
# gcc myhello.c -o myhello.out