embeded/i.mx 8m plus2024. 5. 14. 15:45

fail!!

portaudio는 라이브러리 같은데

반대로.. 리눅스 시스템에서 지원하고 있는 오디오 시스템이 어떻게 되는지 확인하는 방법을 찾아 봐야 할 듯.

 

root@imx8mpevk:~# python3 tone.py 
Traceback (most recent call last):
  File "/home/root/tone.py", line 2, in <module>
    import sounddevice as sd
  File "/usr/lib/python3.11/site-packages/sounddevice.py", line 71, in <module>
    raise OSError('PortAudio library not found')
OSError: PortAudio library not found

 

라즈베리에서는 portaudio를 지원하나 본데 i.mx8 보드에서는 apt로도 설치가 안되는데

귀찮으니(?) 라이브러리 빌드해서 넣어봐야 하나?

sudo apt-get install libportaudio2
sudo apt-get install libasound2-dev

[링크 : https://park-duck.tistory.com/entry/portAudio-library-not-found-에러-해결]

'embeded > i.mx 8m plus' 카테고리의 다른 글

NXP i.mx8mp LF_v6.1.55-2.2.0 테스트  (0) 2023.12.21
missed: not vectorized: relevant stmt not supported:  (0) 2023.08.31
nxp i.mx8mp win iot part 2  (0) 2023.05.26
nxp i.mx8mp win iot  (0) 2023.05.26
rpmsg-lite  (0) 2023.03.23
Posted by 구차니
embeded/i.mx 8m plus2023. 12. 21. 15:51

i.MX Machine Learning User's Guide에 있는거 테스트 해봄

The behavior is as follows:
• If USE_GPU_INFERENCE=1, the graph is executed on the GPU
• Otherwise, the graph is executed on the NPU (if available)
By default, the NPU is used for OpenVX graph execution.

 

전체 실행시간으로는 neon 이 가장 빨랐고, inference 시간으로는 NPU가 가장 빨랐다.

의외로 GPU 가속이 NEON만도 못하다는 충격적인(!) 결과가..

root@imx8mpevk:/usr/bin/tensorflow-lite-2.12.1/examples# time ./label_image 
INFO: Loaded model ./mobilenet_v1_1.0_224_quant.tflite
INFO: resolved reporter
INFO: invoked
INFO: average time: 41.16 ms
INFO: 0.764706: 653 military uniform
INFO: 0.121569: 907 Windsor tie
INFO: 0.0156863: 458 bow tie
INFO: 0.0117647: 466 bulletproof vest
INFO: 0.00784314: 835 suit

real    0m0.173s
user    0m0.520s
sys     0m0.024s
root@imx8mpevk:/usr/bin/tensorflow-lite-2.12.1/examples# time USE_GPU_INFERENCE=0 ./label_image --external_delegate_path=/usr/lib/libvx_delegate.so
INFO: Loaded model ./mobilenet_v1_1.0_224_quant.tflite
INFO: resolved reporter
Vx delegate: allowed_cache_mode set to 0.
Vx delegate: device num set to 0.
Vx delegate: allowed_builtin_code set to 0.
Vx delegate: error_during_init set to 0.
Vx delegate: error_during_prepare set to 0.
Vx delegate: error_during_invoke set to 0.
EXTERNAL delegate created.
INFO: Applied EXTERNAL delegate.
W [HandleLayoutInfer:291]Op 162: default layout inference pass.
INFO: invoked
INFO: average time: 2.861 ms
INFO: 0.768627: 653 military uniform
INFO: 0.105882: 907 Windsor tie
INFO: 0.0196078: 458 bow tie
INFO: 0.0117647: 466 bulletproof vest
INFO: 0.00784314: 835 suit

real    0m3.116s
user    0m2.916s
sys     0m0.195s
root@imx8mpevk:/usr/bin/tensorflow-lite-2.12.1/examples# time USE_GPU_INFERENCE=1 ./label_image --external_delegate_path=/usr/lib/libvx_delegate.so
INFO: Loaded model ./mobilenet_v1_1.0_224_quant.tflite
INFO: resolved reporter
Vx delegate: allowed_cache_mode set to 0.
Vx delegate: device num set to 0.
Vx delegate: allowed_builtin_code set to 0.
Vx delegate: error_during_init set to 0.
Vx delegate: error_during_prepare set to 0.
Vx delegate: error_during_invoke set to 0.
EXTERNAL delegate created.
INFO: Applied EXTERNAL delegate.
W [query_hardware_caps:89]Unsupported evis version
W [HandleLayoutInfer:291]Op 162: default layout inference pass.
INFO: invoked
INFO: average time: 171.261 ms
INFO: 0.784314: 653 military uniform
INFO: 0.105882: 907 Windsor tie
INFO: 0.0156863: 458 bow tie
INFO: 0.00784314: 466 bulletproof vest
INFO: 0.00392157: 835 suit

real    0m1.992s
user    0m1.377s
sys     0m0.103s

'embeded > i.mx 8m plus' 카테고리의 다른 글

sounddevice on arm i.mx8 evk  (0) 2024.05.14
missed: not vectorized: relevant stmt not supported:  (0) 2023.08.31
nxp i.mx8mp win iot part 2  (0) 2023.05.26
nxp i.mx8mp win iot  (0) 2023.05.26
rpmsg-lite  (0) 2023.03.23
Posted by 구차니
embeded/i.mx 8m plus2023. 8. 31. 10:33

cortex-a53 에서 neon 으로 실수 나누기를 하는데

이상하게 적용이 안되서 확인중

 

소스는 아래 한줄인데 stdev_val은 앞서 단계에서 계산한 변수라 그런가

scope 문제로 인해서 안될 것 같진 않은데

int tempval = (int)((value - abs_avg) / (int)stdev_val);

 

아무튼 에러는 아래와 같이. 332 라인은 for() 337은 위의 소스인데

modules/m7_adc.c:332:27: missed: couldn't vectorize loop
modules/m7_adc.c:337:11: missed: not vectorized: relevant stmt not supported: tempval_168 = _73 / stdev_val_162;

 

얘 되고

int tempval = (int)((double)(value - abs_avg) / (double)stdev_val);

 

얘도 된다.

int tempval = (int)((value - abs_avg) / (double)stdev_val);

 

나누기 연산에서 피 연산자가 int 형이면 안되고, double 형이면 된다라..

아래 문서를 참조해도 딱히 divide 연산자에 대한 이야기는 없고

cortex-a53이라면.. cortex-a9도 아니고.. hardware divider가 없을리도 없을 것 같은데.

아무튼.. 의외의 점이라면 예제코드 중에 곱셈은 있어도 나눗셈은 없다. (에이 설마..)

[링크 : https://gcc.gnu.org/projects/tree-ssa/vectorization.html]

'embeded > i.mx 8m plus' 카테고리의 다른 글

sounddevice on arm i.mx8 evk  (0) 2024.05.14
NXP i.mx8mp LF_v6.1.55-2.2.0 테스트  (0) 2023.12.21
nxp i.mx8mp win iot part 2  (0) 2023.05.26
nxp i.mx8mp win iot  (0) 2023.05.26
rpmsg-lite  (0) 2023.03.23
Posted by 구차니
embeded/i.mx 8m plus2023. 5. 26. 12:33

다시 문서를 보니 이전에 10.1 단계를 건너뛰고 10.2만 진행한 것 같다.

 

아무생각 없이 무지성으로 win 10 x64용 에서 해당 파일 꺼내려고 보니 2GB.

아키텍쳐가 안되겠지...? 라는 생각에

win 10 iot ent 다운로드 받는데 4시간..(32bit / 64bit + 영어 / 국문...)

10.1 Flashing Windows 10 IoT Installer to the SD card
Currently, the only way to deploy a Windows IoT Enterprise on the onboard eMMC is to use WinPE.
OS (Windows Preinstallation Environment) to write the Windows IoT image to eMMC.
Windows manufacturing OS (WinPE) that can be fully loaded and run from memory without using persistent
storage. The following steps create an SD card with WinPE and a Windows IoT image that contains the BSP
drivers. The boot firmware checks the SD card and boots WinPE, which then installs the Windows IoT image to
the eMMC.
1. Decompress the W21H2-1-x-x-imx-windows-bsp-binaries.zip file. The package contains release-signed prebuilt binaries and image files.
2. Open the elevated command prompt and navigate to the IoTEntOnNXP directory.
3. Mount the previously downloaded Windows IoT Enterprise ISO image file (see chapter Software
requirements) and copy the install.wim file from the <DVD mount drive:>\sources\install.wim to the
IoTEntOnNXP directory.
4. Execute the command:
make-winpe-enterprise.cmd /disable_updates /disable_transparency /test_signing
This command creates a copy of the selected install.wim image with injected i.MX drivers and applied
updates from the kbpatch/ directory. These patches are for Windows 21H2, build 19044.1288 and update
the image to build 19044.2566.
Note: Be sure to copy the whole command line.
5. Execute the command:
make-winpe-enterprise.cmd /apply <disk_number>
where <disk_number> is the physical number of the SD card disk on your PC. It can be obtained using the
Disk Management tool (right-click the start menu icon and select Disk Management).
This command deploys the WinPE image to the SD card.
CAUTION: Make sure to select the correct disk number, as this step formats the selected disk! The WinPEbased Windows installer is now deployed on the SD card.
6. Continue with the firmware installation to the SD card.

10.2 Flashing firmware to the SD card
During active development of the boot firmware, it can be time-consuming and error-prone to repeatedly change
the dip switches between UUU download mode and eMMC boot mode. To simplify this process, the i.MX EVK
boards support SD card boot mode that allows you to keep the boot firmware on an SD card.
To deploy boot firmware to an SD card from Windows, we recommend using the Cfimager tool from https://www.
nxp.com/webapp/Download?colCode=CF_IMAGER.
Perform the following steps to flash the firmware to the SD card:
1. Download the NXP cfimager tool and copy it into the firmware directory or a directory listed in the system
environment variable %PATH%.
2. Navigate to the firmware directory.
3. Plug the SD card into the host PC and execute the following board-specific command:
For i.MX 8M Mini EVK board:
flash_bootloader.cmd /device MX8M_MINI_EVK /target_drive <SD card driver letter, for example, f:>
For i.MX 8M Quad EVK board:
flash_bootloader.cmd /device MX8M_EVK /target_drive <SD card driver letter, for example, f:>
For i.MX 8M Nano EVK board:
flash_bootloader.cmd /device MX8M_NANO_EVK /target_drive <SD card driver letter, for example, f:>
For i.MX 8M Plus EVK board:
flash_bootloader.cmd /device MX8M_PLUS_EVK /target_drive <SD card driver letter, for example, f:>
For i.MX 8QuadXPlus MEK board:
flash_bootloader.cmd /device MX8QXP_MEK /target_drive <SD card driver letter, for example, f:>
For i.MX 93 EVK board:
flash_bootloader.cmd /device MX93_11X11_EVK /target_drive <SD card driver letter, for example, f:>
4. Power off the board.
5. Insert the SD card to the board.
6. Change the boot device to the SD card.
7. Power on the board

[링크 : https://www.nxp.com/docs/en/quick-reference-guide/IMXWQSG.pdf]

 

 

+

다시 시도 하는데 이런저런 또 막히는 것들 산더미 -_-

C:\nxp\W21H2-1-3-0-imx-windows-bsp-binaries\IoTEntOnNXP>make-winpe-enterprise.cmd /disable_updates /disable_transparency /test_signing

You must install the Windows PE Add-on for the ADK
https://docs.microsoft.com/en-us/windows-hardware/manufacture/desktop/download-winpe--windows-pe

Script failed Cleaning up

배포 이미지 서비스 및 관리 도구
버전: 10.0.22621.1


오류: 50

지원되지 않는 요청입니다.

DISM 로그 파일은 C:\Windows\Logs\DISM\dism.log에 있습니다.

배포 이미지 서비스 및 관리 도구
버전: 10.0.22621.1


오류: 50

지원되지 않는 요청입니다.

DISM 로그 파일은 C:\Windows\Logs\DISM\dism.log에 있습니다.
C:\nxp\W21H2-1-3-0-imx-windows-bsp-binaries\IoTEntOnNXP\diskpart.txt을(를) 찾을 수 없습니다.

 

그래서 PE Addon 만 까는 청개구리 짓을 발동!

 

다시 문서를 읽어 보니 adk for win10, winpe addon for adk 2004 두개를 깔아야 한다고 한데 winPE add-on for ADK 만 설치해도 일단은 넘어간다.

3 Software requirements
• Binary drivers and firmware (either downloaded from nxp.com or built locally)
• Windows IoT operating system. There are two options:
– Visual Studio Subscription portal my.visualstudio.com
– At the portal, click Downloads -> Windows 10 -> Search for “Windows 10 IoT Enterprise LTSC 2021” or
“Windows 10 IoT Enterprise 2021”
– The default architecture is set to x64, click the dropdown menu to change it to Arm64 and download the
DVD
– Through microsoftoem.com facilitated by a Windows IoT OS distributor
– To find a distributor, visit aka.ms/iotdistributorlist
• Windows ADK for Windows 10 and Windows PE add-on for ADK, version 2004.

 

다시 시도하니 되는것 같긴한데

무지성으로(!) 받은 x86 , x64용 Win IoT Ent 라서 ARM64 아니라고 뱉는다.

C:\nxp\W21H2-1-3-0-imx-windows-bsp-binaries\IoTEntOnNXP>make-winpe-enterprise.cmd /disable_updates /disable_transparency /test_signing

Selected: "install.wim"


Source image:                          install.wim
Test signing:                          yes
Patch Sdport:                          no
Windows debug over ethernet:           no, IP:
Windows PE debug over ethernet:        no, IP:
KD_NET file (for debug over net):      no
Windows debug over serial:             no
Windows PE debug over serial:          no
Unattended install answer file:        no
Disable updates:                       yes
Disable transparency:                  yes
Split wim:                             no
Cummulative update:                    no, path:

*********************************************************************************************************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
*** Step 1 Creating i.MX Windows IoT Enterprise image: out\imx_win_iot_install.wim
*********************************************************************************************************************************************************
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Cleaning up from previous run

---------------------------------------------------------------------------------------------------------------------------------------------------------
*** Step 1.1 Copying Windows Enterprise image install.wim to out\imx_win_iot_install.wim
---------------------------------------------------------------------------------------------------------------------------------------------------------
하위 디렉터리 또는 파일 out이(가) 이미 있습니다.
copy "install.wim" "out\imx_win_iot_install.wim"
        1개 파일이 복사되었습니다.

---------------------------------------------------------------------------------------------------------------------------------------------------------
*** Step 1.2 Mounting i.MX Windows IoT Enterprise image at out\mount_enterprise
---------------------------------------------------------------------------------------------------------------------------------------------------------
dism /mount-wim /wimfile:"out\imx_win_iot_install.wim" /mountdir:"out\mount_enterprise" /index:2

배포 이미지 서비스 및 관리 도구
버전: 10.0.22621.1


오류: 0xc1510113

지정한 이미지가 WIM에 없습니다.
WIM에서 먼저 기존 이미지가 있는지 확인하십시오.

DISM 로그 파일은 C:\Windows\Logs\DISM\dism.log에 있습니다.

'embeded > i.mx 8m plus' 카테고리의 다른 글

NXP i.mx8mp LF_v6.1.55-2.2.0 테스트  (0) 2023.12.21
missed: not vectorized: relevant stmt not supported:  (0) 2023.08.31
nxp i.mx8mp win iot  (0) 2023.05.26
rpmsg-lite  (0) 2023.03.23
i.mx8m plus cortex-m7 part.2  (0) 2023.02.23
Posted by 구차니
embeded/i.mx 8m plus2023. 5. 26. 10:56

baudrate 보소.. 이런 변태 같은 -_-

3.1 Serial logging setup
To help troubleshoot issues during boot, use the USB micro-B port on i.MX EVK boards to output U-Boot and
UEFI firmware serial debug logs to a host PC. The USB micro-B port on the EVK presents a virtual serial port to
the host PC, which can be read by common Windows serial terminal applications such as HyperTerminal, Tera
Term, or PuTTY.
1. Connect the target and the PC using the cable mentioned above.
2. Open Device Manager on the PC and locate the Enhanced Virtual serial device and note the COM port
number.
3. Open the terminal on the PC. Configure the Enhanced Virtual serial/COM port to 921600 baud/s, 8-bit, onestop bit.

[링크 : https://www.nxp.com/docs/en/quick-reference-guide/IMXWQSG.pdf]

 

아무튼 baudrate 맞추니 이상하게 라도 나온다(키보드 인식 안해서 uart를 통해서 제어해야 하다니 -_ㅠ)

 

Device manager 뜨는게 없다.

 

Boot Manager 에서는 UEFI 옵션별로 뜨는데

 

요건 i.mx8mp 보드의 eMMC로 부팅하는거. 어떤 버전이 구워져있는진 모르겠지만

부팅하다가 kernel panic 뜨는데 어쩌면 윈도우용으로 부트로더가 설정하는 바람에

uboot + kernel 에서 설정되지 않는 부분때문에 그런걸지도 모르겠다.

 

윈도우 IoT 이미지가 2.5MB 밖에 안되서 그런가 SD 카드로 부팅하려고 하면 진행이 안된다.

 

Boot Maintenance Manager 에서는 먼가 조금 뜨는데 들어간다고 먼가 되는게 있는 것도 아니라서..

 

그나마 console option 으로 들어가면 input / output / stderr 요런걸로 어떤 장치를 쓸거냐 정도만 나온다.

그냥 윈도우 처럼 GUI 화면은 도대체 어떻게 해야 하냐..

'embeded > i.mx 8m plus' 카테고리의 다른 글

missed: not vectorized: relevant stmt not supported:  (0) 2023.08.31
nxp i.mx8mp win iot part 2  (0) 2023.05.26
rpmsg-lite  (0) 2023.03.23
i.mx8m plus cortex-m7 part.2  (0) 2023.02.23
i.mx8m plus cortex-m7  (0) 2023.02.23
Posted by 구차니
embeded/i.mx 8m plus2023. 3. 23. 10:46

크아.. 볼게 너무 많아 ㅠㅠ

그런데 openAMP가 나오는게 먼가.. 쎄~~~하다 -_-

 

linux / cortex-A / rpmsg <-> rtos or baremetal / cortex-M / rpmsg-lite

 

성능 향상은 openAMP와는 넘사벽일 수도 있는 설정이 존재하고

Core A와 Core B 이기종(heterogeneous) 장치간의 통신을 지원한다.

[링크 : https://github.com/nxp-mcuxpresso/rpmsg-lite]

'embeded > i.mx 8m plus' 카테고리의 다른 글

nxp i.mx8mp win iot part 2  (0) 2023.05.26
nxp i.mx8mp win iot  (0) 2023.05.26
i.mx8m plus cortex-m7 part.2  (0) 2023.02.23
i.mx8m plus cortex-m7  (0) 2023.02.23
i.mx8m plus win iot 실행  (0) 2023.02.23
Posted by 구차니
embeded/i.mx 8m plus2023. 2. 23. 17:41

아래의 경로에서 build_all.sh 을 통해 리눅스에서 빌드를 시도하면 에러가 나는데

./nxp/imx8plus/cortex-m7/SDK_2_13_0_EVK-MMP/boards/evkmimx8mp/demo_apps/hello_world/armgcc$ ./build_all.sh 
CMake Error at /home/falinux/바탕화면/nxp/imx8plus/cortex-m7/SDK_2_13_0_EVK-MIMX8MP/tools/cmake_toolchain_files/armgcc.cmake:16 (MESSAGE):
  ***Please set ARMGCC_DIR in envionment variables***
Call Stack (most recent call first):
  /usr/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake:91 (include)
  CMakeLists.txt:10 (ENABLE_LANGUAGE)

 

아래와 같이 추가해주면 일단 빌드가 문제없이 된다.

$ export ARMGCC_DIR=/usr

 

imx8 SD 카드의 boot 파티션에 release/hello_world.bin 을 복사해서 넣고

아래의 문장을 uboot 에서 따라하면

If the hello_world.bin is made from the debug/release target, which means the binary file will run at TCM, use the following commands to boot:
• fatload mmc 1:1 0x48000000 hello_world.bin;cp.b 0x48000000 0x7e0000 20000;
• bootaux 0x7e0000

출처 : Getting Started with MCUXpresso SDK for EVK-MIMX8MP

 

아래와 같이 /dev/ttyUSB3 포트를 통해서 hello world. 가 출력된다.

 

다만.. 이녀석은 TCM 에서 빌드되어 실행되기로 상정(?)된 파일이기 때문에 리눅스의 sysfs를 통해서 실행하려면

어떤 바이너리를 통해 실행해야 하려나?

b. If the hello_world.bin is made from the ddr_debug/ddr_release target, which means the binary file runs at DRAM, use the following commands:
• fatload mmc 1:1 0x80000000 hello_world.bin
• dcache flush
• bootaux 0x80000000

c. If the hello_world.bin is made from the flash_debug/flash_release target, which means the binary file runs at QSPI/XIP, use the following
commands:
• sf probe
• sf read 0x80000000 0 4
• fatload mmc 1:1 0x80000000 flash.bin
• dcache flush
• sf erase 0 0x100000
• sf write 0x48000000 0 0x100000
• bootaux 0x8000000

Note: If the Linux OS kernel runs together with M7, make sure the correct dtb file is used. This dtb file reserves resources used by M7 and avoids the Linux kernel from configuring them. Use the following command in U-Boot before running the kernel:
setenv fdtfile ‘imx8mp-evk-rpmsg.dtb’

 

 

+

ddr_release / flash_release의 파일을 실행하려고 했을 때

# echo start > /sys/class/remoteproc/remoteproc0/state
[  193.353375] remoteproc remoteproc0: powering up imx-rproc
[  193.359090] remoteproc remoteproc0: Booting fw image hello_world.elf, size 217076
[  193.366735] remoteproc remoteproc0: bad phdr da 0x80000000 mem 0x2a8
[  193.373157] remoteproc remoteproc0: Failed to load program segments: -22
[  193.380092] remoteproc remoteproc0: Boot failed: -22
-sh: echo: write error: Invalid argument
root@imx8mpevk:/lib/firmware# echo -n hello_world.bin > /sys/class/remoteproc/remoteproc0/firmware       
root@imx8mpevk:/lib/firmware# echo start > /sys/class/remoteproc/remoteproc0/state
[  204.092891] remoteproc remoteproc0: powering up imx-rproc
[  204.098514] remoteproc remoteproc0: Image is corrupted (bad magic)
[  204.104760] remoteproc remoteproc0: Boot failed: -22
-sh: echo: write error: Invalid argument

 

relase의 파일을 실행하려 했을 때. 되는거야 안되는거야.. 일단 cortex-m7용 디버그 포트로 출력은 안된다.

# echo -n hello_world.elf > /sys/class/remoteproc/remoteproc0/firmware 
# echo start > /sys/class/remoteproc/remoteproc0/state
[  366.495958] remoteproc remoteproc0: powering up imx-rproc
[  366.501775] remoteproc remoteproc0: Booting fw image hello_world.elf, size 217076

'embeded > i.mx 8m plus' 카테고리의 다른 글

nxp i.mx8mp win iot  (0) 2023.05.26
rpmsg-lite  (0) 2023.03.23
i.mx8m plus cortex-m7  (0) 2023.02.23
i.mx8m plus win iot 실행  (0) 2023.02.23
i.mx8 tensilica dsp  (0) 2023.02.07
Posted by 구차니
embeded/i.mx 8m plus2023. 2. 23. 16:27

아래 링크는 i.mx8m mini용 인듯 하니 imx9mp로 바꾸어서 시도하면 될 듯.

u-boot=> editenv fdt_file
edit: imx8mm-evk-rpmsg.dtb
u-boot=> boot

[링크 : https://community.nxp.com/t5/i-MX-Processors/imx-rpmsg-tty-not-working-on-IMX8M-EVK/m-p/1149859]

 

기본값은 imx8mp-evk.dtb이고 변경할 것은 imx8mp-evk-rpmsg.dtb

u-boot=> pri fdtfile 
fdtfile=imx8mp-evk.dtb


u-boot=> setenv fdtfile imx8mp-evk-rpmsg.dtb
u-boot=> boot

매번 바꾸기 귀찮으면 saveenv 하면 된다.

 

리눅스 에서 rproc 을 통해 MCU를 구동하려고 할 때, 설정된 파일이 존재하지 않으면 일단 아래와 같은 에러가 나고 죽는다.

root@imx8mpevk:/sys/class/remoteproc/remoteproc0# cat firmware 
rproc-imx-rproc-fw
root@imx8mpevk:/sys/class/remoteproc/remoteproc0# echo start > state
[   39.920224] remoteproc remoteproc0: powering up imx-rproc
[   39.925719] remoteproc remoteproc0: Direct firmware load for rproc-imx-rproc-fw failed with error -2
[   39.934945] remoteproc remoteproc0: Falling back to sysfs fallback for: rproc-imx-rproc-fw
[   39.943951] remoteproc remoteproc0: request_firmware failed: -2
[   39.949902] remoteproc remoteproc0: Boot failed: -2
-sh: echo: write error: No such file or directory

 

da request 어쩌구 하는데 powering up을 보면 imx-dsp-rproc

이 경우는 dtb에서 cortex-m7을 살리지 않아 tensilia DSP만 살아있어서 발생하는 에러로 추정.

root@imx8mpevk:/sys/class/remoteproc/remoteproc0# echo start > state
[  659.684024] remoteproc remoteproc0: powering up imx-dsp-rproc
[  659.690141] remoteproc remoteproc0: Booting fw image imx8mp_m7_TCM_rpmsg_lite_pingpong_rtos_linux_rem2
[  659.714561] remoteproc remoteproc0: Registered carveout doesn't fit da request
[  659.721820] remoteproc remoteproc0: Failed to process resources: -12
[  659.728265] remoteproc remoteproc0: Boot failed: -12
-sh: echo: write error: Cannot allocate memory

[링크 : https://community.nxp.com/t5/i-MX-Processors/imx8qmmek-rpmsg-remoteproc-remoteproc-and-rpmsg-fail/m-p/1401590]

 

실행이 되는거 같긴 한데...

디버그 시리얼 쪽으로도 무언가 출력되는게 안보이는데 머가 문제이려나..

그리고 시스템 자체가 멈춘다.. 뭐야.. (LF_v5.10.72-2.2.0_images_IMX8MPEVK)

root@imx8mpevk:/sys/class/remoteproc/remoteproc0# echo imx8mp_m7_TCM_hello_world.elf > firmware 
root@imx8mpevk:/sys/class/remoteproc/remoteproc0# echo start > state
[   48.529889] remoteproc remoteproc0: powering up imx-rproc
[   48.539233] remoteproc remoteproc0: Booting fw image imx8mp_m7_TCM_hello_world.elf, size 152688

 

+

# modprobe imx_rpmsg_pingpong
# modprobe imx_rpmsg_tty
# echo hello > /dev/ttyRPMSG30

[링크 : https://www.embeddedartists.com/wp-content/uploads/2019/03/iMX8M_Working_with_Cortex-M.pdf]

'embeded > i.mx 8m plus' 카테고리의 다른 글

rpmsg-lite  (0) 2023.03.23
i.mx8m plus cortex-m7 part.2  (0) 2023.02.23
i.mx8m plus win iot 실행  (0) 2023.02.23
i.mx8 tensilica dsp  (0) 2023.02.07
i.mx8m plus win iot  (0) 2023.02.02
Posted by 구차니
embeded/i.mx 8m plus2023. 2. 23. 15:01

음.. 하라는대로 했는데 USB 키보드가 인식이 안되서 먼가 해볼수가 없다.

드라이버를 좀더 추가해서 어떻게 해야하려나?

 

일단은 HDMI 연결하면 아래와 같이 먼가 하나 나오고

 

시리얼 포트로는 baudrate가 안 맞는건지 깨진 문자만 나온다.

 

------------------------------------------------------

※ NXP 로그인이 필요한 서비스임.

 

Step 1. 귀찮으니(!) BSP Prebuild Binaries 다운로드

[링크 : https://www.nxp.com/design/software/embedded-software/i-mx-software/windows-10-iot-enterprise-for-i-mx-applications-processors:IMXWIN10IOT]

 

Step 2. 귀찮으니(!) 위의 페이지에서 "i.MX Windows 10 IoT Enterprise Quick Start Guide​" 클릭!

[링크 : https://www.nxp.com/docs/en/quick-reference-guide/IMXWQSG.pdf]

 

Step 3. 귀찮으니(!) Step 2의 내용중 아래의 링크를 클릭하여 CFImager를 다운로드

[링크 : https://www.nxp.com/webapp/Download?colCode=CF_IMAGER]

 

Step 4. 2단계에서 받은 것을 압축해제

 

Step 5. 3 단계에서 받은 파일에서 CFImage.exe를 flash_bootloader.cmd 와 동일 경로상에 복사

 

Step 6. 윈도우에서, 시작 - cmd 로 콘솔 열고, flash_bootloader.cmd 경로에서 아래의 명령어 입력 f: 는 sd 카드 드라이브 이다.

flash_bootloader.cmd /device MX8M_PLUS_EVK /target_drive f:

 

FAT32로 포맷했는데 RAW로 바뀌길래 한번 확인해봐도.. 먼지 알 순 없다.

 

'embeded > i.mx 8m plus' 카테고리의 다른 글

i.mx8m plus cortex-m7 part.2  (0) 2023.02.23
i.mx8m plus cortex-m7  (0) 2023.02.23
i.mx8 tensilica dsp  (0) 2023.02.07
i.mx8m plus win iot  (0) 2023.02.02
imx 8m plus NPU 에러 추적  (5) 2021.10.14
Posted by 구차니
embeded/i.mx 8m plus2023. 2. 7. 14:59

21 page

NatureDSP Library is an extensive library, containing the most commonly used signal processing functions: FFT, FIR, vector, matrix, and common mathematics. API and programing guide is in hifi4_library/doc/NatureDSP_Signal_Library_ Reference_HiFi4.pdf, and performance data is in hifi4_library/doc/ NatureDSP_Signal_Library_Performance_HiFi4.pdf.

[링크 : https://www.nxp.com/docs/en/user-guide/IMX_DSP_USERS_GUIDE.pdf]

[링크 : https://github.com/nxp-imx/imx-audio-framework]

 

tensilica i.MX8M Plus 

[링크 : https://tensilicatools.com/platform/i-mx8mp/]

[링크 : https://tensilicatools.com/download/i-mx-8-hifi-4-sdk/] << 로그인 필요, tensilica 가입 필요

 

NatureDSP Library package is license restricted on the i.MX platform. License authorization is required from the NXP marketing for the users to access the source code.

[링크 : https://community.nxp.com/t5/i-MX-Processors/Where-are-the-NatureDSP-unit-tests/td-p/1577475]

[링크 : https://www.nxp.com/docs/en/user-guide/IMX_DSP_USERS_GUIDE.pdf]

'embeded > i.mx 8m plus' 카테고리의 다른 글

i.mx8m plus cortex-m7  (0) 2023.02.23
i.mx8m plus win iot 실행  (0) 2023.02.23
i.mx8m plus win iot  (0) 2023.02.02
imx 8m plus NPU 에러 추적  (5) 2021.10.14
i.MX 8M PLUS tensorflow NPU  (0) 2021.10.13
Posted by 구차니