Open main menu

DAVE Developer's Wiki β

Changes

DESK-MX8M-L/Development/Hello World example

194 bytes removed, 1 February
Setting the cross-compiler
!colspan="4" style="width:100%; text-align:left"; border-bottom:solid 2px #ededed"|History
|-
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Version
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Issue Date
!style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#73B2C7; padding:5px; color:white"|Notes
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|1.0.0{{oldid|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"16121|Feb 2022/02/17}}
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fb; padding:5px; color:#000000"|First DESK-MX8M-L release
|-
|style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fbededed; padding:5px; color:#000000"|{{oldid|17547|2023/02/24}}| style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#ededed; padding:5px; color:#000000" |DESK-MX8M-L-2.0.0release|-! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fbededed; padding:5px; color:#000000"|Feb 2023/08/22|! style="border-left:solid 2px #73B2C7; border-right:solid 2px #73B2C7;border-top:solid 2px #73B2C7; border-bottom:solid 2px #73B2C7; background-color:#edf8fbededed; padding:5px; color:#000000"|DESK-MX8M-L-24.0.0 release
|-
|}
=== Setting the cross-compiler ===
It is assumed that the development environment has been set up properly as described [[DESK-MX8-L#Quick_start_guide|here]].
* start the Linux development VM and login into the system
* open a terminal window and ''cd'' into your source code directory
<pre class="workstation-terminal">
dvdk@vagrant:~$ mkdir -p ~/myprojectdvdk@vagrant:~$ cd ~/myproject/
dvdk@vagrant:~/myproject$ vi hello.c
dvdk@vagrant:~/myproject$ cat hello.c
#include <stdio.h>
int main(){
printf("Hello, World!\n"); return 0;
}
</pre>
* configure the build environment
<pre class="workstation-terminal">
dvdk@vagrant:~/myproject$ source /home/dvdk/desk-mx-l/desk-mx8m-l-24.0.0_env.sh
</pre>
<pre class="workstation-terminal">
dvdk@vagrant:~/myproject$ echo $CC
aarch64-poky-linux-gcc -mcpumarch=cortexarmv8-a53a+crc+crypto -fstack-protector-strong -O2 -D_FORTIFY_SOURCE=2 -Wformat -Wformat-security -Werror=format-security --sysroot=/homeopt/yocto/dvdksdk/desk-mxmx8m-l/sdk/desk-mx8m-l-24.0.0-toolchain/sysroots/aarch64armv8a-poky-linux
dvdk@vagrant:~/myproject$
</pre>
dvdk@vagrant:~/myproject$ $CC hello.c -o hello
dvdk@vagrant:~/myproject$ file hello
hello: ELF 64-bit LSB shared objectpie executable, ARM aarch64, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux-aarch64.so.1, BuildID[sha1]=497fafcb543f87ac45afb33d43506381c3473e7ba7220d78ac1016774b614ce1d50adae71cd713a3, for GNU/Linux 3.14.0, with debug_info, not strippeddvdk@vagrant:~/myproject$
</pre>
<pre class="workstation-terminal">
dvdk@vagrant:~/myproject$ sudo cp hello /home/dvdk/desk-mx-l/rfs/desk-mx8m-l-4.0.0/mx8mp/home/root/dvdk@vagrant:~/myproject$ sudo ls -la /home/dvdk/desk-mx-l/rfs/desk-mx8m-l-4.0.0/mx8mp/home/root/total 2432drwx------ 2 3 root root 4096 Feb 15 18Jul 25 12:53 52 .drwxr-xr-x 3 4 root root 4096 Jan 20 16:44 Mar 9 2018 ..-rwxr-xr-x 1 root root 13256 Feb 15 1813928 Jul 25 12:53 52 hellodrwxr-xr-x 7 root root 4096 Mar 9 2018 .nxp-demo-experience-rw-r--r-- 1 root root 1011 Mar 9 2018 .profile
dvdk@vagrant:~/myproject$
</pre>
on the target:
<preclass="workstation-terminal">
...
...
...
[ OK ] Started NFS status monitor for NFSv2/3 locking..
Starting Permit User Sessions...
[ OK ] Started Target Communication Framework agent.
[ OK ] Started Xinetd A Powerful Replacement For Inetd.
[ OK ] Started Kernel Logging Service.
[ OK ] Started Permit User Sessions.
[ OK ] Started Avahi mDNS/DNS-SD Stack.
[ OK ] Started Getty on tty1.
[ OK ] Started Serial Getty on ttymxc1.
[ OK ] Reached target Login Prompts.
[ OK ] Reached target Multi-User System.
[ OK ] Started Weston, a Wayland .|mpositor, as a system service.[ OK ] Reached target Graphical Interface. Starting Update Record Runlevel Change in UTMP about System Runlevel Changes...[ OK ] Started Update Hostname Service.[ OK ] Started WPA supplicant.[ OK ] Finished Record Runlevel Change in UTMP about System Runlevel Changes.
NXP i.MX Release Distro 5.415-zeus kirkstone desk-mx8mp ttymxc1
desk-mx8mp login: root
root@desk-mx8mp:~#
root@desk-mx8mp:~# ls -la
total 3244drwx------ 3 root root 4096 Dec 15 21Jul 25 10:35 56 .drwxr-xr-x 3 4 root root 4096 Jan 20 Mar 2022 9 2018 ..-rw------- 1 root root 8362 Jul 25 10:53 .bash_historydrwxr-xr-x 7 Dec 15 root root 2021 4096 Mar 9 2018 .bash_historynxp-demo-experience-rw-r--r-- 1 root root 1011 Mar 9 2018 .profile-rwxr-xr-x 1 root root 13256 Dec 15 2113928 Jul 25 10:35 55 helloroot@desk-mx8mp:~# ./hello
Hello, World!
root@desk-mx8mp:~#
8,286
edits