Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
Error after deleting D_Cache_Enable in the option of S32K312 Hi, Currently, I use S32 Design Studio for S32 Platform and S32K312, I delete "D_CACHE_ENABLE" option in the S32 Design Studio for S32 Platform. The hard fault error happens when C40_IP_read is called like the attached file. Could you please let me know what should I do to resolve this issue? Re: Error after deleting D_Cache_Enable in the option of S32K312 Hi @HyunungPark1  if data cache is disabled, you should disable cache synchronization. Could you give this a try? lukaszadrapa_0-1718342790857.png lukaszadrapa_1-1718342825612.png Regards, Lukas
View full article
S32DS3.6 找不到 S32K1xx SDK 你好,我在 S32DS 扩展和更新中找不到 S32K1xx SDK/RTD 包。 我应该去哪里寻找它? 谢谢! SDK 回复:S32DS3.6找不到S32K1xx SDK 谢谢!
View full article
Secure Element SE05xのnano-libraryのデバッグ情報プリントアウトにバグがありますか? nanoライブラリをデバッグして何が起こっているかを確認しようとしている間(エラーがあります)、デバッグプリントアウトを有効にしました ファイル 内 https://github.com/NXPPlugNTrust/nano-package/blob/075f8cc9a27a5e5eb6a04f3d86c1a421836777e8/lib/t1oi2c/phNxpEse_Api.c#L432 行があります - T_SMLOG_MAU8_D("RAW Rx<", nxpese_ctxt->p_read_buff, ret); "nxpese_ctxt->p_read_buff" が null で、デバッガーがアドレス 0 へのアクセスで中断するように設定されているため、マイクロコントローラーでハード エラーが発生します。代わりに「pp_data」の内容を印刷する意図があるのではないかと思います。 Gitlabで問題を報告する方法はないようですので、ここで試してみるだけです...私はこれにかなり慣れていないので、間違っているか、何か設定ミスがあるかもしれませんが、少し奇妙に思えます... セシド Re:セキュアエレメントSE05xのnanoライブラリのデバッグ情報プリントアウトのバグ? こんにちは、私は gnu-arm ツールチェーンと一緒に Cmake を使用しています。(STM32コントローラ使用時) ところで、このデバッグプリントをオンにしようとしたときに探していた本当のエラーを見つけることができました。 (SCP03のキーが間違っていた。デバッグメッセージは、「データグラムの比較が一致しません」などと言及しているだけなので、少し誤解を招く可能性があります。私はこのサイトで、これが間違ったキーによって引き起こされたと述べた正しい方向に私を導く別のメッセージを見つけました。 Re:セキュアエレメントSE05xのnanoライブラリのデバッグ情報プリントアウトのバグ? こんにちは@andershedbeg , nanoパッケージで使用するプラットフォームは何ですか?ここには移植の問題があるかもしれません。 良い日をお過ごしください 菅 ------------------------------------------------------------------------------- 手記: - この記事があなたの疑問に答えたら、「正解をマーク」ボタンをクリックしてください。ありがとうございます! - 最後の投稿から7週間スレッドをフォローしていますが、その後の返信は無視されます 新しいスレッドを開き、後で関連する質問がある場合は、閉じたスレッドを参照してください。 -------------------------------------------------------------------------------
View full article
How to import AUTOSAR OS generation from EB tresos to S32DS Hello, Please let me know, how to import AUTOSAR OS project (ACP 8.8.8 S32K34X) after code generation from EB tresos to S32DS for S32 platform.  Thanks in advance. Re: How to import AUTOSAR OS generation from EB tresos to S32DS Hi @AnChe  The configuration files of EB Tresos are applicable for Autosar format (such as Autosar schema XML format); otherwise, the Mex file in S32DS does not follow this format. You need to configure/replace/change things manually. Unfortunately, we do not have any dedicated documents for this process, but one of our distributors (ARROW) has a well-explained article you can refer to. Develop EB configuration Mcal project with S32DS NOTE: This is written in Chinese. B.R. VaneB
View full article
i.MX7DのPCIE_REFCLKOUT_P/Nの生成方法 PCIE_REFCLKOUT_P/Nから出力されるクロック波形の振幅は600mVppです。 この波形の振幅を大きくしたいと思います。 PCIE_REFCLKIN_P/Nには900mVppの外部クロック波形が入力されます。 PCIE_REFCLKOUT_P/Nから出力される波形は、REFCLK_SELがHighでもLowでも変わりません。 以下のことを教えてください。 ※リファレンスマニュアルにはPCIE_REFCLKOUT_P/Nのブロック図はありません。教えてもらえますか? ※クロック波形出力の入力信号REFCLK_SEL PCIE_REFCLKOUT_P/Nから変更することはできますか? ※REFCLK_SELをハイにすると、PCIE_REFCLKOUT_P/Nから出力されるクロック波形はPCIE_REFCLKIN_P/Nから生成されますか? ※SoC内部のクロックバッファは波形の振幅を制限していますか? Re:i.MX7DのPCIE_REFCLKOUT_P/Nの生成方法 PCIE_REFCLKIN_P/NがPCIE_REFCLKOUT_P/Nのソースになる可能性があり、波形は制限されることがわかりました。 よろしくお願いいたします。
View full article
start address with/without IVT Hi NXP, Under what condition does the S32K3 choose to start CM7 with the address configured in the IVT? There are multiple addresses in the IVT, such as "CM7_x Application reset address" and "Pointer to APPBL". What are the differences between them? Which one is used to start CM7 when I enable/disable Basic Secure Boot (BSB)? If BSB only starts one core, is the address configured in the IVT still valid, aside from the "CM7_0 Application reset address"?  Should the above mentioned addresses point to AppBL Header Tag(Magic number 0xD5) or  AppBL content(app executable code) Thanks. Re: start address with/without IVT Correction to my previous response: when BOOT_SEQ == 1 and APPBL verify OK ,coreX(X according to IVT_BCW config) will run from APPBL(0x30 in IVT). when BOOT_SEQ == 0 ,coreX will run from "CM7_x Application reset address" in IVT . Re: start address with/without IVT Hello, My understanding of your response to Question 2 : when BOOT_SEQ == 1 and APPBL verify OK ,coreX(X according to IVT_BCW config) will run from APPBL(0x30 in IVT). when BOOT_SEQ == 1 and IVT is valid ,coreX will run from "CM7_x Application reset address" in IVT ,Did I understand it correctly? Hmm, this is some SW implementation as uC only refer to IVT for boot. If that is the case please refer to the documentation of that SW. uC scans for valid IVT starting from lowest address and boot one it find it.  petervlna_0-1743663416767.png for Question 3&4 : I was wondering ,When I use BSB and AppBL verified OK,Does “CM7_x Application reset address” config in IVT still useful, does anyone use it? “CM7_x Application reset address” should point to AppBL Tag (0x00 APPBL struct) or AppBL Content(0x40 AppBL struct)? Hard to say, this is SW implementation. From HW point, the device will scan for IVT. once it find it process it and set boot according the settings in IVT. After it it will jump to address of cores in IVT and leave reset. Further on it is all in hands of SW, so for every application it will be different.. Usually you will always use the bootloader in IVT, and will perform branch to application from bootloader by SW. Best regards, Peter Re: start address with/without IVT Thank you for your reply , I have a follow - up question: My understanding of your response to Question 2 : when BOOT_SEQ == 1 and APPBL verify OK ,coreX(X according to IVT_BCW config) will run from APPBL(0x30 in IVT). when BOOT_SEQ == 1 and IVT is valid ,coreX will run from "CM7_x Application reset address" in IVT ,Did I understand it correctly? for Question 3&4 : I was wondering ,When I use BSB and AppBL verified OK,Does “CM7_x Application reset address” config in IVT still useful, does anyone use it? “CM7_x Application reset address” should point to AppBL Tag (0x00 APPBL struct) or AppBL Content(0x40 AppBL struct)? thanks . Re: start address with/without IVT Hello, 1. Under what condition does the S32K3 choose to start CM7 with the address configured in the IVT? See the boot flow: If the IVT is valid petervlna_0-1743579029767.png   2. There are multiple addresses in the IVT, such as "CM7_x Application reset address" and "Pointer to APPBL". What are the differences between them? CM7_x Application reset address - It is where you want to start the application after reset Pointer to APPBL - it is where you want to start the code in case of boot loaded.   Which one is used to start CM7 when I enable/disable Basic Secure Boot (BSB)? This is not connected to which one. Both if you like. You can configure secure boot in IVT. petervlna_1-1743579563215.png   3. If BSB only starts one core, is the address configured in the IVT still valid, aside from the "CM7_0 Application reset address"?  petervlna_2-1743579614528.png I am afraid I do not understand. Secure code will run only on HSE core. In any situation, which is independent of your app or BL IVT is the sboot is enabled in IVT of whatever.   4. Should the above mentioned addresses point to AppBL Header Tag(Magic number 0xD5) or  AppBL content(app executable code) Could you elaborate closer? I do not understand what you mean. IVT will always point to your startup code of whatever application you run. Best regards, Peter
View full article
FRDM-K66F microSD f_opendir never returns: stuck in SDMMC_OSAEventWait Board: FRDM-K66F. SDK: 2.11.0 (541 2022-01-14) I'm using the SD library to read and write files to an SD card. I'm using "baremetal" instead of an RTOS; I mention this because the definition for KOSA_StatusIdle says: KOSA_StatusIdle = MAKE_STATUS(kStatusGroup_OSA, 3), /*!< Used for bare metal only, the wait object is not ready and timeout still not occur */ My program is trying to f_opendir(), after verifying that the card exists, successful calls to f_mount(), and f_chdrive(), and it's hanging in this function: status_t SDMMC_OSAEventWait(void *eventHandle, uint32_t eventType, uint32_t timeoutMilliseconds, uint32_t *event) { assert(eventHandle != NULL); osa_status_t status = KOSA_StatusError; #if defined(SDMMC_OSA_POLLING_EVENT_BY_SEMPHORE) && SDMMC_OSA_POLLING_EVENT_BY_SEMPHORE while (true) { status = OSA_SemaphoreWait(&(((sdmmc_osa_event_t *)eventHandle)->handle), timeoutMilliseconds); if (KOSA_StatusTimeout == status) { break; } if (KOSA_StatusSuccess == status) { (void)SDMMC_OSAEventGet(eventHandle, eventType, event); if ((*event & eventType) != 0U) { return kStatus_Success; } } } #endif return kStatus_Fail; } This while() loop never exits because "timeoutMilliseconds" never decreases - the value passed in is a define: SDMMCHOST_TRANSFER_COMPLETE_TIMEOUT, rather than a variable - which might eventually lead to a time out, and the loop condition doesn't check for KOSA_StatusIdle.  Before the point at which the program hangs, the semaphore is evidently properly created and removed: I've followed the semaphore value as it's increased and decreased in the Expression panel.  However, at some point, OSA_SemaphorePost() is no longer called, so semCount isn't increased, and OSA_SemaphoreWait() just keeps returning KOSA_StatusIdle. Here's the call stack when it's stuck in this loop: Thread #1 57005 (Suspended : Breakpoint) OSA_SemaphoreWait() at fsl_os_abstraction_bm.c:584 0x616e SDMMC_OSAEventWait() at fsl_sdmmc_osa.c:69 0x3268 SDMMCHOST_TransferFunction() at fsl_sdmmc_host.c:299 0x8524 SD_SendScr() at fsl_sd.c:814 0x16e0 sdcard_init() at fsl_sd.c:2,033 0x2cbe SD_CardInit() at fsl_sd.c:2,085 0x2d96 SD_Init() at fsl_sd.c:2,268 0x307a sd_disk_initialize() at fsl_sd_disk.c:145 0x374c disk_initialize() at diskio.c:117 0x87ba mount_volume() at ff.c:3,376 0x3c02 f_opendir() at ff.c:4,544 0x953c prepareSDForWrite() at MK66F18_Van_Gizmo_v02.c:340 0xa9a measureAccelerometer() at MK66F18_Van_Gizmo_v02.c:353 0xaee main() at MK66F18_Van_Gizmo_v02.c:416 0xc8c   How can I get either the timeout value to decrease, while time is physically passing, or get the semaphore count increased so the loop continues to work properly until f_opendir() completes?   Also, here's a shot of the g_sd variable, at the time it enters the endless loop: Re: FRDM-K66F microSD f_opendir never returns: stuck in SDMMC_OSAEventWait XuZhang, I ran my copy of the sdcard_fatfs example program, which is probably identical to what you posted, and it did work, curiously, and when I added the "PRINTF" statements to the SDK example for the semaphore waits, the output looked similar to yours.  Puzzling. I then went through all of the files in the two projects to see if the SDKs were somehow different: they were not. I checked the pull-up and pull-down statuses in the Pins perspective: the SDK example manually sets them "pull-up," and mine were "ignore."  I changed mine, but it didn't make a difference. I checked the clock configuration - maybe a system clock of 120MHz was incorrect for the SD card; I dunno - and that had no change. Finally, since I couldn't find any other differences, I added the SYSMPU SDK module and the call to SYSMPU_Enable(SYSMPU, false); in the main initialization block.  That did it.  My semaphore counts were increasing and decreasing as in your example, and f_opendir() returned successfully.  I've no idea what SYSMPU does, and I haven't seen it before when dealing with the FRDMK66 board, but that was the trick, evidently.  I'm marking this as "solved." Thanks for your help. Re: FRDM-K66F microSD f_opendir never returns: stuck in SDMMC_OSAEventWait Can I ask what kind of SD card you used? And how was it formatted: ExFAT, or MS-DOS / FAT? I know it shouldn't matter, but I'm seeing different results in the same code if I use different SD cards. The one that fails with ACMD51, is a 2GB Lexar formatted as FAT-32; and the other is a 64GB SanDisk formatted as ExFAT. That one fails at SD_AllSendCid() line 2005, in sdcard_init() / fsl_sd.c. Re: FRDM-K66F microSD f_opendir never returns: stuck in SDMMC_OSAEventWait Hi , aaronm I experimented with the MK66FN2M0xxx18 development board and the "frdmk66f_sdcard_fatfs" program in the SDK. It didn't seem to hang in SDMMC_OSAEventWait. I tried to print out the values ​​of timeoutMilliseconds and semCount and found that the value of semCount was changing, and the return value of the OSA_SemaphoreWait() function was KOSA_StatusSuccess. The location of adding the test output function is as shown below. XuZhang_0-1720425194756.png XuZhang_1-1720425207689.png I can see the output results as shown in this figure, which outputs the values ​​of timeoutMilliseconds and semCount during the program execution, and creates files in the SD card. XuZhang_2-1720425294428.png I have attached the program, I hope this can help you. BR XuZhang Re: FRDM-K66F microSD f_opendir never returns: stuck in SDMMC_OSAEventWait Further info: This is locking up in sdcard_init() -> SD_SendScr(), or when we run SD command ACMD51, Read the SD Configuration Register (SCR).  When I stepped through the commands from SD_SendSCR(), I notice it doesn't trigger an SDHC interrupt, like the previous commands, such as SD_SendRca(), or SD_SendCsd().  These function trigger interrupts, which is where the semaphore counter is increased before reaching SDMMC_OSAEventWait(). What is the problem with SD_SendScr()? Just in case it matters, I'm not specifically using DMA in this application.  Does that make a difference?
View full article
[i.MX8DXL] How to get the SECO firmware Hello, Could you please share the page of the seco firmware? We are using i.MX8DXL A1/B0, want to get the newest firmware. Thank you! Re: [i.MX8DXL] How to get the SECO firmware I have just checked out linux-imx lf-6.12.y and could not find imx-seco firmware file. Can someone point me out where I can find the firmware file? Re: [i.MX8DXL] How to get the SECO firmware Hi @hojames2025  You can download it refer the linux release note documentation i.MX Linux Release Notes   pengyong_zhang_1-1745202377495.png B.R
View full article
OTFADを使用して内部RAMでアプリを実行する方法は? こんにちは 内部RAMでアプリケーションを実行したいです。そして、私はOTFADを使用しています。 内部RAMにコピーして、OTFAD復号化アプリケーションの後に実行したいと思います どうすればいいですか? ありがとうございます Re:OTFADを使用して内部RAMでアプリを実行する方法は? ありがとうディエゴ ブートローダーを作り始めるともっと良くなります。 🙂 😃
View full article
使用超级电容器时的 RTC 考虑因素 首次使用双层超级电容器代替 PCF85363A RTC 上的纽扣电池备用电池。我没有在数据表或任何单独的文档中看到任何设计说明。用盖子替换电池时有什么特别的注意事项吗? PCF85363A 似乎没有内置充电器。可以使用电阻分压器和转向二极管来保持充电状态并仅允许放电到 RTC。还需要什么吗? 回复:使用超级电容器时 RTC 的考虑 太棒了,这就是我一直在寻找的。https://www.nxp.com/docs/en/user-guide/UM10301.pdf 本用户手册对不同的备份方法进行了详细的比较,并列出了每种方法的优缺点。 谢谢! 回复:使用超级电容器时 RTC 的考虑 请下载UM10301并阅读第30-13页。备用电源
View full article
imx8mm uart4读取控制寄存器错误 我的平台基于imx8mm,发现uar4控制器驱动程序在读取uar4寄存器时会崩溃。我的 uart4 dts 设置如下: uart4: 串行@30a60000 { 兼容=“fsl,imx8mm-uart”,“fsl,imx6q-uart”; 注册=<0x30a60000 0x10000>; 中断 = ; 时钟=<&clk IMX8MM_CLK_UART4_ROOT>, <&clk IMX8MM_CLK_UART4_ROOT>; 时钟名称=“ipg”,“per”; dmas = <&sdma1 28 4 0>, <&sdma1 29 4 0>; dma名称=“rx”,“tx”; 状态=“已禁用”; }; &uart4 { pinctrl 名称 = “默认”; pinctrl-0 = <&pinctrl_uart4>; 状态 = “好的”; }; uart4控制器驱动代码文件为:linux-imx/drivers/tty/serial/imx.c,根本原因代码为: 运动->ucr1 = readl(运动->port.membase + UCR1); 运动->ucr2 = readl(运动->port.membase + UCR2); 运动->ucr3 = readl(运动->port.membase + UCR3); 运动->ucr4 = readl(运动->port.membase + UCR4); 运动->ufcr = readl(运动->port.membase + UFCR); 如果我禁用 uart4 驱动程序,并使用 devmem cmd 直接读取该寄存器(例如“devmem 0x30a60000”),将会出现相同的崩溃问题,崩溃日志如下。 [57.656313]审计:类型=1701审计(1599913043.500:3):auid=4294967295 uid=0 gid=0 ses=4294967295 pid=1069 comm="devmem" exe="/usr/bin/busybox" sig=7 res=1 总线错误(核心转储) 看起来是硬件问题,请帮忙检查。imx.c 可以在附件中找到。 i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus 回复:imx8mm uart4读取控制寄存器错误 RDC 寄存器需要设置为允许 rw 访问。
View full article
S32K312でアプリケーションがウェイクアップしたときのOS障害 セキュアブートを設定した後、電源をオフにしてからオンにすると、FBLは問題なく正常に動きます。 しかし、アプリケーションでスリープした後、CANを使用したウェイクアップ中にfblでOS障害が発生します。 アプリケーションがスリープ状態をウェイクアップ状態に変更した後、リセットが発生してfblが開始されるようです。 現時点では、Secure-Boot はアプリケーションのウェイクアップ時に実行されますか? 何が問題なのか教えていただけますか? BRです。 エディパーク
View full article
iMX8MM Disk encryption I have read AN12714 and would like to try this out on a more up to date version of the kernel (5.10 or later). The patch files referenced in the imx_sec_apps/meta-imx-fde-demo layer do not apply to later kernels. Are the patches even required now or can the same behaviour be achieved using a standard linux-imx kernel? My ultimate goal is to encrypt a file/partition using a key derived using a CMK to ensure confidentiality and resilience against outside influence. Thanks, Richard Re: iMX8MM Disk encryption Hello, The latest kernel and bsp include the patches on it, you don't need install anything. Regards
View full article
AN12255SW Flash Remap の実行後に大量消去/フラッシュができない MCUXpressoで「Flash Remap Test」の例AN12255SWを実行した後、RT106xを再フラッシュできません。また、再プログラムするために大量消去を行うことができません。MCUXpressoでMCU-Link(LinkServer)デバッガを使用しています。プログラム/一括消去を行おうとすると、0 SWD デバイスが接続されていると表示され、一括消去を実行すると次のシリアル出力が表示されます。 フラッシュ操作「消去」(フラッシュの消去)の実行 - Fri Jan 10 08:57:39 CST 2025 MCU情報を確認しています... ターゲットをスキャンしています... フラッシュアクションを実行しています... MCUXpresso IDE RedlinkMulti ドライバー v11.10 (2024 年 7 月 2 日 19:33:51 - crt_emu_cm_redlink.exe ビルド 741) ( 0) リモート設定の読み取り WC(03) です。キャッシュはサポートされていません。 C:/Users/.../workspace/flash_remap_test/Debug\MIMXRT1062xxxxA.xml にチップXMLファイルが見つかりました ( 5) リモート設定完了 既存の LinkServer プロセスに再接続しました。 プローブ 1 コア 0 への接続 (外部から起動されたサーバーを使用) は、次のように報告します。 'ええ(42)。コアに接続できませんでした。 再試行。。。 既存の LinkServer プロセスに再接続しました。 サーバは正常ですが、プローブ 1 コア 0 への接続がありません (3 回の試行後) - Ee(42)。コアに接続できませんでした。 =============スクリプト:RT1060_connect.scp ============= RT1060 接続スクリプト DPID=0BD11477 エラー: Wire Ack Fault - ターゲットが接続されていますか? エラー: Wire Ack Fault - ターゲットが接続されていますか? MPU の無効化 エラー: Wire Ack Fault - ターゲットが接続されていますか? エラー: Wire Ack Fault - ターゲットが接続されていますか? 768KB OC RAM、128KB I-TCM、128KB D-TCM の FlexRAM の構成 エラー: Wire Ack Fault - ターゲットが接続されていますか? エラー: Wire Ack Fault - ターゲットが接続されていますか? エラー: Wire Ack Fault - ターゲットが接続されていますか? 終えた ============= スクリプト終了============================= 接続に失敗しました: Ee(42)。コアに接続できませんでした。 チップのデバッグポートに接続されていません (100) ターゲット操作の失敗 操作ができません! コマンドが終了コード 1 で失敗しました 以前に再フラッシュの問題に遭遇したことがありますが、通常はチップを消去してから再度プログラミングすることで解決します。これから回復してAN12255SWを再度テストする方法はありますか? ありがとうございます i.MXRT 106倍 Re:AN12255SW Flash Remapの実行後に大量消去/フラッシュができない 気にしないでください、LPUART1が使用されているのがわかります。ブートモードピンを設定した後、MCUをシリアルダウンロードに設定し、リセットして再度プログラムすることができました。感謝!
View full article
IMX8MQ-SGTL500重启问题 我的 android 11 系统存在 sgtl500 编解码器问题,该系统在带有 imx8mq smarc 的定制板上运行。首次启动时,一切正常,我可以播放声音,所有我需要的功能都能正常工作。但是,当我使用命令行“reboot”命令重启系统时,内核会跳到 sgtl5000,然后在这行之后卡在那里,无法继续执行下去。 3.242678] sgtl5000 0-000a: sgtl5000 修订版 0x11 [3.781606]sgtl5000 0-000a:使用内部LDO代替VDDD:检查ER1勘误表 我已经检查了ER1勘误表,检查了所有硬件问题,时钟信号和电压额定值均正确。请让我解释一下我提供给编解码器的是什么: VDDIO:1.8V VDD:1.8V 电源电压:3.3V 我已在附件中附上首次启动 dmesg 和重新启动 dmesg 的输出。如果您知道任何信息,请告诉我。我认为应该有一些与 SGTL5000 的设备树或驱动程序文件有关的东西。 请参阅下面我的相关设备树配置。 reg_audio: audio_vdd { 兼容=“调节器固定”; 调节器名称=“sgtl5000_supply”; 调节器最小微伏 = <3300000>; 调节器最大微伏 = <3300000>; 调节器始终开启; }; reg_1p8v: 1p8v { 兼容=“调节器固定”; 调节器名称=“1P8V”; 调节器最小微伏 = <1800000>; 调节器最大微伏 = <1800000>; 调节器始终开启; }; 编解码器:sgtl5000@a { 兼容=“fsl,sgtl5000”; #sound-dai-cells = <0>; reg = �;<0x0a> 时钟=<&clk IMX8MQ_CLK_SAI2_ROOT>; 时钟名称=“mclk”; VDDA电源=<&reg_audio>; VDDIO电源=<&reg_1p8v>; 状态 = “好的”; }; sound-sgtl5000{ 兼容=“简单音频卡”; 简单音频卡,名称=“sgtl5000-audio”; 简单音频卡,格式=“i2s”; 简单音频卡,小部件= “麦克风”,“麦克风插孔”, “耳机”、“耳机插孔” “扬声器”、“扬声器分机” “线路”,“线路输入插孔”; 简单音频卡,路由= "MIC_IN","麦克风插孔", “麦克风插孔”、“麦克风偏置” "LINE_IN","线路输入插孔", “耳机插孔”,“HP_OUT”, "扬声器分机", "LINE_OUT"; 简单音频卡,CPU { 声音-dai = <&sai2>; 帧主控; 位时钟主控; }; 简单音频卡,编解码器{ sound-dai = <&codec>; 帧主控; 位时钟主控; }; }; 回复:IMX8MQ-SGTL500 重启问题 大家好,我已经通过硬件操作解决了这个问题。我已经按照勘误表在 VDDIO 和 VDDA 通电后为 VDDD 通电。我同时使用了 N-CH 和 P-CH mosfet,栅极信号是 RESET_OUT 信号,因此每次复位后都不清楚,当其他引脚(VDDA 和 VDDIO )已经通电时,VDDD 断电并通电,因为它们仍然通电。
View full article
NXP 处理器支持的摄像头驱动程序 大家好, 我对这些 NXP 设备还不熟悉。 我计划在我的相机应用中使用 NXP,但在此之前我想知道 NXP 处理器支持哪些相机传感器, 如果您可以列出一些或任何链接来了解受支持的相机传感器是什么。 我正在寻找 2MP、5MP、8MP 和 13MP 相机列表,例如支持哪些相机传感器。 谢谢!非常感谢您的回复。 谢谢你们。 回复:NXP 处理器的摄像头驱动程序支持 你好@Manuel_Salas 非常感谢您提到IMX Linux 发行说明 - 我在“视频捕获驱动程序”下的“MIPI 摄像头 CSI”下找到了图像传感器列表https://www.nxp.com/docs/en/release-note/IMX_LINUX_RELEASE_NOTES.pdf 将要 回复:NXP 处理器的摄像头驱动程序支持 感谢您的解决方案, 但只是知道 NXP 也支持来自 arducam 或 raspberry pi 相机模块的相同传感器,对吗? 另外,我正在使用 IMX708 相机传感器,但在给定的链接中我无法确认它是否适用,也无法找到视频捕获驱动程序。 我正在寻找可与 NXP IMX219、IMX477、IMX708 配合使用的相机传感器 并且还想知道如果我在单个 NXP 板上使用 3 个不同的摄像头,是否所有摄像头都可以同时工作。 任何链接或参考都将不胜感激,同时也感谢您的上述回复并注意到这一点。 谢谢。
View full article
i.MX8 ULP 安全启动问题 Hello, I'm trying to implement AHAB on an i.MX8 ULP EVK board. I'm building the core-image-minimal-secure-boot image with Yocto. I am currently getting this when booting with my signed image. => ahab_status Lifecycle: 0x00000008, OEM Open 0x0287f0d6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_SIGNATURE_FAILURE_IND (0xF0) STA = ELE_SUCCESS_IND (0xD6) 0x0287f0d6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_SIGNATURE_FAILURE_IND (0xF0) STA = ELE_SUCCESS_IND (0xD6) I generated both SRKs and SGKs and created the table and fuse binaries using ../linux64/bin/srktool -a -d sha256 -s sha384 -t SRK_1_2_3_4_table.bin -e SRK_1_2_3_4_fuse.bin -f 1 -c SRK1_sha384_secp256r1_v3_ca_crt.pem,SRK2_sha384_secp256r1_v3_ca_crt.pem,SRK3_sha384_secp256r1_v3_ca_crt.pem,SRK4_sha384_secp256r1_v3_ca_crt.pem I used this command to dump the fuse.bin od -t x4 /opt/cst-3.4.1/crts/SRK_1_2_3_4_fuse.bin and burned the corresponding bits using fuse prog 15 0 fuse prog 15 1 fuse prog 15 2 ..... 我可以使用以下方法查看正确的位(与上述命令完全相同) fuse read 15 0 8 然而,我的图像目前显示使用不同的保险丝哈希 parse_sig_blk.py signed-imx-boot-imx8ulp-lpddr4-evk-sd.bin-flash_singleboot_m33 0x400 这是我的 csf_ahab.cfg 文件 #Header header_version=1.0 #Install SRK srktable_file=SRK_1_2_3_4_table.bin srk_source=SRK1_sha384_secp256r1_v3_ca_crt.pem srk_source_index=0 srk_source_set=OEM srk_revocations=0x0 #Install Certificate sgk_file=SGK1_1_sha384_secp256r1_v3_usr_crt.pem sgk_permissions=0x1 我应该关注什么或者改变什么。我怎样才能签署我的图像以与保险丝配合使用?在此先感谢您的帮助。   回复:i.MX8 ULP 安全启动问题 想要跟进并结束此事。我的问题是因为我使用了不同的 ECC 曲线长度(256)和哈希大小(384)。这是 NXP 的说法。 “同样,在 8ULP 上,客户不能混合哈希大小和 ecc 曲线长度。这是得益于 8ULP 和 9 系列设备上的安全架构 EdgeLock Enclave。 如果客户需要安全启动,那么他们将需要新的硬件,因为保险丝无法重新编程。” 回复:i.MX8 ULP 安全启动问题 谢谢您的回复。 这是我的 SRK 之一 SRK1_sha384_secp256r1_v3_ca_crt.pem 从中你可以看到我选择了长度为256的椭圆曲线和哈希算法sha384。虽然文档中没有说明,但显然要求密钥长度和哈希长度匹配。由于我的 SRK 哈希已经被烧毁,所以我认为我被卡住了。如果您对此有更多了解或有任何其他指导,请告诉我。 回复:i.MX8 ULP 安全启动问题 亲爱的@ddresser , 我建议您再次开始构建 Android 映像以获得全新构建,然后对容器进行签名,一旦您生成 AHAB SRK,请按照以下两个步骤操作: 生成 AHAB SRK 表。 进入${CST} /crts/目录,执行以下命令: $ ../linux64/bin/srktool -a -s sha384 -t SRK_1_2_3_4_table.bin \ -e SRK_1_2_3_4_fuse.bin -f 1 -c \ SRK1_sha384_secp384r1_v3_usr_crt.pem,\ SRK2_sha384_secp384r1_v3_usr_crt.pem,\ SRK3_sha384_secp384r1_v3_usr_crt.pem,\ SRK4_sha384_secp384r1_v3_usr_crt.pem 此外,对于 i.MX 8ULP 和 i.MX 95 等平台,只有 8 个字的 SRK 保险丝,重新生成 通过 SHA256 算法对 SRK_1_2_3_4_table.bin 进行 SRK_1_2_3_4_fuse.bin 处理: $ openssl dgst -binary -sha256 SRK_1_2_3_4_table.bin > SRK_1_2_3_4_fuse.bin 命令执行成功后,生成SRK表及其SHA512或SHA256值 并分别保存在${CST} /crts/下的两个文件中。 整个过程在下一个链接中 https://www.nxp.com/docs/en/user-guide/IMX_ANDROID_SECURITY_USERS_GUIDE.pdf 感谢您的耐心 问候 LFGP 回复:i.MX8 ULP 安全启动问题 在获得 NXP 的一些有用信息后,我发现签名的 SRK Hash 和存储在保险丝中的 SRK Hash 是相同的。重要的部分是该命令末尾的“sha256”。 TL;DR - 我的 SRK Hashes 匹配,但我仍然得到一个 ELE_BAD_SIGNATURE_FAILURE_IND (0xF0) 错误。 从签名图像中: ddresser@elmore:~/src/imx-yocto-bsp-secureboot/build/tmp/deploy/images/imx8ulp-lpddr4-evk$ !746 /opt/cst-3.4.1/add-ons/ahab_signature_block_parser/parse_sig_blk.py signed-imx-boot-imx8ulp-lpddr4-evk-sd.bin-flash_singleboot_m33 0x400 sha256 File............ signed-imx-boot-imx8ulp-lpddr4-evk-sd.bin-flash_singleboot_m33 Offset.......... 0x400 -------------------------------------------------------------------------------- Container header: type............ Image array length.......... 800 (0x320) srk set......... OEM srk source...... 0 srk revocations. 0 number of images 3 -------------------------------------------------------------------------------- Signature block: offset.......... 0x590 length.......... 400 (0x190) SRK table: offset.......... 0x5a0 length.......... 308 (0x134) SRK Table records: signature algo.. ECDSA hash algorithm.. sha384 key size/curve.. secp256r1 curve len....... 32 (0x20) SRK 1 record: ** SRK record being used ** offset.......... 0x5a4 length.......... 76 (0x4c) SRK 2 record: offset.......... 0x5f0 length.......... 76 (0x4c) SRK 3 record: offset.......... 0x63c length.......... 76 (0x4c) SRK 4 record: offset.......... 0x688 length.......... 76 (0x4c) SRK Hash fuses: fuse word 0.... 0x9480ad14 fuse word 1.... 0x7fc5bfc2 fuse word 2.... 0x53f73ee8 fuse word 3.... 0xfbf4341d fuse word 4.... 0x6a7c4bc1 fuse word 5.... 0x9a415d07 fuse word 6.... 0xbf28617b fuse word 7.... 0xca922e4c Signature: offset.......... 0x6d8 length.......... 72 (0x48)  以及保险丝: Reading bank 15: Word 0x00000000: 9480ad14 7fc5bfc2 53f73ee8 fbf4341d Word 0x00000004: 6a7c4bc1 9a415d07 bf28617b ca922e4c =>    以下是 fuse.bin 的内容: ddresser@elmore:/opt/cst-3.4.1/crts$ od -t x4 SRK_1_2_3_4_fuse.bin 0000000 9480ad14 7fc5bfc2 53f73ee8 fbf4341d 0000020 6a7c4bc1 9a415d07 bf28617b ca922e4c 0000040 ddresser@elmore:/opt/cst-3.4.1/crts$ 但是当我闪现这张图片时: sudo uuu -b emmc_all signed-imx-boot-imx8ulp-lpddr4-evk-sd.bin-flash_singleboot_m33 这是u-boot中的结果。我收到“错误签名失败”: U-Boot 2024.04-lf_v2024.04+g6c4545203d1+p0 (Nov 15 2024 - 04:02:13 +0000) M33 Sync: OK CPU: i.MX8ULP(Dual 7) rev1.2 at 800MHz CPU current temperature: 25 Reset cause: POR Boot mode: Single boot Model: NXP i.MX8ULP EVK DRAM: 2 GiB ERROR: Agent 0 Protocol 0x10 Message 0x7: not supported Core: 55 devices, 29 uclasses, devicetree: separate MMC: FSL_SDHC: 0 Loading Environment from MMC... *** Warning - bad CRC, using default environment [*]-Video Link 0 (720 x 1280) [0] display-controller@2e050000, video [1] dsi@2db00000, video_bridge [2] panel@0, panel In: serial Out: serial Err: serial SEC0: RNG instantiated switch to partitions #0, OK mmc0(part 0) is current device UID: d50e11eab2154685a87d86a866375fe4 flash target is MMC:0 Net: eth0: ethernet@29950000 Fastboot: Normal Normal Boot Hit any key to stop autoboot: 0 => ahab_status Lifecycle: 0x00000008, OEM Open 0x0287f0d6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_SIGNATURE_FAILURE_IND (0xF0) STA = ELE_SUCCESS_IND (0xD6) 0x0287f0d6 IPC = MU APD (0x2) CMD = ELE_OEM_CNTN_AUTH_REQ (0x87) IND = ELE_BAD_SIGNATURE_FAILURE_IND (0xF0) STA = ELE_SUCCESS_IND (0xD6) => 8:33 => fuse read 15 0 8 Reading bank 15: Word 0x00000000: 9480ad14 7fc5bfc2 53f73ee8 fbf4341d Word 0x00000004: 6a7c4bc1 9a415d07 bf28617b ca922e4c => 8:35 ddresser@elmore:/opt/cst-3.4.1/crts$ od -t x4 SRK_1_2_3_4_fuse.bin 0000000 9480ad14 7fc5bfc2 53f73ee8 fbf4341d 0000020 6a7c4bc1 9a415d07 bf28617b ca922e4c 0000040 ddresser@elmore:/opt/cst-3.4.1/crts$ 我试图理解为什么。任何帮助都将不胜感激。 我当前的 csf_ahab.cfg 文件: #Header header_version=1.0 #Install SRK srktable_file=SRK_1_2_3_4_table.bin srk_source=SRK1_sha384_secp256r1_v3_ca_crt.pem srk_source_index=0 srk_source_set=OEM srk_revocations=0x0 #Install Certificate sgk_file= sgk_permissions= 以下是一些可能相关的细节。 我确实生成了 SGK 证书,但它们未包含在用于生成 SRK 表的证书列表中 我尝试指定 SGK 安装证书,但行为没有变化 再次感谢您的帮助。 回复:i.MX8 ULP 安全启动问题 NXP 的任何人都可以评论 i.MX8 ULP EVK 上的 AHAB 配置吗? 电路板上的保险丝似乎只能容纳8个字,但是meta-nxp-security-reference-design yocto层生成了一个带有16个字SRK哈希值的签名图像?我是不是漏掉了什么?
View full article
S32K312 CAN配置 您好,我已经开发了一个使用 Matlab/Simulink MBDT 的代码来回显 CAN 消息(回显消息的 CAN ID 等于接收到的消息 CAN ID + 1)。 我使用 PCAN-View 向电路板发送和接收信息。这是S32K312-Q172 。 这对于具有扩展 CAN ID 的消息有效,但不适用于标准 ID。 为了在板上接收 CAN 消息,我使用CanIf_RxIndication 。 为了从电路板发送 CAN 消息,我使用CanHardwareObject_Can0_Tx_Interrupt并采用以下配置: 罐体实施类型:FULL 可以识别消息类型:混合 在 Can_Write 块的 simulink 掩码中,“扩展 ID CAN 消息”选项未选中 我还使用了CanIf_TxConfirmation块。 您能否提供一些指导,使我的代码适用于两种类型的 CAN 消息 ID?
View full article
Imx93 GPIO割り込み カーネルドライバーでGPIO割り込みを使用する方法(Linux 6.6の場合) 誰かがGPIOの割り込みを使用してLinuxドライバーのサンプルコードを共有できますか Re:Imx93 GPIO割り込み cortex-Mが起動していなくても割り込みはOKです。 同じGPIO(GPIO2)上のCortex-AとCortex-Mで中断することは可能ですか? Re:Imx93 GPIO割り込み 現在のドライバーソースとdtsを追加します。 gpio_interrupt /proc/interrupts で宣言されています root@board:~# cat /proc/interrupts CPU0 CPU1 13: 36966 43746 GICv3 26 Level arch_timer 14: 11423 14496 GICv3 106 Level timer@44290000 ... 96: 0 0 GICv3 98 Level 42560000.spi 99: 7450 0 GICv3 119 Level mmc1 100: 0 0 gpio-vf610 0 Edge 42860000.mmc cd 101: 0 0 gpio-vf610 10 Edge gpio_interrupt ... Err: 0 /sys/kernel/debug/gpio で、GPIO は OK と認識します。 root@board:~# cat /sys/kernel/debug/gpio gpiochip0: GPIOs 512-543, parent: platform/43810000.gpio, 43810000.gpio: .. gpio-522 (IRQ_AEMPTY |gpio_interrupt ) in hi IRQ gpio-523 (IRQ_AFULL ) .. すべてが問題ないようですが、スコープでGPIOの変更を確認しました。しかし、割り込みは検出されませんでした。 何かアイデアはありますか?
View full article
什么是 Adc_TempSenseGetTemp 参数? 我使用的是 s32ds 3.6 版本和 RTD 4.0.0。微控制器是 S32K314 172 针。 Adc_TempSenseGetTemp 参数在 adc 文档中有 2 个参数。 但当我使用 Adc_TempSenseGetTemp 函数时,需要 3 个参数。 我知道参数是 hwunitType、tempinstance 和 tempvaule。 但我不明白 tempinstance 的意思。 tempinstance 是 49 吗? 还是其他? 我为模板输入了什么? 这是我的 adc 配置。 这就是功能。 这是文件。 1. 我知道 hwUnitType 是 adcHwUnit_1,而 tempVaule 用于返回变量值。 但我不明白我输入了 tempinstance。频道号还是其他? 2. 我想在 MCU 中使用温度传感器。 那么,在微控制器中使用温度传感器的过程是怎样的? 我认为程序是 Adc_Sar_Ip_TempSenseEnable -> Adc_Sar_Ip_TempSenseGetTemp 3. 什么是 Adc_TempSenseCalculateTemp? 使用 Adc_Sar_Ip_TempSenseGetTemp 后,我还需要使用 Adc_TempSenseCalculateTemp 吗? 感谢帮助。 Re: what is Adc_TempSenseGetTemp parameter? 你好@rlaxortn Senlent_0-1752653202127.png u32AdcInstance-> 当前使用的 ADC 实例 u32TempInstance->0,因为只有一个临时实例 pTempSenseVal->温度计算值 Re: what is Adc_TempSenseGetTemp parameter? @Senlent 我的问题是,我不明白输入 tempinstance 的是什么,是通道号还是其他? 因此,我向您展示了功能参数。 Re: what is Adc_TempSenseGetTemp parameter? 你好@rlaxortn 1.热电阻驱动器包括 LLD 和 HLD,符合无自动散射和自动散射标准。 这两个函数分别来自 LLD 和 HLD。 Adc_Sar_Ip_TempSenseCalculateTemp();// for lld dirver Adc_TempSenseGetTemp ();// for hld driver 在你之前的问题中,我已经为你提供了一个例程。 https://community.nxp.com/t5/S32K/s32k344-tempsensor/m-p/2133907#M50911 2.yes 3.No. a.Adc_Sar_Ip_TempSenseGetTemp() ->该函数在温度传感器通道上以单次模式启动正常的软件转换,并根据数据转换计算芯片温度。 b."Adc_TempSenseCalculateTemp()"->根据给定数据计算温度(如果使用 ADC 直接读取数据)。
View full article