nxp-mcuxpresso / mcux-sdk-examples Goto Github PK
View Code? Open in Web Editor NEWMCUXpresso SDK Examples
License: Other
MCUXpresso SDK Examples
License: Other
Hello, i took complete sdk for rt1176 from mcuxpresso.nxp.com see:
Multicore examples cm7 side cannot be built as cm7 example has targets flexspi_nor_debug|release and cm4 has debug|release targets. CM7 is expecting M4 binary at ..//flexspi_nor_debug|release but binary is placed at debug|release folder.
erpc_matrix_multiply_mu_rtos.zip -> tak look into armgcc build_.sh and CmakeList.txt for both cores.
I noticed that when i was trying to use standalone app bellow
erpc_matrix_multiply_mu_rtos_cm4_erpc_matrix_multiply_mu_rtos_cm7.zip
Issue is at least in rpmsg and mu examples. Not sure if in others too.
Hi, this is not critical issue. Just wanted to ask if these configuration setup is intended or if it can be improved.
First:
Why component folder has two different name. One is for standalone example 'component' and one is for sdk package 'components'. Mentioned example has also more components inside its component folder. So the issue is then that in standalone example include for cmake needs use ../component/<component folder>
path and SDK ../components/<component folder>
. Could be confusing when you are searching and investigating between these two sources (e.g adding additional component from sdk to modified example).
Second:
@MichalPrincNXP maybe you will be interested in this one.
E.g. if you compare standalone package for mentioned example and power_mode_switch, you will notice that mentioned example has two folders with files which all are appearing in power_mode_switch example just in one folder. Would be nice to use just one approach, so it would be easier to compare differencies:
+
vs
These differencies are there very long time....
At present, the CMakeLists.txt file selects the component_osa
component, see: https://github.com/nxp-mcuxpresso/mcux-sdk-examples/blob/main/frdmk66f/usb_examples/usb_device_audio_generator/freertos/armgcc/CMakeLists.txt#L120
This means they all[1] fail to compile with a missing implementation of OSA_ExitCritical
Now, another freertos example for the K66, https://github.com/nxp-mcuxpresso/mcux-sdk-examples/blob/main/frdmk66f/component_examples/log/freertos/armgcc/CMakeLists.txt#L79 instead selects thecomponent_osa_free_rtos
That example builds, and indeed, using that component in the usb examples fixes them all.
however the https://github.com/nxp-mcuxpresso/mcux-sdk/blob/main/components/osa/component_osa.cmake file over in core, attempts to handle lots of different CPUs directly, but does not have any IF blocks for K66, so that fails.
Either please, at your desire, add the IF blocks to the component_osa.cmake in core, or, in this repo, switch all the examples that use component_osa
to use component_osa_free_rtos
Using the script below, this apparently only affects frmdk64, frdmk66, and rdrw612bga
[1]
$ ack --type=cmake 'include(component_osa)' /usb_examples//freertos | cut -d'/' -f1-3
At least under K66, the following examples use free_rtos explicit form
frdmk66f/usb_examples/usb_device_composite_cdc_msc_disk
frdmk66f/usb_examples/usb_device_msc_disk
frdmk66f/usb_examples/usb_device_mtp
frdmk66f/usb_examples/usb_host_audio_recorder
And the remainder all use the broken form, and fail to compile
frdmk66f/usb_examples/usb_device_audio_speaker
frdmk66f/usb_examples/usb_device_cdc_vcom
frdmk66f/usb_examples/usb_device_cdc_vnic
frdmk66f/usb_examples/usb_device_composite_cdc_msc_disk
frdmk66f/usb_examples/usb_device_composite_cdc_msc
frdmk66f/usb_examples/usb_device_composite_cdc_vcom_cdc_vcom
frdmk66f/usb_examples/usb_device_composite_hid_audio_unified
frdmk66f/usb_examples/usb_device_composite_hid_mouse_hid_keyboard
frdmk66f/usb_examples/usb_device_hid_generic
frdmk66f/usb_examples/usb_device_hid_mouse
frdmk66f/usb_examples/usb_device_msc_disk
frdmk66f/usb_examples/usb_device_msc_ramdisk
frdmk66f/usb_examples/usb_device_mtp
frdmk66f/usb_examples/usb_device_phdc_weighscale
frdmk66f/usb_examples/usb_device_printer_virtual_plain_text
frdmk66f/usb_examples/usb_device_video_virtual_camera
frdmk66f/usb_examples/usb_host_audio_recorder
frdmk66f/usb_examples/usb_host_audio_speaker
frdmk66f/usb_examples/usb_host_cdc
frdmk66f/usb_examples/usb_host_hid_generic
frdmk66f/usb_examples/usb_host_hid_mouse
frdmk66f/usb_examples/usb_host_hid_mouse_keyboard
frdmk66f/usb_examples/usb_host_msd_command
frdmk66f/usb_examples/usb_host_msd_fatfs
frdmk66f/usb_examples/usb_host_phdc_manager
frdmk66f/usb_examples/usb_host_printer_plain_text
frdmk66f/usb_examples/usb_pin_detect_hid_mouse
frdmk66f/usb_examples/usb_pin_detect_hid_msd
frdmk66f/usb_examples/usb_suspend_resume_device_hid_mouse
frdmk66f/usb_examples/usb_suspend_resume_host_hid_mouse
I'm using the RT685 EVK
in a standard configuration.
The easiest way to reproduce the problem is by using the freertos_swtimer
example.
Since we set SW_TIMER_PERIOD_MS
to (1000 / portTICK_PERIOD_MS)
we expect the timer to go off every second. In reality it goes off every ~500ms.
Hello, i was thinking about asserts. It looks like freertos is using its approach and NXP its approach. I was thinking if these approaches shouldn't be merged.
Could be changed to:
#include <assert.h>
#define configASSERT(x) \
if ((x) == 0) \
{ \
taskDISABLE_INTERRUPTS(); \
assert(x);
}
for casses when fsl_assert.c is used. Nices solution could be if this could be changed to #define configASSERT(x) assert(x); and in fsl_assert.c we could identified that we are inside Freertos task and call also taskDISABLE_INTERRUPTS();
What do you think? This is related to all Freertos examples in sdk i think.
Hi, I have problem with bluetooth example for RT1170-EVK dev board. To be specific it is "edgefast_bluetooth_examples/spp"
It is not woring, when trying to debug, I am getting error messages in serial console:
[wifi_io] Error: Error in wlan_card_status()
[wifi_io] Error: Card timeout wlan_download_normal_fw:361
[wifi] Error: sd_wifi_init failed. status code -1
ASSERT ERROR " WM_SUCCESS == result ": file "/home/mojmir/Dokumenty/SDK/SDK_2_10_0_MIMXRT1170-EVK/middleware/wireless/ethermind/port/pal/mcux/bluetooth/controller/controller_wifi_nxp.c" Line "56" function name "controller_wifi_nxp_init"
But I am afraid that this is caused by attempt to debug program, because the same error I am getting when debugging WiFi example (but it makes sense, as it is independent module).
When I am running this example without debugging, just after power on of board, I get only fragment of error message and nothing else in console (WiFi example is running OK with the same module, but it uses different bus).
Have you been able to run this bluetooth example? Is there any way how to properly debug this?
I built it with armgcc.
Can you tell us where to find examples for the K32W148 EVK as we need to get going with this, the Getting Started section on the website is missing and there appear to be no examples for the SDK
In particular we want to get going with OpenThread/Matter support.
Thanks!
Using the evaluation board(MIMXRT1064-EVK), I am considering a project that incorporates MSC.
I added support for SD card insertion and removal to the sample project(evkmimxrt1064_dev_msc_disk_freertos).
SD card insertion/removal is coded based on the sample project(evkmimxrt1064_sdcard_fatfs_freertos).
It worked, but there is a problem.
When an SD card is reinserted, the PC may recognize the drive immediately or it may take a very long time.
I attach the code I created, please show me what the problem is.
The project is for gui guider. The attached files are compressed file in the gui guider folder.
Since the ZIP file is too large, I attache a 7z file renamed .TXT.
guiguider_training_01_2.7z.txt
This repo does not contain a License file , Kindly add a License file
evkmimxrt1060/evkmimxrt1060_example_manifest_v3_10.xml for tag MCUX_2.13.1 contains Bluetooth application examples in category="edgefast_bluetooth_examples", for example "edgefast_bluetooth_examples/shell".
For evkmimxrt1060/evkmimxrt1060_example_manifest_v3_13.xml for tag MCUX_2.14.0 these have been removed and are not available anymore.
Is there a particular reason that all Bluetooth application examples have been removed for the evkmimxrt1060 for tag MCUX_2.14.0 and later releases?
Almost every SDK examples uses PRINTF macro to forward debug messages.
As an example
This macro is expanded based on SDK_DEBUGCONSOLE
https://github.com/nxp-mcuxpresso/mcux-sdk/blob/78064ea443c7f4523e995e4b7f4ef8b9bfb47974/utilities/debug_console/fsl_debug_console.h#L39-L42
But when DEBUGCONSOLE_REDIRECT_TO_SDK
is selected, the implementation follows this chain:
PRINTF
>> DbgConsole_Printf
>> ... >> SerialManager_WriteBlocking
https://github.com/nxp-mcuxpresso/mcux-sdk/blob/78064ea443c7f4523e995e4b7f4ef8b9bfb47974/components/serial_manager/fsl_component_serial_manager.c#L1713-L1720
and then Serial_UartWrite
https://github.com/nxp-mcuxpresso/mcux-sdk/blob/78064ea443c7f4523e995e4b7f4ef8b9bfb47974/components/serial_manager/fsl_component_serial_port_uart.c#L287
then HAL_UartSendBlocking
https://github.com/nxp-mcuxpresso/mcux-sdk/blob/78064ea443c7f4523e995e4b7f4ef8b9bfb47974/components/uart/fsl_adapter_iuart.c#L327
and this falls to UART_WriteBlocking
https://github.com/nxp-mcuxpresso/mcux-sdk/blob/78064ea443c7f4523e995e4b7f4ef8b9bfb47974/drivers/iuart/fsl_uart.c#L681
I would like knowing if NXP designed this kind of macro expansion so that is there an easy way to have it falling back to some functions from FreeRTOS implementation
https://github.com/nxp-mcuxpresso/mcux-sdk/blob/78064ea443c7f4523e995e4b7f4ef8b9bfb47974/drivers/iuart/fsl_uart_freertos.c
Hi,
the usb stack middleware release notes say:
The current version of USB stack is 2.8.1.
- 2.8.1
- Improvement:
- update USB audio demos to use audio component (components\audio).
- Add the checking of function call return value.
- Add audio multiple channels demo (usb_device_composite_audio_multi_ch_unified) on RT600 audio board.
- Fix audio noise on sync mode and improve overflow/underflow checking method.
- Support UAC 3.1, 5.1 and 7.1 on audio speaker demo.
- Set USB device CDC demo not to depend on DTR setting from host.
- Support MCUX toolchain on some RTxxxx platforms.
- 2.8.0
- Improvement:
- Fix the USB device stack vulnerability issues.
- Update the audio PLL and FRO adjustment codes for audio examples in RTxxx, LPC54xxx and LPC55xxx.
The usb audio examples for lpc54114 are missing completely and the mentioned usb_device_composite_audio_multi_ch_unified example for RT600 is missing as well. That makes me wonder if the other improvements (like "Fix audio noise on sync mode and improve overflow/underflow checking method") were actually applied to the current (sdk 2.11) RT600 usb audio examples? I would appreciate it if that could be confirmed as it is hard to track for myself because there is only one commit (at least for evkmimxrt685/usb_examples/usb_device_composite_hid_audio_unified/freertos/audio_unified.c).
For the lpc54628 usb audio examples a few things are missing from the projects (eg. component/audio), so they only build if the missing files are copied from other examples.
https://github.com/nxp-mcuxpresso/mcux-sdk-examples/blob/main/evkmimx8mp/driver_examples/rdc/
IMX8MP evaluation board: SCH-46370 REV B1
Affected BSP: All BSPs from NXP website with kernel lf-5.10.y and lf-5.15.y
MCUXpresso SDK version: SDK_2.13.0_EVK-MIMX8MP
Testing Procedure:
Case 1, in U-Boot:
load mmc 2:2 0x70000000 lib/firmware/rdc.bin
cp.b 70000000 0x7e0000 20000
bootaux 0x7e0000
Case 2, in Linux:
echo -n rdc.elf > /sys/class/remoteproc/remoteproc0/firmware
echo start > /sys/class/remoteproc/remoteproc0/state
Expected Output:
RDC Example:
RDC Peripheral access control
RDC Peripheral access control with SEMA42
RDC memory region access control
RDC Example Success
Actual Output (in both cases):
RDC Example:
RDC Peripheral access control
I also tried running each of the three test cases APP_RDC_Periph(), APP_RDC_PeriphWithSema42() and APP_RDC_Mem() by commenting out the other two, all failed. Even though HardFault_Handler was triggered, memDemoError
equals 3
in Fault_Handler.
However, the same RDC example for IMX8MM evk works perfectly:
https://github.com/nxp-mcuxpresso/mcux-sdk-examples/tree/main/evkmimx8mm/driver_examples/rdc
IMX8MM evaluation board: SCH-31407 REV C4
Tested BSP: All BSPs from NXP website with kernel lf-5.10.y and lf-5.15.y
MCUXpresso SDK version: SDK_2.13.0_EVK-MIMX8MM
The examples do not work without adding the line BOARD_InitPins();
to BOARD_InitBootPins()
void BOARD_InitBootPins(void)
{
BOARD_InitPins();
}
void BOARD_InitBootPins(void)
{
BOARD_InitPins();
}
void BOARD_InitBootPins(void)
{
BOARD_InitPins();
}
void BOARD_InitBootPins(void)
{
BOARD_InitPins();
}
Hi,
i am able to run m4 examples with using script evkmimxrt1170_connect_cm4_cm4side.jlinkscript
and swd.
I am not able to run m4 examples with script evkmimxrt1170_connect_cm4_cm4side_sdram.jlinkscript
.
Main issue is that i am not able to run m4 side in dual core with using any jlinkscript file. Use case:
I want merge multicre mu example with lvgl example. I want let lvgl part on m4 side. MU without lvgl is working well (as there is non sdram target for m4 core). When m4 core is filled with lvgl files the memory target has to be changed to use SDRAM memory. As i am not able to run m4 core with sdram target in single mode, i am also not able to achieve that in multicore mode.
Open-CMSIS-pack is an interesting project that
Create a flexible and easy to use end to end development flow - from project creation to execution of the software on real or virtual hardware - for embedded software
It defines a csolution format for project structure (see here).
It would be great if MCUX DSK example could be released in csolution format.
Do you have a roadmap for this?
In the examples, I noted this define: USB_DEVICE_WORKAROUND_AUDIO_20_WINDOWS, confirmed that you can either get it to run on windows, or mac, but not both...
Since an audio class device is expected to run on both macOS, Linux and Windows, any plans to fix this "compile time workaround"? Would be great if the official NXP UAC2 device driver could get a little update to work cross-platform.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.