Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
将 AN12214 电机控制软件导入到 MCUXpresso 我正在尝试将源代码导入 RT1060 的 AN12214。 我运行 AN12214SW.exe 来提取源代码,并使用文件->导入,将现有项目放入工作区。我选择搜索嵌套项目并将项目复制到工作区。 我为 RT1060 选择了 AN12214SW 和 pmsm_ref_sol。 AN12214SW 进口精品。 pmsm_ref_sol 没有。尽管所有文件都有一个小黄色,但文件目录结构可以正确导入!图标。没有任何文件被复制到目录中。如果我将一个同名文件放在空白目录中,McuXpresso 仍然拒绝查看它。如果我将具有不同名称的文件放在目录中,它将出现在项目资源管理器中,我可以从 McuXpresso 打开它。 如何让 McUXpresso 正确导入项目? 我正在运行 MCUXpresso IDE v24.9 [Build 25] 并且有 SDK_2.x_EVK-MIMXRT1060已安装 回复:将 AN12214 电机控制软件导入到 MCUXpresso 我找到了解决办法。如果我不选择“将项目复制到工作区”,我就可以构建它。
記事全体を表示
S32K148 MCAL ENET EBERR 问题 您好 .遇到了问题. 以下是描述 目前正在配置S32K148-MCAL的Eth模块. port中配置好pin脚 fhz2000_0-1726739311772.png 配置eth fhz2000_1-1726739350182.png 生成代码后 组入 先调用eth_init Eth_Init(&Eth_Config_VS_0); 随后使能控制器 Eth_SetControllerMode(EthConf_EthCtrlConfig_EthCtrlConfig_0, ETH_MODE_ACTIVE); 在此过程中 fhz2000_3-1726739557897.png     Base->ECR |= ((uint32)(0x2U) | (0x100U));     Base->ECR |= ((uint32)1U << (4U)); 是可以正常配置ETHEREN为1的 fhz2000_5-1726740319507.png 但是一旦尝试初始化收发时,便会BUS ERROR fhz2000_6-1726740363772.png 后续的发送更不可能了 请问我该如何继续调查 回复: S32K148 MCAL ENET EBERR 问题 感谢 问题解决 问题解决 感谢回复 问题已经 解决 原因是没配置MCAL的RM模块导致MPU模块没初始化ENET相关的内存访问权限 回复: S32K148 MCAL ENET EBERR 问题 问题进展更新 : 现在追查到MPU的 CESR 寄存器了.看起来好像是uDMA尝试访问内存时被内存保护察觉到并拦截了. fhz2000_0-1726749164182.png fhz2000_1-1726749178708.png
記事全体を表示
ADC 读取和 PWM 占空比控制 我已经在 S32K344EVB-172 上编写了此代码,并且运行良好。我可以读取 adc 数据并用 adc 值控制占空比。 现在,我已经为 S32K358 配置了此代码,并尝试在 S32K358 中使用此代码,但我得到的是 adc 数据“0”。
記事全体を表示
SCTIMER Interupt 在 FRDM-MCXN947 板上的用法 亲爱的恩智浦社区 目前,我正在使用板载 SCTIMER 外设开发一个程序。我正试图通过 SCTIMER 在状态实现的第三个状态下启动 CTIMER0 外设,以产生 PWM 信号。该 PWM 信号被路由至 GPIO 引脚。为了实现这一点,我需要在第三个状态下实现中断,以便在该状态下专门启动 CTIMER0。不过,由于经验不足,我在编写此类中断程序时遇到了一些麻烦。你能帮帮我吗? 我目前正在编写的代码如下: void SCT0_IRQHandler(void) { SCTIMER_EventHandleIRQ(SCT0_PERIPHERAL); // 只有当 SCTIMER 达到状态 2 时才启动 CTIMER CTIMER_StartTimer(CTIMER0_PERIPHERAL); PRINTF("CTIMER started from SCTIMER state 2 event.\r\n"); } 静态 void SCT0_init(void) { CTIMER0_init(); SCTIMER_Init(SCT0_PERIPHERAL,&SCT0_initConfig); /* 启用 NVIC 中的中断 SCT0_IRQN 请求 */ /* 状态 0 初始化 */ SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[0]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[0]); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[2]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[2]); SCTIMER_CreateAndScheduleEvent(SCT0_PERIPHERAL、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event[0]); SCTIMER_SetupNextStateAction(SCT0_PERIPHERAL, 1, SCT0_event[0]); SCTIMER_IncreaseState(SCT0_PERIPHERAL); /* 状态 1 初始化 */ /* 为 PWM 安排周期事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0]); /* 安排 PWM 的脉冲事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0] + 1); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[1]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[1]); SCTIMER_CreateAndScheduleEvent(SCT0_PERIPHERAL、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event[1]); SCTIMER_SetupNextStateAction(SCT0_PERIPHERAL, 2, SCT0_event[1]); SCTIMER_IncreaseState(SCT0_PERIPHERAL); /* 状态 2 初始化 */ /* 为 PWM 安排周期事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0]); /* 安排 PWM 的脉冲事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0] + 1); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[3]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[3]); SCTIMER_CreateAndScheduleEvent(SCT0_PERIPHERAL、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event_startCTimer); SCTIMER_SetCallback(SCT0_PERIPHERAL, SCT0_IRQHandler, SCT0_event_startCTimer); 启用 IRQ(SCT0_IRQn); } 下图显示了开始时的波形。目标是在黄色 PWM 信号的第四个上升沿开始蓝色 PWM 信号。 Starting_Process_SCT_CT.png 时钟|计时器 开发板 MCX N Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 您好@Kevin_Pang, 您遇到的问题似乎在下一个主题中讨论过。我建议按照 ZhangJennie 提供的建议进行操作,看看是否有助于解决问题。 BR Habib Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 亲爱的 Habib, 我试着运行了一个基本的 sdk 示例,但还是遇到了同样的错误。 谨致问候、 凯文 Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 你好 @Kevin_Pang,你 能否尝试运行一个 SDK 示例,比如 " hello_world、" 来确定异常是由你的代码引起的还是你的板特有的? BR Habib Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 亲爱的哈比卜 感谢您的联系。 我现在在开发板上遇到了问题。因此,在尝试调试我的项目时,它引发了一个异常:"Unable to open probe index 1" ,错误信息为:"Probe not open" 。之后,它就无法与核心连接了。在我的设置没有任何改变的情况下,这种情况突然发生了。您能帮我解决这个问题吗? 谨致问候, Kevin Pang Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 您好@Kevin_Pang, ,很高兴您的问题得到了解决。如果有什么需要我帮忙的,请告诉我。 BR Habib Re: SCTIMER Interupt Usage on FRDM-MCXN947 board 问题解决了: 我已经找到了正确编程中断的解决方案。代码实现如下(CTIMER init 未显示): void SCT0_IRQHandler(void) { SCTIMER_EventHandleIRQ(SCT0_PERIPHERAL); } 无效 启动_CTIMER(void) { // 只有当 SCTIMER 达到状态 2 时才启动 CTIMER CTIMER_StartTimer(CTIMER0_PERIPHERAL); PRINTF("CTIMER started from SCTIMER state 2 event.\r\n"); } 常数 sctimer_config_tSCT0_initConfig = { .enableCounterUnify = true、 .clockMode = kSCTIMER_System_ClockMode, .clockSelect = kSCTIMER_Clock_On_Rise_Input_0, .enableBidirection_l = false、 .enableBidirection_h = false、 .prescale_l = 0U、 .prescale_h = 0U、 .outInitState = 0U、 .inputsync = 0U }; 常数 sctimer_pwm_signal_param_tSCT0_pwmSignalsConfig[4] = { { .输出 = kSCTIMER_Out_0, .level = kSCTIMER_HighTrue, .dutyCyclePercent = 50U }, { .输出 = kSCTIMER_Out_1, .level = kSCTIMER_HighTrue, .dutyCyclePercent = 100U }, { .输出 = kSCTIMER_Out_1, .level = kSCTIMER_HighTrue, .dutyCyclePercent = 0U }, { .输出 = kSCTIMER_Out_1, .level = kSCTIMER_HighTrue, .dutyCyclePercent = 0U } }; uint32_tSCT0_pwmEvent[4]; uint32_tSCT0_event[4]; uint32_tSCT0_event_startCTimer; 静态 void SCT0_init(void) { SCTIMER_Init(SCT0_PERIPHERAL,&SCT0_initConfig); /* 启用 NVIC 中的中断 SCT0_IRQN 请求 */ /* 状态 0 初始化 */ SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[0]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[0]); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[2]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[2]); SCTIMER_CreateAndScheduleEvent(sct0_peripheral、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event[0]); SCTIMER_SetupNextStateAction(SCT0_PERIPHERAL, 1, SCT0_event[0]); SCTIMER_IncreaseState(SCT0_PERIPHERAL); /* 状态 1 初始化 */ /* 为 PWM 安排周期事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0]); /* 安排 PWM 的脉冲事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0] + 1); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[1]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[1]); SCTIMER_CreateAndScheduleEvent(sct0_peripheral、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event[1]); SCTIMER_SetupNextStateAction(SCT0_PERIPHERAL, 2, SCT0_event[1]); SCTIMER_IncreaseState(SCT0_PERIPHERAL); /* 状态 2 初始化 */ /* 为 PWM 安排周期事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0]); /* 安排 PWM 的脉冲事件 */ SCTIMER_ScheduleEvent(SCT0, SCT0_pwmEvent[0] + 1); SCTIMER_SetupPwm(SCT0_PERIPHERAL,&SCT0_pwmSignalsConfig[3]、 kSCTIMER_EdgeAlignedPwm, 100U, SCT0_CLOCK_FREQ,&SCT0_pwmEvent[3]); SCTIMER_CreateAndScheduleEvent(sct0_peripheral、 kSCTIMER_OutputRiseEvent, 0, kSCTIMER_Out_0, kSCTIMER_Counter_U,&SCT0_event_startCTimer); SCTIMER_SetCallback(SCT0_PERIPHERAL, Start_CTIMER, SCT0_event_startCTimer); SCTIMER_EnableInterrupts(SCT0, (1U<< SCT0_event_startCTimer)); 启用 IRQ(SCT0_IRQn); } Kevin_Pang_0-1752496755589.png  
記事全体を表示
モデルベース設計のインストール問題 MATLABでインストールされたNXPパッケージを検証する際にエラーが発生します >> NXP_サポート_パッケージ_S32K1xx contains の使用エラー 最初の引数はテキストである必要があります。 NXP_Support_Package_S32K1xx>OpenToolbox_Callbackでエラーが発生しました(行 231 ) 結果(i) = 含まれている(ツールボックス(i).名前、'NXP_MBDToolbox_S32K1xx'); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ gui_mainfcnのエラー(行 95 ) feval(varargin{:}); ^^^^^^^^^^^^^^^^^^ NXP_Support_Package_S32K1xx (行34 )のエラー gui_mainfcn(gui_State, 可変長引数{:}); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ matlab.graphics.internal.figfile.FigFile/read>@(hObject,eventdata)NXP_Support_Package_S32K1xx('OpenToolbox_Callback',hObject,eventdata,guidata(hObject))でエラーが発生しました   matlab.ui.internal.controller.uicontrol.UIControlController/triggerActionEvent の使用中にエラーが発生しました( 行 76) UIControl コールバックの評価中にエラーが発生しました。   Re: Model based design installtion problem こんにちは、ジェリー。 私も同じ問題を抱えていました。 NXP_Support_Package_S32K3xx.m で、次の行を置き換えます。 結果(i) = 含まれている(ツールボックス(i).名前、'NXP_MBDToolbox_S32K3xx');   と: 空の場合(ツールボックス(i).名前) そうでない場合、 結果(i) = 含まれている(ツールボックス(i).名前、'NXP_MBDToolbox_S32K3xx'); end   私のCASE、toolboxes 変数に空のメンバーがあり、それがエラーの原因だったようです。 AlexCloutierDyname_0-1753212718436.png この置換を .m 内で 3 回実行する必要があります。 お役に立てば幸いです。 アレックス   Re: Model based design installtion problem SO、どうやって解決するのでしょうか? Re: Model based design installtion problem こんにちは、 ここでの主なエラーは次のとおりです。 contains の使用エラー 最初の引数はテキストである必要があります。 これは、contains に渡される変数 toolboxes(i).Name が、本来は文字列または char 配列であるはずなのに、そうではないことを意味します。 宜しくお願いします、 Tim
記事全体を表示
S32G399A 无法从 或非 闪存启动 你好 我们在板上使用 Micron 或非 Flash MT35XU512ABA1G12-0AUT。 而且我们从或非闪存启动时遇到了问题。(简单的应用是拨动 PE_01 使 LED 闪烁)。 我在下面附上了相关文件: 1.QuadSPI 参数文件:test_Qspi.bin 2.引导加载程序+应用程序组合 bin:led_test_0606_blob2.bin 3.S32 闪存工具算法:fsdk_qSpi_mt35xu512.bin JalseyXie_1-1749190402676.png 您能帮忙检查一下是否缺少任何步骤吗? 谢谢。 此致, 贾尔西 Re: S32G399A Fail to Boot from NOR Flash 您好,我今天又遇到了一个问题,在刻录时只能擦除,不能继续,请帮我看看。 读取闪存 ID 也是正确的 LONGGANGSU_0-1753806039310.png LONGGANGSU_1-1753806052649.png Re: S32G399A Fail to Boot from NOR Flash 我已经解决了这个问题,谢谢。 Re: S32G399A Fail to Boot from NOR Flash 你好,@LONGGANGSU、 是的,我们使用自定义 qspi 参数管理从或非闪存启动。 但是对于你正在使用的或非闪存,你应该能够使用 S32FT 中的这个算法从闪存中启动。 JalseyXie_0-1753665092831.png Re: S32G399A Fail to Boot from NOR Flash 您好,请问您的问题是否已经解决?我目前使用的 S32G399A 芯片的闪存型号为 MX25UW51245。我目前的情况是,可以使用 FLASH TOOLS 工具成功刻录和验证。但是,当我将 BOOTMOD 配置为 RCON 时,它无法从闪存启动。我可以使用示波器测量 SCK 和 CS 信号。SCK 时钟频率为 28MHz,但只持续了约 1.3 毫秒。 Re: S32G399A Fail to Boot from NOR Flash hi,JalseyXie 抱歉,回复晚了。 请检查以下地址是否填写正确。 Joey_z_0-1749700840290.png 如果您确认燃烧方法没有问题。 你可以尝试使用 M 或 A 内核来检查刻录到或非 FLASH 的内容是否正确,看看你的烧录算法是否有任何问题。 希望能帮到你。 BR 乔伊 Re: S32G399A Fail to Boot from NOR Flash 你好@Joey_z、 关于这个职位,您有任何更新吗? 我在社区中发现了类似的问题:或非刷新到 SRAM 后 QSPI 启动无法加载映像应用程序-恩智浦社区 此致, 贾尔西 Re: S32G399A Fail to Boot from NOR Flash 你好@Joey_z、 在 S32 闪存工具中使用fsdk_qSpi_mt35xu512.bin 闪存没有出错,但我不确定美光闪存是否兼容这种算法。 是的,使用调试器切换 PE_01 就可以了。 此致, 贾尔西 Re: S32G399A Fail to Boot from NOR Flash 嗨,JalseyXie 感谢您与我们联系。 您可以使用 fsdk_qSpi_mt35xu512.bi 吗? 通常在 S32 Flash 工具中使用算法对或非 Flash 进行编程?另外,您能否使用简单应用程序的调试器来切换 PE_01? BR 乔伊
記事全体を表示
CAAMとカーネル暗号テスト <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、皆さん。 LinuxのさまざまなバージョンやさまざまなボードでCAAMを有効にすると、いくつかの不安なエラーメッセージが表示されます。 カーネルの自己テスト。 SABRE-SD 3.10.31-alpha でのテスト root@imx6qsabresd:~# dmesg ... alg: ハッシュ: hmac-sha1-caam のテスト 1 が失敗しました 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: f1 46 は 00 です alg: ハッシュ: sha1-caam のテスト 1 が失敗しました 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: 9c d0 d8 9d alg: ハッシュ: hmac-sha224-caam のテスト 1 が失敗しました 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: 47 b4 b1 16 99 12 ba 4f 53 68 4b 22 alg: ハッシュ: sha224-caam のテスト 1 が失敗しました 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: 2a ad bc e4 bd a0 b3 f7 e3 6c 9d a7 root@imx6qsabresd:~# cat /proc/cmdline コンソール=ttymxc0,115200 ip=dhcp ルート=/dev/mmcblk0p2 rootwait caam カーネル構成は、いくつかのデバッグ フラグを追加した標準の v7_defconfig と基本的に同じです。 ~/linux-imx6$ ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- savedefconfig を作成します スクリプト/kconfig/conf --savedefconfig=defconfig Kconfig ~/linux-imx6$ diff defconfig arch/arm/configs/imx_v7_defconfig 253a254 > CONFIG_USB_PHY=y 329d329 < CONFIG_DEBUG_LOCK_ALLOC=y 334d333 < # CONFIG_CRYPTO_MANAGER_DISABLE_TESTSが設定されていません カーネル3.0.35_4.1.0でも同じ結果が出ていますおよび Nitrogen6x 上の 3.10.17-1.0.0-ga。 これについて何か知見をお持ちの方はいらっしゃいますか? よろしくお願いいたします。 エリック i.MX6_すべて Linux Re: CAAM and kernel crypto tests SecretCryptos は、匿名の暗号取引のためのワンストップ ソリューションです。暗号ミキサの使用や安全な取引所での取引をお考えの場合でも、SecretCryptos はすべての取引の完全なプライバシーと匿名性を保証します。 SecretCryptos 暗号ミキサと取引所 すべてのミキサページ(コインあたり) SecretCryptos 暗号ミキサー|ビットコイン (BTC) ミキサー|イーサリアム (ETH) ミキサー|テザー (USDT) ミキサー| USD コイン (USDC) ミキサー| BNB (BSC) ミキサー|ライトコイン (LTC) ミキサー|ドージコイン (DOGE) ミキサー| XRP (リップル) ミキサー|ソラナ (SOL) ミキサー| TRON (TRX) ミキサー| TON (トンコイン) ミキサー|ポリゴン (MATIC) ミキサー|アバランチ (AVAX) ミキサー|カルダノ (ADA) ミキサー|ポルカドット (DOT) ミキサー|柴犬 (SHIB) ミキサー インスタント暗号通貨取引 暗号通貨取引所 62a314_66eab6e98f404d46a2d43c76933e6802~mv2 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ありがとう、ジョン Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この問題に対する適切な修正は、Herbert Xuのcrypto-2.6にあります。木。具体的には、 LKML: Herbert Xu: Crypto Fixes for 3.13およびLKML: Herbert Xu: Re: Crypto Fixes for 3.13 で問題が修正されます。3.10.xxにバックポートする必要がある Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Freescale の Steve Cornelius 氏と他の人々のおかげで、この問題はキャッシュの一貫性と関係があることを示すことができました。 特に、CAAM ドライバは、すべての入力と出力がキャッシュ ライン境界 (i.MX6 では 32 バイト) に揃えられることを想定しています。 testmgr コードは元々ソフトウェア実装をテストするために作成されたため、カーネル 3.10.17 時点では特定の配置が保証されず、それが障害の原因となっていましたが、これを解決するための簡単な更新によってエラーを防ぐことができます。 crypto testmgr: 結果バッファをキャッシュラインに合わせる · e3e7ad4 · boundarydevices/linux-imx6 · GitHub コミット ログに記載されているように、入力と出力のこの要件はユーザー空間コードにも存在するため、アプリケーションは割り当てに注意する必要があります。 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> jamesboneさん、このCASEの最新情報はありますか? Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> まだ修正されていません。 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この問題は修正されましたか? それとも、解決策はただ遅延するだけですか? 私も同じ問題を抱えています。しかし、テストを成功させるには、遅延値を最大 100usec まで変更する必要があります。 それは大きな問題です。 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> jamesboneさん、このCASEのフォローアップを続けてもらえますか? Re: Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> さらに詳しく: caam_jr_dequeue () の次の 2 つの場所のどちらにも同じ udelay(20) があっても、テストは成功しません。 Linux-imx6/ドライバ/crypto/caam/jr.c at boundary-imx_3.10.17_1.0.0_ga · boundarydevices/Linux-imx6 · GitHub Linux-imx6/ドライバ/crypto/caam/jr.c at boundary-imx_3.10.17_1.0.0_ga · boundarydevices/Linux-imx6 · GitHub Re: Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これらのテストに関するさらに詳しい情報は… caam_jr_enqueue() の最後にある udelay(20) 呼び出しによりテストは成功します。SO、何らかのタイミング バグであると思われます。 ~/linux-imx6$ git diff diff --git a/ドライバ/crypto/caam/jr.c b/ドライバ/crypto/caam/jr.c インデックス 80ddddb..c8c4a7e 100644 --- a/ドライバ/crypto/caam/jr.c +++ b/ドライバ/crypto/caam/jr.c @@ -288,6 +288,7 @@ int caam_jr_enqueue(構造体デバイス *dev, u32 *desc, spin_unlock_bh(&jrp->inplock); + 遅延(20); 0を返します。 } EXPORT_SYMBOL(caam_jr_enqueue); Re: Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> さらなる更新: 3.10.17-1.0.0-ga でのその後の起動では、ゼロの 8 バイトだけが表示されます。 alg: ハッシュ: hmac-sha1-caam のテスト 1 が失敗しました 00000000: 00 00 00 00 00 00 00 00 e2 8b c0 b6 fb 37 8c 8e 00000010: f1 46 は 00 です alg: ハッシュ: sha1-caam のテスト 1 が失敗しました Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 追加メモ: テスト失敗時に表示される値: alg: ハッシュ: hmac-sha1-caam のテスト 1 が失敗しました 00000000: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00000010: f1 46 は 00 です 予想された結果と似ているように見えます。これは、crypto/testmgr.c の hmac-sha1 の最初のテスト ベクトルです。 静的構造体hash_testvec hmac_sha1_tv_template[] = {   { .key = "\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b\x0b", .ksize = 20, .plaintext = "こんにちは", .psize = 8, .ダイジェスト = "\xb6\x17\x31\x86\x55\x05\x72\x64" 「\xe2\x8b\xc0\xb6\xfb\x37\x8c\x8e\xf1」 「\x46\xbe」、 ... シーケンス「f1 46 be」が期待値と一致することに注意してください。 また、失敗した各テストの最初の 16 バイトがゼロとして表示されることにも注意してください。 Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、ジェイミー。 3.0.35_4.1.0でテストしていることに気づかなかったようです。3.10.17-1.0.0-ga、および 3.10.31_1.0.0-alpha。 それぞれに、他のページからのパッチがすでに含まれています。 dma_map_sg_chained へのパッチ: http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_3.0.35_4.0.0&id=b30237c79003223c6e8035d5be183cd4f0b469f9 3.10.17 ソース: https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/drivers/crypto/caam/sg_sw_sec4.h#L96 driver_algs へのパッチ: http://git.freescale.com/git/cgit.cgi/imx/linux-2.6-imx.git/commit/?h=imx_3.0.35_4.0.0&id=6068d7a77b2101c172fc2f003f90b1febbf99505 3.10.17 ソース: https://github.com/boundarydevices/linux-imx6/blob/boundary-imx_3.10.17_1.0.0_ga/drivers/crypto/caam/caamalg.c#L2083 また、私たちが目にしている問題はハッシュ アルゴリズムにのみ関係するものであることを明確に説明していませんでした。 よろしくお願いいたします。 エリック Re: CAAM and kernel crypto tests <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 親愛なるエリックへ Linux 3.0.35の場合CAAMの適切な機能を得るには、いくつかのパッチが必要です。 Q&A: iMX6 の Linux で CAAM ドライバが機能しないのはなぜですか? すてきな一日を、 ハイメ ----------------------------------------------------------------------------------------------------------------------- 注: この投稿で質問が解決した場合は、「正解」ボタンをクリックしてください。ありがとう! -----------------------------------------------------------------------------------------------------------------------
記事全体を表示
非法--1010 和 1111--完全合法指令的例外情况 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在我认为完全合法的 68EN360 指令上,我们看到了随机的非法--1010-和 1111-例外情况 代码正在耗尽 FLASH(29F800 或类似设备) 在异常处理程序中,我会读取故障程序计数器上的指令,以便进行比较。它总是匹配的。   我认为是在 3 个字指令的中间出现错误跳转,但我也见过在一系列简单的 1 字指令(简单寄存器移动、寄存器运算等)的中间出现错误跳转。我还看到过在不以 Fxxx 开头的指令上出现 F 行仿真异常。 此外,奇怪的是,该问题在 SW 更新后出现,之后的更新又消失了,之后的更新又出现了。   我们偶尔会遇到因指针错误而导致的总线错误,以及因堆栈损坏而导致的非常明显的非法指令返回,但我们大多都能或多或少地立即找出问题所在。   这个问题确实让我们束手无策,我们面临着在软件中解决这个问题的巨大压力。   不知道是否与https://community.freescale.com/message/87784#87784有关 有什么好办法吗?   此致, L di/dt 概述 Re: Illegal- 1010- and 1111-exception on perfectly legal instructions 这是一个有趣的观点,即即使在涉及看似有效的指示的情况下,也会出现例外情况。有时,要了解此类问题背后更深层次的法律解释,需要查阅详细的当地案例数据或司法见解。您可以在以下网站了解更多信息 县治安法官以更好地了解县级系统内如何处理此类例外情况。交叉参考此类问题以确保清晰度和准确性总是有帮助的。 Re: Illegal- 1010- and 1111-exception on perfectly legal instructions <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 翻阅我的旧邮件 更新: 闪存制造商和 DIMM 插座发生了变化。所有问题都符合规格,但恰好暴露了 PCB 设计/布局的问题: 地址线有振铃,FLASH 制造商和 DIMM 插座的微小差异对振铃的影响微乎其微。 运气不佳,某些地址序列的某些地址线从 "1 "变为 "0",导致闪存锁存错误地址(违反设置/稳定时间)。 PCB 设计师添加了串联阻抗匹配电阻,只有几个欧姆,并根据我们的布局进行了微调,使信号看起来更漂亮。清理了一些可疑的线路,与其他线路相比,有几条线路实在太长了。实际的布局变化很小。 我不知道我们最终为此付出了多少代价。 经验教训:即使是速度如此之慢的 33MHz CPU,精心布局和阻抗匹配也非常重要。仅仅完成布局和简单检查 "能用 "是不够的。 该问题现已解决。 我平时的 Sig 奇怪地很合适。 此致问候 - L di/dt。 Re: Illegal- 1010- and 1111-exception on perfectly legal instructions <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 罗布,进展如何? 请随时通知我们!笑一笑 顺祝商祺! Re: Illegal- 1010- and 1111-exception on perfectly legal instructions <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我写道 > 不过,鉴于 68360 是...哎呀! 20 岁了!数据表的日期是 1993 年。本产品 > 一定在过去的某个时候起过作用。最近有什么变化? 这也意味着产品必须很旧,使用的板必须很旧。 有人检查过其中一些板是否是在 2001 年和 2002 年 "电容 Plague " 如火如荼的黑暗时期制造的吗? http://en.wikipedia.org/wiki/Capacitor_plague 如果你阅读了上面的精彩文章,它详细介绍了 "正常" 电容的使用寿命(以及因 "Plague" 而提前失效的电容)。如果您的某些故障板已有 10-15 年的使用寿命,则电容可能已经枯竭,可能无法再工作。不同版本的软件可能会产生不同的工作电流模式,再加上旧的电容,可能会导致观察到的问题。 Tom Re: Illegal- 1010- and 1111-exception on perfectly legal instructions <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> > 代码快用完了 您是否有足够的 RAM 来编译代码,使其在 RAM 的地址上运行,然后在启动时从 FLASH 复制到 RAM 并从那里执行? 这应该将问题区分为 " 从 FLASH " 读取问题或 " 从该总线 " 上的任何地方读取的问题。 如果它能解决问题,而你又有足够的内存,你也许可以将其作为半永久性的解决方案。 不过,鉴于 68360 是...哎呀! 20 岁了!数据表的日期是 1993 年。这种产品在过去的某个时期一定起过作用。最近有什么变化? 啊,是的,你说过: > 此外,奇怪的是,问题出现在软件更新之后、 因此,在新旧版本之间进行 " 二进制切换 ",并尝试缩小导致问题的最小更改范围。如果没有发现明显的问题,就开始将新旧代码重新链接到(比如)增加的 4k 或 16k 地址边界,看看是否有移位后的"好" 变坏,或者"坏" 变好。 打印并比较两个版本的 MAP 文件,看看功能是否移动了,或者重要的东西是否跨越了以前没有跨越的地址边界。我的代码并查看 " 热点循环 " 在哪里,看看移动这些 " 热点 "(比如在 FLASH 的开头或结尾将它们全部链接起来)能否改变问题。 我猜这东西是用以太网的。加载网络。基本上就是把 **** ping 出来。运行多个 Linux shell,然后"ping -f" 从 5 个或 20 个 shell 同时运行。如果这项活动能让失败的次数更多,那么你的测试效果就会更好。 Tom Re: Illegal- 1010- and 1111-exception on perfectly legal instructions <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> > 我发现有几个指令中包含绝对地址,比如 >"MOVE.B D0,(00012345)" ,出现总线错误,故障地址为 FFFF2345 你有 16 位闪存总线或 32 位闪存总线吗?如果您使用的是 16 位,那么地址的获取是在两个周期内进行的,高字优先,而这个周期不知为何出了问题。 如果你有 32 位总线,那么上半部分的读取效果很差。 它能读一读的事实要么是一辆带上拉的露天总线(你有引体向上拉吗?)或者它已经读取了 FLASH 中被删除的部分。我猜你没有引体向上,所以我怀疑是后者。 可能发生这种情况的原因是,其中一个闪存芯片将高位地址位采样为"" ,从而读取了一个高位(已擦除)内存位置,而不是你想读取的位置。奇怪的是,另一个 "闪电侠 "找到了正确的地址。 这似乎表明你的水平和/或时机都不理想。最糟糕的情况是,所有地址位都从全零变为全一,只有一个可怜的地址位试图保持低电平。电容耦合(来自所有其他轨道)和电感耦合,再加上驱动芯片(CPU)上的"接地反弹" ,可以在闪存芯片锁存该地址时将该低地址提升到阈值以上。 因此,在地址转换与向闪存芯片发送信号以开始新周期之间,需要增加时序余量。 你还应该用一台好的示波器在地址总线上寻找这样的东西。您还应该查找欠压和过压的证据,它们会导致 RAM 和 FLASH 芯片轻微失常,尤其是当"" 、发生欠压和过压的引脚数量以及温度升高时。 如果你的代码已更改为 " busy " 越过地址边界(0x07fffff0 到 0x08000000),并且数据总线上的地址也是 " 繁忙 " 它可能会越过阈值并触发信号这种情况。 地址总线中有串联电阻器吗?你在数据总线中有它们吗? 数据总线转换(记住 CPU、RAM 和 ROM 交替驱动该总线)也可以耦合到地址总线。数据总线转换和地址总线转换之间的理论和测量/观察到的时间关系是什么?还有控制总线信号? 该芯片的某些时钟线具有可变的驱动强度,但数据线、地址线或控制线则没有。较新的芯片具有这种功能,而且非常有用。我在 MCF5329 上出现了严重的内存损坏,只有当我调低驱动器强度时,它才会消失,因为下冲和超调导致同步动态随机存取存储器发疯了。 您的芯片是 BGA、PGA 还是 QFP?你们的接地和旁路情况如何? 这会发生在多个板上吗?它是在新建的硬件上开始发生的,还是新软件在所有板上都会触发这种情况? Tom Re: Illegal- 1010- and 1111-exception on perfectly legal instructions <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 谢谢,这很有帮助。 唯一的 DMA 由片上外设处理。 在有以太网和没有以太网的系统上都能观察到这个问题,但流量并不大。 闪光灯是标准配置,大牌制造商生产,无连发。 测试版本的最大等待状态、定时放松设置、传输之间的最大延迟等待时间都出现了同样的问题。 在正常室温下也会出现问题。 有趣的是,它似乎喜欢"F"s 我发现了一些指令中包含绝对地址的情况,比如"MOVE.B D0,(00012345)" 总线错误,故障地址为 FFFF2345 (非真实地址) 问题往往出现在 SW 执行量最大的部分 改变链接器中模块的顺序似乎会影响问题出现的频率以及问题出现在哪个模块中。 我们曾经遇到过 CPM 负载问题,它导致在模块中断寄存器中设置 SPI 中断,但在出现多次同时中断的情况下从未向 CPU 钳位。不过这个问题已经解决了(在最后一次服务中断后对中断待处理寄存器进行额外检查)。 Re: Illegal- 1010- and 1111-exception on perfectly legal instructions <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 阅读 CPU 的所有勘误表。你用的是哪种面具?快速阅读 B0 勘误表就会发现各种损坏问题。 我在使用 MPC860 时也遇到过类似的问题,它的缓存和分支预测存在缺陷,每隔一周左右就会损坏一次分支,但 68000 不应该复杂到出现这类问题的程度(首先它没有缓存)。 由于内存中的代码对齐方式(ALIGNMENT)不同,这个问题在不同的软件版本中时有发生。当我们的版本失败时,添加一条指令(将所有其他指令向下移动)通常会使问题消失。 因此,请尝试在代码的不同部分添加"NOP" (或同等的内容),以"移动" ,看看是否能使问题消失。你应该能够对任何敏感区域进行 " 二进制切割 " 以归零。 试着在闪存循环中添加等待状态,看看是否有什么不同。 热,冷?高压和低电压等级? 您是否有任何可能会干扰总线周期的 DMA 设备?总线上有门阵列芯片吗?" burst 模式是 " Flash 吗? 试着找到能让它更频繁失败的方法。例如,是否与以太网流量有关?CPM 负载? 当你得到"崩溃" 时,检查 CPU 的所有寄存器,然后用它来证明"你认为 CPU 是如何到达那里的" 它确实是如何到达那里的。查看堆栈,看看它之前在哪个函数中,以及堆栈中保存了哪些之前的函数。然后看看该函数对寄存器做了什么,再看看能否计算出该函数运行到什么程度才会出错。你可能会发现其中的规律。 你能把逻辑分析器挂在总线上吗?这可能是追踪故障位置的唯一方法。你并不需要所有东西,仅捕获底部 12 个地址位可能足以让你回溯发生的事情。 Tom
記事全体を表示
如何使用 s32k144 aips? HI 我需要动态保护和解除保护闪存。 因此,我研究了 MPU、闪存保护寄存器和 AIPS。 无法解决 MPU 和闪存保护寄存器问题。 而 AIPS(外设访问保护)的解释不足以在 RM 中使用。 我认为 OPACR 中的 wp bits 与此有关。 但我不知道每个 wp 位都指向哪里。 请详细说明如何使用 AIPS? 谢谢! 顺祝商祺! 菲利普 Re: How to use s32k144 aips? 你好,@minsky、 您能创建一个新的主题吗? Re: How to use s32k144 aips? 你好,请问外设的访问控制如何确定在哪个寄存器的哪个插槽中? Re: How to use s32k144 aips? 你好,菲利普、 X "表示 S32K1 衍生型号上有外设访问控制。 FTFC 的外设访问控制位于 OPACRA 的 0 号插槽。 这取决于您的要求,如果您想保护 FTFC 寄存器不被写入,则设置 OPACRA[WP0] = 1。 此致, 丹尼尔 Re: How to use s32k144 aips? 你好,丹尼尔 kmh48301_0-1643929795415.png X'是什么意思? 您想对哪些外设寄存器进行写保护? :我想对 FTFC 进行写保护。 因此,应该是 OPACR Slot1。 但我该如何保护呢? 谢谢! 顺祝商祺! 菲利普 Re: How to use s32k144 aips? 你好,菲利普、 您想对哪些外设寄存器进行写保护? 请参阅 RM 随附的S32K1xx_Mamory_Map.xlsx。 danielmartynek_0-1643893300395.png danielmartynek_1-1643893329578.png danielmartynek_3-1643893452245.png 此致, 丹尼尔
記事全体を表示
PLL calculation for S32k312 hello team, i am using the S32K312 microchip in our design. can please help me to calculate the PLL output frequency. We are using 40 MHz external crystal oscillator. can you provide one example calculation? is it okay if you we are using 40 MHz crystal oscillator?  please provide the clock calculator for S32K312. Re: PLL calculation for S32k312 Hi @mogilipuri_harish , were you able to resolve this issue. i am also dealing with same issue. i do have exactly same configuration , using MCAL 6.0.0 for S32K312. facing error with "PLL ODIV2 = 2 " out of range Re: PLL calculation for S32k312 Hi@mogilipuri_hari sh Apart from the data sheet, there is no more guidance document for clock configuration As shown in the figure,the version RTD 2.0.1 and above have routines for S32K312 Senlent_0-1679275360762.png Re: PLL calculation for S32k312 hi  i am trying do this PLL clock calculation. can you given some notes how to do this calculation? like reference document. and i didn't find S32k312 example in tools, can you please share that it will be helpful to me. Re: PLL calculation for S32k312 Hi, for your reference,for example: Senlent_0-1679045256458.png PLL output frequency must be in range:640MHz~1,28GHz. Re: PLL calculation for S32k312 Hi, Didn't fully understand your question, do you mean which divider values can be changed? Senlent_0-1679014916370.png these parameters in the picture can be changed, you can view these clock tree configuration in S32 DS. Re: PLL calculation for S32k312 here what are the variable values we can change?? Re: PLL calculation for S32k312 thanks for reminding In S32K312, CORE_CLK=160Mhz can still run, but it is not recommended for customers to use this way, there will be unknown risks Re: PLL calculation for S32k312 hello senlent, actually core clock frequency for S32k312 is 120Mhz. Re: PLL calculation for S32k312 Hi@mogilipuri_harish The FXOSC can be from 8MHz to40MHz,so the 40MHz crystal oscillator should be ok. you can use "S32 Design Studio for S32 Platform" to set the clock tree. for example: Senlent_0-1678946272283.png PS:The S32K312EVB we provide uses a 16MHz external crystal oscillator
記事全体を表示
如何签署 FIT FDT 章节 启用 CONFIG_IMX_SPL_FIT_FDT_SIGNATURE 后,如何使用代码签名工具 (CST) 对 FIT 映像的 FDT 部分进行签名? i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Re: How to sign FIT FDT section 请参阅安全启动指南 - Defconfig: config_imx_hab=Y config_imx_spl_fit_fit_fdt_S ignature=Y(可选的,仅适用于 FIT FDT 签名) 此致 哈维
記事全体を表示
S32K341 - S32DS3.6.2 和 RTD6.0.0 上的 Mem_43_INFLS 问题 亲爱的恩智浦支持/恩智浦专家, 我正在为 S32K341 处理器开发引导加载程序。 我从一个示例 (Mem_InFls_Example_S32K344) 开始。 首先,我修改了 memap 文件,以便将 pflash 工作所涉及的所有功能都放在 RAM 中,而且成功了,但我想使用原始生成的文件(c40 文件除外,根据我的理解,有必要更改该文件的 pragma 声明)。 因此,我启用了 "任务启动时记忆加载访问代码 "功能 il_ciancio_0-1753171185572.png 擦除和写入地址位于内存区的末端 int_sram :ORIGIN = 0x20400000,LENGTH = 0x00007F00。 1) 是这样吗?还是我必须把这些指针放在其他区域? 下面是地图文件中的公羊代码部分: il_ciancio_1-1753171422314.png 2) 我是否遗漏了某些功能? 问题是一个硬故障处理程序,它从 0x40d2e5 : b.n 0x40d300 ; 0x40d3f3 : b.n 0x40d40e ; 基本上靠近"跳转" 到闪存驱动器。 il_ciancio_3-1753171549471.png 3) 有什么想法吗? 我有点被困住了。 非常感谢、 Ciancio Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 你好,@il_ciancio、 很高兴听到它有所帮助 出现这个问题可能是因为内核将数据写入了 SRAM,而 SRAM 会受到数据缓存的影响,如果内核读取数据,就不会出现问题。然而,当内核试图从同一内存区域执行代码时,它需要依赖指令缓存。 如果指令缓存未正确失效或更新,则内核最终可能会获取未初始化的指令——在 LSB 处执行 0x00 字节而不是使用 0x1 的实际代码。 此致, 丹尼尔 Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 移除 MPU_ENABLE:这一解决方案不起作用,但 sram 区域是可缓存的,也许我必须尝试使用无缓存区域。 加载访问代码后启用内存清洁缓存:使用此解决方案和相同的指针以及 MPU_ENABLE,代码可以正常工作!你明白了吧,干得好,非常感谢! 关于拇指地址,我有点困惑,因为宏MEM_43_INFLS_AC_CALL 是用 ARM_FAR_CALL2THUMB_CODE_BIT0_U32 编译的,所以跳转本身应该有效。也许闪存驱动程序内部存在这个问题? 顺便说一下,正如我所写的,启用缓存后,代码就能正常工作了。 如果您对MEM_43_INFLS_AC_CALL有其他意见,我将等待您的回复,然后关闭该邮件。 非常感谢,再次感谢您的出色工作! Ciancio Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 1. 转到项目属性,删除此符号。 danielmartynek_0-1753192518255.png 2。这个 INVSTATE 故障是由分支到非缩略地址引起的-缩略图地址的最低有效位设置为 1。这有可能是缓存造成的--核心会分支到缓存中的任何内容。 此致, 丹尼尔   Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 我会尝试两种方法,只是有些问题: 有没有禁用 MPU 的 api? 这也可能是高速缓存(由 MPU 管理)造成的。->只是为了让我了解微观,您是如何得出这个结论的?你对这个错误有任何参考吗? 非常感谢,干得漂亮! Ciancio Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 这也可能是高速缓存(由 MPU 管理)造成的。 可以在启动代码中禁用 MPU,这样就可以轻松进行测试。 不过,你可以启用下面的选项来清理缓存。 danielmartynek_0-1753191322052.png Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 这与此有关: il_ciancio_0-1753189857242.png il_ciancio_1-1753189870001.png. 查找存储在内存中的数据,从硬盘故障开始(Mem_43_INFLS_IPW_Erase 中的 MEM_43_INFLS_AC_CALL): IR 指令: 0x40dc05 : b.n 0x40dc20 。 非常感谢。 Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 你好,@il_ciancio、 在故障处理程序中,读取可配置故障状态寄存器 (CFSR) 以确定故障原因。 有关详细信息,请参阅 ARM 官方文档: https://developer.arm.com/documentation/dui0646/c/Cortex-M7-Peripherals/System-control-block/Configurable-Fault-Status-Register 如果将故障确定为 MemManage 故障,则检查地址为 0x20407E00 的内存区域的内存保护单元 (MPU) 配置。 Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 感谢您的回复。 这就是我的配置,通过调试器,我可以在 RAM 区域看到访问代码已加载。应用程序不使用擦除/写入指针。 il_ciancio_0-1753187073096.png 我能检查什么? 谢谢! Re: S32K341 - Issue with Mem_43_INFLS on S32DS3.6.2 and RTD6.0.0 你好,@il_ciancio、 我刚刚用默认的 Mem_InFls_Example_S32K344 示例进行了测试。 我把扇区改为 BLOCK_0 扇区。 #define EXAMPLE_SECTOR_START_ADDR (0x004F0000U) danielmartynek_0-1753177378036.png 我发现这些 SRAM 位置未被应用程序使用,因此就使用了它们: danielmartynek_1-1753177385883.png 代码被复制到这里: danielmartynek_2-1753177391938.png 该示例如预期般正常工作。 你能在你那边测试一下吗? 谢谢、 此致, 丹尼尔
記事全体を表示
提问关于窗体图标的问题 lv_drivers\display\monitor.c创建窗体的函数window_create中有段代码 iconSurface = SDL_CreateRGBSurfaceFrom(simulator_icon, 32, 32, 16, 32 * 2, 0xf000, 0x0f00, 0x00f0, 0x000f); SDL_SetWindowIcon(m->window, iconSurface); SDL_FreeSurface(iconSurface); 它们的作用应该是显示SDL窗体的图标,但是整个软件找下来也没找到设置这个图标的地方,请问是否固化为 GUI_Guider_Icon256×256.png这个图标了?能否修改?怎么修改? PS:我的工作是使用GuiGuider设计在图形化Linux下的可执行程序。 Re: 提问关于窗体图标的问题 Hello @cabbage. Thank you for your post. The code is indeed used to set the SDL window icon, which is the default logo for GuiGuider, and the related image data has been written directly in the source code. The compiled software cannot be modified. The software source code is not provided, so it does not support users to make changes. Just the application code generated by the software can be viewed in the code editor. I hope to help you. BRs. Celeste
記事全体を表示
TJA1465 如何确定当前唤醒原因是特定帧唤醒? 我想请教专家,TJA1465 只配置了 WUF。执行特定帧唤醒时,如何确定当前的唤醒原因?我可以肯定 CW 位将设置为 1,但总线上还会发送其他消息,CW 也将设置为 1,这会造成干扰。是否有其他方法或寄存器来确定唤醒原因? Re: How can TJA1465 determine that the current wake-up cause is a specific frame wake-up 设置这两个唤醒区分是通过CPNC / PNCOK 提前设置的,他还有一个wake pin 是 local唤醒用的 The TJA1465 supports remote wake-up via a CAN wake-up pattern (WUP) or selective wake-up via a CAN wake-up frame (WUF). --- 所以就是有wake pin的唤醒,配置了CPNC / PNCOK那就是被选择唤醒,不配置CPNC / PNCOK被唤醒就是WUP唤醒,解释清楚了吗? Re: How can TJA1465 determine that the current wake-up cause is a specific frame wake-up 非常感谢你的回答。也许我没有描述清楚。我已经实现了特定帧唤醒 (WUF)。当 ECU 被唤醒时,我想知道是否有办法通过寄存器设置或其他方法来确定唤醒的原因是由于该特定帧,因为整个网络中还有其他唤醒源需要加以区分 Re: How can TJA1465 determine that the current wake-up cause is a specific frame wake-up 这两个唤醒还是有本质区别的看下面的介绍,以及唤醒之前的设置: CAN wake-up pattern (WUP) The CAN wake-up pattern (WUP) is used for two purposes: To activate CAN biasing in CAN Offline mode (transition from CAN offline to CAN OfflineBias) To trigger a CAN wake-up event The following conditions must be met to trigger a wake-up event via a CAN WUP: The CAN transceiver is in CAN Offline or CAN OfflineBias mode CAN wake-up enabled (CWE = 1) CAN wake-up frame detection (WUF) deactivated (CPNC = 0 or PNCOK = 0)   CAN wake-up frame (WUF) CAN partial networking through selective wake-up detection allows a device in a CAN network to be selectively woken up in response to a wake-up frame (WUF) on the CAN bus. Selective wake-up detection uses one of two filtering methods: Identifier-only filtering (PNDM = 0) Identifier + data length code + data mask filtering (PNDM = 1) The following conditions must be met to enable CAN WUF functionality: CAN biasing needs to be activated (CAN OfflineBias, CAN ListenOnly or CAN Active mode) CAN wake-up enabled (CWE = 1) CAN partial networking configuration completed (PNCOK = 1) CAN partial networking enabled (CPNC = 1) No CAN partial networking error detected (CPNERRS = 0)
記事全体を表示
S32K344 执行 HSE 指令导致程序崩溃问题 亲爱的 我使用编译宏指令将 Hse_Send() 函数编译到 0x0041E400,空间大小为 6kb。编译后生成的地图文件表明上述操作成功。 1.png.jpg 1.png.jpg 1.png.jpg 1.png.jpg 在执行加密服务之前,我首先将 HSE_send 函数复制到地址 0x2043E800,然后使用指针函数跳转到相应地址执行该函数。情况截图如下: 1.png.jpg 1.jpg 1.jpg 在单个步骤中执行上述组装指令时,PC 寄存器将 RESET 为 0。 1.jpg 问题这个问题是我的软件操作造成的吗?我将代码复制到 RAM 地址的方法不正确吗? Re: S32K344 execution of HSE instructions led to a program crash issue 当调试器显示 PC 为零时,通常是因为调试器无法解析故障上下文。正如我之前写的,看起来你从错误的地址执行了与位置相关的代码--这总是会导致崩溃,因为某些相对跳转是不正确的。这显然造成了故障或一系列故障。 此致, Lukas Re: S32K344 execution of HSE instructions led to a program crash issue 亲爱的 感谢您的支持,但我仍然需要知道为什么会像下面这样跳转到 0x0? 我需要找到问题的原因,以避免风险,等待您的反馈。 1.jpg Re: S32K344 execution of HSE instructions led to a program crash issue 看起来函数只是被强制编译到文本部分,但编译器并不知道应该将函数编译到 RAM 地址。这不是独立于位置的代码。详细信息请参阅本文: https://community.nxp.com/t5/S32-Design-Studio-Knowledge-Base/HOWTO-Run-a-routine-from-RAM-in-S32-Design-Studio/ta-p/1113336 但是,由于 RTD 已经为此准备好了内存映射文件和链接器文件,因此没有理由再用其他方法来做。 此致, Lukas Re: S32K344 execution of HSE instructions led to a program crash issue 亲爱的 谢谢,您的解决方案很有效,但您能告诉我为什么我将代码复制到 RAM 的方法不能工作吗?是因为 S32DS 不支持这种方式?还是 RTD 对这种方式有限制? Re: S32K344 execution of HSE instructions led to a program crash issue 亲爱的 谢谢,用你的办法是行得通的,但你能告诉我为什么我把代码复制到 RAM 中的方法行不通吗?S32DS 不支持这种方式?还是 RTD 限制了这种方式? Re: S32K344 execution of HSE instructions led to a program crash issue 还有一点要注意:如果要强制转入 RAM 的函数调用了其他函数,可能也需要将它们强制转入 RAM。 Re: S32K344 execution of HSE instructions led to a program crash issue 你好@Ali22 我看到你使用了 RTD 的内存映射文件。这种情况下,在 RTD 项目中非常简单,您不需要创建自己的部分,也不需要手动复制代码。 例如,假设我们要将 Hse_Ip_ServiceRequest 函数强制转换为 RAM。打开 HSE_Ip.c 和 HSE_Ip.h并找到该函数的定义/声明。 如果仔细查看文件,就会发现所有代码在开始时都强制使用了闪存: #define CRYPTO_43_HSE_START_SEC_CODE #include"Crypto_43_HSE_MemMap.h" 并在最后 #define CRYPTO_43_HSE_STOP_SEC_CODE #include"Crypto_43_HSE_MemMap.h" 要强制只将一个函数放入 RAM,我们必须在函数前停止使用默认部分,使用RAMCODE部分,然后再使用默认部分。在头文件中,它可以是这样的 ... #define CRYPTO_43_HSE_STOP_SEC_CODE #include"Crypto_43_HSE_MemMap.h" #define CRYPTO_43_HSE_START_SEC_RAMCODE #include"Crypto_43_HSE_MemMap.h" hseSrvResponse_t Hse_Ip_ServiceRequest ( uint8 u8MuInstance, uint8 u8MuChannel, Hse_Ip_ReqType* pRequest, hseSrvDescriptor_t* pHseSrvDesc ); #define CRYPTO_43_HSE_STOP_SEC_RAMCODE #include"Crypto_43_HSE_MemMap.h" #define CRYPTO_43_HSE_START_SEC_CODE #include"Crypto_43_HSE_MemMap.h" ... 在 *.c 文件中也这样做。然后,启动代码会自动将功能复制到 RAM 中,您无需手动复制代码。 此致, Lukas
記事全体を表示
使用 openocd 远程调试 i.mx93 evk 和 i.mx8ulp evk 你好 NXP, 现在我想用 openocd 调试 imx93 cm33(我的板是 frdm-imx93) 我找到了这份文档:使用 OpenOCD 远程调试 iMX93 和 iMX8ULP.pdf 其中,Ebony Zhu 系统工程师 2023 年 2 月 在第 13 章中,我无法从以下地址下载文件 Git clone ssh://[email protected]/imx/openocd.git 补丁也下载失败 https://confluence.sw.nxp.com/download/attachments/183090102/0001-Add-i.MX93-target-and-evk-board-support.patch?version=3&modificationDate=1655802112857&api=v2 有新的下载链接吗? FRDM 培训 Re: REMOTE DEBUG I.MX93 EVK AND I.MX8ULP EVK WITH OPENOCD 我已向您确认,CAS 培训的信息不允许直接与外部客户共享,因此您无法访问。 Re: REMOTE DEBUG I.MX93 EVK AND I.MX8ULP EVK WITH OPENOCD 你好@Rita_Wang git clone ssh://[email protected]/imx/openocd.git Cloning into 'openocd'... ssh: connect to host bitbucket.sw.nxp.com port 22: Connection refused fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. Access to bitbucket.sw.nxp.com was denied bitbucket.sw.nxp.com didn’t accept your login certificate, or one may not have been provided. Try contacting the system admin. ERR_BAD_SSL_CLIENT_AUTH_CERT 0001-add-i.mx8ulp-target-andevk-board-s@@ upport.patch 和 0001-add- i.mx93-Targetand-evk-board-support.patch Access to confluence.sw.nxp.com was denied confluence.sw.nxp.com didn’t accept your login certificate, or one may not have been provided. Try contacting the system admin. ERR_BAD_SSL_CLIENT_AUTH_CERT   Re: REMOTE DEBUG I.MX93 EVK AND I.MX8ULP EVK WITH OPENOCD 你可以试试这个,如果还是不行,请告诉我: 从恩智浦 Bitbucket 获取 OpenOCD: $ Git clone ssh://[email protected]/imx/openocd.git -支持 i.MX 8ULP EVK 和 i.MX93 EVK 的补丁程序 -为恩智浦 Bitbucket 添加公共 SSH(如果尚未添加): https://bitbucket.sw.nxp.com/account 或者从 Github 获取: $ Git 克隆 https://github.com/ntfreak/openocd.git,然后应用补丁 0001-add-i.mx8ulp-target-and-evk-board-support.patch 和 0001-Add-i.MX93-target-and-evk-board-support.patch -为 Github 添加公共 SSH(如果尚未添加): https://github.com/settings/ssh/new
記事全体を表示
i.MX8QXP-回路図レビュー こんにちは、NXP チームの皆様、 私たちは i.MX8QXP を使用してカスタム ボードを作成しており、回路図部分は完成しています。ピア レビュー用に回路図を非公開で送信するにはどうすればよいでしょうか。 Re: i.MX8QXP-Schematic review こんにちは@abhi400 ! NXP サポートにお問い合わせいただきありがとうございます。 回路図を共有するには、サポート チケットを開き、以下のリンクを使用してファイルをアップロードしてください。 NXPサポート よろしくお願いします、 チャビラ
記事全体を表示
imxrt1170 EVKB 您好, 我们目前正在使用 i.mxrt1170 EVKB 进行开发,并正在使用 evkbmimxrt1170_enet_txrx_txrx_transfer_cm7_100M 示例,该示例在轮询模式下运行良好。不过,我们希望将其修改为在中断(ISR)模式下运行。 有人能指导我们如何实施吗? 谢谢! Re: imxrt1170 EVKB 好的,我会试试的。 谢谢! Parth Re: imxrt1170 EVKB 您好, 请参阅最新 SDK 中的所有相关示例https://github.com/nxp-mcuxpresso/mcuxsdk-examples/tree/release/25.06.00/driver_examples/enet 似乎有一个示例支持来自 txrx_multiring_transfer 的中断:https://github.com/nxp-mcuxpresso/mcuxsdk-examples/blob/release/25.06.00/driver_examples/enet/txrx_multiring_transfer/enet_txrx_multiring_transfer.c#L347   但似乎是 1G enet。 https://mcuxpresso.nxp.com/mcuxsdk/latest/html/examples/driver_examples/enet_1g/txrx_multiring_transfer/readme.html
記事全体を表示
MPC5744P & AUTOSAR (MPC574XP_MCAL4_0_RTM_2_0_2) こんにちは専門家の皆様 AUTOSAR MCAL パッケージ MPC574XP_MCAL4_0_RTM_2_0_2 をインストールしましたが、MPC5744P では動作しません。問題を切り分けるために、main() 内のすべてのアプリケーション コードをコメント アウトし、最小限のテスト CASE に置き換えました。 BoardInit(); GPIOInit(); CAInit(); このテスト コード (レジスタ値がハードコードされ、レジスタ アドレスのみが初期化されている) は信頼されており、複数の MPC5744P S32 プロジェクトで動作しています。ただし、AUTOSAR プロジェクトでは、デバッガーはレジスタが正しく設定されていることを確認しますが、CAN ペリフェラルは機能しないままになります。 質問: MPC574XP_MCAL パッケージは、ブランドが共通しているにもかかわらず、MPC5744P と互換性がない可能性がありますか? 他の場所では動作しているにもかかわらず、テスト コードが AUTOSAR コンテキストで失敗する可能性があるのはなぜですか? AUTOSAR スタートアップ コード (クロックの初期化、MPU 構成、例外処理など) が MCAL またはハードウェアと競合する可能性がありますか? 前もって感謝します。 Re: MPC5744P & Autosar (MPC574XP_MCAL4_0_RTM_2_0_2) こんにちは、 SW チームからのフィードバックは次のとおりです。 この問題は起動時に発生するようです。何かが間違っています。メモリ領域に Can_ControllerStatuses、キャッシュなどが保存されている可能性があります。このパッケージにはサンプルが添付されているので、それを実行して自分の起動時と比較することができます。 例を実行して自分のコードと比較してください。 よろしくお願いいたします。 ピート Re: MPC5744P & Autosar (MPC574XP_MCAL4_0_RTM_2_0_2) こんにちは、 Diab バージョンは次のとおりです: MElGreatly_2-1756717042635.png Can_FlexCan_InitVariables 関数の Can_ControllerStatuses 値: MElGreatly_0-1756716576199.png Can_FlexCan_ChangeBaudrate関数のCan_ControllerStatuses値: MElGreatly_1-1756716753480.png CTRL1値を設定する前のCan_ControllerStatusesの値は同じです ありがとう Re: MPC5744P & Autosar (MPC574XP_MCAL4_0_RTM_2_0_2) こんにちは、 SW チームからのフィードバックは次のとおりです。 リリース ノートに従って、このリリースでサポートされている diab バージョンが次のとおりであることを確認してください。 petervlna_0-1756451008573.png Can_ControllerStatuses を読み取り、以下のようにいくつかの時点でこの構造体内のすべての要素の値を表示できますか。 petervlna_0-1756451160473.png このようになります: petervlna_1-1756451172867.png RM が述べたように、CTRL1 の一部のビットはフリーズ モードで CAN 書き込む。 petervlna_2-1756451184079.png したがって、CTRL1の値を設定する前に、CANコントローラがフリーズモードになっていることを確認してください。これはレジスタMCRを通じて確認できます。 petervlna_3-1756451193728.png この設定とチェックは関数Can_FlexCan_ChangeBaudrate()で行われます。 petervlna_4-1756451205056.png よろしくお願いいたします。 ピーター Re: MPC5744P & Autosar (MPC574XP_MCAL4_0_RTM_2_0_2) こんにちは、 私は CAN ドライバに精通していないため、あなたの問題を SW チームに転送しました。 回答が得られ次第、お知らせします。 よろしくお願いいたします。 ピーター Re: MPC5744P & Autosar (MPC574XP_MCAL4_0_RTM_2_0_2) 直接書き込みを試みたところ、うまくいきました。問題は、「Can_ControllerStatuses[CAN_MAXCTRL_CONFIGURED]」という構造体のグローバル配列が、個々のFlexCANコントローラの現在のステータス/実行時構成を保持するこの構造体のどのメンバーの直接書き込みにも影響を受けないことに気付きました。 MElGreatly_1-1756345218005.png Can_Flexcan.cのCan_FlexCan_InitVariables関数すべてのコントローラのすべてのグローバル変数/ステータスを初期化します。 MElGreatly_0-1756344921400.png このスクリーンショットは、構造体のこのメンバーに 0 を書き込んだ後の 1111 の値を示しています。 なぜこのようなことが起こるのでしょうか?私は diab コンパイラと S32 を使用しています。これは添付のプロジェクトです。何か解決策があれば教えてください。 よろしくお願いします。 Re: MPC5744P & Autosar (MPC574XP_MCAL4_0_RTM_2_0_2) こんにちは、 CTRL1レジスタへのアクセスには制限はありません。 petervlna_0-1756278769900.png petervlna_1-1756278799648.png アセンブリ デバッグにスイッチして、コア上の命令実行をチェックし、レジスタが実際に変更されるかどうかを確認します。デバッガー経由の直接書き込みも試してください。 ここではハードウェアに問題はないと確信しています。 ペリフェラルがクロックされていない状態で書き込みをしようとしているか、またはソフトウェアがレジスタ アドレスへの書き込みを実行していないかのいずれかです。 このペリフェラルにバグはありますか? すべての問題はエラッタシートに記載されています。しかし、私はその問題が MCU にあるとは思っていません。あなたのSWを疑っています。 デバッガー経由でレジスタに書き込んでみてください。 よろしくお願いいたします。 ピーター Re: MPC5744P & Autosar (MPC574XP_MCAL4_0_RTM_2_0_2) ピーターさん、ご回答ありがとうございます。 まず、私の開発ボードはhttps://www.nxp.com/design/design-center/development-boards-and-designs/DEVKIT-MPC5744Pです。 以下のパッケージをダウンロードしました: Autosar バージョン 4.0.3 MElGreatly_4-1756184394400.png 2 つ目: CAN0 を使用する CAN タスクをテストする必要がありますが、動作しなかったSO、EB tresos を使用して別の構成ファイルを生成しました。 生成された構成のこの部分を見てください: Can_PBcfg.cファイル: FlexCanコントローラの構成 MElGreatly_5-1756185281810.png MElGreatly_8-1756185570117.png CTRL1レジスタは設定変更の影響を受けなかった。 スクリーンショットのCASE - 例えば - PSEG1 =2 PSEG2 =2 プロプセグ =5 RJW =2 しかし、CTRL1レジスタの値は1です(CAN.cのCAN_Init関数の戻り後) MElGreatly_7-1756185457690.png CAN_FlexCAN_ChangeBaudrate 関数のこの部分の後に記入されるもの - CAN_FlexCAN.c 内- Can_Init 関数で呼び出されます。 MElGreatly_9-1756186502784.png このペリフェラルにバグはありますか? これらのパッケージを使用して CAN ペリフェラルを操作するソリューションはありますか? よろしくお願いいたします。     Re: MPC5744P & Autosar (MPC574XP_MCAL4_0_RTM_2_0_2) こんにちは、 MPC574XP_MCAL パッケージは、ブランドが共通しているにもかかわらず、MPC5744P と互換性がない可能性がありますか? いいえ。MPC574xP デバイスで完全に互換性があり、テスト済みです。 petervlna_0-1754556341415.png petervlna_1-1754556466226.png AUTOSAR スタートアップ コード (クロックの初期化、MPU 構成、例外処理など) が MCAL またはハードウェアと競合する可能性がありますか? いいえ。MCAL は AUTOSAR に準拠しています。(AUTOSAR 標準に従って開発されています)。 他の場所では動作しているにもかかわらず、テスト コードが AUTOSAR コンテキストで失敗する可能性があるのはなぜですか? わからない。サンプルコードはインポート後すぐに動作するはずです。 petervlna_2-1754556586042.png MPC574XP_MCAL パッケージは、ブランドが共通しているにもかかわらず、MPC5744P と互換性がない可能性がありますか? 常に SW パッケージのリリース ノートを参照してください。 petervlna_3-1754556659044.png したがって、おそらく autosar 4.0 以外のバージョンをお持ちでしょう。 よろしくお願いいたします。 ピーター
記事全体を表示
A30: HVQFN 20パッケージにはピン配置がありません こんにちは、 A30 データシートに HVQFN20 パッケージのピン配置図が見つかりません。 どこで見つけられるか知っている人はいませんか? ありがとうございます エルソン Re: A30: There is no pinout for HVQFN 20 package こんにちは@jung-chihweiさん、 データシートは不足している情報を更新中です。迅速な解決策として、詳細については以下を参照してください。 Kan_Li_0-1754889795539.png ご不便をおかけして申し訳ございませんが、 すてきな一日を、 カン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 --------------------------------------------------------------------------------- 回复: A30: There is no pinout for HVQFN 20 package こんにちは、A1006の開発についてご存知ですか?開発が必要な古いプロジェクトがありますので、お気軽にご相談ください!
記事全体を表示