Skip to step 6
$ cd ~ $ mkdir nuttxspace
$ cd ~/nuttxspace $ sudo apt install -y bison flex gettext texinfo libncurses5-dev libncursesw5-dev gperf automake libtool pkg-config build-essential gperf genromfs libgmp-dev libmpc-dev libmpfr-dev libisl-dev binutils-dev libelf-dev libexpat-dev gcc-multilib g++-multilib picocom u-boot-tools util-linux $ sudo apt install -y kconfig-frontends $ sudo apt install -y gcc-arm-none-eabi binutils-arm-none-eabi
$ git clone https://github.com/apache/nuttx.git nuttx $ git clone https://github.com/apache/nuttx-apps apps
$ cp -R RTOS/nuttx/wolfssl ~/nuttxspace/apps/crypto/wolfssl
WOLFSSL_DIR
must be the path to the original wolfssl repo:$ cd ~/nuttxspace/apps/crypto/wolfssl $ WOLFSSL_DIR=<path-to-wolfssl-repo> ./setup-wolfssl.sh
$ cd ~/nuttxspace/nuttx $ ./tools/configure.sh -l <board>:nshIf you are using wolfSSL for TLS you should use the
netnsh
target if your board supports it$ ./tools/configure.sh -l <board>:netnsh
EXAMPLES:
- For NuttX Simulator:
$ ./tools/configure.sh sim:nsh
- For BL602 (RISC-V):
$ ./tools/configure.sh -l bl602evb:nsh
- For NUCLEO-L552ZE-Q (Cortex-M33):
$ ./tools/configure.sh -l nucleo-l552ze:nsh
- For NUCLEO-H753ZI:
$ ./tools/configure.sh -l nucleo-h743zi:nsh
- For NUCLEO-F756ZG:
./tools/configure.sh -l nucleo-144:f746-nsh
Start custom configuration system:
$ make menuconfig
Configure NuttX to enable the wolfSSL crypto library test applications:
.config
fileIf you are using wolfSSL for TLS you should use the netnsh
target and should enable an NTP or some for of system time keeping so that wolfSSL has the current date to check certificates. You will also need to set the right networking settings for NuttX to connect to the internet.
Build NuttX and wolfSSL:
$ make
Flash the target
./nuttx
STM32_Programmer_CLI -c port=swd -d ./nuttx.bin 0x08000000
Connect to the target with a serial monitoring tool, the device on linux is usually /dev/ttyACM0 but it may vary
Run the wolfcrypt benchmark and/or test in the NuttX Shell:
nsh> wolfcrypt_test nsh> wolfcrypt_benchmark nsh> wolfssl_client_server