Multi Source Translation Content

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

Multi Source Translation Content

ディスカッション

ソート順:
Sbc_fs26_InitDevice();初始化期间 RTD 函数失败 你好, 我们的设计中使用了 FS2600 和 S32K3,SDK 版本为 4.0.0。和 S32DS 版本 3.5 构建 ID:240726,更新 13。FreeRTOS 被用作操作系统。 初始化期间,会调用以下代码: Std_ReturnType initFs26Driver() { Std_ReturnType retVal = E_NOT_OK; /* Initializes the FS26 driver */ retVal = Sbc_fs26_Init(&Sbc_fs26_xConfig_BOARD_InitPeripherals); if (retVal != E_OK) { return retVal; } /* Configures the device */ retVal |= Sbc_fs26_InitDevice(); if (retVal != E_OK) { return retVal; } /* Fault Error Counter should decrease to zero */ uint8 u8FaultErrorCounterValue = 0U; retVal |= Sbc_fs26_GetFaultErrorCounterValue(&u8FaultErrorCounterValue); if ((retVal != E_OK) || (u8FaultErrorCounterValue != 0U)) { return retVal; } /* Sbc device should be in FS_STATES_FS0B_ASSERT */ Sbc_fs26_RxFrameType rxData = {0}; retVal |= Sbc_fs26_ReadRegister(TRUE, SBC_FS26_FS_STATES_ADDR, &rxData); if((retVal != E_OK) || ((rxData.u16ReadData & SBC_FS26_FS_FS_STATES_MASK) != SBC_FS26_FS_FS_STATES_FS0B_ASSERT)) { return retVal; } return E_OK; } 函数在 Sbc_fs26_InitDevice() 处失败;具体来说是在 Sbc_fs26_WaitInitFSClosed() 处失败 -> Sbc_fs26_WaitInitFSClosed()。 InitFS 未关闭,Sbc_fs26_GetDeviceState 返回 FS_STATES_INIT_FS,如图 DeviceStateisInitFs.JPG 所示。 附件为所用配置。请问这为什么会失败? 顺祝商祺! Re: Sbc_fs26_InitDevice(); RTD function failed during Initialisation @Kazarian你解决这个问题了吗? 在 Sbc_fs26_InitDevice 期间,FS26 芯片无法从 FS0B_ASSERT 状态切换到 NORMAL_FS 状态的主要原因是什么? 谢谢。 Re: Sbc_fs26_InitDevice(); RTD function failed during Initialisation 你好 我不是软件工程师,我只负责FS26的技术支持。关于FS26进入正常模式的步骤,请参考下图,您可以按照步骤逐一操作来验证是否有效。 guoweisun_0-1727054262186.png郭伟孙_0-1727054262186.png Re: Sbc_fs26_InitDevice(); RTD function failed during Initialisation 你好@guoweisun 我正在使用RTD API,RTD中的函数:Sbc_fs26_InitDevice(); 已经实现了您提到的逻辑,但是…… /* Close initialization phase by sending first watchdog refresh. */ eReturnValue = Sbc_fs26_WdRefresh(); 未调用,Sbc_fs26_WaitInitFSClosed(); 返回状态错误 0x1。会不会是配置错误? Kazarian_0-1726826557141.pngKazarian_0-1726826557141.png Re: Sbc_fs26_InitDevice(); RTD function failed during Initialisation HI 在初始化阶段,您需要刷新WD以将故障计数器减零,然后将其关闭。请问您能否确认您的WD进给是否正确? Re: Sbc_fs26_InitDevice(); RTD function failed during Initialisation 您好,NXP团队, 关于上述问题有任何进展吗? 谢谢。 Re: Sbc_fs26_InitDevice(); RTD function failed during Initialisation 附上与第一篇帖子相关的图片
記事全体を表示
i.MX8M Plus EXT4-fs エラー i.MX8M Plus EXT4-fs エラー EXT4-fs エラー (デバイス dm-6): ext4_find_dest_de:2030: inode #228492: ブロック 918033: comm Binder:296_3: ディレクトリ内のエントリが不正です: rec_len が最小値より小さい - offset=0、inode=0、rec_len=0、lblk=0、size=4096 fake=1 Re: i.MX8M Plus EXT4-fs error 追加のトレースは、パニックがdm-6のEXT4メタデータエラーに対する設定された応答であることを確認できます。Binderはおそらく、EXT4が破損したディレクトリブロックを検出した際にファイルを作成・開いたユーザースペースのThreadだと思います。 どうしたの: EXT4 はファイルの作成中に無効なディレクトリ エントリを検出しました。呼び出しパスは openat() → ext4_create() → ext4_add_entry() → ext4_find_dest_de() です。 ディレクトリブロックが破損しています。inode=0、rec_len=0、offset=0 は有効な EXT4 ディレクトリエントリではありません。 その後、EXT4 はジャーナルを中止しました: デバイス dm-6-8 でジャーナルを中止しています。 ファイルシステムが errors=panic に設定されているため、カーネルがパニックを起こしました。EXT4 には明示的なエラー発生時のパニックモード (EXT4_MOUNT_ERRORS_PANIC、EXT4_ERRORS_PANIC) があります。 つまり、直近の問題はdm-6の背後にあるブロックデバイスのファイルシステムの破損であって、Binderドライバーの故障ではありません。 DM-6が暗号化されたユーザーデータデバイスであれば、最も可能性の高い場所はAndroid /data / userdataです。NXP i.MX Linuxのドキュメントによると、EXT4ファイルシステムはデバイスマッパー型のクリプトデバイス上で作成可能であり、クリプトターゲットはブロックI/Oをインターセプトします。NXPのAndroidノートは、ユーザーデータを消去した後、Androidが初回起動時にEXT4ファイルシステムと暗号化設定を再作成し、通常の起動時にe2fsckを呼び出してファイルシステムを確認できると記載しています。 推奨デバッグ手順: adb root adb shell mount | grep dm-6 adb shell cat /proc/mounts | grep dm-6 adb shell ls -l /dev/block/mapper adb shell ls -l /dev/block/by-name adb shell dmctl list devices adb shell dmsetup テーブル 次に、EXT4パニックが発生する前に、下位レイヤーの本当の原因を確認します。 adb shell dmesg | grep -Ei "mmc|cqhci|timeout|I/O error|Buffer I/O|dm-|verity|ext4|jbd2" dm-6 が /data / userdata にマッピングされる場合: リカバリー、initramfs、またはユーザーデータが読み書き可能でマウントされていない別のモードで起動します。 次を実行します。 e2fsck -f -y /dev/block/by-name/userdata または、意図したアンマウントファイルシステムのターゲットが正しいマッピングされたノードである場合に限り、そのノードで実行します。 e2fsck -f -y /dev/block/dm-6 NXPコミュニティのガイドラインでは、類似のEXT4破損に対してfsck / e2fsckでファイルシステムの確認・修復を行うことが推奨されています。報告されたEXT4の破損事例1件はe2fsckで解決されました。 ユニットが開発ボードであり、データ保存が不要な場合、よりクリーンな復旧は通常以下の通りです: fastbootでユーザーデータを消去 fastboot reboot またはAndroidイメージセットを再フラッシュする。Androidは通常のユーザーデータ暗号化フローで、初回起動時にユーザーデータを再作成します。 根本原因を突き止めるには、以下の点に注目してください。 eMMCへの書き込み中に、予期せぬ電源喪失またはリセットが発生しました。NXPの資料は、eMMC書き込み中の電力喪失がファイルシステムやスーパーブロックの損傷を再現し、突然の電力喪失や電源サイクル負荷がeMMC/SDのデータ破損を引き起こす可能性があると指摘しています。 eMMC / ストレージエラー。EXT4 メッセージの前に、下位レベルの mmc、cqhci、タイムアウト、または I/O エラーを探してください。 電源の完全性/リセットシーケンス。電源のオン/オフを繰り返している際にこの問題が発生する場合は、電源のオン/オフ間隔を長くし、起動前にPMIC/eMMCレールが安定していることを確認してください。 DDRの不安定性。NXPフォーラムのEXT4ディレクトリ破損に関する同様のガイダンスでは、電源タイミングの調整で問題が解決しない場合は、すべてのパッチが適用されているかどうかを確認し、DDRストレステストを使用してDDRキャリブレーションを検証することも推奨されています。 要点:dm-6 をマップします。それがユーザーデータの場合は、オフラインで e2fsck を実行するか、ユーザーデータを消去/再作成し、eMMC の電源喪失/リセット、低レベルの MMC I/O エラー、および DDR の安定性を根本原因として調査します。
記事全体を表示
i.MX93EVK の eMMC をダウンロードモードで UUU を使用して正常にプログラムできませんでした WSL Ubuntu 20.04 LF_v6.12.49-2.2.0_images_IMX93EVK.zip sudo uuu uuu.auto nxp imx チップ用の uuu (ユニバーサル アップデート ユーティリティ) -- libuuu_1.5.243-4-ga377d1e 成功 0 失敗 0 1:1-6458439E 1/1 [=================100%=================] SDPS: boot -f imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot U-Boot情報 U-Boot 2025.04-g4ddbad60eff3(2025年11月19日 07:56:58 +0000) リセットステータス: POR CPU: NXP i.MX93(52) Rev1.1 A55 (1700 MHz) CPU:インダストリアル温度グレード(-40℃~105℃)、40℃ モデル: NXP i.MX93 11X11 EVKボード DRAM: 2 GiB TCPC: ベンダーID [0x1fc9]、製品ID [0x5110]、アドレス [I2C2 0x52] SNK.Power3.0 on CC1 tcpc_pd_receive_message: ALERTレジスタのポーリング、TCPC_ALERT_RX_STATUSビットが失敗、ret = -62 TCPC: ベンダーID [0x1fc9]、製品ID [0x5110]、アドレス [I2C2 0x51] TCPC: ベンダーID [0x1fc9]、製品ID [0x5110]、アドレス [I2C2 0x50] コア: 251個のデバイス、38個のuclass、デバイスツリー: 別個 MMC: FSL_SDHC: 0、FSL_SDHC: 1 環境をどこからともなく読み込んでいます... OK [*]-ビデオリンク 0adv7535_mipi2hdmi hdmi@3d: cecデバイスID=0x3cが見つかりません パネルデバイスhdmi@3dのプローブに失敗しました 表示タイミングの取得に失敗しました プローブビデオデバイスが失敗しました、戻り値 -19 [0] lcd-controller@4ae30000、ビデオ [1] dsi@4ae10000、ビデオブリッジ [2] hdmi@3d、パネル adv7535_mipi2hdmi hdmi@3d: CECデバイスID=0x3cが見つかりません パネルデバイスhdmi@3dのプローブに失敗しました 表示タイミングの取得に失敗しました プローブビデオデバイスが失敗しました、戻り値 -19 掲載: シリアル 出力: シリアル エラー: シリアル ビルド情報: - ELEファームウェアバージョン2.0.4-e804f3c9 MMC: カード提示なし UID: 6458439e25d046af8f674c2455dfa2dd USBブートを検出します。ファストブートモードに入ります! ネットワーク: eth0: ethernet@42890000、eth1: ethernet@428a0000 [PRIME] ファストブート:通常 mfgtoolsはUSBから起動します ***警告 - mfgtoolsにはデフォルト環境を使用してください デフォルト環境を使用する bootcmd_mfg を実行します: mfgtool_args を実行します。iminfo が${initrd_addr}の場合、test が${tee}の場合、bootm を実行します。それ以外の場合は${tee_addr} ${initrd_addr} ${initrd_addr} ${fdt_addr}を実行します。それ以外の場合は${loadaddr} fastboot を実行します...; ${fb_cmd} ${kboot} ${fdt_addr}します。 自動起動を停止するには、任意のキーを押してください: 0 ## 83800000 番地の画像を確認中... 不明な画像フォーマット! fastbootを実行... 自動USB 0 デフォルトのpinctrlの設定に失敗しました USB用のボードの初期化に失敗しました デフォルトのpinctrlの設定に失敗しました USB用のボードの初期化に失敗しました USBデバイスが見つかりません USB初期化失敗: -19 u-boot=> ご回答いただき、誠にありがとうございます。 Re: Unable to successfully program the eMMC on the i.MX93EVK using UUU in Download Mode こんにちは@weiyi Windows環境でフラッシュ作業を行う際にも、このエラーは発生しますか? よろしくお願いします、 志明 Re: Unable to successfully program the eMMC on the i.MX93EVK using UUU in Download Mode SDカード経由でLinuxを起動し、ddコマンドを使ってフラッシュメモリにwicイメージを書き込むことで問題を解決しました。 Re: Unable to successfully program the eMMC on the i.MX93EVK using UUU in Download Mode 私もFRDM-imx93で全く同じ問題に遭遇しました。Linuxからのフラッシュも解決策の一つですが、同じ問題に直面している方がいれば、私には以下の方法が効果的でした。 U-Bootシェルを取得したら: USB デバイスが見つかりません USB 初期化に失敗しました: -19 u-boot=> 試してみることもできます: => usb stop => usb start => fastboot usb 0 失敗した場合は、シリアルダウンロード専用のUSBポートのみを(基板側で)抜き差しし、上記のコマンドを再度実行してください。その時点でUSBはuuuで検出可能になるはずなので、uuuは先に進めます。 なお、その間もuuuは実行を継続します(USBデバイスが認識されるのを待機するため)。
記事全体を表示
i.MX8M Plus EXT4-fs error i.MX8M Plus EXT4-fs error  EXT4-fs error (device dm-6): ext4_find_dest_de:2030: inode #228492: block 918033: comm Binder:296_3: bad entry in directory: rec_len is smaller than minimal - offset=0, inode=0, rec_len=0, lblk=0, size=4096 fake=1 Re: i.MX8M Plus EXT4-fs error The added trace confirms the panic is a configured response to an EXT4 metadata error on dm-6 ; Binder is probably just the userspace thread that happened to create/open a file when EXT4 detected the corrupt directory block. What happened: EXT4 detected an invalid directory entry while creating a file: the call path is openat() → ext4_create() → ext4_add_entry() → ext4_find_dest_de() . The directory block is corrupt: inode=0, rec_len=0 at offset=0 is not a valid EXT4 directory entry. EXT4 then aborted the journal: Aborting journal on device dm-6-8 . The kernel panicked because the filesystem is configured for errors=panic ; EXT4 has explicit panic-on-error modes ( EXT4_MOUNT_ERRORS_PANIC , EXT4_ERRORS_PANIC ). So the immediate issue is filesystem corruption on the block device behind dm-6 , not a Binder driver failure. Most likely location is Android /data / userdata if dm-6 is a mapped encrypted userdata device. NXP i.MX Linux documentation shows EXT4 filesystems can be created on device-mapper crypt devices, and the crypt target intercepts block I/O . NXP Android notes also state that after erasing userdata, Android recreates the EXT4 filesystem and encryption setup on first boot, and normal boot can call e2fsck to check the filesystem . Recommended debug sequence: adb root adb shell mount | grep dm-6 adb shell cat /proc/mounts | grep dm-6 adb shell ls -l /dev/block/mapper adb shell ls -l /dev/block/by-name adb shell dmctl list devices adb shell dmsetup table Then check for the real lower-layer cause before the EXT4 panic: adb shell dmesg | grep -Ei "mmc|cqhci|timeout|I/O error|Buffer I/O|dm-|verity|ext4|jbd2" If dm-6 maps to /data / userdata: Boot to recovery, initramfs, or another mode where userdata is not mounted read-write . Run: e2fsck -f -y /dev/block/by-name/userdata or run it on the correct mapped node only if that is the intended unmounted filesystem target: e2fsck -f -y /dev/block/dm-6 NXP community guidance for similar EXT4 corruption is to check/repair the filesystem with fsck / e2fsck ; one reported EXT4 corruption case was resolved with e2fsck . If the unit is a development board and data preservation is not required, the cleaner recovery is usually: fastboot erase userdata fastboot reboot or reflash the Android image set. Android will recreate userdata on first boot in the normal userdata-encryption flow . For root cause, focus on these areas: Unexpected power loss or reset during eMMC writes. NXP material notes that power loss during eMMC writing can reproduce filesystem/superblock damage, and sudden power loss or power-cycle stress can cause eMMC/SD data corruption. eMMC / storage errors. Look for lower-level mmc , cqhci , timeout, or I/O errors before the EXT4 message. Power integrity / reset sequencing. If this happens during repeated power cycling, increase the off/on interval and verify the PMIC/eMMC rails are stable before boot. DDR instability. Similar NXP forum guidance for EXT4 directory corruption also suggested checking whether all patches are applied and validating DDR calibration with the DDR stress test when power timing did not resolve the issue. Takeaway: map dm-6 ; if it is userdata, run offline e2fsck or erase/recreate userdata, then investigate eMMC power-loss/reset, lower-level MMC I/O errors, and DDR stability as the likely root causes.
記事全体を表示
GCCはプラグマステートメントを無視して、コードをITCMメモリに配置します。 こんにちは! ここでは、S32K3バージョン1.7.1用のMatlab R2025b、Simulink、およびMBDTを使用しています。 私たちが開発中のモーターコントローラアプリケーションの性能を最適化するために、コードの一部をITCMメモリに、さらに後にはデータ用のDTCMメモリに配置したいと考えています。 今のところ、ワークフローをテストするために、ITCMのメモリに関数を配置しようとしています。Simulink/Embedded Coderを使って、以下のような正しいプラグマステートメントをCコードに挿入することに成功しました。 #pragma GCC section text ".itcm_text" static void Motor_Drive_Subsystem(void) ヤージュ .......... } #pragma GCC セクション テキスト "" しかし、アプリケーションをコンパイルする際には、gccはこれらのプラグマ文を無視し、コードを標準の.textに配置しますセグメント。これはobjdumpコマンドで結論づけられます: arm-none-eabi-objdump -h Motor_Control.o (being the .oMotor_Drive_Subsystem関数を含むcファイルから生成されたファイル) .itcm_text はありませんリストには、.text.xxxx セグメントのみが含まれています (他の非テキストセグメントの中に)。 コンパイル時には、MBDT環境で設定された標準のGCCスイッチを使用しています。 arm-none-eabi-gcc -O2 -c -std=c99 -fshort-enums -funsigned-char -fstack-usage -ffunction-sections -fdata-sections -g -pedantic -Wall -Wextra -fmessage-length=0 -funsigned-bitfields -fno-common -Wunused -Wstrict-prototypes -Wsign-compare -Werror=implicit-function-declaration -mcpu=cortex-m7 -mthumb -mlittle-endian -mfloat-abi=hard -mfpu=FPV5-sp-d16 -DD_CACHE_ENABLE -DI_CACHE_ENABLE -specs=nano.specs -specs=nosys.specs --sysroot="C:\MATLAB_Add-Ons\Toolboxes\NXP_MBDToolbox_S32K3\tools\build_tools\gcc_v10.2\gcc-10.2-arm32-eabi\arm-none-eabi\newlib」-DSTEP_GPT_TIMER -DSTEP_GPT_CHANNEL=GptConf_GptChannelConfiguration_StepTimer -DSTEP_GPT_CHANNEL_FREQ=40000000 -DSTEP_GPT_CHANNEL_VALUE_MAX=4294967295 -DAUTOSAR_OS_NOT_USED -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DGCC -DS32K3XX -DS32K396 -DCPU_S32K396 -DENABLE_FPU -DMPU_ENABLE -DMBDT_INIT -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=0 -DONESTEPFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0 -DTID01EQ=0 -DSTACK_SIZE=64 -DRT -DMODEL=Motor_Control -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -IC: ..... 生成されたcコードファイルを修正し、手動でコンパイルすることで、次の結論が得られます。 関数の「static」宣言を削除しても効果はありません。しかし、「static」を削除し、関数に属性ステートメントを追加するという別の方法を使用すると、次のようになります。 static void  __attribute__((section(".itcm_text")))Motor_Drive_Subsystem(void); .itcm_textを作成します.o のセグメントファイル。 私が何か間違ったことをしているのか、それともツールに問題があるのか、よく分かりません。 これをうまく動かす方法を誰か教えてもらえますか? もちろん、ツールチェーンにこの処理を任せたいので、コード生成後にCコードを手動で修正したくはありません。 私の見る限り、startup_cm7.Sのようですまた、ITCMおよびDTCMメモリを処理するためにlinker_flash_s32k396.ldファイルが用意されています。 フォーラムでこの投稿を見つけました。関連性があるかどうかはわかりませんが、こちらです: https://community.nxp.com/t5/S32-Design-Studio/No-GCC-11-4-item-in-new-project-wizard-dialog-on-S32DS-3-6-2/td-p/2134523 MBDTのgccはビルド1728のようですが、投稿で修正されているものはビルド1803です。 よろしくお願いいたします! Re: Gcc ignoring pragma statements to place code into ITCM memory. こんにちは、 カスタムストレージクラスの設定方法については、MathWorksのウェブサイトにある以下のページをご確認ください。プラグマを挿入することによって、メモリ内のデータと関数の配置を制御する。 使用する必要がある部分は、「サブシステム機能とデータのデフォルトメモリ配置を上書きする」です。 SorinIBancila_0-1786627722302.pngSorinIBancila_0-1786627722302.pngSorinIBancila_0-1786627722302.pngSorinIBancila_0-1786627722302.png カスタムストレージクラスを作成した後は、モデルを読み込むように設定する必要があります: 0. カスタムストレージクラスの作成および構成: SorinIBancila_5-1786628332348.pngSorinIBancila_5-1786628332348.pngSorinIBancila_5-1786628332348.pngSorinIBancila_5-1786628332348.png 1. コードパースペクティブに入る SorinIBancila_1-1786628013296.pngSorinIBancila_1-1786628013296.pngSorinIBancila_1-1786628013296.pngSorinIBancila_1-1786628013296.png 2. オープン組み込みコーダー辞書(モデル) SorinIBancila_2-1786628097732.pngSorinIBancila_2-1786628097732.pngSorinIBancila_2-1786628097732.pngSorinIBancila_2-1786628097732.png 3. 先ほど作成したカスタムクラスを読み込みます。 SorinIBancila_3-1786628212316.pngSorinIBancila_3-1786628212316.pngSorinIBancila_3-1786628212316.pngSorinIBancila_3-1786628212316.png 4. モデル内で新しいサブシステムを作成し、それを原子に設定します。 SorinIBancila_6-1786628433580.pngSorinIBancila_6-1786628433580.pngSorinIBancila_6-1786628433580.pngSorinIBancila_6-1786628433580.png 5. コード生成内で、実行関数のメモリセクションをカスタムクラスで設定されている「MemSection_ITCM」に設定します。 SorinIBancila_7-1786628826071.pngSorinIBancila_7-1786628826071.pngSorinIBancila_7-1786628826071.pngSorinIBancila_7-1786628826071.png 6. arm-none-eabi-objdump が.oを.itcm_textに読み込むときに正しくITCM_ToggleDIO植え替えメモリセクション SorinIBancila_8-1786631977524.pngSorinIBancila_8-1786631977524.pngSorinIBancila_8-1786631977524.pngSorinIBancila_8-1786631977524.png arm-none-eabi-nm -n s32k3xx_dio_s32ct.elfも、ITCM_ToggleDIOは0x0住所で見つかると言っています。 SorinIBancila_9-1786632086079.pngSorinIBancila_9-1786632086079.pngSorinIBancila_9-1786632086079.pngSorinIBancila_9-1786632086079.png もし.elfをS32DSからフラッシュし、内部でブレークポイントを使うと関数s32k3xx_dio_s32c_ITCM_ToggleDIO、逆アセンブルビューでは命令がアドレスから始まる0x0が確認できます。 SorinIBancila_0-1786632484317.pngSorinIBancila_0-1786632484317.pngSorinIBancila_0-1786632484317.pngSorinIBancila_0-1786632484317.png よろしくお願いします、 ソリン・バンシラ Re: Gcc ignoring pragma statements to place code into ITCM memory. こんにちは、ソリンさん 手伝ってくれてありがとう! 私は実際にMathWorksのウェブサイトに掲載されていた指示に従っていました。 これで、プラグマ文の代わりに属性文を挿入する機能が動作するようになりました。 しかし、それでもgccは関数を.itcm_textに挿入することを拒否する。セグメント。 ブロックには以下のコード生成設定を使用します。 RNJ_0-1786705067074.pngRNJ_0-1786705067074.pngRNJ_0-1786705067074.pngRNJ_0-1786705067074.png 次のような関数のコードが生成されます。 /* 標準コード生成をITCMにリダイレクトする */ __attribute__ ((section(".itcm_text"))) static void Motor_Drive_Subsystem(void) { .... } 結論: .o に itcm_text セグメントがありませんファイル Gcc は関数を完全に最適化します (.o を逆アセンブルすると確認できます)ファイル) 生成された.cファイルから関数の「static」宣言を削除すると手動で再コンパイルすると、.itcm_text が取得できます。.o のセグメントファイル。 どうやら「static」宣言によって、gccコンパイラは属性プレフィックスを無視するようになるようです。 Modelsimでブロックを「再利用可能な関数」に設定すれば、静的宣言が削除されることを期待します。 RNJ_1-1786705067131.pngRNJ_1-1786705067131.pngRNJ_1-1786705067131.pngRNJ_1-1786705067131.png 私は以下を受け取ります: .itcm_text はまだありません.o のセグメントファイル 生成されたCコードでは、関数は依然として「static」として宣言されています。 .o の逆アセンブルファイルを見ると、gcc はアセンブリコード内に関数を保持しているが、.itcm_text への指示は見られない。セグメント では、「静的」宣言が問題なのか(Simulinkや組み込みコーダーの設定に関係しているのか)、それともGCCが「static」を優先して「attribute」宣言を優先している問題なのか? よろしくお願いいたします。 Re: Gcc ignoring pragma statements to place code into ITCM memory. ああ! 「static」宣言が問題の原因だとわかったので、設定パラメータのコード生成セクションを見てみたところ、以下のことが分かりました。 RNJ_0-1786969749323.pngRNJ_0-1786969749323.pngRNJ_0-1786969749323.pngRNJ_0-1786969749323.png チェックを外したら問題が解決しました! 関数の静的宣言はなく、マッピングファイル内でitcm_textセグメントが見えます。あなたもこれが解決策だとお考えなら、私は満足です。 ご協力ありがとうございました!大変感謝しております! Re: Gcc ignoring pragma statements to place code into ITCM memory. こんにちは、 発生した問題を再現しようと試みましたが、生成された関数には「static」キーワードが含まれていませんでした。 SorinIBancila_0-1786963037855.pngSorinIBancila_0-1786963037855.pngSorinIBancila_0-1786963037855.png 私がテストのために行ったのは、基本的なサンプル(s32k3xx_dio_s32ct)をロードし、サブシステム内のすべてのブロックを移動して、それをアトミックに設定し、MemSection_ITCM定義を使用するように構成することでした。あなたも同じように試してみては?もしこのシナリオで再現されなければ、モデルのどこか設定で生成関数を静的にしているのかもしれません。 よろしくお願いします、 ソリン・バンシラ Re: Gcc ignoring pragma statements to place code into ITCM memory. こんにちは、 問題が解決できてよかったです! 😄 よろしくお願いします、 ソリン・バンシラ
記事全体を表示
Unable to successfully program the eMMC on the i.MX93EVK using UUU in Download Mode WSL ubuntu 20.04 LF_v6.12.49-2.2.0_images_IMX93EVK.zip sudo uuu uuu.auto uuu (Universal Update Utility) for nxp imx chips -- libuuu_1.5.243-4-ga377d1e Success 0 Failure 0 1:1-6458439E 1/ 1 [=================100%=================] SDPS: boot -f imx-boot-imx93-11x11-lpddr4x-evk-sd.bin-flash_singleboot Uboot info U-Boot 2025.04-g4ddbad60eff3 (Nov 19 2025 - 07:56:58 +0000) Reset Status: POR CPU: NXP i.MX93(52) Rev1.1 A55 at 1700 MHz CPU: Industrial temperature grade (-40C to 105C) at 40C Model: NXP i.MX93 11X11 EVK board DRAM: 2 GiB TCPC: Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C2 0x52] SNK.Power3.0 on CC1 tcpc_pd_receive_message: Polling ALERT register, TCPC_ALERT_RX_STATUS bit failed, ret = -62 TCPC: Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C2 0x51] TCPC: Vendor ID [0x1fc9], Product ID [0x5110], Addr [I2C2 0x50] Core: 251 devices, 38 uclasses, devicetree: separate MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from nowhere... OK [*]-Video Link 0adv7535_mipi2hdmi hdmi@3d: Can't find cec device id=0x3c fail to probe panel device hdmi@3d fail to get display timings probe video device failed, ret -19 [0] lcd-controller@4ae30000, video [1] dsi@4ae10000, video_bridge [2] hdmi@3d, panel adv7535_mipi2hdmi hdmi@3d: Can't find cec device id=0x3c fail to probe panel device hdmi@3d fail to get display timings probe video device failed, ret -19 In: serial Out: serial Err: serial BuildInfo: - ELE firmware version 2.0.4-e804f3c9 MMC: no card present UID: 6458439e25d046af8f674c2455dfa2dd Detect USB boot. Will enter fastboot mode! Net: eth0: ethernet@42890000, eth1: ethernet@428a0000 [PRIME] Fastboot: Normal Boot from USB for mfgtools *** Warning - Use default environment for mfgtools , using default environment Run bootcmd_mfg: run mfgtool_args; if iminfo ${initrd_addr}; then if test ${tee} = yes; then bootm ${tee_addr} ${initrd_addr} ${fdt_addr}; else ${kboot} ${loadaddr} ${initrd_addr} ${fdt_addr}; fi; else echo Run fastboot ...; ${fb_cmd}; fi; Hit any key to stop autoboot: 0 ## Checking Image at 83800000 ... Unknown image format! Run fastboot ... auto usb 0 Failed to configure default pinctrl Failed to initialize board for USB Failed to configure default pinctrl Failed to initialize board for USB No USB device found USB init failed: -19 u-boot=> Thank you very much for your answer Re: Unable to successfully program the eMMC on the i.MX93EVK using UUU in Download Mode Hi @weiyi Do I get this error even if I burn under Windows? Best Regards, Zhiming Re: Unable to successfully program the eMMC on the i.MX93EVK using UUU in Download Mode I've fixed the problem by going into Linux via the SD card and subsequently dd writing a flash wic image. Re: Unable to successfully program the eMMC on the i.MX93EVK using UUU in Download Mode I had the very same issue with an FRDM-imx93. Flashing from Linux can be a solution, but if someone else faces the problem, the following worked for me. When you get the U-Boot shell: No USB device found USB init failed: -19 u-boot=>  You can try: => usb stop => usb start => fastboot usb 0 If it fails, unplug/replug (board side) only the USB dedicated to serial downloading and repeat those commands. At that point, USB should be discoverable by uuu, so uuu can proceed. Note that uuu shall continue to run in the meantime (waiting for a USB device to appear).
記事全体を表示
アプリケーションがDCSRレジスタの値を読み取った際に、CPUがフリーズした。 私のデバイス環境は、OSEオペレーティングシステムを実行するB4860ハードウェアチッププラットフォームで構成されており、DCSRアドレス空間マッピングタイプはSASEです。 0xf1100000 - 0xf14fffff 0x00400000 rw-r-- cio ----g- SASE dcsr 0xf1124fffから0xf1125fffの範囲内のアドレスを逆参照すると、CPUがフリーズし、ウォッチドッグタイムアウトによりリセットされました。このアドレス空間のサイズは4KBです。チップのDCSRレジスタについて知りたいのですが、DCSRレジスタの機能は何ですか?その値に直接アクセスして読み取ることはできないのでしょうか? Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 フリーズは、通常の読み取り可能なDCSRレジスタではなく、B4860 DCSR空間内の記録されたアクセス不能ホールにアクセスすることと一致しています。 DCSRは一つのレジスタではありません。これは、実行制御/デバッグイベント、トレース生成、イベントカウント、EPUパフォーマンスカウンタ、Nexus/トレース関連レジスタなど、デバッグ関連のハードウェアリソースに使用される4MBのメモリマップ付きデバッグ/制御/ステータスアドレス空間です。一部のDCSRリソースはデバッグや内部用途のみ使用可能であり、少なくとも1つのサポートノートではDCSR/DSCRアクセスは「内部使用のみ」と記載されており、該当する場合はDTUにはCCSRアクセスの使用を推奨しています。 マッピングについて: DCSRベース = 0xf1100000 範囲が不正です = 0xf1124fff - 0xf1125fff オフセット = 0x24fff - 0x25fff 重要な点は次のとおりです。 0xf1125000 - 0xf1125fff  > DCSR オフセット 0x25000 - 0x25fff その正確なDCSRオフセット範囲はアクセス不能スロットとして記載されており、NXPのサポート証拠ではDCSR領域で0x25000~0x25fffを読み取ると「システムハングを引き起こす」とされています。推奨される解決策は、DCSR空間のMMUウィンドウを有効にする際にその範囲を除外することです。他のB4860関連の証拠も同様に、CCSR/DCSRの未マッピング・未使用・予約領域はアクセスできず、それらにアクセスするとSC3900コアやSoCが停止する可能性があると示されています。 つまり答えは次の通りです: いいえ、DCSRマップされた範囲内の任意のアドレスを直接スキャンしたり、逆参照したりしてはいけません。 アクセスすべきは、文書化された有効なDCSRオフセットのみです。 予約済み、未使用、またはアクセス不能のDCSRスロットは、バスエラーを返す代わりにCPU/SoCをハングさせることがあります。 お客様の特定の障害発生範囲は、既知の不良DCSRオフセット0x25000~0x25fffと重複しており、これがCPUフリーズ後にウォッチドッグリセットが発生する理由です。 もう一つ追加情報として、0xf1124fffは文書化された0x25000ホールの1バイト前ですが、その非揃列アドレスでの32ビットアクセスは0xf1125000に交差する可能性があります。DCSR/レジスタアクセスは、任意のバイト/ワードプロービングではなく、アラインドされた32ビットレジスタアクセスとして扱うべきです。 推奨される処理方法:特定のデバッグ リソースが必要な場合にのみ DCSR をマッピングし、読み取り/書き込みを既知の有効なオフセットに制限し、診断ダンプまたはメモリ スキャン コードから DCSR + 0x25000 から DCSR + 0x25fff を明示的にブロック/除外します。 フリーズはそのアドレス範囲で予想されます。0xf1125000–0xf1125fffはB4860 DCSRの非アクセス可能なスロット0x25000–0x25fffにマッピングされるため、DCSR空間の任意の直接読み込みは安全ではありません。
記事全体を表示
PMSMのV/fコントロールは可能でしょうか? 私はV/f方法でPMSM制御用のSimulinkモデルを作成しています。このモデルは誘導モーターには使えますが、PMSMの出力速度が振動していて、磁場が同期していないと思います。何か見落としているでしょうか? Re: can we do V/f control of a PMSM? こんにちは、 確かに、フィールド間の同期が正しく行われていない可能性があります。誘導電動機では、ローターのスリップがローター巻線に電流を誘導し、自然な電気磁性減衰効果を生み出します。PMSM内では誘導モーターのようなスリップや誘導ローター電流がないため、固有の減衰もありません。ローターPMは回転するステーターのフィールドに正確にロックしなければなりません。ローターとステーターの磁界の角度は減衰しない振り子のように振る舞い、乱れが生じるとローターは同期位置の周りで振動します。 これに対処するための選択肢: 1. V/fモデルにアクティブ減衰を追加してください。推定速度誤差に基づいて出力電圧や周波数を変調することで、欠けている減衰を注入できます: センサーまたはセンサーレス技術を用いたローター速度の推定 d(w_error)/dtをフィードバックしてV/f出力振幅を変調する V/f方式を使い続けたいなら、これが一番簡単な解決策です。 2. もう一つの選択肢は、指令周波数で固定子電流の大きさを制御するI/F制御に移行することです。I/F制御に関する詳細は次のページをご覧ください 。I-Fコントローラ お役に立てば幸いです! よろしくお願いいたします。 ステファン。
記事全体を表示
S32K396 および FS26 REG_CORRUPT 皆様 FS26 の「REG_CORRUPT」フラグを解消しようとしています。添付の 2 枚のスクリーンショットは、関連するすべてのレジスタの読み取り結果を示しています。 最初の「AE」読み込みコマンドの直前に、ウォッチドッグのファーストキックを成功させてFSの状態をINIT_FSから外し、フェイルセーフレジスタの状態の正しさを評価しました。0x28回答から、REG_CORRUPTビットが設定されたデバッグモードに入っていることがわかります。 ウォッチドッグのキックが成功したことは間違いありません。キック直後にFS_DIAG_SAFETY1を読み取ったところ、戻り値は0x0103で、エラーフラグはなく、ABIST1_OKとLBIST_STATUS = OKでした。 0xAE コマンドの後、0xAF コマンドを発行してレジスタに 0x1800 を書き込んで OTP_CORRUPT ビットと REG_CORRUPT ビットをクリアし、その後レジスタ 0x41 から順に 12 個の FS レジスタすべてを読み取ります (シフトするとコマンドは 0x82 になります)。 これらのレジスタから返された値を確認しましたが、返された値に一貫性の問題は見当たりません(もちろん、書き込みしてはいけないビットや保持・保留・0/1のビットを考慮して)。 最後に読んだ『FS_STATES』を見ると、まだREG_CORRUPTが設定されていることがわかります。 こんな直接的な質問をして申し訳ないのですが、何か見落としている点があるのでしょうか? よろしくお願いいたします。 Andrew Snip1.pngSnip1.png Snip2.pngSnip2.png    Re: S32K396 and FS26 REG_CORRUPT こんにちは! REG_CORRPUT ビットについては、以下のようにアサートされます。これは、FS レジスタが構成される場合、NOT レジスタを XOR ルールとともに構成する必要があることを意味します。 ErikaC_0-1785954434399.pngErikaC_0-1785954434399.png このビットがアサートされる原因となっている、規則に従っていないレジスタ設定がないか確認してください。 Re: S32K396 and FS26 REG_CORRUPT エリカ様、 ご回答ありがとうございます。すでに何度も確認済みですので、最初の投稿でレジスタの状態を画像として掲載しました。これらの設定方法に問題があると思われる場合は、お知らせください。 私の知る限り、レジスタは正しい(データシートで書き込み可能なビットのみを考慮して)正しいようです。チップ自体が読み取り専用ビットが有効な状態であることを管理しているものと想定し、また「0」または「予約済み」と指定されているビットは書き込み不可であると想定します。 それらのビットのいずれかに書き込みをすると、REG_CORRUPTビットがアサートされたままになる可能性はありますか? よろしくお願いいたします。 Andrew Re: S32K396 and FS26 REG_CORRUPT 皆様、 自分の質問に答えて、将来誰かの助けになればと思っています..... データシートの抜粋を投稿するつもりはありません。なぜなら、それは私がこの製品データ情報にアクセスするために署名したNDAに違反するためです。ただし、製品情報で「0」または「予約」と定義されているビットはよくご確認ください。私の問題の解決策は、「RESERVED」と定義されている部分に関係していました。REG_CORRUPTビットが設定されるのを防ぐために、ソフトウェアがこの場所に「1」を書き込むことが不可欠です。 必要なビット状態を明確にし、ソフトウェアが何をすべきかを正しく定義するためにデータシートを修正することをお勧めします。これは他の類似ビットと同様にです。 よろしくお願いいたします。 Andrew
記事全体を表示
Bluetooth on i.MX8MP Hello, Expert, I am testing the AW-CM358SM on the IMX8MP. The WiFi is working successfully, but when I test Bluetooth on UART3, it shows an error. The error message is as follows. I have tried many methods but still have not succeeded. Do you have any ideas on how to fix it? I would greatly appreciate your help. error log: Bluetooth: hci0: FW already running. [ 46.628430] Bluetooth: hci0: Opcode 0x0c03 failed: -110 dts:  &uart3 { /* BT */     pinctrl-names = "default";     pinctrl-0 = <&pinctrl_uart3 &pinctrl_bt_ctrl>;     assigned-clocks = <&clk IMX8MP_CLK_UART3>;     assigned-clock-parents = <&clk IMX8MP_SYS_PLL1_80M>;     uart-has-rtscts;     status = "okay";     bluetooth {         compatible = "nxp,88w8987-bt";         device-wakeup-gpios = <&gpio2 10 GPIO_ACTIVE_HIGH>;     }; }; pinctrl_uart3: uart3grp {     fsl,pins = <         MX8MP_IOMUXC_ECSPI1_SCLK__UART3_DCE_RX 0x140         MX8MP_IOMUXC_ECSPI1_MOSI__UART3_DCE_TX 0x140         MX8MP_IOMUXC_ECSPI1_MISO__UART3_DCE_CTS 0x140         MX8MP_IOMUXC_ECSPI1_SS0__UART3_DCE_RTS 0x140     >; }; pinctrl_bt_ctrl: btctrlgrp {     fsl,pins = <         MX8MP_IOMUXC_SD1_RESET_B__GPIO2_IO10 0x10 /* HOST_WAKE_BT */         MX8MP_IOMUXC_SD1_STROBE__GPIO2_IO11 0x140 /* BT_HOST_WAKE */     >; }; wifi_mod_para.conf SD8987 = {     cfg80211_wext=0xf     wfd_name=p2p     max_vir_bss=1     cal_data_cfg=none     drv_mode=7     ps_mode=2     auto_ds=2     fw_name=nxp/sdiouart8987_combo_v0.bin } Kernel log Starting kernel ... [ 0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034] [ 0.000000] Linux version 6.6.52-rt43-gd377c9049508-dirty (root@fbdebian) (aarch64-linux-gnu-gcc (Debian 12.2.0-14) 12.2.0, GNU ld (GNU Binutils for Debian) 2.40) #1 SMP PREEMPT Thu Jul 2 11:19:58 CST 2026 [ 0.000000] KASLR disabled due to lack of seed [ 0.000000] Machine model: G3 i.MX8MPlus EVK board [ 0.000000] efi: UEFI not found. [ 0.000000] Reserved memory: unable to setup CMA region [ 0.000000] OF: reserved mem: node linux,cma compatible matching fail [ 0.000000] OF: reserved mem: 0x0000000000900000..0x000000000096ffff (448 KiB) nomap non-reusable ocram@900000 [ 0.000000] Zone ranges: [ 0.000000] DMA [mem 0x0000000040000000-0x00000000ffffffff] [ 0.000000] DMA32 empty [ 0.000000] Normal [mem 0x0000000100000000-0x000000013fffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x0000000040000000-0x000000013fffffff] [ 0.000000] Initmem setup node 0 [mem 0x0000000040000000-0x000000013fffffff] [ 0.000000] cma: Reserved 8 MiB at 0x00000000ff800000 on node -1 [ 0.000000] psci: probing for conduit method from DT. [ 0.000000] psci: PSCIv1.1 detected in firmware. [ 0.000000] psci: Using standard PSCI v0.2 function IDs [ 0.000000] psci: MIGRATE_INFO_TYPE not supported. [ 0.000000] psci: SMC Calling Convention v1.4 [ 0.000000] percpu: Embedded 20 pages/cpu s43368 r8192 d30360 u81920 [ 0.000000] Detected VIPT I-cache on CPU0 [ 0.000000] CPU features: detected: GIC system register CPU interface [ 0.000000] CPU features: detected: ARM erratum 845719 [ 0.000000] alternatives: applying boot alternatives [ 0.000000] Kernel command line: console=ttymxc1,115200 root=PARTUUID=6a120481-03 rw rootwait [ 0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear) [ 0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear) [ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 1032192 [ 0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off [ 0.000000] software IO TLB: area num 4. [ 0.000000] software IO TLB: mapped [mem 0x00000000fb800000-0x00000000ff800000] (64MB) [ 0.000000] Memory: 4012020K/4194304K available (16192K kernel code, 1688K rwdata, 5064K rodata, 3520K init, 541K bss, 174092K reserved, 8192K cma-reserved) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1 [ 0.000000] rcu: Preemptible hierarchical RCU implementation. [ 0.000000] rcu: RCU restricting CPUs from NR_CPUS=256 to nr_cpu_ids=4. [ 0.000000] Trampoline variant of Tasks RCU enabled. [ 0.000000] Tracing variant of Tasks RCU enabled. [ 0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies. [ 0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4 [ 0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0 [ 0.000000] GICv3: GIC: Using split EOI/Deactivate mode [ 0.000000] GICv3: 160 SPIs implemented [ 0.000000] GICv3: 0 Extended SPIs implemented [ 0.000000] Root IRQ handler: gic_handle_irq [ 0.000000] GICv3: GICv3 features: 16 PPIs [ 0.000000] GICv3: CPU0: found redistributor 0 region 0:0x0000000038880000 [ 0.000000] ITS: No ITS available, not enabling LPIs [ 0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention. [ 0.000000] arch_timer: cp15 timer(s) running at 8.00MHz (phys). [ 0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x1d854df40, max_idle_ns: 440795202120 ns [ 0.000000] sched_clock: 56 bits at 8MHz, resolution 125ns, wraps every 2199023255500ns [ 0.000475] Console: colour dummy device 80x25 [ 0.000519] Calibrating delay loop (skipped), value calculated using timer frequency.. 16.00 BogoMIPS (lpj=32000) [ 0.000528] pid_max: default: 32768 minimum: 301 [ 0.000602] LSM: initializing lsm=capability,integrity [ 0.000695] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.000711] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear) [ 0.002173] RCU Tasks: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.002240] RCU Tasks Trace: Setting shift to 2 and lim to 1 rcu_task_cb_adjust=1. [ 0.002415] rcu: Hierarchical SRCU implementation. [ 0.002418] rcu: Max phase no-delay instances is 1000. [ 0.004206] EFI services will not be available. [ 0.004444] smp: Bringing up secondary CPUs ... [ 0.004903] Detected VIPT I-cache on CPU1 [ 0.004964] GICv3: CPU1: found redistributor 1 region 0:0x00000000388a0000 [ 0.005000] CPU1: Booted secondary processor 0x0000000001 [0x410fd034] [ 0.005523] Detected VIPT I-cache on CPU2 [ 0.005565] GICv3: CPU2: found redistributor 2 region 0:0x00000000388c0000 [ 0.005585] CPU2: Booted secondary processor 0x0000000002 [0x410fd034] [ 0.006045] Detected VIPT I-cache on CPU3 [ 0.006083] GICv3: CPU3: found redistributor 3 region 0:0x00000000388e0000 [ 0.006100] CPU3: Booted secondary processor 0x0000000003 [0x410fd034] [ 0.006165] smp: Brought up 1 node, 4 CPUs [ 0.006173] SMP: Total of 4 processors activated. [ 0.006177] CPU features: detected: 32-bit EL0 Support [ 0.006181] CPU features: detected: CRC32 instructions [ 0.006243] CPU: All CPU(s) started at EL2 [ 0.006246] alternatives: applying system-wide alternatives [ 0.008002] devtmpfs: initialized [ 0.016979] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns [ 0.017001] futex hash table entries: 1024 (order: 4, 65536 bytes, linear) [ 0.017422] pinctrl core: initialized pinctrl subsystem [ 0.020051] DMI not present or invalid. [ 0.020689] NET: Registered PF_NETLINK/PF_ROUTE protocol family [ 0.022304] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations [ 0.023375] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations [ 0.024665] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations [ 0.024748] audit: initializing netlink subsys (disabled) [ 0.024932] audit: type=2000 audit(0.024:1): state=initialized audit_enabled=0 res=1 [ 0.025352] thermal_sys: Registered thermal governor 'step_wise' [ 0.025356] thermal_sys: Registered thermal governor 'power_allocator' [ 0.025401] cpuidle: using governor menu [ 0.025566] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers. [ 0.025647] ASID allocator initialised with 65536 entries [ 0.026696] Serial: AMBA PL011 UART driver [ 0.026763] imx mu driver is registered. [ 0.026785] imx rpmsg driver is registered. [ 0.032936] platform soc@0: Fixed dependency cycle(s) with /soc@0/bus@30000000/efuse@30350000/unique-id@8 [ 0.035120] platform 30330000.pinctrl: Fixed dependency cycle(s) with /soc@0/bus@30000000/pinctrl@30330000/hoggrp [ 0.035566] imx8mp-pinctrl 30330000.pinctrl: initialized IMX pinctrl driver [ 0.036067] platform 30350000.efuse: Fixed dependency cycle(s) with /soc@0/bus@30000000/clock-controller@30380000 [ 0.037099] platform 30350000.efuse: Fixed dependency cycle(s) with /soc@0/bus@30000000/clock-controller@30380000 [ 0.049206] Modules: 25968 pages in range for non-PLT usage [ 0.049215] Modules: 517488 pages in range for PLT usage [ 0.049877] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages [ 0.049884] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page [ 0.049889] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages [ 0.049892] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page [ 0.049896] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages [ 0.049902] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page [ 0.049909] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages [ 0.049912] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page [ 0.052093] iommu: Default domain type: Translated [ 0.052102] iommu: DMA domain TLB invalidation policy: strict mode [ 0.052394] SCSI subsystem initialized [ 0.052679] usbcore: registered new interface driver usbfs [ 0.052709] usbcore: registered new interface driver hub [ 0.052742] usbcore: registered new device driver usb [ 0.053603] pps_core: LinuxPPS API ver. 1 registered [ 0.053607] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti [ 0.053619] PTP clock support registered [ 0.053886] EDAC MC: Ver: 3.0.0 [ 0.054304] scmi_core: SCMI protocol bus registered [ 0.055327] Bluetooth: Core ver 2.22 [ 0.055356] NET: Registered PF_BLUETOOTH protocol family [ 0.055361] Bluetooth: HCI device and connection manager initialized [ 0.055370] Bluetooth: HCI socket layer initialized [ 0.055375] Bluetooth: L2CAP socket layer initialized [ 0.055387] Bluetooth: SCO socket layer initialized [ 0.055707] vgaarb: loaded [ 0.056088] clocksource: Switched to clocksource arch_sys_counter [ 0.056287] VFS: Disk quotas dquot_6.6.0 [ 0.056396] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes) [ 0.063310] NET: Registered PF_INET protocol family [ 0.063495] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear) [ 0.066275] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear) [ 0.066325] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear) [ 0.066337] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear) [ 0.066585] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear) [ 0.067521] TCP: Hash tables configured (established 32768 bind 32768) [ 0.067635] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear) [ 0.067720] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear) [ 0.067927] NET: Registered PF_UNIX/PF_LOCAL protocol family [ 0.068373] RPC: Registered named UNIX socket transport module. [ 0.068379] RPC: Registered udp transport module. [ 0.068381] RPC: Registered tcp transport module. [ 0.068384] RPC: Registered tcp-with-tls transport module. [ 0.068386] RPC: Registered tcp NFSv4.1 backchannel transport module. [ 0.069403] PCI: CLS 0 bytes, default 64 [ 0.070488] Initialise system trusted keyrings [ 0.070625] workingset: timestamp_bits=46 max_order=20 bucket_order=0 [ 0.070895] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.071096] NFS: Registering the id_resolver key type [ 0.071116] Key type id_resolver registered [ 0.071120] Key type id_legacy registered [ 0.071137] nfs4filelayout_init: NFSv4 File Layout Driver Registering... [ 0.071142] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering... [ 0.071159] jffs2: version 2.2. (NAND) © 2001-2006 Red Hat, Inc. [ 0.071346] 9p: Installing v9fs 9p2000 file system support [ 0.100048] jitterentropy: Initialization failed with host not compliant with requirements: 9 [ 0.100055] Key type asymmetric registered [ 0.100059] Asymmetric key parser 'x509' registered [ 0.100104] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246) [ 0.100110] io scheduler mq-deadline registered [ 0.100114] io scheduler kyber registered [ 0.100139] io scheduler bfq registered [ 0.115771] imx-sdma 30bd0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 [ 0.115787] imx-sdma 30bd0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin [ 0.117292] mxs-dma 33000000.dma-apbh: initialized [ 0.118069] SoC: i.MX8MP revision 1.1 [ 0.118477] Bus freq driver module loaded [ 0.135536] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled [ 0.138454] 30880000.serial: ttymxc2 at MMIO 0x30880000 (irq = 16, base_baud = 5000000) is a IMX [ 0.138703] serial serial0: tty port ttymxc2 registered [ 0.139315] 30890000.serial: ttymxc1 at MMIO 0x30890000 (irq = 17, base_baud = 1500000) is a IMX [ 0.139350] printk: legacy console [ttymxc1] enabled [ 1.222791] loop: module loaded [ 1.227149] of_reserved_mem_lookup() returned NULL [ 1.237919] tun: Universal TUN/TAP device driver, 1.6 [ 1.244863] sky2: driver version 1.30 [ 1.249061] usbcore: registered new device driver r8152-cfgselector [ 1.255367] usbcore: registered new interface driver r8152 [ 1.261230] VFIO - User Level meta-driver version: 0.3 [ 1.271293] usbcore: registered new interface driver uas [ 1.276669] usbcore: registered new interface driver usb-storage [ 1.282753] usbcore: registered new interface driver usbserial_generic [ 1.289312] usbserial: USB Serial support registered for generic [ 1.295346] usbcore: registered new interface driver ftdi_sio [ 1.301121] usbserial: USB Serial support registered for FTDI USB Serial Device [ 1.308467] usbcore: registered new interface driver usb_serial_simple [ 1.315022] usbserial: USB Serial support registered for carelink [ 1.321145] usbserial: USB Serial support registered for flashloader [ 1.327526] usbserial: USB Serial support registered for funsoft [ 1.333554] usbserial: USB Serial support registered for google [ 1.339503] usbserial: USB Serial support registered for hp4x [ 1.345284] usbserial: USB Serial support registered for kaufmann [ 1.351402] usbserial: USB Serial support registered for libtransistor [ 1.357961] usbserial: USB Serial support registered for moto_modem [ 1.364256] usbserial: USB Serial support registered for motorola_tetra [ 1.370900] usbserial: USB Serial support registered for nokia [ 1.376765] usbserial: USB Serial support registered for novatel_gps [ 1.383149] usbserial: USB Serial support registered for siemens_mpi [ 1.389527] usbserial: USB Serial support registered for suunto [ 1.395476] usbserial: USB Serial support registered for vivopay [ 1.401511] usbserial: USB Serial support registered for zio [ 1.407203] usbcore: registered new interface driver usb_ehset_test [ 1.413528] usbcore: registered new device driver onboard-usb-hub [ 1.422006] snvs_rtc 30370000.snvs:snvs-rtc-lp: registered as rtc0 [ 1.428227] snvs_rtc 30370000.snvs:snvs-rtc-lp: setting system clock to 1970-01-01T00:00:00 UTC (0) [ 1.437427] i2c_dev: i2c /dev entries driver [ 1.445729] Bluetooth: HCI UART driver ver 2.3 [ 1.450203] Bluetooth: HCI UART protocol H4 registered [ 1.455351] Bluetooth: HCI UART protocol BCSP registered [ 1.460695] Bluetooth: HCI UART protocol LL registered [ 1.465847] Bluetooth: HCI UART protocol ATH3K registered [ 1.471280] Bluetooth: HCI UART protocol Three-wire (H5) registered [ 1.477642] Bluetooth: HCI UART protocol Broadcom registered [ 1.483333] Bluetooth: HCI UART protocol QCA registered [ 1.488739] EDAC MC: ECC not enabled [ 1.493561] sdhci: Secure Digital Host Controller Interface driver [ 1.499762] sdhci: Copyright(c) Pierre Ossman [ 1.504580] Synopsys Designware Multimedia Card Interface Driver [ 1.511193] sdhci-pltfm: SDHCI platform and OF driver helper [ 1.519372] ledtrig-cpu: registered to indicate activity on CPUs [ 1.526326] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping .... [ 1.535249] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 counters available [ 1.545746] platform soc@0: Fixed dependency cycle(s) with /soc@0/bus@30000000/efuse@30350000 [ 1.548948] mmc2: SDHCI controller on 30b60000.mmc [30b60000.mmc] using ADMA [ 1.555377] optee: probing for conduit method. [ 1.565851] optee: api uid mismatch [ 1.569678] optee: probe of firmware:optee failed with error -22 [ 1.576620] NET: Registered PF_LLC protocol family [ 1.581492] u32 classifier [ 1.584247] input device check on [ 1.587910] Actions configured [ 1.591634] NET: Registered PF_INET6 protocol family [ 1.598148] Segment Routing with IPv6 [ 1.601891] In-situ OAM (IOAM) with IPv6 [ 1.605875] NET: Registered PF_PACKET protocol family [ 1.610955] bridge: filtering via arp/ip/ip6tables is no longer available by default. Update your scripts to load br_netfilter if you need this. [ 1.625927] Bluetooth: RFCOMM TTY layer initialized [ 1.630834] Bluetooth: RFCOMM socket layer initialized [ 1.634392] mmc2: new HS400 Enhanced strobe MMC card at address 0001 [ 1.636001] Bluetooth: RFCOMM ver 1.11 [ 1.642888] mmcblk2: mmc2:0001 064G90 58.2 GiB [ 1.646098] Bluetooth: BNEP (Ethernet Emulation) ver 1.3 [ 1.653585] mmcblk2: p1 p2 p3 [ 1.655851] Bluetooth: BNEP filters: protocol multicast [ 1.661320] mmcblk2boot0: mmc2:0001 064G90 8.00 MiB [ 1.664139] Bluetooth: BNEP socket layer initialized [ 1.670589] mmcblk2boot1: mmc2:0001 064G90 8.00 MiB [ 1.674997] 8021q: 802.1Q VLAN Support v1.8 [ 1.680430] mmcblk2rpmb: mmc2:0001 064G90 16.0 MiB, chardev (238:0) [ 1.683109] lib80211: common routines for IEEE802.11 drivers [ 1.695071] 9pnet: Installing 9P2000 support [ 1.699490] Key type dns_resolver registered [ 1.704490] NET: Registered PF_VSOCK protocol family [ 1.719723] registered taskstats version 1 [ 1.723967] Loading compiled-in X.509 certificates [ 1.751680] gpio gpiochip0: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.762305] gpio gpiochip1: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.772790] gpio gpiochip2: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.783311] gpio gpiochip3: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.793861] gpio gpiochip4: Static allocation of GPIO base is deprecated, use dynamic allocation. [ 1.806692] i2c i2c-0: IMX I2C adapter registered [ 1.813480] rtc-rx8111 2-0032: registered as rtc1 [ 1.820041] ina238 2-0043: power monitor ina237 (Rshunt = 50000 uOhm, gain = 4) [ 1.821839] nxp-pca9450 0-0025: pca9450bc probed. [ 1.827481] i2c i2c-2: IMX I2C adapter registered [ 1.869694] usb251xb 3-002c: Hub configuration was successful. [ 1.875553] usb251xb 3-002c: Hub probed successfully [ 1.880583] i2c i2c-3: IMX I2C adapter registered [ 1.885922] imx8mq-usb-phy 381f0040.usb-phy: supply vbus not found, using dummy regulator [ 1.894643] imx8mq-usb-phy 382f0040.usb-phy: supply vbus not found, using dummy regulator [ 1.912708] 30a60000.serial: ttymxc3 at MMIO 0x30a60000 (irq = 199, base_baud = 1500000) is a IMX [ 1.922917] imx-dwmac 30bf0000.ethernet: IRQ eth_lpi not found [ 1.929740] imx-dwmac 30bf0000.ethernet: User ID: 0x10, Synopsys ID: 0x51 [ 1.936555] imx-dwmac 30bf0000.ethernet: DWMAC4/5 [ 1.941361] imx-dwmac 30bf0000.ethernet: DMA HW capability register supported [ 1.948509] imx-dwmac 30bf0000.ethernet: RX Checksum Offload Engine supported [ 1.955650] imx-dwmac 30bf0000.ethernet: TX Checksum insertion supported [ 1.962359] imx-dwmac 30bf0000.ethernet: Wake-Up On Lan supported [ 1.968520] imx-dwmac 30bf0000.ethernet: Enable RX Mitigation via HW Watchdog Timer [ 1.976199] imx-dwmac 30bf0000.ethernet: device MAC address 2a:c5:99:84:66:bb [ 1.983350] imx-dwmac 30bf0000.ethernet: Enabled L3L4 Flow TC (entries=8) [ 1.990152] imx-dwmac 30bf0000.ethernet: Enabled RFS Flow TC (entries=10) [ 1.996965] imx-dwmac 30bf0000.ethernet: Enabling HW TC (entries=256, max_off=256) [ 2.004554] imx-dwmac 30bf0000.ethernet: Using 34/40 bits DMA host/device width [ 2.158192] realtek-mdio stmmac-1:00: found an RTL8363NB switch [ 2.164168] realtek-mdio stmmac-1:00: unable to register switch ret = -517 [ 2.175037] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 2.180572] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1 [ 2.188568] xhci-hcd xhci-hcd.1.auto: hcc params 0x0220fe6d hci version 0x110 quirks 0x000000a001000010 [ 2.198006] xhci-hcd xhci-hcd.1.auto: irq 203, io mem 0x38200000 [ 2.204153] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 2.209668] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2 [ 2.217339] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed [ 2.226380] hub 1-0:1.0: USB hub found [ 2.230477] hub 1-0:1.0: 1 port detected [ 2.236611] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. [ 2.246489] hub 2-0:1.0: USB hub found [ 2.250581] hub 2-0:1.0: 1 port detected [ 2.256296] imx-cpufreq-dt imx-cpufreq-dt: cpu speed grade 5 mkt segment 0 supported-hw 0x20 0x1 [ 2.268964] sdhci-esdhc-imx 30b40000.mmc: allocated mmc-pwrseq [ 2.269069] sdhci-esdhc-imx 30b50000.mmc: Got CD GPIO [ 2.313534] mmc1: SDHCI controller on 30b50000.mmc [30b50000.mmc] using ADMA [ 2.413613] mmc0: SDHCI controller on 30b40000.mmc [30b40000.mmc] using ADMA [ 2.414283] realtek-mdio stmmac-1:00: found an RTL8363NB switch [ 2.492421] usb 1-1: new high-speed USB device number 2 using xhci-hcd [ 2.540131] mmc0: new ultra high speed SDR104 SDIO card at address 0001 [ 2.600919] realtek-mdio stmmac-1:00: configuring for fixed/rgmii link mode [ 2.610450] realtek-mdio stmmac-1:00: Link is Up - 1Gbps/Full - flow control off [ 2.644563] realtek-mdio stmmac-1:00 eth1 (uninitialized): PHY [dsa-0.0:01] driver [Generic PHY] (irq=POLL) [ 2.684441] realtek-mdio stmmac-1:00 eth2 (uninitialized): PHY [dsa-0.0:03] driver [Generic PHY] (irq=POLL) [ 2.699335] DSA: tree 0 setup [ 2.704695] input: gpio-keys as /devices/platform/gpio-keys/input/input0 [ 2.704785] hub 1-1:1.0: USB hub found [ 2.712031] input: cpu_inputs as /devices/platform/cpu_inputs/input/input1 [ 2.715286] hub 1-1:1.0: 4 ports detected [ 2.722488] cfg80211: Loading compiled-in X.509 certificates for regulatory database [ 2.734966] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7' [ 2.741369] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600' [ 2.748657] clk: Disabling unused clocks [ 2.752652] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2 [ 2.761287] platform regulatory.0: Falling back to sysfs fallback for: regulatory.db [ 2.865310] hub 1-1:1.0: USB hub found [ 2.869427] hub 1-1:1.0: 4 ports detected [ 3.269517] EXT4-fs (mmcblk2p3): recovery complete [ 3.275227] EXT4-fs (mmcblk2p3): mounted filesystem 057d8de8-a7e7-4440-9fea-c9670c0c5df9 r/w with ordered data mode. Quota mode: none. [ 3.287379] VFS: Mounted root (ext4 filesystem) on device 179:3. [ 3.294319] devtmpfs: mounted [ 3.298268] Freeing unused kernel memory: 3520K [ 3.302934] Run /sbin/init as init process [ 3.423469] systemd[1]: System time before build time, advancing clock. [ 3.450897] systemd[1]: systemd 252.39-1~deb12u2 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified) [ 3.483986] systemd[1]: Detected architecture arm64. Welcome to Debian GNU/Linux 12 (bookworm)! [ 3.506158] systemd[1]: Hostname set to . [ 3.512764] systemd[1]: Initializing machine ID from random generator. [ 3.558947] systemd[1]: memfd_create() called without MFD_EXEC or MFD_NOEXEC_SEAL set [ 3.931119] systemd[1]: Queued start job for default target graphical.target. [ 3.968011] systemd[1]: Created slice system-getty.slice - Slice /system/getty. [ OK ] Created slice system-getty.slice - Slice /system/getty. [ 3.993796] systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe. [ OK ] Created slice system-modpr…lice - Slice /system/modprobe. [ 4.022309] systemd[1]: Created slice system-serial\x2dgetty.slice - Slice /system/serial-getty. [ OK ] Created slice system-seria… - Slice /system/serial-getty. [ 4.049678] systemd[1]: Created slice system-systemd\x2dfsck.slice - Slice /system/systemd-fsck. [ OK ] Created slice system-syste… - Slice /system/systemd-fsck. [ 4.077353] systemd[1]: Created slice user.slice - User and Session Slice. [ OK ] Created slice user.slice - User and Session Slice. [ 4.100497] systemd[1]: Started systemd-ask-password-console.path - Dispatch Password Requests to Console Directory Watch. [ OK ] Started systemd-ask-passwo…quests to Console Directory Watch. [ 4.128453] systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch. [ OK ] Started systemd-ask-passwo… Requests to Wall Directory Watch. [ 4.156396] systemd[1]: proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point was skipped because of an unmet condition check (ConditionPathExists=/proc/sys/fs/binfmt_misc). [ 4.175866] systemd[1]: Expecting device dev-mmcblk2p1.device - /dev/mmcblk2p1... Expecting device dev-mmcblk2p1.device - /dev/mmcblk2p1... [ 4.200472] systemd[1]: Expecting device dev-ttymxc1.device - /dev/ttymxc1... Expecting device dev-ttymxc1.device - /dev/ttymxc1... [ 4.224224] systemd[1]: Reached target cryptsetup.target - Local Encrypted Volumes. [ OK ] Reached target cryptsetup.…get - Local Encrypted Volumes. [ 4.248610] systemd[1]: Reached target integritysetup.target - Local Integrity Protected Volumes. [ OK ] Reached target integrityse…Local Integrity Protected Volumes. [ 4.276289] systemd[1]: Reached target paths.target - Path Units. [ OK ] Reached target paths.target - Path Units. [ 4.296264] systemd[1]: Reached target remote-fs.target - Remote File Systems. [ OK ] Reached target remote-fs.target - Remote File Systems. [ 4.320247] systemd[1]: Reached target slices.target - Slice Units. [ OK ] Reached target slices.target - Slice Units. [ 4.340224] systemd[1]: Reached target swap.target - Swaps. [ OK ] Reached target swap.target - Swaps. [ 4.360269] systemd[1]: Reached target veritysetup.target - Local Verity Protected Volumes. [ OK ] Reached target veritysetup… - Local Verity Protected Volumes. [ 4.384758] systemd[1]: Listening on systemd-fsckd.socket - fsck to fsckd communication Socket. [ OK ] Listening on systemd-fsckd…sck to fsckd communication Socket. [ 4.412536] systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe. [ OK ] Listening on systemd-initc… initctl Compatibility Named Pipe. [ 4.441749] systemd[1]: Listening on systemd-journald-audit.socket - Journal Audit Socket. [ OK ] Listening on systemd-journ…socket - Journal Audit Socket. [ 4.468740] systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log). [ OK ] Listening on systemd-journ…t - Journal Socket (/dev/log). [ 4.496878] systemd[1]: Listening on systemd-journald.socket - Journal Socket. [ OK ] Listening on systemd-journald.socket - Journal Socket. [ 4.520946] systemd[1]: Listening on systemd-networkd.socket - Network Service Netlink Socket. [ OK ] Listening on systemd-netwo… - Network Service Netlink Socket. [ 4.557127] systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket. [ OK ] Listening on systemd-udevd….socket - udev Control Socket. [ 4.584722] systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket. [ OK ] Listening on systemd-udevd…l.socket - udev Kernel Socket. [ 4.624665] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System... Mounting dev-hugepages.mount - Huge Pages File System... [ 4.651859] systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System... Mounting dev-mqueue.mount▒▒POSIX Message Queue File System... [ 4.680049] systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System... Mounting sys-kernel-debug.… - Kernel Debug File System... [ 4.709270] systemd[1]: sys-kernel-tracing.mount - Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing). [ 4.724518] systemd[1]: kmod-static-nodes.service - Create List of Static Device Nodes was skipped because of an unmet condition check (ConditionFileNotEmpty=/lib/modules/6.6.52-rt43-gd377c9049508-dirty/modules.devname). [ 4.757545] systemd[1]: Starting [email protected] - Load Kernel Module configfs... Starting modprobe@configfs…m - Load Kernel Module configfs... [ 4.788352] systemd[1]: Starting modprobe@dm_mod.service - Load Kernel Module dm_mod... Starting modprobe@dm_mod.s…[0m - Load Kernel Module dm_mod... [ 4.816731] systemd[1]: Starting [email protected] - Load Kernel Module drm... Starting [email protected] - Load Kernel Module drm... [ 4.848481] systemd[1]: Starting modprobe@efi_pstore.service - Load Kernel Module efi_pstore... Starting modprobe@efi_psto…- Load Kernel Module efi_pstore... [ 4.876748] systemd[1]: Starting [email protected] - Load Kernel Module fuse... Starting [email protected]…e - Load Kernel Module fuse... [ 4.904963] systemd[1]: Starting [email protected] - Load Kernel Module loop... Starting [email protected]…e - Load Kernel Module loop... [ 4.928580] systemd[1]: systemd-fsck-root.service - File System Check on Root Device was skipped because of an unmet condition check (ConditionPathIsReadWrite=!/). [ 4.968886] systemd[1]: Starting systemd-journald.service - Journal Service... Starting systemd-journald.service - Journal Service... [ 5.004486] systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules... Starting systemd-modules-l…rvice - Load Kernel Modules... [ 5.031531] systemd[1]: Starting systemd-network-generator.service - Generate network units from Kernel command line... Starting systemd-network-g… units from Kernel command line... [ 5.084818] systemd[1]: Starting systemd-remount-fs.service - Remount Root and Kernel File Systems... Starting systemd-remount-f…nt Root and Kernel File Systems... [ 5.115743] systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices... Starting systemd-udev-trig…[0m - Coldplug All udev Devices... [ 5.136505] EXT4-fs (mmcblk2p3): re-mounted 057d8de8-a7e7-4440-9fea-c9670c0c5df9 r/w. Quota mode: none. [ 5.153130] systemd[1]: Started systemd-journald.service - Journal Service. [ OK ] Started systemd-journald.service - Journal Service. [ OK ] Mounted dev-hugepages.mount - Huge Pages File System. [ OK ] Mounted dev-mqueue.mount▒▒- POSIX Message Queue File System. [ OK ] Mounted sys-kernel-debug.m…nt - Kernel Debug File System. [ OK ] Finished modprobe@configfs…[0m - Load Kernel Module configfs. [ OK ] Finished modprobe@dm_mod.s…e - Load Kernel Module dm_mod. [ OK ] Finished [email protected] - Load Kernel Module drm. [ OK ] Finished modprobe@efi_psto…m - Load Kernel Module efi_pstore. [ OK ] Finished [email protected] - Load Kernel Module fuse. [ OK ] Finished [email protected] - Load Kernel Module loop. [ OK ] Finished systemd-modules-l…service - Load Kernel Modules. [ OK ] Finished systemd-network-g…rk units from Kernel command line. [ OK ] Finished systemd-remount-f…ount Root and Kernel File Systems. [ OK ] Reached target network-pre…get - Preparation for Network. Mounting sys-kernel-config…ernel Configuration File System... Starting systemd-journal-f…h Journal to Persistent Storage... [ 5.501074] systemd-journald[137]: Received client request to flush runtime journal. Starting systemd-random-se…ice - Load/Save Random Seed... Starting systemd-sysctl.se…ce - Apply Kernel Variables... Starting systemd-sysusers.…rvice - Create System Users... [ OK ] Finished systemd-udev-trig…e - Coldplug All udev Devices. [ OK ] Mounted sys-kernel-config.… Kernel Configuration File System. [ OK ] Finished systemd-journal-f…ush Journal to Persistent Storage. [ OK ] Finished systemd-sysctl.service - Apply Kernel Variables. Starting ifupdown-pre.serv…ynchronize boot up for ifupdown... [ OK ] Finished systemd-sysusers.service - Create System Users. Starting systemd-tmpfiles-…ate Static Device Nodes in /dev... [ OK ] Finished systemd-tmpfiles-…reate Static Device Nodes in /dev. [ OK ] Reached target local-fs-pr…reparation for Local File Systems. [ OK ] Reached target local-fs.target - Local File Systems. Starting systemd-tmpfiles-…te System Files and Directories... Starting systemd-udevd.ser…ger for Device Events and Files... [ OK ] Finished systemd-tmpfiles-…eate System Files and Directories. Starting systemd-timesyncd… - Network Time Synchronization... Starting systemd-update-ut…rd System Boot/Shutdown in UTMP... [ OK ] Finished systemd-update-ut…cord System Boot/Shutdown in UTMP. [ OK ] Started systemd-udevd.serv…nager for Device Events and Files. Starting systemd-networkd.…ice - Network Configuration... [ OK ] Found device dev-ttymxc1.device - /dev/ttymxc1. [ OK ] Started systemd-timesyncd.…0m - Network Time Synchronization. [ OK ] Reached target sysinit.target - System Initialization. [ OK ] Started systemd-tmpfiles-c… Cleanup of Temporary Directories. [ OK ] Reached target time-set.target - System Time Set. [ OK ] Started apt-daily.timer - Daily apt download activities. [ OK ] Started apt-daily-upgrade.… apt upgrade and clean activities. [ OK ] Started dpkg-db-backup.tim… Daily dpkg database backup timer. [ OK ] Started e2scrub_all.timer▒▒etadata Check for All Filesystems. [ OK ] Started fstrim.timer - Discard unused blocks once a week. [ OK ] Started logrotate.timer - Daily rotation of log files. [ OK ] Started man-db.timer - Daily man-db regeneration. [ OK ] Started sysstat-collect.ti… accounting tool every 10 minutes. [ OK ] Started sysstat-summary.ti…of yesterday's process accounting. [ OK ] Reached target timers.target - Timer Units. [ OK ] Listening on dbus.socket▒▒- D-Bus System Message Bus Socket. [ OK ] Reached targe[ 6.421751] cfg80211: failed to load regulatory.db t sockets.target - Socket Units. [ OK ] Reached target basic.target - Basic System. [ OK ] Started cron.service -…kground program processing daemon. Starting dbus.service - D-Bus System Message Bus... [ 6.524255] imx-sdma 30bd0000.dma-controller: Direct firmware load for imx/sdma/sdma-imx7d.bin failed with error -2 [ 6.537384] imx-sdma 30bd0000.dma-controller: Falling back to sysfs fallback for: imx/sdma/sdma-imx7d.bin [ OK ] Started firmwared.service - Linux Firmware Loader Daemon. [ 6.563260] imx-sdma 30bd0000.dma-controller: external firmware not found, using ROM firmware Starting kexec-load.servic…B: Load kernel image with kexec... Starting lm-sensors.servic…ize hardware monitoring sensors... Starting platcfg.service▒▒r various NXP i.MX/LS platforms... [ OK ] Started seatd.service - Seat management daemon. [ OK ] Started strongswan-starter…Ev1/IKEv2 daemon using ipsec.conf. Starting sysstat.service - Resets System Activity Logs... Starting systemd-logind.se…ice - User Login Management... [ OK ] Started systemd-networkd.service - Network Configuration. [ OK ] Finished ifupdown-pre.serv… synchronize boot up for ifupdown. [ OK ] Finished e2scrub_reap.serv…ine ext4 Metadata Check Snapshots. [ OK ] Finished sysstat.service - Resets System Activity Logs. [ OK ] Finished lm-sensors.servic…alize hardware monitoring sensors. [ OK ] Started kexec-load.service…LSB: Load kernel image with kexec. [ OK ] Found device dev-mmcblk2p1.device - /dev/mmcblk2p1. [ OK ] Reached target usb-gadget.…m - Hardware activated USB gadget. Starting networking.service - Raise network interfaces... Starting systemd-fsck@dev-… System Check on /dev/mmcblk2p1... [ OK ] Started systemd-fsckd.serv…tem Check Daemon to report status. [ OK ] Finished systemd-fsck@dev-…le System Check on /dev/mmcblk2p1. [ 7.297245] imx-dwmac 30bf0000.ethernet eth0: Register MEM_TYPE_PAGE_POOL RxQ-0 [ 7.305583] imx-dwmac 30bf0000.ethernet eth0: No Safety Features support found [ 7.312850] imx-dwmac 30bf0000.ethernet eth0: IEEE 1588-2008 Advanced Timestamp supported Mounting boot.mount - /boot... [ 7.324878] imx-dwmac 30bf0000.ethernet eth0: registered PTP clock [ 7.336555] imx-dwmac 30bf0000.ethernet eth0: FPE workqueue start [ 7.343570] imx-dwmac 30bf0000.ethernet eth0: configuring for fixed/rgmii-id link mode [ 7.353100] imx-dwmac 30bf0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off [ 7.353244] EXT4-fs (mmcblk2p1): mounted filesystem 45d36d6d-da2c-4fa0-ae4f-46086176bf89 r/w with ordered data mode. Quota mode: none. [ 7.354853] 8021q: adding VLAN 0 to HW filter on device eth0 [ OK ] Mounted boot.mount - /boot. [ 7.484902] realtek-mdio stmmac-1:00 eth1: configuring for phy/gmii link mode [ 7.499221] 8021q: adding VLAN 0 to HW filter on device eth1 [ 7.722835] realtek-mdio stmmac-1:00 eth2: configuring for phy/gmii link mode [ 7.758421] 8021q: adding VLAN 0 to HW filter on device eth2 [ OK ] Finished networking.service - Raise network interfaces. [ 7.988116] random: crng init done [ OK ] Finished systemd-random-se…rvice - Load/Save Random Seed. [ OK ] Started dbus.service - D-Bus System Message Bus. Starting wpa_supplicant.service - WPA supplicant... [ OK ] Started systemd-logind.service - User Login Management. [ OK ] Started wpa_supplicant.service - WPA supplicant. [ OK ] Reached target network.target - Network. Starting mosquitto.service - Mosquitto MQTT Broker... Starting ssh.service - OpenBSD Secure Shell server... Starting systemd-hostnamed.service - Hostname Service... Starting systemd-user-sess…vice - Permit User Sessions... [ OK ] Finished systemd-user-sess…ervice - Permit User Sessions. [ OK ] Started [email protected] - Getty on tty1. [ OK ] Started serial-getty@ttymx…ice - Serial Getty on ttymxc1. [ OK ] Reached target getty.target - Login Prompts. [ OK ] Started systemd-hostnamed.service - Hostname Service. [ OK ] Started ssh.service - OpenBSD Secure Shell server. [ OK ] Started mosquitto.service - Mosquitto MQTT Broker. [ OK ] Reached target multi-user.target - Multi-User System. [ OK ] Reached target graphical.target - Graphical Interface. Starting systemd-update-ut… Record Runlevel Change in UTMP... [ OK ] Finished platcfg.service▒▒for various NXP i.MX/LS platforms. [ OK ] Finished systemd-update-ut… - Record Runlevel Change in UTMP. Debian GNU/Linux 12 imx8mpevk ttymxc1 NXP Linux SDK 2506 Debian Server (optimized with NXP-specific hardware acceleration) imx8mpevk login: root Password: Linux imx8mpevk 6.6.52-rt43-gd377c9049508-dirty #1 SMP PREEMPT Thu Jul 2 11:19:58 CST 2026 aarch64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. root@imx8mpevk:~# root@imx8mpevk:~# modprobe moal mod_para=nxp/wifi_mod_para.conf [ 27.658951] mlan: loading out-of-tree module taints kernel. [ 27.688908] wlan: Loading MWLAN driver [ 27.693279] wlan: Register to Bus Driver... [ 27.697621] vendor=0x02DF device=0x9149 class=0 function=1 [ 27.703270] Attach moal handle ops, card interface type: 0x105 [ 27.709133] rps set to 0 from module param [ 27.713466] SD8987: init module param from usr cfg [ 27.718305] card_type: SD8987, config block: 0 [ 27.722765] cfg80211_wext=0xf [ 27.725757] max_vir_bss=1 [ 27.728391] cal_data_cfg=none [ 27.731362] ps_mode = 1 [ 27.733821] auto_ds = 1 [ 27.736295] host_mlme=enable [ 27.739186] fw_name=nxp/sdiouart8987_combo_v0.bin [ 27.743918] SDIO: max_segs=128 max_seg_size=65535 [ 27.748647] rx_work=1 cpu_num=4 [ 27.751795] Enable moal_recv_amsdu_packet [ 27.755832] Attach mlan adapter operations.card_type is 0x105. [ 27.762044] wlan: Enable TX SG mode [ 27.765551] wlan: Enable RX SG mode [ 27.776176] Request firmware: nxp/sdiouart8987_combo_v0.bin [ 28.073628] Wlan: FW download over, firmwarelen=626584 downloaded 617556 [ 28.944747] WLAN FW is active [ 28.947734] on_time is 28943658375 [ 29.003401] VDLL image: len=9028 [ 29.006743] FW country code WW does not match with US [ 29.012026] fw_cap_info=0x181d6f03, dev_cap_mask=0xffffffff [ 29.017672] max_p2p_conn = 8, max_sta_conn = 8 [ 29.022438] SDIO rx aggr: 1 block_size=512 [ 29.026600] wlan: Enable RX SG mode [ 29.030117] mpa_rx_buf_size=65280 [ 29.054744] Register NXP 802.11 Adapter mlan0 [ 29.061163] Register NXP 802.11 Adapter uap0 [ 29.069437] Register NXP 802.11 Adapter wfd0 [ 29.073887] wlan: version = SD8987----16.92.21.p142.3-MM6X16505.p4-GPL-(FP92) [ 29.083234] wlan: Register to Bus Driver Done [ 29.088229] wlan: Driver loaded successfully root@imx8mpevk:~# [ 29.430504] wlan: mlan0 START SCAN [ 33.741685] wlan: SCAN COMPLETED: scanned AP count=6 root@imx8mpevk:~# root@imx8mpevk:~# mod[ 38.754412] wlan: mlan0 START SCAN probe btnxpuart [ 43.549431] btnxpuart serial0-0: ipg clock enabled, rate=80000000 [ 43.555634] btnxpuart serial0-0: per clock enabled, rate=80000000 root@imx8mpevk:~# [ 43.743746] wlan: SCAN COMPLETED: scanned AP count=14 [ 44.580103] Bluetooth: hci0: FW already running. [ 46.628430] Bluetooth: hci0: Opcode 0x0c03 failed: -110 [ 48.756247] wlan: mlan0 START SCAN [ 53.744943] wlan: SCAN COMPLETED: scanned AP count=16 [ 53.753462] wlan: sched scan start Re: Bluetooth on i.MX8MP Hello @wanggg  Which 8MP board you currently using? Could you share hardware connection? Best Regards Shaun Re: Bluetooth on i.MX8MP Hello @shaun_wu  I have already identified the hardware problem. Thank you for your help. Re: Bluetooth on i.MX8MP Hi @wanggg  Can i know what is the issue here... I am also facing the same issue..
記事全体を表示
PCA9422 Hi  I would like to know how I can burn OTP fuse of PCA9422.  Thank you Re: PCA9422 Hi  DFAE-Derek Gartland from AVNET had submit same questions on case00999143 and I had replied to him.
記事全体を表示
Gcc ignoring pragma statements to place code into ITCM memory. Hello! Using Matlab R2025b, Simulink and MBDT for S32K3 version 1.7.1 here. To optimize the performance of a motor controller application we are developing we want to place some parts of the code into the ITCM memory and later on, DTCM memory for data. As for now, for testing the workflow, I am trying to get a function placed into ITCM memory. I managed to get Simulink/ embedded coder to place the correct pragma statements in to the c code like: #pragma GCC section text ".itcm_text" static void  Motor_Drive_Subsystem(void) { .......... } #pragma GCC section text "" However, when compiling the application gcc ignore these pragma statements and places the code in the standard .text segment. This can be concluded with The objdump command: arm-none-eabi-objdump -h Motor_Control.o      (beeing the .o file generated from the c-file containing the Motor_Drive_Subsystem function) There are no .itcm_text in the list just .text.xxxx segments (among the other non text segments). When compiling I use the standard switches for gcc set by the MBDT environment: arm-none-eabi-gcc -O2 -c -std=c99 -fshort-enums -funsigned-char -fstack-usage -ffunction-sections -fdata-sections -g -pedantic -Wall -Wextra -fmessage-length=0 -funsigned-bitfields -fno-common -Wunused -Wstrict-prototypes -Wsign-compare -Werror=implicit-function-declaration -mcpu=cortex-m7 -mthumb -mlittle-endian -mfloat-abi=hard -mfpu=fpv5-sp-d16 -DD_CACHE_ENABLE -DI_CACHE_ENABLE -specs=nano.specs -specs=nosys.specs --sysroot="C:\MATLAB_Add-Ons\Toolboxes\NXP_MBDToolbox_S32K3\tools\build_tools\gcc_v10.2\gcc-10.2-arm32-eabi\arm-none-eabi\newlib" -DSTEP_GPT_TIMER -DSTEP_GPT_CHANNEL=GptConf_GptChannelConfiguration_StepTimer -DSTEP_GPT_CHANNEL_FREQ=40000000 -DSTEP_GPT_CHANNEL_VALUE_MAX=4294967295 -DAUTOSAR_OS_NOT_USED -D__MW_TARGET_USE_HARDWARE_RESOURCES_H__ -DGCC -DS32K3XX -DS32K396 -DCPU_S32K396 -DENABLE_FPU -DMPU_ENABLE -DMBDT_INIT -DCLASSIC_INTERFACE=0 -DALLOCATIONFCN=0 -DTERMFCN=0 -DONESTEPFCN=1 -DMAT_FILE=0 -DMULTI_INSTANCE_CODE=0 -DINTEGER_CODE=0 -DMT=0  -DTID01EQ=0 -DSTACK_SIZE=64 -DRT -DMODEL=Motor_Control -DNUMST=1 -DNCSTATES=0 -DHAVESTDIO -DMODEL_HAS_DYNAMICALLY_LOADED_SFCNS=0 -IC: ..... By modifying the generated c code file and manually compiling it I can conclude the following: Removing the “static” declaration of the function does not help. However, removing “static” and using the alternative way for this by adding an attribute statement on the function: static void  __attribute__((section(".itcm_text")))Motor_Drive_Subsystem(void); will create a .itcm_text segment in the .o file. I am not sure if I am doing something wrong here or if it is a tool problem. Can someone guide me on how to get this working? Of course, we want the tool chain to handle this and do not want to manually modify the c code after code generation. As far as I can see it looks like the startup_cm7.s and linker_flash_s32k396.ld files are prepared for handling the ITCM and DTCM memories. I found this post in the forum, not sure if it is relevant for this: https://community.nxp.com/t5/S32-Design-Studio/No-GCC-11-4-item-in-new-project-wizard-dialog-on-S32DS-3-6-2/td-p/2134523 The MBDT gcc seems to be build 1728 where as the fixed one in the post is build 1803. Thanks in advance! Re: Gcc ignoring pragma statements to place code into ITCM memory. Hello, Please check the following page on MathWorks website how to set up a custom storage class.: Control Data and Function Placement in Memory by Inserting Pragmas. The part that you need to use is "Override Default Memory Placement for Subsystem Functions and Data". SorinIBancila_0-1786627722302.pngSorinIBancila_0-1786627722302.pngSorinIBancila_0-1786627722302.pngSorinIBancila_0-1786627722302.png After you created you custom storage class, you must configure the model to load it:  0. Create and configure the custom storage class: SorinIBancila_5-1786628332348.pngSorinIBancila_5-1786628332348.pngSorinIBancila_5-1786628332348.pngSorinIBancila_5-1786628332348.png 1. Enter Code Perspective SorinIBancila_1-1786628013296.pngSorinIBancila_1-1786628013296.pngSorinIBancila_1-1786628013296.pngSorinIBancila_1-1786628013296.png 2. Open Embedded Coder DIctionary (Model) SorinIBancila_2-1786628097732.pngSorinIBancila_2-1786628097732.pngSorinIBancila_2-1786628097732.pngSorinIBancila_2-1786628097732.png 3. Load the custom class you previously created. SorinIBancila_3-1786628212316.pngSorinIBancila_3-1786628212316.pngSorinIBancila_3-1786628212316.pngSorinIBancila_3-1786628212316.png 4. Inside the model, create a new Subsystem and set it to atomic. SorinIBancila_6-1786628433580.pngSorinIBancila_6-1786628433580.pngSorinIBancila_6-1786628433580.pngSorinIBancila_6-1786628433580.png 5.  Inside the Code Generation, set the Memory section for execution functions: "MemSection_ITCM" as set in the custom class. SorinIBancila_7-1786628826071.pngSorinIBancila_7-1786628826071.pngSorinIBancila_7-1786628826071.pngSorinIBancila_7-1786628826071.png 6.  arm-none-eabi-objdump properly repots that ITCM_ToggleDIO.o is loaded into the .itcm_text memory section SorinIBancila_8-1786631977524.pngSorinIBancila_8-1786631977524.pngSorinIBancila_8-1786631977524.pngSorinIBancila_8-1786631977524.png arm-none-eabi-nm -n s32k3xx_dio_s32ct.elf also says that ITCM_ToggleDIO is found at  0x0 address. SorinIBancila_9-1786632086079.pngSorinIBancila_9-1786632086079.pngSorinIBancila_9-1786632086079.pngSorinIBancila_9-1786632086079.png If the .elf is flashed from the S32DS and a breakpoint is used inside the s32k3xx_dio_s32c_ITCM_ToggleDIO function., in the disassembly view we can see that the instructions are stored starting at 0x0 address. SorinIBancila_0-1786632484317.pngSorinIBancila_0-1786632484317.pngSorinIBancila_0-1786632484317.pngSorinIBancila_0-1786632484317.png Best regards, Sorin Bancila Re: Gcc ignoring pragma statements to place code into ITCM memory. Hi Sorin Thanks for helping out! I was actually following those instructions at Mathworks web site. Now I have the insertion of attribute statements instead of pragma statements working. But still, gcc refuses to put the function into the .itcm_text segment. I use these code generation settings for the block: RNJ_0-1786705067074.pngRNJ_0-1786705067074.pngRNJ_0-1786705067074.pngRNJ_0-1786705067074.png Generated code for function like this: /* Redirect standard code generation to ITCM */ __attribute__((section(".itcm_text")))   static void Motor_Drive_Subsystem(void)   { .... } Conclusion: No itcm_text segment in .o file Gcc optimizes the function away completely (seen by disassembling .o file) If I remove the “static” declaration of the function in the generated .c and manually recompile it I will get the .itcm_text segment in the .o file. It looks like the “static” declaration makes the gcc compiler ignore the attribute prefix. If I set the block to “Reusable function” in modelsim, hoping this would remove the static declaration: RNJ_1-1786705067131.pngRNJ_1-1786705067131.pngRNJ_1-1786705067131.pngRNJ_1-1786705067131.png I get: Still no .itcm_text segment in .o file Function still declared as “static” in generated c code Disassembly of .o file shows that gcc keeps the function in the assembly code but there is no sign of directing to .itcm_text segment So is the “static” declaration the problem (something with settings in Simulink or embedded coder) or is the problem with gcc prioritizing “static” over the “attribute” declaration? Best regards Re: Gcc ignoring pragma statements to place code into ITCM memory. Hello, I tried to reproduce the problem you encounter, the function generated do not include the 'static' keyword. SorinIBancila_0-1786963037855.pngSorinIBancila_0-1786963037855.pngSorinIBancila_0-1786963037855.pngSorinIBancila_0-1786963037855.png What I did to test was to load a basic example (s32k3xx_dio_s32ct) and move all the blocks in a subsystem and configure it to be atomic and to use the MemSection_ITCM definitions. Can you try to do the same? If it doesn't reproduce in this scenario, maybe there are some setting in your model that force the generated function to be static. Best regards, Sorin Bancila Re: Gcc ignoring pragma statements to place code into ITCM memory. Hello, I am glad that you were able to solve the problem! 😄 Best regards, Sorin Bancila Re: Gcc ignoring pragma statements to place code into ITCM memory. Aha! Nowing that the "static" declaration is reason for my problems I had a look at the code generation section in configuration parameters and found this: RNJ_0-1786969749323.pngRNJ_0-1786969749323.png Unticking it solved the problem! No static declaration of the function(s) and I can see the itcm_text segment in the mapping file. I you also think this is the solution I am sattisfied. Thanks for the help, much appreciated!
記事全体を表示
NTAG 5 Switch Hello, I am working on a personal project involving the NTAG 5 Switch. I would like to know whether the NTAG 5 Switch can automatically report a change in the state of its GPIO input to an RFID reader, without the reader having to poll the tag first. If so, what is the minimum achievable latency between the activation/deactivation of the GPIO input and the transmission of this information via RFID? The intended application is a gaming keyboard, so very low and predictable latency is important. Re: NTAG 5 Switch Hello sir, Please take a look at NTAG 5 - Use of PWM, GPIO and event detection section 3, where is mentioned the Input modes and Registers. Still, the state is saved in NTAG 5's memory. The NFC reader will need to read the exposed memory of the GPIO state. Unfortunately, this status is subject to the reader.
記事全体を表示
S32K118 S32 Design Studio 3.5でSDKが表示されない こんにちは、 S32 Design Studio 3.5をインストールし、その後S32K1 RTD 3.0.0をダウンロードしてインストールしました。RTDをインストールした後、 S32K118用の新しいプロジェクトを作成しようとしました。 しかし、プロジェクト作成時に、S32K118に対して**SDK/RTDが利用可能であることは示されていません**。 どなたか、何が足りないのか、またはS32K1 RTD 3.0.0を正しく設定・インストールする方法を教えていただけませんか?S32 Design Studio 3.5に現れるのですか? よろしくお願いいたします。 Re: S32K118 SDK not showing in S32 Design studio 3.5 ハイ 申し訳ありませんが、 S32 Design Studio(S32DS)v3.5 は S32K1 SDK 3.0.0をサポートしていません。 もし S32K1 SDK 3.0.3を使う必要があるなら、ARM 2.2 Update 1用にS32 Design Studioのダウンロードをお勧めします。 もし S32K1 SDK 3.0.2を使う必要があるなら、ARM 2018.R1 Update 11用にS32 Design Studioのダウンロードをおすすめします。   ただし、新規プロジェクト開発においては、最新のS32K1 RTDを使用することをお勧めします。古いSDKはバグ修正のためにアップデートされません。 アプリケーションコードハブ から K1 FRDMバンドル をクリックしてください。そして第4条に従って ください。FRDM_Installation_Guide_2026_03.pdfの設置手順 K1 FRDM Bundle Application Code Hub.pngK1 FRDMバンドルアプリケーションコードHub.png よろしくお願いいたします ロビン
記事全体を表示
我们能否对永磁同步电机进行V/f控制? 我正在用V/f法建立PMSM控制的simulink模型。该模型适用于感应电机,但永磁同步电机的速度输出出现振荡,我认为是磁场没有同步。我是不是漏掉了什么? Re: can we do V/f control of a PMSM? 你好, 确实,这些字段可能没有正确同步。对于感应电机,转子滑差会在转子绕组中感应出电流,从而产生自然的电磁阻尼效应。永磁同步电机内部没有滑差,没有像感应电机那样的转子感应电流,因此也没有固有的阻尼。转子永磁体必须与旋转的定子磁场精确锁定。转子磁场和定子磁场之间的角度就像一个无阻尼摆,任何扰动都会导致转子围绕同步位置振荡。 解决此问题的方案: 1. 在 V/f 模型中添加主动阻尼——您可以根据估计的速度误差,通过调节输出电压或频率来注入缺失的阻尼: 使用传感器或无传感器技术估算转子转速 将 d(w_error)/dt 反馈以调制 V/f 输出幅度 如果你想继续使用 V/f 方法,这是最简单的解决方法。 2. 另一种选择是采用 I/f 控制,即以指令频率控制定子电流幅值。有关接口控制的更多信息,请参见下一页“接口控制器” 。 希望这能帮到你! 顺祝商祺! 斯特凡。
記事全体を表示
应用程序中读取DCSR寄存器的值引发CPU停滞的问题 我的设备环境是硬件芯片平台B4860搭载ose操作系统,有一个dcsr的地址空间映射类型为SASE: 0xf1100000 - 0xf14fffff 0x00400000 rw-r-- cio ----g- SASE dcsr 我对其中的地址范围:0xf1124fff -- 0xf1125fff中任意一个地址进行解引用的时候引发了CPU停滞,之后由于芯片看门狗超时而复位。这个地址空间范围是4kb大小,我想知道关于这个芯片dcsr寄存器相关的信息。dcsr寄存器的作用是什么呢?它不能够直接访问读取寄存器值吗? Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 该冻结与访问B4860 DCSR 空间中已记录的不可访问的空洞一致,而不是与正常的可读 DCSR 寄存器一致。 DCSR 不是一个寄存器;它是一个4 MB 内存映射的调试/控制/状态地址空间,用于调试相关的硬件资源,例如运行控制/调试事件、跟踪生成、事件计数、EPU 性能计数器和 Nexus/跟踪相关寄存器。某些 DCSR 资源仅可用于调试/内部用途,并且至少有一份支持说明指出 DCSR/DSCR 访问“仅供内部使用”,并建议在适用情况下对 DTU 使用 CCSR 访问。 供您参考: DCSR 基址 = 0xf1100000 错误范围 = 0xf1124fff - 0xf1125fff 偏移量 = 0x24fff - 0x25fff 关键在于: 0xf1125000 - 0xf1125fff -> DCSR 偏移量 0x25000 - 0x25fff 该 DCSR 偏移范围被列为不可访问的插槽,NXP 支持证据表明,读取 DCSR 空间中的 0x25000 ~ 0x25fff “会导致系统挂起”;建议的解决方案是在为 DCSR 空间启用 MMU 窗口时排除该范围。其他与 B4860 相关的证据也表明,CCSR/DCSR 中未映射/未使用/保留的区域无法访问,访问这些区域可能会导致 SC3900 内核甚至 SoC 挂起。 所以答案是: 不,您不应该直接扫描或解引用 DCSR 映射范围内的任意地址。 仅应访问已记录/有效的 DCSR 偏移量。 预留、未使用或无法访问的 DCSR 插槽可能会导致 CPU/SoC 挂起,而不是返回总线错误。 您的特定故障范围与已知的错误 DCSR 偏移量 0x25000–0x25fff 重叠,这解释了 CPU 冻结后看门狗复位的原因。 还有一个细节:0xf1124fff 是记录在案的 0x25000 空洞前一个字节,但对该未对齐地址的 32 位访问可能会跨越到 0xf1125000。DCSR/寄存器访问应视为对齐的32位寄存器访问,而不是任意字节/字探测。 建议的处理方法:仅在需要特定调试资源时才映射 DCSR,将读/写限制在已知的有效偏移量,并明确地阻止/排除 DCSR + 0x25000 到 DCSR + 0x25fff 到任何诊断转储或内存扫描代码。 该地址范围预计会冻结:0xf1125000–0xf1125fff 映射到 B4860 DCSR 不可访问的插槽 0x25000–0x25fff,因此对 DCSR 空间的任意直接读取是不安全的。
記事全体を表示
The application's reading of the DCSR register value caused a CPU freeze. My device environment consists of a B4860 hardware chip platform running the OSE operating system, with a DCSR address space mapping type of SASE. 0xf1100000 - 0xf14fffff 0x00400000 rw-r-- cio ----g- SASE dcsr Dereferencing any address within the range 0xf1124fff to 0xf1125fff caused a CPU freeze, followed by a reset due to a watchdog timeout. This address space is 4KB in size. I'd like to know information about the chip's DCSR register. What is the function of the DCSR register? Can't its value be directly accessed and read? Re: 应用程序中读取DCSR寄存器的值引发CPU停滞的问题 The freeze is consistent with accessing a documented non-accessible hole inside the B4860 DCSR space , not with a normal readable DCSR register. DCSR is not one register; it is a 4 MB memory-mapped debug/control/status address space used for debug-related hardware resources such as run-control/debug events, trace generation, event counting, EPU performance counters, and Nexus/trace-related registers. Some DCSR resources are usable only for debug/internal purposes, and at least one support note states that DCSR/DSCR access is “for internal use only” and recommends using CCSR access for DTU where applicable. For your mapping: DCSR base = 0xf1100000 bad range = 0xf1124fff - 0xf1125fff offsets   = 0x24fff    - 0x25fff The key part is: 0xf1125000 - 0xf1125fff  => DCSR offset 0x25000 - 0x25fff That exact DCSR offset range is listed as a non-accessible slot , and NXP support evidence says reading 0x25000 ~ 0x25fff in DCSR space “will cause system hang”; the recommended solution is to exclude that range when enabling an MMU window for DCSR space. Other B4860-related evidence similarly says unmapped/unused/reserved regions in CCSR/DCSR are not accessible and accessing them may hang the SC3900 core or even the SoC. So the answer is: No, you should not directly scan or dereference arbitrary addresses in the DCSR-mapped range. Only documented/valid DCSR offsets should be accessed. Reserved, unused, or non-accessible DCSR slots can hang the CPU/SoC instead of returning a bus error. Your specific failing range overlaps the known bad DCSR offset 0x25000–0x25fff , which explains the watchdog reset after the CPU freezes. One additional detail: 0xf1124fff is one byte before the documented 0x25000 hole, but a 32-bit access at that unaligned address can cross into 0xf1125000 . DCSR/register accesses should be treated as aligned 32-bit register accesses, not arbitrary byte/word probing. Recommended handling: map DCSR only if you need specific debug resources, restrict reads/writes to known valid offsets, and explicitly block/exclude DCSR + 0x25000 through DCSR + 0x25fff from any diagnostic dump or memory-scan code. The freeze is expected for that address range: 0xf1125000–0xf1125fff maps to the B4860 DCSR non-accessible slot 0x25000–0x25fff , so arbitrary direct reads of DCSR space are unsafe.
記事全体を表示
can we do V/f control of a PMSM? I am making a simulink model for PMSM control by V/f method. This model works for an induction motor but the speed output for PMSM coming oscillating, i think the fields are not synchronizing. Am i missing something? Re: can we do V/f control of a PMSM? Hello, Indeed the fields may not be synchronizing properly. With an induction motor, the rotor slip induces currents in the rotor windings which produce a natural electro-magentic damping effect. Within a PMSM there is no slip, no induced rotor current like in an induction motor, therefore no inherent damping. The rotor PMs must lock exactly to the rotating stator field. The angle between rotor and stator fields behaves like an undamped pendulum resulting in any disturbance causes the rotor to oscillate around sync position. Options to address this: 1. Add an active damping to your V/f model - you can inject the missing damping by modulating the output voltage or frequency based on estimated speed error: estimate rotor speed using a sensor or a sensorless technique feed d(w_error)/dt back to modulate the V/f output amplitude This is the simplest fix if you want to stay with V/f method. 2. Other option would be to move to I/f control where you control the stator current magnitude at a commanded frequency. More information about I/f control on the following page I-F Controller Hope this helps! Best regards, Stefan.
記事全体を表示
S32K118 SDK 未显示在 S32 Design Studio 3.5 中 您好, 我安装了S32 Design Studio 3.5 ,然后下载并安装了S32K1 RTD 3.0.0 。安装 RTD 后,我尝试为S32K118创建一个新项目。 但是,在创建项目时,**没有显示 S32K118 的 SDK/RTD 可用**。 请问有人能帮我了解一下可能缺少什么,或者如何正确配置/安装 S32K1 RTD 3.0.0 吗?这样它就能出现在S32设计工作室3.5中了吗? 先行致谢。 Re: S32K118 SDK not showing in S32 Design studio 3.5 HI 抱歉, S32 Design Studio (S32DS) v3.5不支持S32K1 SDK 3.0.0 。 如果您必须使用S32K1 SDK 3.0.3 ,我们建议下载适用于 ARM 2.2 Update 1 的 S32 Design Studio 。 如果您必须使用S32K1 SDK 3.0.2 ,我们建议下载S32 Design Studio for ARM 2018.R1 Update 11 。   但是,对于新项目开发,我建议您使用最新的 S32K1 RTD。旧版 SDK 将不会更新以修复错误。 请从 应用程序代码中心 点击 K1 FRDM 软件包 ,并按照 FRDM_Installation_Guide_2026_03.pdf 文件中的第 4 部分“安装步骤”进行 操作。 K1 FRDM Bundle Application Code Hub.pngK1 FRDM 捆绑应用程序代码中心.png 此致敬礼, Robin
記事全体を表示
S32K396 and FS26 REG_CORRUPT Dear All, I'm trying to get rid of the REG_CORRUPT' flag on the FS26 - the two snip pictures attached show a read of all the relevant registers. Immediately prior to the first 'AE' read command, I have just done a successful first kick of the watchdog to take the FS state machine out of INIT_FS such that the fail-safe register state is assessed for correctness, and you can see from the 0x28 answer that we are in debug mode with the REG_CORRUPT bit set. I am certain the watchdog kick was successful because I read FS_DIAG_SAFETY1 straight after the kick - returned value is 0x0103 - no error flags, just ABIST1_OK and LBIST_STATUS = OK. After the 0xAE command, I issue an 0xAF attempting to write 0x1800 to the register to clear the OTP_CORRUPT and REG_CORRUPT bits, and then I do a read of all 12 FS registers in order starting at register 0x41 (obviously the command is 0x82 when shifted). I have looked at the values returned from these registers and I can't see a consistency problem with the returned values (obviously taking into account the bits that we're not supposed to write to and bits that are held/reserved/0/1). You can see from a final read of FS_STATES at the end that REG_CORRUPT is still set. Sorry to ask such a direct question, but what am I missing? Kind Regards, Andrew Snip1.pngSnip1.png Snip2.pngSnip2.png    Re: S32K396 and FS26 REG_CORRUPT Dear Erika, Thanks for responding - I have checked that many times already, which is why I posted the complete state of the registers in the images of my original posting. Please let me know if you think there's an issue with how these are configured. As far as I can tell, the registers are correct (taking into account only the bits that are writable according to the datasheet). I assume the chip itself takes care that the read-only bits are in a valid state, and I assume the bits that are specified as '0' or 'reserved' are not writable. Is it possible that a write to one of those bits can cause the REG_CORRUPT bit to remain asserted? Kind Regards, Andrew Re: S32K396 and FS26 REG_CORRUPT Hello! For REG_CORRPUT bit, it will be asserted shown as below, meaning when FS registers are configured, a NOT register is must to be configured together With XOR rules. ErikaC_0-1785954434399.pngErikaC_0-1785954434399.png Please check if there are some register configuration did not follow the rules that cause this bit asserted ? Re: S32K396 and FS26 REG_CORRUPT Dear all, Responding to my own question in the hope this may help someone in future..... I'm not going to post excerpts from the datasheet because that would breach the NDA which I have signed in order to access this product data information. However, please look carefully at the bits that are defined as '0' or 'RESERVED' by the product information. The solution to my issue concerned the bit that is defined as 'RESERVED'. It is essential that software does write '1' to this location to prevent the REG_CORRUPT bit being set. I would suggest the datasheet is amended to clarify the necessary bit state and properly define what software must do - as is the case with other similar bits. Kind Regards, Andrew
記事全体を表示