Skip to content

Commit

Permalink
Fixing/Improving README instruction, setting examples to use stable w…
Browse files Browse the repository at this point in the history
…olfSSL releases
  • Loading branch information
msi-debian authored and msi-debian committed Mar 4, 2025
1 parent 4c90fc6 commit f325f3f
Show file tree
Hide file tree
Showing 4 changed files with 113 additions and 113 deletions.
41 changes: 23 additions & 18 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,19 +2,21 @@

<a href="https://www.nxp.com"> <img src="https://mcuxpresso.nxp.com/static/icon/nxp-logo-color.svg" width="125" style="margin-bottom: 40px;" /> </a> <a href="https://www.wolfssl.com"> <img src="Images/wolfssl_logo_300px.png" width="100" style="margin-bottom: 40px" align=right /> </a>

This Repo is currently a work in progress and some items are placeholders.
This repo is currently a work in progress, and some items are placeholders.

## How to Use
The projects in this repo are intended to be used with NXP's [MCUXpresso for VS-code plugin](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc800-arm-cortex-m0-plus-/mcuxpresso-for-visual-studio-code:MCUXPRESSO-VSC?cid=wechat_iot_303216).

To use a demo project simply use the provided `setup.sh` or `setup.bat` on the given project you want to run.
To use a demo project, simply use the provided `setup.sh` on the given project you want to run.

All Projects were initially tested with `Zephyr v4.0.0` and `Zephyr SDK 0.16.8`

### 1. Setup

#### Example
MacOS and Linux:
```
cd \path\to\nxp-appcodehub
cd /path/to/nxp-appcodehub
./setup.sh dm-wolfssl-tls-hello-server-with-zephyr
```
Expected Output:
Expand All @@ -28,33 +30,36 @@ mcuxpresso-tools.json created.
settings.json created.
```

This creates the necassary base files that the plugin needs to import the project correctly.
This creates the necessary base files that the plugin needs to import the project correctly.

The default board is the FRDM-MCXN947, if you wanted to use a different board like the `mimxrt1060_evkb`, then add a second argument to the command like so:
The default board is the FRDM-MCXN947. If you want to use a different board, like the `mimxrt1060_evkb`, add a second argument to the command like so:
```
./setup.sh dm-wolfmqtt-button-publisher-client-with-zephyr mimxrt1060_evkb
```

You may need to double check the `proj.conf` settings of the project to disable and/or enable drivers specific for the board.
You may need to double-check the `proj.conf` settings of the project to disable and/or enable drivers specific for the board.

### 2. Import the Project

Assuming you have the necassary software describe in the readme for the given
project, you simple need to go to the MCUXpresso plugin menu and select `Import Project` as seen in the figure below.
Assuming you have the necessary software described in the README for the given
project, you simply need to go to the MCUXpresso plugin menu and select `Import Project` as seen in the figure below.

[<img src="Images/Plugin-Menu.png" width="200"/>](Images/Plugin-Menu.png)

Once you select `Import Project` select the path for the desired project you want to run. This will then detect the type of Project it. You will need to setup any repositories and SDK's through the plugin options.
Once you select `Import Project`, select the path for the desired project you want to run. This will then detect the type of project. You will need to set up any repositories and SDKs through the plugin options.

In the figure below the imported project is of the type `Zephyr` and this means it needs to point to the Zephyr SDK and Repository. These need can be install via the `Import Repository` and the `MCUXpresso Installer` options seen in the previous menu
In the figure below, the imported project is of the type `Zephyr`, which means it needs to point to the Zephyr SDK and Repository. These can be installed via the `Import Repository` and the `MCUXpresso Installer` options seen in the previous menu.

[<img src="Images/Import-Menu.png" width="500"/>](Images/Import-Menu.png)

Once you select the `Repository` and `SDK` you want to use with the imported project hit the `Import` button.
Once you select the `Repository` and `SDK` you want to use with the imported project, hit the `Import` button.

## Setting Up wolfSSL, wolfMQTT, and wolfSSH

Currently with the way the projects are setup you will need to add wolfSSL, wolfSSH, wolfMQTT, ect to the `west.yml` file inside the Zephyr Repo thats specified during the importation of the project.
Currently, with the way the projects are set up, you will need to add wolfSSL, wolfSSH, wolfMQTT, etc., to the `west.yml` file inside the Zephyr repo specified during the import of the project.

So for example the following would be added to `/Users/night1rider/Documents/VS-Code/Zephyr-Main/zephyr/west.yml`
and then a `west update` performed inside that directory to update the repositories available to `Zephyr`.

```
manifest:
Expand All @@ -71,21 +76,21 @@ manifest:
# <your other projects>
- name: wolfssl
path: modules/crypto/wolfssl
revision: master
revision: v5.7.6-stable
remote: wolfssl
- name: wolfssh
path: modules/lib/wolfssh
revision: master
revision: v1.4.18-stable
remote: wolfssh
- name: wolfmqtt
path: modules/lib/wolfmqtt
revision: master
revision: v1.19.1
remote: wolfmqtt
```

For more Zephyr Specific examples look at the following README's:
For more Zephyr-specific examples, look at the following READMEs:
- [wolfSSL](https://github.com/wolfSSL/wolfssl/tree/master/zephyr)
- [wolfSSH](https://github.com/wolfSSL/wolfshh/tree/master/zephyr)
- [wolfSSH](https://github.com/wolfSSL/wolfssh/tree/master/zephyr)
- [wolfMQTT](https://github.com/wolfSSL/wolfmqtt/tree/master/zephyr)


62 changes: 27 additions & 35 deletions dm-wolfmqtt-publisher-client-with-zephyr/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,12 @@

## wolfSSL MQTT AWS Test using Zephyr RTOS

This demo demostrate capabilities of new FRDM-MCXN947.
This demo demonstrates the capabilities of the new FRDM-MCXN947.

### Demo
Simple conencts to a AWS broker subscribes, and publishes a message.
Simply connects to an AWS broker, subscribes, and publishes a message.

*This is currently not a stable demo on the FRDM-MCXN947 Board*
*This is currently not a stable demo on the FRDM-MCXN947 Board.*

#### Boards: FRDM-MCXN947
#### Categories: RTOS, Zephyr, Networking
Expand All @@ -27,7 +27,7 @@ Simple conencts to a AWS broker subscribes, and publishes a message.
8. [Release Notes](#step8)

## 1. Software<a name="step1"></a>
- [MCUXpresso for VScode 1.5.61 or newer](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc800-arm-cortex-m0-plus-/mcuxpresso-for-visual-studio-code:MCUXPRESSO-VSC?cid=wechat_iot_303216)
- [MCUXpresso for VSCode 1.5.61 or newer](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/lpc800-arm-cortex-m0-plus-/mcuxpresso-for-visual-studio-code:MCUXPRESSO-VSC?cid=wechat_iot_303216)

- [Zephyr Setup](https://docs.zephyrproject.org/latest/develop/getting_started/index.html)
- [wolfSSL as a Module added to Zephyr](https://github.com/wolfSSL/wolfssl/blob/master/zephyr/README.md)
Expand All @@ -46,48 +46,43 @@ Simple conencts to a AWS broker subscribes, and publishes a message.
- gcc
- git

- Zephyr:
- SDK 0.16.8
- Version 4.0.0

## 2. Hardware<a name="step2"></a>
- [FRDM-MCXN947.](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-n94x-and-n54x-mcus-with-dual-core-arm-cortex-m33-eiq-neutron-npu-and-edgelock-secure-enclave-core-profile:MCX-N94X-N54X)
- [FRDM-MCXN947](https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontrollers/general-purpose-mcus/mcx-arm-cortex-m/mcx-n94x-and-n54x-mcus-with-dual-core-arm-cortex-m33-eiq-neutron-npu-and-edgelock-secure-enclave-core-profile:MCX-N94X-N54X)
[<img src="Images/FRDM-MCXN947-TOP.jpg" width="300"/>](Images/FRDM-MCXN947-TOP.jpg)
- USB Type-C cable.
- Ethernet Cable.
- USB Type-C cable
- Ethernet cable
- Networking/Router
- Personal Computer.

- Personal Computer

## 3. Setup<a name="step3"></a>

### 3.1 Import the Project and build
1. Follow section 1: `Setup` in the top level [README](../README.md)
2. Under the "Projects" tab, right click the project and choose "build selected", this should result in no errors.
### 3.1 Import the Project and Build
1. Follow section 1: `Setup` in the top-level [README](../README.md).
2. Under the "Projects" tab, right-click the project and choose "Build Selected." This should result in no errors.

[<img src="Images/Setup3-1.png" width="400"/>](Images/Setup3-1.png)

The project should be called `dm-wolfmqtt-publisher-client-with-zephyr`.


### 3.2 Connect hardware
1. Connect the FRDM-MCXN947 to you computer with the provided USB-C Cable

2. Connect the FRDM-MCXN947 to your network with a ethernet cable
### 3.2 Connect Hardware
1. Connect the FRDM-MCXN947 to your computer with the provided USB-C cable.
2. Connect the FRDM-MCXN947 to your network with an Ethernet cable.

### 3.4 Program and Run the Server
1. Flash the .elf to FRDM-MCXN947, Can be done with right clicking the project and choosing to "flash the selected target"
2. Connect to the Serial Output of the FRDM-MCXN947 via:
- Screen Command - `screen /dev/tty"MCXN-Port 115200`
- Some Serial Terminal you are familiar with
3. Push reset button on the FRDM-MCXN947 board and view the startup message and MQTT demo.
1. Flash the `.elf` file to FRDM-MCXN947. This can be done by right-clicking the project and choosing "Flash the Selected Target."
2. Connect to the serial output of the FRDM-MCXN947 via:
- Screen Command - `screen /dev/tty"MCXN-Port 115200"`
- Any serial terminal you are familiar with.
3. Press the reset button on the FRDM-MCXN947 board and view the startup message and MQTT demo.

[<img src="Images/Results.png" width="500"/>](Images/Results.png)





## 4. Project Options<a name="step4"></a>
Currently there are no extra project options.

Currently, there are no extra project options.

## 5. Project Flowchart<a name="step5"></a>
### Overview
Expand Down Expand Up @@ -194,20 +189,17 @@ No FAQs have been identified for this project.

<!----- Categories ----->


<!----- Peripherals ----->
[![Peripheral badge](https://img.shields.io/badge/Peripheral-UART-yellow)](https://github.com/search?q=org%3Anxp-appcodehub+uart+in%3Areadme&type=Repositories) [![Peripheral badge](https://img.shields.io/badge/Peripheral-ETHERNET-yellow)](https://github.com/search?q=org%3Anxp-appcodehub+ethernet+in%3Areadme&type=Repositories)

<!----- Toolchains ----->
[![Toolchain badge](https://img.shields.io/badge/Toolchain-VS%20CODE-orange)](https://github.com/search?q=org%3Anxp-appcodehub+vscode+in%3Areadme&type=Repositories)

Questions regarding the content/correctness of this example can be entered as Issues within this GitHub repository.

>**Warning**: For more general technical questions regarding NXP Microcontrollers and the difference in expected funcionality, enter your questions on the [NXP Community Forum](https://community.nxp.com/)
Questions regarding the content or correctness of this example can be entered as Issues within this GitHub repository.

>**Warning**: For more general technical questions regarding NXP Microcontrollers and differences in expected functionality, enter your questions on the [NXP Community Forum](https://community.nxp.com/).
## 8. Release Notes<a name="step8"></a>
| Version | Description / Update | Date |
|:-------:|------------------------------------------------|----------------------------:|
| 1.0 | Initial release on Application Code Hub | TBD|
|:-------:|-----------------------------------------------|----------------------------:|
| 1.0 | Initial release on Application Code Hub | TBD |
Loading

0 comments on commit f325f3f

Please sign in to comment.