Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
「examples/freemaster_examples/fmstr_example_pdbdmにおけるアプリケーションコマンドの問題 親愛なるみんな sdk.sdk_2.x_lpcxpresso54114をダウンロードしましたFreeMASTERの例のみを使用します。アプリケーションコマンドセクションで奇妙な挙動が見つかる以外は、すべての面で正常に動作しています 詳細はGitHubに掲載されています。こちらをご覧ください。 https://github.com/nxp-mcuxpresso/mcuxsdk-examples/issues/10 敬具 パオロ Re: Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm こんにちは、問題の理解が正しければ、例のアプリケーションでコマンド0x10がコード16を返す理由が見当たりません。 コマンド0x10はコールバック関数に登録されています。 したがって、FreeMASTERがコマンド実行をプロブリングすると、「my_appcmd_handler」関数は自動的に呼び出されます。このコールバックのサンプルコードは非常に単純です。 そのため、戻りコード16(=0x10)が回答として返されます。 また、ご報告いただいたように、ID 0x02 の app.command で、FreeMASTER に不明な応答に対するメッセージ表示に関する問題があることも確認しました。応答0xcdは「不明な応答」として報告されるべきだが、実際には何もメッセージが生成されない。 ありがとう、 ミハル
記事全体を表示
LS1046A カスタムデザインHRESET_Bリリースされていません <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 LS1046Aプロセッサーを活用したカスタムデザインを作ろうとしています。(基板設計ではRDBを基準にしていました。)すべての電源レール電圧が正しいことを確認し、電源シーケンスのタイミングを測定したところ、すべてデータシートに記載されている許容範囲内であることが確認されました。私が経験している問題は、プロセッサーをリセットから解除できないことです。測定したところ、プロセッサーがHRESET_B信号を放っていません。リファレンスマニュアルによると、初期化中はプロセッサがこのラインを低く保ち、RCWの読み込みやPLLのロック後はリリースするそうです。RCWにエラーがあるのかと思い、代わりに内蔵のRCW値を使いました。(プロセッサに0x9Eと0x9F RCWの両方を固定しましたが、結果は同じでした。) 今のところ、私は少し途方に暮れています。クロックは納期通りに納品され、スルーレートはすべて仕様範囲内であり、ストラップ値を解放する前に適切な時間保持しています。リファレンスマニュアルには、PBLがエラーに遭遇した場合にRESET_REQ信号を切り替えると書かれていますが、私はそのような現象は見ていません。私の現時点での結論は、PBLが実行されていないということです。これはプロセッサがまだリセット状態にあるサインです。 何か見落としている点があるのでしょうか?次にどこを探せばいいでしょうか?私のタイミングは仕様の範囲内ですが、RDBとは完全に一致しません(ボード上の関連信号をプローブしました)。LS1046の電源シーケンス制御はどの程度敏感ですか? よろしくお願いいたします。 Re: LS1046A Custom Design HRESET_B not released こんにちは、ブライス 正しい方向にするためにどのシーケンスを変更したのか説明してもらえますか?現在、私もカスタムLS1046Aボードで同様の問題に直面しています。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 上記のご回答、ありがとうございました。 最後に、CPLDコードのパワーシーケンスの問題を解決しました。元のコードがこの問題を引き起こしていたため、コードを書き直したところ、問題は解消されました。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> プロセッサ接続の回路図を確認できるように、技術CASEを作成してください。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ハードウェアには、フラッシュメモリから取得したRCWではなく、ハードコードされたRCWを使用するように設定しました。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> RCWが外部フラッシュメモリから読み取られているかどうかを、デジタルオシロスコープを使用して確認してください。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、 ご回答ありがとうございます。上記すべてが良好な状態であることを確認しました。ただし、最後の点について一つ質問があります。これは電源投入リセットシーケンスを完了するために必要な手順なのでしょうか?先ほど述べたように、RESET_REQ信号を観測できないため、PBLの実行はできないと考えています。SerDesリファレンスクロックは、PBLを実行するために必須ですか、それともPBLがシステムをセットアップしている段階で必要になりますか? よろしくお願いします。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 最初の確認段階として、以下を点検してください。 1) QorIQ LS1046A、LS1026Aデータシートの表1の注記に明示的に記載されているすべての信号のPORレベル。バスごとのピン配置リスト。 2) HRESET_Bは外部からアサートされない 3) SerDesリファレンスクロックはデータシートの要件に準拠しています。 問題が解決しない場合は、次のブリングアップステージを技術ケースとして行う方が便利です。 https://community.nxp.com/thread/381898
記事全体を表示
LS1046A Custom Design HRESET_B not released Hello, I am working to bringup a custom design making use of the LS1046A processor. (Board design used the RDB as a reference).  I have verified that all power rail voltages are correct and have have measured the power sequencing timing which all appear to be withing the tolerances found in the datasheet. The issue I am experiencing is that I am not able to bring the processor out of reset. When measuring, I found that the processor is not releasing the HRESET_B signal. The reference manual indicates that the processor will hold this line low while it is performing initialization and will release it after loading the RCW and locking PLL's, etc. Thinking perhaps I had an error in my RCW, I used the built-in RCW values instead. (I strapped the processor with both the 0x9E and 0x9F RCW values with the same result). At this point, I'm at a bit of a loss. My clocks are provided on time, my slew rates are all within spec, and I am holding the strapping values for the correct amount of time before releasing them. The reference manual also indicates that the PBL will toggle the RESET_REQ signal if it has encountered an error, but I am not seeing this happen. So my conclusion currently is that the PBL is not even being executed which, to me, is a sign that the processor is still in a reset state. Is there something here that I am missing? Anywhere I should look next? My timings are within spec, but do not match the RDB exactly (I probed the relevant signals on the board). How sensitive is the power sequencing on the LS1046? Thanks in advance. Re: LS1046A Custom Design HRESET_B not released Hi bryce  Can you explain what sequence did you chnage to get it right? Currently I am also facing similar issue with cutsom ls1046a board Re: LS1046A Custom Design HRESET_B not released Thank you for your above answers. To tie off the thread, I have solved the issue with the power sequencing in my CPLD code. Because the original code I had was causing this issue, I re-wrote it and I no longer see the issue.  Re: LS1046A Custom Design HRESET_B not released Please create a Technical Case so I will be able to check the processor connection schematics. Re: LS1046A Custom Design HRESET_B not released We have strapped the hardware to use the hard-coded RCW, not the RCW from flash. Re: LS1046A Custom Design HRESET_B not released Please use a digital scope to check whether RCW is read from an external flash. Re: LS1046A Custom Design HRESET_B not released Hello, Thanks for your response.  I have verified that all of the above are in a good state. One question I did have about your last point, however: Is this required in order for the power-on reset sequence to complete? As I stated earlier, we are not able to observe the RESET_REQ signal, so I believe we are unable to execute the PBL. Are SerDes reference clocks required in order execute the PBL, or are they required later on while PBL is already setting up the system? Thanks Re: LS1046A Custom Design HRESET_B not released As first checking stage please inspect: 1) POR levels of all signals explicitly mentioned in the notes to the QorIQ LS1046A, LS1026A Data Sheet, Table 1. Pinout list by bus. 2) HRESET_B is not asserted externally 3) SerDes reference clocks conform to the Data Sheet requirements. If the issue will not be resolved, it is more convenient to perform next bring-up stage as Technical Case: https://community.nxp.com/thread/381898 
記事全体を表示
此优惠券不适用于 FRDM-MCXN236 NXP 网站宣传了这款免费板。但是即使商品有库存,结账时优惠券代码仍然无法使用。 评估板 Re: Coupon not valid for FRDM-MCXN236 你好PLACEHOLDER7 在这种情况下,请您发送电子邮件至[email protected]联系我们的购物车团队。 该团队负责处理线上订单。 谢谢您的理解 贝基
記事全体を表示
LS1046A 定制设计 HRESET_B 未发布 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, 我正在努力开发一个使用 LS1046A 处理器的定制设计。(电路板设计参考了RDB。)我已经确认所有电源轨电压均正确,并且测量了电源时序时序,所有参数似乎都在数据手册规定的容差范围内。我遇到的问题是无法将处理器从重置状态中恢复。测量时,我发现处理器没有释放 HRESET_B 信号。参考手册指出,处理器在执行初始化时会将此线路保持低电平,并在加载 RCW 和锁定 PLL 等操作后将其释放。考虑到我的 RCW 设置可能有误,我改用了内置的 RCW 值。(我分别用 0x9E 和 0x9F RCW 值给处理器加装了 RCW 参数,结果相同)。 此时此刻,我有点不知所措。我的时钟按时交付,我的转换速率均在规格范围内,并且在释放之前,我会将捆扎值保持正确的时间。参考手册还指出,如果 PBL 遇到错误,它会切换 RESET_REQ 信号,但我没有看到这种情况发生。因此,我目前的结论是 PBL 根本没有执行,在我看来,这表明处理器仍处于 RESET 状态。 我是不是漏掉了什么?接下来我应该从哪里入手?我的时序符合规格,但与 RDB 不完全匹配(我探测了板上的相关信号)。LS1046的电源时序控制有多敏感? 先行致谢。 Re: LS1046A Custom Design HRESET_B not released 嗨,布莱斯 你能解释一下你修改了哪些步骤才做对了吗?目前我也遇到了类似的问题,使用的是定制的LS1046A主板。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 感谢您之前的解答。 最后,我已经解决了 CPLD 代码中的电源时序问题。由于我之前的代码导致了这个问题,所以我重写了代码,现在问题已经解决了。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 请创建一份技术案例,以便我能够查看处理器连接原理图。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我们已经将硬件绑定到使用硬编码的 RCW,而不是来自闪存的 RCW。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 请使用数字示波器检查是否能从外部闪存读取 RCW。 Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好, 谢谢你的回复。我已经确认以上所有物品都处于良好状态。关于您最后一点,我还有一个问题:这是上电复位序列完成的必要条件吗?正如我之前所说,我们无法观察到 RESET_REQ 信号,所以我认为我们无法执行 PBL。SerDes 参考时钟是执行 PBL 所必需的,还是在 PBL 设置系统时才需要的? 谢谢! Re: LS1046A Custom Design HRESET_B not released <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 第一阶段检查请检查: 1) QorIQ LS1046A、LS1026A 数据表表 1 中明确提及的所有信号的 POR 水平。按总线列出引脚图。 2) HRESET_B 未被外部钳位 3) SerDes 参考时钟符合数据手册的要求。 如果问题无法解决,则更方便地将下一阶段的启动工作作为技术案例来执行: https://community.nxp.com/thread/381898
記事全体を表示
Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm Dear All Downloaded sdk.sdk_2.x_lpcxpresso54114 with only FreeMASTER examples. It works correctly in any aspect apart the Application Command section where I find strange behavior More details has been posted in github here: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/issues/10 Regards Paolo Re: Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm Hello, if I understand the issue correctly, you do not see a reason why command 0x10 returns code 16 in the example application. The command 0x10 is registered for a callback function: So the function "my_appcmd_handler" gets called automatically when FreeMASTER probes the command execution.  The example code of this callback is quite trivial: Which is the reason you get the return code 16 (=0x10) as answer. I also confirm there is an issue in FreeMASTER with displaying a message for unknown responses as you reported for app.command with Id 0x02. The response 0xcd should be reported as "unknown response" but generates no message at all. Thanks, Michal
記事全体を表示
wifi driver crashes- 88w8997 I am facing an intermittent Wi-Fi driver crash issue with the FN-Link L297B-SR module (Wi-Fi and Bluetooth sharing a single antenna). The issue occurs randomly, sometimes after 1 day, sometimes after 2 days, and occasionally only after 4 to 5 days of continuous operation. please check the logs  [64622.321614] mwifiex_sdio mmc2:0001:1: info: successfully disconnected from ca:c6:5c:cb:ad:7e: reason code 3 [64624.050010] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid ca:c6:5c:cb:ad:7e [64624.072596] mwifiex_sdio mmc2:0001:1: event: unknown event id: 0x95 [64624.085770] mwifiex_sdio mmc2:0001:1: info: associated to bssid ca:c6:5c:cb:ad:7e successfully [64987.640381] Bluetooth: hci0: Frame reassembly failed (-84) [65060.466817] Bluetooth: hci0: Frame reassembly failed (-84) [65184.303423] mwifiex_sdio mmc2:0001:1: info: successfully disconnected from ca:c6:5c:cb:ad:7e: reason code 0 [65204.712100] ieee80211 phy0: sched_scan start : n_ssids=4 n_match_sets=4 [65204.725038] ieee80211 phy0: n_channels=41 interval=10 ie_len=13 [65259.046894] ieee80211 phy0: sched scan stop! [65259.067983] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid ca:c6:5c:cb:ad:7e [65260.594440] mwifiex_sdio mmc2:0001:1: ASSOC_RESP: failed, status code=2 err=0xfffa a_id=0x3fff [65260.611662] mwifiex_sdio mmc2:0001:1: assoc failure: reason Unknown connect failure [65260.624191] mwifiex_sdio mmc2:0001:1: info: association to bssid ca:c6:5c:cb:ad:7e failed [65260.636278] ieee80211 phy0: sched_scan start : n_ssids=4 n_match_sets=4 [65260.645499] ieee80211 phy0: n_channels=41 interval=10 ie_len=13 [65271.191030] mwifiex_sdio mmc2:0001:1: mwifiex_cmd_timeout_func: Timeout cmd id = 0x6b, act = 0x1 [65271.199985] mwifiex_sdio mmc2:0001:1: num_data_h2c_failure = 0 [65271.205896] mwifiex_sdio mmc2:0001:1: num_cmd_h2c_failure = 0 [65271.211654] mwifiex_sdio mmc2:0001:1: is_cmd_timedout = 1 [65271.217064] mwifiex_sdio mmc2:0001:1: num_tx_timeout = 0 [65271.222454] mwifiex_sdio mmc2:0001:1: last_cmd_index = 0 [65271.227893] mwifiex_sdio mmc2:0001:1: last_cmd_id: 6b 00 28 00 16 00 12 00 6b 00 [65271.235303] mwifiex_sdio mmc2:0001:1: last_cmd_act: 01 00 13 00 01 00 ca c6 01 00 [65271.242862] mwifiex_sdio mmc2:0001:1: last_cmd_resp_index = 4 [65271.248670] mwifiex_sdio mmc2:0001:1: last_cmd_resp_id: 0c 81 28 80 16 80 12 80 6b 80 [65271.256568] mwifiex_sdio mmc2:0001:1: last_event_index = 3 [65271.262131] mwifiex_sdio mmc2:0001:1: last_event: 18 00 0b 00 0a 00 65 00 0a 00 [65271.269514] mwifiex_sdio mmc2:0001:1: data_sent=0 cmd_sent=1 [65271.275248] mwifiex_sdio mmc2:0001:1: ps_mode=1 ps_state=0 [65271.281497] mwifiex_sdio mmc2:0001:1: Ignore scan. Card removed or firmware in bad state [65271.290880] mwifiex_sdio mmc2:0001:1: ===mwifiex driverinfo dump start=== [65271.317907] mwifiex_sdio mmc2:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (16.92.21.p76) [65271.326650] mwifiex_sdio mmc2:0001:1: scan failed: -14 [65271.350746] mwifiex_sdio mmc2:0001:1: SDIO register dump start [65271.369462] mwifiex_sdio mmc2:0001:1: SDIO Func0 (0x0-0x9): 43 03 02 02 03 02 00 02 03 00 [65271.385505] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0x10-0x17): 00 00 00 00 00 00 e0 ff [65271.396619] mwifiex_sdio mmc2:0001:1: SDIO Func1: (0x8) c3 (0x58) 00 (0x5c) 48 (0x5d) 00 (0x60) 07 (0x61) 0c (0x62) 00 (0x64) 10 (0x65) 00 (0x66) 00 (0x68) 00 (0x69) 00 (0x6a) 00 [65271.416154] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 7e 00 62 00 3f a7 24 14 70 [65271.580586] mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 8f 00 73 00 3f a7 24 14 70 [65271.594858] mwifiex_sdio mmc2:0001:1: SDIO register dump end [65271.610712] mwifiex_sdio mmc2:0001:1: ===mwifiex driverinfo dump end=== [65271.628592] mwifiex_sdio mmc2:0001:1: == mwifiex firmware dump start == [65271.666427] mwifiex_sdio mmc2:0001:1: Fail to pull ctrl_data [65271.676062] mwifiex_sdio mmc2:0001:1: firmware dump failed [65271.693018] mwifiex_sdio mmc2:0001:1: == mwifiex dump information to /sys/class/devcoredump start [65271.710201] mwifiex_sdio mmc2:0001:1: == mwifiex dump information to /sys/class/devcoredump end [65271.723737] mwifiex_sdio mmc2:0001:1: PREP_CMD: FW is in bad state [65271.735173] mwifiex_sdio mmc2:0001:1: info: shutdown mwifiex... [65271.769056] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed [65271.812192] mwifiex_sdio mmc2:0001:1: PREP_CMD: card is removed [65271.855652] Bluetooth: hci0: Frame reassembly failed (-84) [65271.870925] Bluetooth: hci0: Frame reassembly failed (-84) [65271.967852] Bluetooth: hci0: Frame reassembly failed (-84) [65272.068050] Bluetooth: hci0: Frame reassembly failed (-84) [65272.168010] Bluetooth: hci0: Frame reassembly failed (-84) [65272.268029] Bluetooth: hci0: Frame reassembly failed (-84) [65272.368215] Bluetooth: hci0: Frame reassembly failed (-84) [65272.468007] Bluetooth: hci0: Frame reassembly failed (-84) [65272.567994] Bluetooth: hci0: Frame reassembly failed (-84) [65272.668015] Bluetooth: hci0: Frame reassembly failed (-84) [65272.768055] Bluetooth: hci0: Frame reassembly failed (-84) [65272.839448] mwifiex_sdio mmc2:0001:1: info: FW download over, size 622240 bytes [65273.607175] mwifiex_sdio mmc2:0001:1: WLAN FW is active [65273.641454] mwifiex_sdio mmc2:0001:1: Unknown api_id: 5 [65273.687228] mwifiex_sdio mmc2:0001:1: info: MWIFIEX VERSION: mwifiex 1.0 (16.92.21.p76) [65273.713221] mwifiex_sdio mmc2:0001:1: driver_version = mwifiex 1.0 (16.92.21.p76) [65277.145122] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid ca:39:a3:cb:ad:7e [65278.668157] mwifiex_sdio mmc2:0001:1: ASSOC_RESP: failed, status code=2 err=0xfffc a_id=0x3fff [65278.677711] mwifiex_sdio mmc2:0001:1: assoc failure: reason CONNECT_ERR_ASSOC_ERR_TIMEOUT [65278.691251] mwifiex_sdio mmc2:0001:1: ASSOC_RESP: AUTH timeout [65278.710528] mwifiex_sdio mmc2:0001:1: info: association to bssid ca:39:a3:cb:ad:7e failed [65279.781236] mwifiex_sdio mmc2:0001:1: info: trying to associate to bssid ca:c6:5c:cb:ad:7e [65281.310722] mwifiex_sdio mmc2:0001:1: ASSOC_RESP: failed, status code=2 err=0xfffa a_id=0x3fff [65281.320307] mwifiex_sdio mmc2:0001:1: assoc failure: reason Unknown connect failure I found same issue on below github link but it show it is still open https://www.bing.com/ck/a?!&&p=6f8995a9ee8bc78d51549c45a34f5deee2c26e49fb129fa9306c277b1df3c48cJmltdHM9MTc5MDQ2NzIwMA&ptn=3&ver=2&hsh=4&fclid=28fe8c6f-37d9-6a8e-3ad5-9b0736ee6b90&psq=wifi+driver+crashes+while+trying+to+reconnect+-+88w8997&u=a1aHR0cHM6Ly9naXRodWIuY29tL254cC1pbXgvaW14LWZpcm13YXJlL2lzc3Vlcy81 thanks in advance Re: wifi driver crashes- 88w8997 Hi, Thank you for the detailed logs. Based on the crash information, we can see you are running firmware version 16.92.21.p76. Please note that the 88W8997 is no longer included in the standard imx-firmware releases. However, we have a dedicated hotfix branch with the latest firmware available here: https://github.com/nxp-imx/mwifiex/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 https://github.com/nxp-imx/imx-firmware/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 We recommend upgrading to the firmware available in that branch, which is significantly newer than your current version and includes stability fixes that may address the command timeout and firmware bad state issue you are experiencing. Regards, Daniel. Re: wifi driver crashes- 88w8997 DanielRuvalcaba thanks for the support. We loaded the hotfix firmware on the combo chip and ran it continuously for approximately one week. During this period, we encountered a different issue. Unlike the previous problem where the Wi-Fi firmware crashed, this time the Wi-Fi functionality remained operational, but BLE stopped working after 3-4 days of continuous operation. The BLE failure was not recoverable by simply resetting the HCI interface. To restore BLE functionality, we had to reload the firmware on the combo chip. We have attached the latest logs captured during the BLE failure for further analysis. [308423.524163] Bluetooth: hci0: command 0x0406 tx timeout [308454.723609] Bluetooth: hci0: command 0x2011 tx timeout [308454.728959] Bluetooth: hci0: Opcode 0x2011 failed: -110 [308454.734354] Bluetooth: hci0: Unable to add to allow list: -110 [308456.771606] Bluetooth: hci0: Opcode 0x200b failed: -110 [308456.776986] Bluetooth: hci0: command 0x200b tx timeout [308456.782265] Bluetooth: hci0: start background scanning failed: -110 [308458.819547] Bluetooth: hci0: Opcode 0x2011 failed: -110 [308458.824925] Bluetooth: hci0: command 0x2011 tx timeout [308458.830210] Bluetooth: hci0: Unable to add to allow list: -110 [308460.867534] Bluetooth: hci0: Opcode 0x200b failed: -110 [308460.872908] Bluetooth: hci0: command 0x200b tx timeout [308460.878263] Bluetooth: hci0: start background scanning failed: -110 [308462.915455] Bluetooth: hci0: Opcode 0x2011 failed: -110 [308462.920957] Bluetooth: hci0: command 0x2011 tx timeout [308462.926341] Bluetooth: hci0: Unable to add to allow list: -110 [308464.963435] Bluetooth: hci0: Opcode 0x200b failed: -110 [308464.968817] Bluetooth: hci0: command 0x200b tx timeout [308464.974104] Bluetooth: hci0: start background scanning failed: -110 [308467.747431] Bluetooth: hci0: command 0x200a tx timeout Thanks in advance.
記事全体を表示
'examples/freemaster_examples/fmstr_example_pdbdm' 中的应用程序命令问题 各位 已下载 sdk.sdk_2.x_lpcxpresso54114仅提供 FreeMASTER 示例。除了应用程序命令部分之外,其他方面都运行正常,而我在应用程序命令部分发现了一些奇怪的行为。 更多详情已发布在 GitHub 上,链接如下: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/issues/10 祝好 Paolo Re: Application Command issue in 'examples/freemaster_examples/fmstr_example_pdbdm 您好,如果我理解正确的话,您不明白为什么示例应用程序中的命令 0x10 返回代码 16。 命令 0x10 已注册为回调函数: 因此,当FreeMASTER探测到命令执行时,函数“my_appcmd_handler”会自动被调用。这个回调函数的示例代码非常简单: 这就是为什么你会得到返回代码 16 (=0x10) 作为答案的原因。 我也确认 FreeMASTER 存在一个问题,即对于未知响应,无法显示消息,正如您报告的 app.command(ID 为 0x02)的问题一样。响应 0xcd 应该报告为“未知响应”,但实际上并未生成任何消息。 谢谢, 米哈尔
記事全体を表示
Coupon not valid for FRDM-MCXN236 NXP Website advertised this free board to get started . But the coupon code is still not working during checkout even though the product is in stock.  Evaluation Board Re: Coupon not valid for FRDM-MCXN236 Hello PLACEHOLDER7 In this case, please kindly send an email to our shopping cart team by [email protected]. The team is in charge of online orders. Thanks for understanding Becky
記事全体を表示
MPXV7002DP 与液化石油气和丙烷兼容 你好, 我是一名即将毕业的学生。我目前正在做一个项目,需要测量家用液化石油气管道中的压差。管路中的正常压力约为 2.30 kPa 至 3.60 kPa。我查阅了它的数据手册,但上面并没有明确说明它是否兼容液化石油气。所以,如果有人以前尝试过,或者有任何技术官员可以告诉我相关信息。 谢谢 。 Re: MPXV7002DP compatibility with LPG and Propane 你好, 截至 2026 年 2 月 2 日,NXP MEMS 传感器产品已转移至意法半导体。如需更多信息和支持,请联系意法半导体。
記事全体を表示
WiFiドライバがクラッシュする - 88w8997 FN-Link L297B-SRモジュール(Wi-FiとBluetoothが同じアンテナを共有している)で、断続的にWi-Fiドライバのクラッシュ問題に直面しています。この問題はランダムに発生し、1日後、2日後、あるいは4~5日間連続稼働した後にのみ発生することもあります。 ログを確認してください [64622.321614]mwifiex_sdio mmc2:0001:1: 情報: ca:c6:5c:cb:ad:7e から正常に切断されました: 理由コード 3 [64624.050010]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e に接続しようとしています [64624.072596]mwifiex_sdio MMC2:0001:1: イベント:不明 イベント ID: 0x95 [64624.085770]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e に正常に関連付けられました [64987.640381]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65060.466817]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65184.303423]mwifiex_sdio mmc2:0001:1: 情報: ca:c6:5c:cb:ad:7e から正常に切断されました: 理由コード 0 [65204.712100]ieee80211 phy0: sched_scan 開始: n_ssids=4 n_match_sets=4 [65204.725038]ieee80211 phy0: n_channels=41 interval=10 ie_len=13 [65259.046894]ieee80211 phy0: スケジュールされたスキャンを停止します! [65259.067983]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e に接続しようとしています [65260.594440]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失敗、ステータスコード=2、エラー=0xfffa、a_id=0x3fff [65260.611662]mwifiex_sdio mmc2:0001:1: 関連付け失敗: 理由不明 接続失敗 [65260.624191]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e への関連付けに失敗しました [65260.636278]ieee80211 phy0: sched_scan 開始: n_ssids=4 n_match_sets=4 [65260.645499]ieee80211 phy0: n_channels=41 interval=10 ie_len=13 [65271.191030]mwifiex_sdio mmc2:0001:1: mwifiex_cmd_timeout_func: タイムアウト コマンド ID = 0x6b、アクション = 0x1 [65271.199985]mwifiex_sdio mmc2:0001:1: num_data_h2c_failure = 0 [65271.205896]mwifiex_sdio mmc2:0001:1: num_cmd_h2c_failure = 0 [65271.211654]mwifiex_sdio mmc2:0001:1: is_cmd_timedout = 1 [65271.217064]mwifiex_sdio mmc2:0001:1: num_tx_timeout = 0 [65271.222454]mwifiex_sdio mmc2:0001:1: last_cmd_index = 0 [65271.227893]mwifiex_sdio mmc2:0001:1: last_cmd_id: 6b 00 28 00 16 00 12 00 6b 00 [65271.235303]mwifiex_sdio mmc2:0001:1: last_cmd_act: 01 00 13 00 01 00 ca c6 01 00 [65271.242862]mwifiex_sdio mmc2:0001:1: last_cmd_resp_index = 4 [65271.248670]mwifiex_sdio mmc2:0001:1: last_cmd_resp_id: 0c 81 28 80 16 80 12 80 6b 80 [65271.256568]mwifiex_sdio mmc2:0001:1: last_event_index = 3 [65271.262131]mwifiex_sdio mmc2:0001:1: last_event: 18 00 0b 00 0a 00 65 00 0a 00 [65271.269514]mwifiex_sdio mmc2:0001:1: data_sent=0 cmd_sent=1 [65271.275248]mwifiex_sdio mmc2:0001:1: ps_mode=1 ps_state=0 [65271.281497]mwifiex_sdio mmc2:0001:1: スキャンを無視します。カードが取り外されたか、ファームウェアの状態が不良です。 [65271.290880]mwifiex_sdio mmc2:0001:1: ===mwifiex ドライバ情報ダンプ開始=== [65271.317907]mwifiex_sdio mmc2:0001:1: 情報: MWIFIEX バージョン: mwifiex 1.0 (16.92.21.p76) [65271.326650]mwifiex_sdio mmc2:0001:1: スキャン失敗: -14 [65271.350746]mwifiex_sdio mmc2:0001:1: SDIO レジスタ ダンプの開始 [65271.369462]mwifiex_sdio mmc2:0001:1: SDIO Func0 (0x0-0x9): 43 03 02 02 03 02 00 02 03 00 [65271.385505]mwifiex_sdio mmc2:0001:1: SDIO Func1 (0x10-0x17): 00 00 00 00 00 00 e0 ff [65271.396619]mwifiex_sdio mmc2:0001:1: SDIO Func1: (0x8) c3 (0x58) 00 (0x5c) 48 (0x5d) 00 (0x60) 07 (0x61) 0c (0x62) 00 (0x64) 10 (0x65) 00 (0x66) 00 (0x68) 00 (0x69) 00 (0x6a) 00 [65271.416154]mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 7e 00 62 00 3f a7 24 14 70 [65271.580586]mwifiex_sdio mmc2:0001:1: SDIO Func1 (0xe8-0xf2): dc fe 8f 00 73 00 3f a7 24 14 70 [65271.594858]mwifiex_sdio mmc2:0001:1: SDIO レジスタ ダンプ終了 [65271.610712]mwifiex_sdio mmc2:0001:1: ===mwifiex ドライバ情報ダンプ終了=== [65271.628592]mwifiex_sdio mmc2:0001:1: == mwifiex ファームウェアダンプ開始 == [65271.666427]mwifiex_sdio mmc2:0001:1: ctrl_data の取得に失敗しました [65271.676062]mwifiex_sdio mmc2:0001:1: ファームウェアのダンプに失敗しました [65271.693018]mwifiex_sdio mmc2:0001:1: == mwifiex ダンプ情報を /sys/class/devcoredump に開始 [65271.710201]mwifiex_sdio mmc2:0001:1: == mwifiex ダンプ情報を /sys/class/devcoredump に出力終了 [65271.723737]mwifiex_sdio mmc2:0001:1: PREP_CMD: FW が異常な状態です [65271.735173]mwifiex_sdio mmc2:0001:1: 情報: mwifiex をシャットダウンします... [65271.769056]mwifiex_sdio mmc2:0001:1: PREP_CMD: カードが取り外されました [65271.812192]mwifiex_sdio mmc2:0001:1: PREP_CMD: カードが取り外されました [65271.855652]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65271.870925]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65271.967852]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.068050]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.168010]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.268029]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.368215]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.468007]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.567994]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.668015]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.768055]Bluetooth: hci0: フレームの再構成に失敗しました (-84) [65272.839448]mwifiex_sdio mmc2:0001:1: 情報: ファームウェアのダウンロードが完了しました。サイズは622240バイトです。 [65273.607175]mwifiex_sdio mmc2:0001:1: WLAN FW がアクティブです [65273.641454]mwifiex_sdio mmc2:0001:1: 不明なapi_id: 5 [65273.687228]mwifiex_sdio mmc2:0001:1: 情報: MWIFIEX バージョン: mwifiex 1.0 (16.92.21.p76) [65273.713221]mwifiex_sdio mmc2:0001:1: ドライバーバージョン = mwifiex 1.0 (16.92.21.p76) [65277.145122]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:39:a3:cb:ad:7e に接続しようとしています [65278.668157]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失敗、ステータスコード=2、エラー=0xfffc、a_id=0x3fff [65278.677711]mwifiex_sdio mmc2:0001:1: アソシエーション失敗: 理由 CONNECT_ERR_ASSOC_ERR_TIMEOUT [65278.691251]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 認証タイムアウト [65278.710528]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:39:a3:cb:ad:7e への関連付けに失敗しました [65279.781236]mwifiex_sdio mmc2:0001:1: 情報: bssid ca:c6:5c:cb:ad:7e に接続しようとしています [65281.310722]mwifiex_sdio mmc2:0001:1: ASSOC_RESP: 失敗、ステータスコード=2、エラー=0xfffa、a_id=0x3fff [65281.320307]mwifiex_sdio mmc2:0001:1: 関連付け失敗: 理由不明 接続失敗 以下のGitHubリンクで同じ問題を見つけましたが、まだ解決されていないようです。 https://www.bing.com/ck/a?!&&p=6f8995a9ee8bc78d51549c45a34f5deee2c26e49fb129fa9306c277b1df3c48cJmltdHM9MTc5MDQ2NzIwMA&ptn=3&ver=2&hsh=4&fclid=28fe8c6f-37d9-6a8e-3ad5-9b0736ee6b90&psq=wifi+driver+crashes+while+trying+to+reconnect+-+88w8997&u=a1aHR0cHM6Ly9naXRodWIuY29tL254cC1pbXgvaW14LWZpcm13YXJlL2lzc3Vlcy81 前もって感謝します Re: wifi driver crashes- 88w8997 こんにちは、 詳細なログをありがとうございます。クラッシュ情報から、ファームウェアバージョン16.92.21.p76を使用していることが確認できます。 88W8997は標準のimxファームウェアリリースには含まれなくなりましたのでご注意ください。ただし、最新のファームウェアを含む専用のホットフィックスブランチがこちらにあります。 https://github.com/nxp-imx/mwifiex/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 https://github.com/nxp-imx/imx-firmware/tree/hotfix/lf-6.12.49_2.2.0_hotfix_w8997 お使いのバージョンよりも大幅に新しい、そのブランチで利用可能なファームウェアへのアップグレードをお勧めします。このバージョンには、コマンドタイムアウトやファームウェアの異常状態といった、お客様が経験されている問題に対処する可能性のある安定性の修正が含まれています。 よろしくお願いいたします。 ダニエル。 Re: wifi driver crashes- 88w8997 ダニエル・ルバルカバ、サポートありがとうございます。 ホットフィックスファームウェアをコンボチップにロードし、約1週間連続稼働させた。この期間中、私たちは別の問題に直面しました。以前のWi-Fiファームウェアのクラッシュという問題とは異なり、今回はWi-Fi機能は動作し続けたものの、BLEが3~4日間の連続動作後に動作しなくなった。 BLEの失敗は、単にHCIインターフェースをリセットするだけでは回復できませんでした。BLE機能を復元するために、コンボチップのファームウェアを再ロードする必要がありました。BLE障害発生時に取得した最新のログを添付しましたので、詳細な分析にご活用ください。 [308423.524163] Bluetooth: hci0: コマンド 0x0406 送信タイムアウト [308454.723609]Bluetooth: hci0: コマンド 0x2011 送信タイムアウト [308454.728959]Bluetooth: hci0: オペコード 0x2011 が失敗しました: -110 [308454.734354]Bluetooth: hci0: 許可リストに追加できません: -110 [308456.771606]Bluetooth: hci0: オペコード 0x200b が失敗しました: -110 [308456.776986]Bluetooth: hci0: コマンド 0x200b 送信タイムアウト [308456.782265]Bluetooth: hci0: バックグラウンドスキャンの開始に失敗しました: -110 [308458.819547]Bluetooth: hci0: オペコード 0x2011 が失敗しました: -110 [308458.824925]Bluetooth: hci0: コマンド 0x2011 送信タイムアウト [308458.830210]Bluetooth: hci0: 許可リストに追加できません: -110 [308460.867534]Bluetooth: hci0: オペコード 0x200b が失敗しました: -110 [308460.872908]Bluetooth: hci0: コマンド 0x200b 送信タイムアウト [308460.878263]Bluetooth: hci0: バックグラウンドスキャンの開始に失敗しました: -110 [308462.915455]Bluetooth: hci0: オペコード 0x2011 が失敗しました: -110 [308462.920957]Bluetooth: hci0: コマンド 0x2011 送信タイムアウト [308462.926341]Bluetooth: hci0: 許可リストに追加できません: -110 [308464.963435]Bluetooth: hci0: オペコード 0x200b が失敗しました: -110 [308464.968817]Bluetooth: hci0: コマンド 0x200b 送信タイムアウト [308464.974104]Bluetooth: hci0: バックグラウンドスキャンの開始に失敗しました: -110 [308467.747431]Bluetooth: hci0: コマンド0x200a 送信タイムアウト 前もって感謝します。
記事全体を表示
LS1046Aカスタムボード:eMMC、SDカード、QSPIからのコールドブートが失敗。CodeWarrior RCW適用によりU-Bootが有効化される。 こんにちは、 LS1046ARDBデザインに基づくカスタムLS1046Aボードを導入します。自律コールドブートは失敗していますが、CodeWarriorやQCVSの介入によりプロセッサはBL2、BL31、U-Bootコンソールに到達できます。eMMC、SDカード、QSPI NORでコールドブートの失敗を観察しているので、共通のリセット/クロック/PBL経路の分離方法についてのアドバイスをいただけるとありがたいです。 プラットフォームとLS1046ARDBとの違い 項目 カスタムボード構成 プロセッサ LS1046AE Rev. 1.0; U-BootはSVRを報告します 0x87070010 電源/リセット制御 CPLDなし。STM32 BMC、PCA9539 I/Oエキスパンダ、レベルトランスレータ、およびディスクリートリセット回路が、シーケンス処理とSD/eMMCの選択を実装します。 DDR 4 GiB、シングルランク、64ビット非ECC DDR4、初期化済み 1600 MT/秒。これは、RDB比較で使用した8GiB ECC構成とは異なります。アシストブート後、DDRの初期化は成功しました。ただし、完全なメモリマージン認定はまだ保留中です。 クロック 100MHzのプライマリ基準。動作支援構成では、シングルエンドSYSCLK選択を使用します。DDRは差動参照パスを使用する。U-BootはCPUが1800 MHz、プラットフォームが600 MHz、FManが700 MHzと報告しています。 EMMC マクロニックス MX52LM08A11XVIは、RDBデバイスとは異なります。U-Bootは製造元、名称 0xc2 M08A11、MMC 5.1、約7.3 GiBのユーザー容量 識別します。 SD/eMMCインターフェース BMC制御による選択とEVDD:eMMCの場合は1.8V、SDの場合は3.3V。 QSPI NOR S25FS512S、デバイスあたり64MiB。この基板ではNOR検出に成功しました。 他のプリフェラル カスタムイーサネット/PHYルーティングおよびSerDes構成;PCIeデバイスは使用されません。 ソフトウェア A1固有のボード/デバイスツリーの変更、TF-A v2.12.0に基づく lf-6.12.49-2.2.0、U-Boot 2025.04。U-Bootのウォッチドッグは起動時には無効になっています。 リセットネットワークもこの調査中に再構築され、競合するプロセッサ-PORドライバブランチが分離され、BMCからTRSTへの直接ドライブが切断され、ハードウェアPOR/TRST結合パスが取り付けられました。BMCによるHRETセンサーは接続されたままです。 最新のネイティブコールドブーツ観察結果 BMCシーケンスにおいて、意図せず早期にSoCリセットが発生していたことを発見し、修正しました。続いて、CodeWarriorやQCVSの操作を一切行わずに完全に電源をオフにした状態から取得したスコープキャプチャは以下のとおりです。 - BMCがプロセッサリセットを解除するとPORESET_Bが上昇します。 - eMMCのCLKおよびCMDアクティビティは、そのエッジの後に開始されます。 - 通常のBL2/U-Bootコンソール出力は表示されません。以前の試みでは、無効なUART文字しか得られなかった。 - HRESET_Bとラベル付けされたトレースはHIGH(約1.8 V)のままです。キャプチャされたeMMC活動の前後にLOWの主張は観測されません。BMC HRESET入力も繰り返しHIGHを読み取る。 CodeWarrior/QCVSの動作 コールドブートストール中、CodeWarrior InspectはJTAGチェーンに「CortexA72#0」が見つからないことを報告し、RCWの確認やRCWオーバーライドの有効化を推奨します。 しかし、RCW適用を有効にしてデバッグをクリックするか、QCVS経由でRCWを適用すると、ブートが進行します。UARTがU-Bootに到達しているにもかかわらず、Debugが「コアがデバッグモードではありません」と報告することがあります。他の試行では、ターゲットが停止し、「continue」によってブートが完了する。 初期化スクリプトを以下のように簡略化しました。 from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13:0x00004504}) target.rcw.apply() 物理ストラップはSD/eMMCソース「0x40」に設定されました。入力されたワード13は、eMMCに既に保存されている値と同一です。この簡略化されたスクリプトにより、アシストブートも可能になった。同じ単語を使用して「set_source(0x9E)」を個別にテストしたところ、こちらも成功しました。 この簡略化されたスクリプトには、DDR初期化、BRR、PC、SCTLR、または再開操作は明示的に含まれていません。「rcw.apply()」とデバッガ起動フレームワークは内部リセットや実行制御操作を依然として実行できることを認識しています。これは受動的なアタッチではありません。 支援を受けて、16語すべてのRCWSR語が意図されたメディアRCWと一致しました。BL2はOCRAM内に存在し、計測されたブートチェーンはDDR初期化、eMMC/FIPロード、BL31およびU-Bootを完了した。介入後の「RSTRQPBLSR」の読み取り数はゼロでしたが、これらは元の低温障害状態を捉えたものとは考えていません。 既に実施されたテスト テスト観察 eMMCからのネイティブブート 自律的なコンソール起動は行われず、デバッガ支援によるリカバリによってU-Bootに到達する。 SDカードからのネイティブブート BMCがSDを検出/選択したにもかかわらず、同様のコールドブート失敗が発生した。アシストブートは可能だった。 QSPI NORからのネイティブブート 最新のテストでは、コールドブートの不具合も確認された。三つのメディアが同じ内部段階で止まることはまだ確立されていません。 スタンドアロンのハードコードされたソースストラップ 0x9E そして 0x9F その後のテストでは、期待されていたスタンドアロンリセットの進行状況は得られなかった。ハードコードされたRCWだけでは完全なU-Bootイメージにはならないことは理解しています。 安全なRCWを有効にした標準RDB初期化 回復は可能でしたが、DDRやCPUの状態、ペリフェラルも変更するため、これは単発のテストではありませんでした。 上記の最小限の適用専用スクリプト ソースリクエストを使用すれば、ワード13が保存値と等しい場合でも復旧可能です。 0x9E そして 0x40。 QCVS RCWテスト/リードバック テストは合格し、介入後の読み出し結果は意図した構成と一致した。ネイティブフェッチは未検証です。 3つのPCIe PBIアクセスを削除しました ネイティブコールドブートに改善は見られなかった。 SerDes2を無効にした後、両方のSerDesブロックを無効にします。 改善は見られない。アシストされたU-Bootログにより、変更されたRCWワードが確認された。 DDR診断 SPDの読み取りと4GiBの初期化は、支援を受けた後、1600MT/sで成功しました。ただし、完全なマージンテストではありません。 BL2/BL31/U-Bootのマイルストーンログ機能を追加しました。 補助付きブートはすべての段階を完了します。ネイティブ障害は最初のBL2マイルストーンを示さず、これらのログはハードウェアPBL自体を追跡できません。 eMMC RCWとイメージ配置 SerDesを両方有効にしたeMMCのベースラインは以下のとおりです。 0c100012 0e000000 00000000 00000000 13335a06 40400012 60040000 c1000000 00000000 00000000 00000000 0001c83e 00004504 24001002 00000096 00000001 SerDesを両方とも無効にした実験では、以下の単語のみが変更されました。 RCW05 = 00000000 RCW06 = 00f00012 eMMCユーザーエリアでは、512バイトセクタを使った: コンポーネント開始LBAバイトオフセット RCW + PBI + BL2コンテナ (bl2_emmc.pbl) 0x8 0x1000 BL31とU-Bootを含むFIP 0x800 0x100000 FManマイクロコード 0x4800 0x900000 書き込まれたPBL/BL2領域とFIP領域を読み戻したところ、それらのSHA-256値は、これらのテストのために転送されたファイルと一致した。PBIストリームはデコードされ、CRCチェックが行われた。OCRAMのブート場所を設定し、継承されたNXPインターコネクト/USB準備およびPBL同期操作を実行し、BL2をOCRAMにコピーします。PCIeレジスタアクセスを削除してもストールは解決しませんでした。DDRの初期化は、後ほどBL2によって実行されます。 また、eMMCの`EXT_CSD[162] = 0x00`および`EXT_CSD[179] = 0x00`を読み取りましたが、これらの設定に不可逆的な変更は加えていません。 指導を要請 1. HRESETのタイミング:LS1046Aは、PORESET_B、有効なリファレンスクロック、および初期eMMCトランザクションに対して、正確にどの時点でHRESET_BをLOWにすべきでしょうか?プロセッサ側のプローブでLOWアサートが確認できない場合、リセット、クロック、パワードメイン、ストラップ、テストモードのどれを最初に確認すべきでしょうか? 2. 介入前のキャプチャ:A72コアが発見される前に、停止したPBL/DCFG/eSDHCの状態をリセットやRCWオーバーライドなしで読み取るための、サポートされているCodeWarrior/CCSシステムアクセスポート手順はありますか?必要なアクセスコンテキスト、コマンド、そして最も有用なステータス/エラーレジスタを提供してください。 3. RCWの適用セマンティクス:`rcw.apply()`は具体的に何を行うのかソース `0x40` または `0x9E` を使用し、指定されたワードが 1 つだけの場合、どうしますか?どのリセット/デバッグ制御が実行され、未指定のRCWワードはどのように取得されるのか?入力された単語によって結果として得られるRCWが変更されない場合に、回復を可能にするアクションを特定したいと考えています。 4. RCW/PBI のレビュー: 上記の eMMC RCW と配置に何か問題はありますか?このカスタム構成に関して、追加の必須PBI操作や関連するシリコンエラータはありますか? 5. 次の決定的な測定: eMMC、SD、QSPI 全体にわたる症状を考慮すると、リセット/クロック/ストラップの問題をブートメディアの初期化、RCW の取得、または後続の PBI の実行から最も適切に分離できる測定または非侵襲的なレジスタキャプチャは何ですか? Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H 波形にHRESET_Bがアサートされていないが、これは想定外である。 AN12081のセクション5.1(SDカードを使用した起動プロセス)を参照してください。この文書ではSPL/U-Bootの起動フローについて説明していますが、現在のBL2/BL31の起動フローも非常によく似たハードウェア起動シーケンスに従っています。波形を図3と比較してください。 現在の観察結果に基づくと、リセット関連部品のハードウェアに問題がある可能性が高い。また、リセット設計をCPLDを使わないFRWY-LS1046Aと比較するのも有益かもしれません。 さらに、ASLEEP信号は起動プロセスにおいて重要な信号ですので、必ず確認してください。 ありがとうございます。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo テスト中のシーケンスキャプチャ   Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo ASLEEPは常に高く、コネクテッドLEDは常に点灯しています。 ハードウェアの再作業なしで2枚目のボードを使い、同じRCWでSDカードから起動しようとしましたが、電圧選択が変わったところ、HRESET_Bが低くなっているのが観察され、PORESET_Bを低から高に解放しました。 HRESET_B の急上昇は、PMIC PG と SoC が HRESET_B をローに駆動し始めた後の 1.8V プルアップによるものと予想されます。 現在、eMMC/SDのCMD、DATA、CLKを調べて、何らかのトランザクションが発生しているかどうかを確認しています。SoCがHRESET_Bをリリースするために満たすべき条件を教えていただけますか? 好奇心から、同じSDカードをls1046a_rdbボードに挿入して電源を入れてみたところ、ubootコンソールまで到達しました。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H 参照マニュアル LS1046A 4.4.1 電源オンリセットシーケンス ステップ5とステップ15の間に問題がある可能性があります。 HRESET_Bの出発点が明確に特定できないため、ステップ1から4までも確認する必要があります。 よろしくお願いします。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo こんにちは、 LS1046A リファレンス・マニュアルのセクション4.4.1を教えていただきありがとうございます。ステップ1~4とステップ5~15を確認し、測定値をAN12081のセクション5.1/図3~4と比較しています。 以下は、9月29日に実施したテストの最新情報と、QCVSで生成されたSD候補に関する9月30日のフォローアップです。確認のため、PORESET_B、HRESET_B、SD CMD、およびRESET_REQ_Bのオシロスコープ波形を添付いたします。   HRESET観測結果の更新 2台目のA1カスタム基板では、初期の基板のリセットなしにテストされ、PORESET_Bがリリースされる前にHRESET_Bが低くなるのが観察できます。これは、HRESET_Bが継続的にHIGHであった以前のキャプチャとは異なります。私たちは、その以前の波形をこの基板の代表的な波形として扱っていません。 現在の差動クロックSDテストの場合: スタンドアロンのコールドスタートアップ中、HRESET_BはPORESET_Bが上昇する前にLOWになり、その後もLOWのままです。BL2のコンソール出力は表示されません。 CodeWarriorのDebug/RCW適用後、HRESET_BがHIGHになります。 デバッガーは最初にPC=0で停止します。「続行」をクリックすると、BL2 → BL31 → U-Boot が実行されます。 添付のキャプチャデータ(SD CMDおよびRESET_REQ_Bアクティビティを含む)を、想定されるシーケンスと照らし合わせて解釈するお手伝いをお願いします。 下の写真ではSDカードを挿入しておらず、リセットリクエストが低くなっているのが確認できました。 (注:一部の画像では、誤ってsdコマンドではなくemmcコマンドと記載されています。) SDカード挿入でキャプチャ - スイッチはemmc/sdカードモードにストラップされています。 Captured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedSDカードを挿入した状態で、poreset_b、hreset_b、reset_request、vcc1v8を使用してキャプチャしました。 Captured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdporeset_b、hreset_b、reset_request、sd_cmdを使用してキャプチャしました Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)poreset_b、hreset_b、sd_cmd、trst_b(JTAGリセット)を使用してキャプチャしました Captured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallコールドスタートで停止した後、デバッグモードに入った後にキャプチャされた 新しいSD RCWテスト 外部SD/MMCブートを選択した状態(cfg_rcw_src=0x40)で、両方のSerDesブロックを無効にした新しいSDイメージを生成しました。100 MHz 差動プライマリ基準を選択し、ハードコードされたアクティブクロック比を採用しました。 0x9F 例えば、A1ピンマルチプレクサとSDブート/PBI構成を維持したまま。 これは ハードコードされたブートではない:完全なRCWとPBIはSDから取得する必要がある。メディア取得やPLLロックを回避するわけではありません。 設定値 一次資料 DIFF_SYSCLK/B、公称100MHz。 cfg_eng_use0=0 A1スイッチの位置 SW5 pole2 ON(差動クロック選択);SW8 poles1–8 0010 0000 (1=ON)(ブートソーススイッチストラップ) SYS_PLL_RAT 4→プラットフォーム 400 MHz CGA_PLL1_RAT 13 → CPU 1300 MHz CGA_PLL2_RAT 10 → PLL2 1000 MHz、FMan 500 MHz MEM_PLL_RAT 16 → DDR 1600 MT/s DDR_REFCLK_SEL / DDR_FDBK_MULT 1/2; 差動DDRリファレンス SRDS_PRTCL_S1 / SRDS_PRTCL_S2 0 / 0 SRDS_PLL_PD_S1 / SRDS_PLL_PD_S2 3/3; 各SerDesブロックで両方のPLLがダウン PBI_SRC / ブートホー 6 / 0 EVDD_VSEL 2. SD 3.3V構成 DIMM 4 GiB、単一ランク、64ビット非ECC DDR4;トレーニングシードはマージン適格ではありません   このテスト済みイメージで使用されている完全なRCWは、デバッガーによる介入後にも確認されており、以下のとおりです。 RCW01–04: 0810000d 0a000000 00000000 00000000 RCW05–08: 00000000 00f00012 60040000 c1000000 RCW09–12: 00000000 00000000 00000000 0001c83e RCW13–16: 00004504 24001102 00000096 00000001 結果: 地元の防寒ブーツ販売店はそのまま残っていた。デバッガ支援の後、U-BootはCPUが1300 MHz、プラットフォームが400 MHz、DDR 1600 MT/s、FManが500 MHzと報告し、意図された比率と一致しました。SDの初期化とFIPのロードに成功しました。  デバッガーの正確な介入と結果として生じる状態 初期化コールバックは、以下のRCW API操作のみを呼び出します。 from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13: 0x00004504}) target.rcw.apply() ワード13は、SDカードに既に保存されている値と同一です。このスクリプトには、明示的なDDR初期化、BRR/PC書き込み、またはContinueコマンドは含まれていません。 apply() デバッガ起動が内部的にリセット/デバッグ状態を変えることは認識しています。 デバッグ後、続行前に、以下を読みます。 PC = 00000000 PORSR1 @ 01ee0000 = 205b7fff RSTRQPBLSR @ 01ee00b4 = 00000000 RSTRQMR1 @ 01ee00c0 = 00004000 RSTRQSR1 @ 01ee00c8 = 00000000 BRR @ 01ee00e4 = 00000000 SCFG_SCRATCHRW0/1 = 00000000 / 10000000 DDR SDRAM_CFG = 07000000 (MEM_EN clear) 16個のRCWSR単語すべてが、テスト対象のSD画像と一致した。OCRAMの最初の64バイト 0x10000000 BL2のエントリーコードと一致しました。したがって、PC=0 で UART 出力がないことは、ハードウェア PBL が進行していないことを意味するものではありません。BL2/BL31/U-Bootを実行するには、Continueのみで十分でした。この実行では、BRRへの手動書き込みは使用していません。 これらは 介入後の測定値であり、元の停滞状態は維持されていない。我々は、それらのゼロエラー値を用いて、最初のコールド試行にPBL/クロック/リセットエラーがなかったと結論付けるつもりはない。 画像配置と正確なPBI設定 当社のSDパッケージとeMMCパッケージの両方で512バイトセクタを使用しています: RCW/PBI/BL2 .pbl: LBA 0x8、バイトオフセット 0x1000。 fip_uboot.bin BL31とU-Bootを含む:LBA 0x800、バイトオフセット 0x100000。 eMMCの場合、これらはユーザーエリアのオフセットであり、boot0/boot1ではありません。SDカードの全ディスクイメージは、これらのオフセット位置でバイト単位でチェックされています。また、以前のeMMCへの書き込みも、読み出し時のSHA-256検証に合格しています。 テスト対象のSD PBLにおける正確なセットアップストリームは以下のとおりです。各行は シリアル化された PBI コマンド ワードとそのデータ ワードがストリーム順で続きます。これらはデバッガのメモリ書き込みコマンドではありません。 09570600 00000000 09570604 10000000 09570178 0000e010 09180000 00000008 09570418 0000009e 0957041c 0000009e 09570420 0000009e 09570158 00001000 09610000 00000000 096100c0 000fffff 09570604 10000000 09570158 00001000 096100c0 000fffff これには、スクラッチブートポインタ、継承された相互接続/USB設定、フラッシュおよび同期操作が含まれます。繰り返し行われる操作は保持されます。PCIeセットアップ書き込みはありません。その後、ストリームにはOCRAMへの844回のACS64転送が含まれます。これは、53,953バイトのBL2と63バイトのゼロパディングで構成されます。テストされたPBLは、 08610040 6d8bdebf (END/CRC)であり、合計サイズは57,576バイトです。 また、本日、QCVSを使用して独自にPBLを生成しました。解析とCRC検証の結果、そのPBI操作とBL2ペイロードはテスト対象のイメージと同一であることが判明した。私たちは意図的にRCW12を変更しました 0001c83e に 0001a8fe (睡眠=0、 RTC=1、 IRQ_BASE=63); そのワードとCRCだけが異なります。そのSHA-256ハッシュ値は以下のとおりです。 2d3389fce4ead088957caf6251022b5526be8565e812a8aab8fce21bd8923277 9月30日更新: 新たに生成されたQCVSのSD候補をテストしたところ、再びネイティブコールドブートの停止が発生しました。したがって、PBLを実際のQCVSエクスポートに置き換えても、症状は解消されませんでした。PBIおよびBL2のペイロードは前の画像と同一のままであるため、共有設定の問題を否定したり、原因がハードウェアにあることを否定するものではありません。 上記の詳細なHRESET/レジスタ読み取り値と確認済みのアシスト成功シーケンスは、以前のRCW12=0001c83eを参照しています。 走る。最新のRCW12=0001a8feのデバッガリカバリ結果と詳細な波形 このアップデートには、まだ実行機能が追加されていません。 指導を要請 PORリリース前にHRESET_Bアサートされ、その後はLOWのままの場合、RCWフェッチ/検証の失敗とPLLロック、またはステップ11〜14でのプラットフォームクロック切り替えを区別する最良の測定値は何でしょうか?ステップ1~4では、電源、時計、ストラップの初期状態についても引き続き確認していきます。 ステップ15はSoCのHREETドライブを解放し、ステップ17はPBIを実行するため、外部HREETドライバーや短いリリース・再アサーションを除外した場合、初期段階を優先するのは合理的でしょうか?上記のRCWおよびPBIも、未構成や誤った設定がないか確認してください。 CCS/SAPは、RHETが低のままの状態で、RCW適用や再度リセットせずにネイティブリセット/PBLステータスや文書化されたPLL-ロック状態にアクセスできるのでしょうか?アクセスの正確なコンテキスト、コマンド、レジスタ/ビットの定義を教えてください。Ordinary Inspectはこれまで、この状態のCortexA72#0を検出できませんでした。 具体的に何が set_source(0x40) さらに、対応する単語13のオーバーライドと 適用する() リセット、TRST、デバッグコントロールを実行するにはどうすればいいですか?最終的なRCWの内容を変更せずに起動を可能にする動作を特定したいと考えています。 生成されたPBL、完全なUART/デバッガーログ、追加のスコープキャプチャも提供可能です。自動冷却起動ではブリングアップがブロックされているので、次の識別テストについてのアドバイスをいただけると大変ありがたいです。 また、自己テストとして、SD カードや空の eMMC がない状態で 0x9e または 0x9f をストラップすると、POREST_B が 0 から 1 に解放されたときに HRESET_B が低から高に変化することが確認できると教えられました。RDBボードでこれをキャプチャしようと試み、これを観察することができました。では、カスタムボード上で同じことをしても同じ挙動が観察されるということですか? よろしくお願いします。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo こんにちは、 @Hiran_E_H さん。 1.現在の情報からはRCWの負荷問題とPLLロックの問題を明確に区別するのは難しいです。しかし、CCSがデバイスに正常にアクセスでき、PLL関連の波形が正常に見える場合、PLLの問題の可能性は低くなる可能性があります。 スタンドアロンのコールドブートとCCS支援ブートのSDコマンド波形を比較することをお勧めします。特に、波形の長さと順序を比較して、RCWロード中に異常がないか判断してください。 また、SDカードのクロックが起動プロセス中の予想される周波数遷移を反映しているかを確認するために、リファレンス・マニュアル表4-8の「RCW状態タイミング」を参照することもできます。これらの遷移は、RCWの読み込みが成功し、適切なPLLロックが行われていることに依存します。 2.はい、あなたのやり方に賛成です。入手可能な情報に基づくと、まずはステップ1から15、特に初期の電源、クロック、リセット、ブートソース関連の段階に焦点を当てるのが妥当でしょう。 3. 以下のCCSコマンドを試して、デバイスがこの状態のままではLS1046Aにアクセスできるか確認できます。例えば、RCWSRレジスタの読み取りを試みることができます: (bin) 1%すべて削除 (bin) 2 % config cc cwtap (バイナリ)3%表示cc (bin) 4 % ccs::config_chain {ls1043a dap sap2} (bin) 5% 表示 ::ccs::get_config_chain (bin) 6 % ccs::display_mem 32 0x01ee0000 4 0 100 もっと行を表示 4. リファレンス・マニュアルの表4-8「RCW状態タイミング」を参照し、SDカードのクロックがRCWプロセッシング中の予想される周波数変化を反映しているかどうかを確認できます。 起動シーケンス中に、関連する波形を確認することをお勧めします。 実際には、初期デバッグ段階では通常、ハードコードモードを使用します。さらに、ボードをハードコーディングされたRCWで設定し、観測波形が図4-1「電源オンリセットシーケンス」に記載されている順序に従っているかを検証することもできます。波形が期待される挙動に合致していれば、リセット関連のハードウェア設計は一般的に正しく動作している可能性が高いです。 私は1週間以上OoOのままでいるので、この期間中は私の方からの更新はありません。 もしこの問題が緊急の場合は、別のチームメンバーがサポートできるように新しいスレッドを作成してください。 よろしくお願いします。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo こんにちは、 ccsコンソールから読み取ろうとしましたが、コールドブート中に以下の応答が返ってきました。 (bin) 7 % ccs::display_mem 2 0x01ee0000 4 0 1 スキャンタイムアウト ASLEEP信号に関してキャプチャを試みたところ、以下の観測結果が得られました。 SD CLKが約200kHzから約20kHzに低下する(フォールバックの可能性あり) SD DATA0は200kHzの間は常にハイレベルであり、クロックが20kHzに低下する直前にいくつかのトランザクションが発生します。
記事全体を表示
i.MXRT1052に基づくPXP画面回転の問題 rt1052PXPを使って横向き表示を縦向き表示に回転させているのですが、ページを更新すると全体の表示が下方向にずれてしまいます。なぜこのようなことが起こるのでしょうか?   static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) ヤージュ lv_area_t dest_area = ヤージュ .x1= 0、 .x2= 480 - 1、 .y1= 0、 .y2= 800 - 1、 }; lv_gpu_nxp_pxp_blit(((lv_color_t *)s_inactiveFrameBuffer), area, 800, color_p, area,480, LV_OPA_COVER, LV_DISP_ROT_270); DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)s_inactiveFrameBuffer); s_framePending = true;if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) ヤージュ /* 重要!!! * グラフィックライブラリに、フラッシュの準備ができたことを通知します */ lv_disp_flush_ready(disp_drv); } それ以外 ヤージュ PRINTF("ディスプレイのフラッシュに失敗しました\r\n"); assert(0); } }   i.MXRT 105x 回复: 基于i.MXRT1052的pxp屏幕旋转问题 こんにちは、 @dsd さん。 このLV_USE_GPU_NXP_PXP_AUTO_INITにより、LVGLはPXPユーザーを内部ウィジェットレンダリングに活用できますが、アプリケーションがこのPXPを並列で全画面回転に使う場合、問題を引き起こす可能性があります。しかし、それが問題の原因である可能性は低い。 初期のコードを見ると、dest_areaを使っていないか、PXPブリットのソースと宛先の両方にエリアを使っているように見えます。つまり、部分的な汚れた領域だけが意図された絶対位置ではなく、異なる絶対位置に配置されている可能性があります。 回复: 基于i.MXRT1052的pxp屏幕旋转问题 PXPで描画する際にオフセットの問題が発生することに気づきました。これは、guiguiderによって生成されるデフォルトの初期化設定`#define LV_USE_GPU_NXP_PXP_AUTO_INIT 1`が直接使用できないためでしょうか? void lv_disp_drv_init(lv_disp_drv_t * driver) ヤージュ lv_memset_00(driver, sizeof(lv_disp_drv_t)); driver->hor_res = 320; driver->ver_res = 240; driver->physical_hor_res = -1; driver->physical_ver_res = -1; driver->offset_x = 0; driver->offset_y = 0; driver->antialiasing = LV_COLOR_DEPTH > 8 ? 1 : 0; driver->screen_transp = 0; driver->dpi = LV_DPI_DEF; driver->color_chroma_key = LV_COLOR_CHROMA_KEY; #if LV_USE_GPU_NXP_PXP // driver->draw_ctx_init = lv_draw_pxp_ctx_init; // driver->draw_ctx_deinit = lv_draw_pxp_ctx_deinit; // driver->draw_ctx_size = sizeof(lv_draw_pxp_ctx_t); driver->draw_ctx_init = lv_draw_sw_init_ctx; driver->draw_ctx_deinit = lv_draw_sw_init_ctx; driver->draw_ctx_size = sizeof(lv_draw_sw_ctx_t); #それ以外 driver->draw_ctx_init = lv_draw_sw_init_ctx; driver->draw_ctx_deinit = lv_draw_sw_init_ctx; driver->draw_ctx_size = sizeof(lv_draw_sw_ctx_t); #endif } 回复: 基于i.MXRT1052的pxp屏幕旋转问题 pxp回転を使わなくても、guiguiderで生成されたコードを使ってテストしてみました。 static void DEMO_FlushDisplay(lv_disp_drv_t *disp_drv, const lv_area_t *area, lv_color_t *color_p) ヤージュ DCACHE_CleanInvalidateByRange((uint32_t)color_p, DEMO_FB_SIZE); ELCDIF_SetNextBufferAddr(LCDIF, (uint32_t)color_p); s_framePending = true; if (xSemaphoreTake(s_frameSema, portMAX_DELAY) == pdTRUE) ヤージュ /* 重要!!! * グラフィックライブラリに、フラッシュの準備ができたことを通知します */ lv_disp_flush_ready(disp_drv); } それ以外 ヤージュ PRINTF("ディスプレイのフラッシュに失敗しました\r\n"); assert(0); } } マクロ /*NXPのPXP GPU iMX RTxxxプラットフォームを使用する*/ を修正するだけです。 #define LV_USE_GPU_NXP_PXP 1 #if LV_USE_GPU_NXP_PXP /*1: PXP 用のデフォルトのベアメタルおよび FreeRTOS 割り込み処理ルーチンを追加します (lv_gpu_nxp_pxp_osa.c) * lv_init() の実行中に lv_gpu_nxp_pxp_init() を自動的に呼び出します。シンボルSDK_OS_FREE_RTOSに注意してください。 * FreeRTOS OSAを使用するには、これを定義する必要があります。定義しない場合は、ベアメタル実装が選択されます。 *0: lv_gpu_nxp_pxp_init() は lv_init() の前に手動で呼び出す必要があります / #define LV_USE_GPU_NXP_PXP_AUTO_INIT 1 #endif /* LV_USE_GPU_NXP_PXP */ 同じ問題が発生し、オフセットの方向は回転後と同じになります。 回复: 基于i.MXRT1052的pxp屏幕旋转问题 さらに奇妙なことに、設定は同じはずなのに、同じプロジェクト内で2つの異なる結果が出てしまったのです。 表示オフセットは発生しませんでした 表示オフセットが発生します    
記事全体を表示
MCXN547 SC Timer0 SDK driver Issue I am using MCXN547VKL MCU and SDK version 26.06.00.  Context: I am using SCT timer0  to generate two different PWM waveform using the COUNTER in split mode, CONFIG[UNIFY] = 0; i.e COUNT_L for one PWM generator and COUNT_H for another PWM generator. The issue: When I load the COUNTER_H with the driver API "SCTIMER_SetCOUNTValue(SCT0,kSCTIMER_Counter_H,0U);" , Bus Fault occurs.  I traced the issue to SDK driver code. The driver code uses 32 bit write to write both COUNT_H and COUNT_L instead of 16 bit write to COUNT_H alone. While the COUNT_H is being written COUNT_L was running and this caused bus fault. I modified the SDK driver code to use 16 bit write and the bus fault did not occur. I have attached the driver code and marked with colours, the code line which was causing the problem and the fix. If this is really the problem, the SDK driver can be updated. - Thanks /*! * @brief Set the value of counter. * * The function is to set the value of Count register, Writing to the COUNT_L, COUNT_H, or unified register * is only allowed when the corresponding counter is halted (HALT bits are set to 1 in the CTRL register). * * @param base SCTimer peripheral base address * @param whichCounter SCTimer counter to use. In 16-bit mode, we can select Counter_L and Counter_H, * In 32-bit mode, we can select Counter_U. * @param value the counter value update to the COUNT register. */ static inline void SCTIMER_SetCOUNTValue(SCT_Type *base, sctimer_counter_t whichCounter, uint32_t value) { SCTIMER_StopTimer(base, (uint32_t)whichCounter); switch (whichCounter) { case kSCTIMER_Counter_L: assert(value <= 0xFFFFU); assert(0U == (base->CONFIG & SCT_CONFIG_UNIFY_MASK)); /* Use Counter_L bits when user wants to setup the Low counter */ base->COUNT_ACCESS16BIT.COUNTL = (uint16_t)value; break; case kSCTIMER_Counter_H: assert(value <= 0xFFFFU); assert(0U == (base->CONFIG & SCT_CONFIG_UNIFY_MASK)); /* Use Counter_H bits when user wants to setup the High counter */ // base->COUNT = (uint32_t)base->COUNT_ACCESS16BIT.COUNTL | SCT_COUNT_CTR_H(value); base->COUNT_ACCESS16BIT.COUNTH = (uint16_t)value; //the fix break; case kSCTIMER_Counter_U: assert(1U == (base->CONFIG & SCT_CONFIG_UNIFY_MASK)); /* Use both Counter_L/Counter_H bits when counter is operating in 32-bit mode (unify counter). */ base->COUNT = value; break; default: /* Fix the MISRA C-2012 issue rule 16.4. */ break; } SCTIMER_StartTimer(base, (uint32_t)whichCounter); } Clock|Timers Re: MCXN547 SC Timer0 SDK driver Issue Hi @JawaharA  Thank you for your feedback. Your analysis of the cause of the Bus Fault is correct: updating COUNT_H uses a 32-bit write to the COUNT register, but the current function halts only the H counter. If the L counter is still running, this write access triggers an SCT bus error. However, changing the access to a 16-bit write to COUNTH is not compliant with the SCT hardware access requirements, because COUNT_H must be written as a word together with COUNT_L . The correct software solution is to halt both the L and H counters before performing the 32-bit write to COUNT , and then restore their previous running states afterward. We recommend reviewing and updating the SDK accordingly rather than using a separate 16-bit write to COUNT_H . BR Harry Re: MCXN547 SC Timer0 SDK driver Issue Hi Harry, Thanks for your quick response. As per the manual page you referenced in your response, if CONFIG[UNIFY] = 0, then both COUNT_L and COUNT_H registers can be read or written individually while the respective counters are not running. The SDK does use 16 bit write for COUNT_L register. COUNT_H register should be written using 32bit write irrespective of CONFIG[UNIFY] - is this an undocumented condition? Thanks - Jawahar
記事全体を表示
MPXV7002DP compatibility with LPG and Propane Hello, i am a student in my final year. i am currently working on a project where i have to measure the pressure difference in household LPG line. the normal pressure in the line is around 2.30 kPa to 3.60 kPa . i checked the data sheet of it but there is nothing clear about LPG compatibility. So if anyone tried this in past or any technical official can tell me about it . thanks . Re: MPXV7002DP compatibility with LPG and Propane Hello, As of February 2, 2026, the NXP MEMS Sensor products have been transferred to STMicroelectronics. Please reach out to STMicroelectronics for further information and support.
記事全体を表示
LS1046A 定制板:从 eMMC、SD 和 QSPI 冷启动失败;CodeWarrior RCW 应用启用 U-Boot 你好, 我们正在开发一款基于 LS1046ARDB 设计的定制 LS1046A 板。自主冷启动失败,但 CodeWarrior/QCVS 干预允许处理器到达 BL2、BL31 和 U-Boot 控制台。我们发现 eMMC、SD 卡和 QSPI 或非 存在冷启动失败的情况,因此我们希望得到有关隔离常见 RESET/时钟/PBL 路径的指导。 平台及与LS1046ARDB的区别 项目自定义板配置 处理器 LS1046AE Rev. 1.0;U-Boot 报告 SVR 0x87070010 电源/RESET 控制 无CPLD。STM32 BMC、PCA9539 I/O 扩展器、电平转换器和分立 RESET 电路实现了时序控制和 SD/eMMC 选择。 DDR 4 GiB,单列,64 位非 ECC DDR4,已初始化 1600吨/秒。这与我们 RDB 对比中使用的 8 GiB ECC 配置不同。DDR 初始化在辅助启动后成功;完整的内存裕度鉴定仍在进行中。 时钟 100 MHz 主参考;工作辅助配置采用单端 SYSCLK 选择。DDR 使用差分参考路径。U-Boot 报告 CPU 频率为 1800 MHz,平台频率为 600 MHz,FMan 频率为 700 MHz。 eMMC 宏碁 MX52LM08A11XVI,与 RDB 设备不同。U-Boot 识别制造商 0xc2,名称 M08A11,MMC 5.1,用户容量约为 7.3 GiB。 SD/eMMC接口 BMC 控制选择和 EVDD:eMMC 为 1.8 V,SD 为 3.3 V。 QSPI 或非 S25FS512S,每个设备 64 MiB。该电路板上的 或非 检测成功。 其他外围设备 自定义以太网/PHY路由和SerDes配置;未使用PCIe设备。 软件 基于 TF-A v2.12.0 的 A1 特定板/设备树更改 lf-6.12.49-2.2.0,U-Boot 2025.04。U-Boot 启动时禁用监视程序。 在本次调查中,复位网络也进行了重新设计:隔离了竞争的处理器-POR 驱动程序分支,断开了直接的 BMC 到 TRST 驱动程序,并安装了硬件 POR/TRST 耦合路径。BMC 的 HRESET 传感功能保持连接。 最新的原生冷启动观察 我们发现并纠正了 BMC 序列中一个意外的早期 SoC RESET。在随后的示波器捕获中,我们从一个完全关机、没有任何 CodeWarrior 或 QCVS 操作的启动状态开始: - 当 BMC 释放处理器复位时,PORESET_B 上升。 - eMMC CLK 和 CMD 活动在该边沿之后开始。 - 没有正常的 BL2/U-Boot 控制台输出。早期的一些尝试只产生了乱码 UART 字符。 - 标记为 HRESET_B 的轨迹保持高电平,大约 1.8 V;在捕获的 eMMC 活动之前或期间,我们没有观察到低电平断言。BMC HRESET 输入端也反复读取高电平。 CodeWarrior/QCVS行为 在冷启动停滞期间,CodeWarrior Inspect 可以报告在 JTAG 链上找不到“CortexA72#0”,并建议检查 RCW 或启用 RCW 覆盖。 但是,启用 RCW 应用后点击调试,或者通过 QCVS 应用 RCW,就可以启动。有时 UART 连接到 U-Boot 时,Debug 会报告“核心未处于调试模式”。在其他尝试中,目标程序会停止运行,而 `continue` 命令允许启动完成。 我们将初始化脚本简化为: from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13:0x00004504}) target.rcw.apply() 物理绑带设置为 SD/eMMC 源“0x40”。提供的字 13 与 eMMC 中已存储的值相同。这个简化的脚本还启用了辅助启动功能。使用相同的单词“set_source(0x9E)”进行的单独测试也成功了。 在这个精简的脚本中,没有显式的 DDR 初始化、BRR、PC、SCTLR 或恢复操作。我们认识到“rcw.apply()”和调试器启动框架仍然可以执行内部重置/运行控制操作;这不是被动附加。 经过协助,所有 16 个 RCWSR 单词都与预期的媒体 RCW 相符。BL2 存在于 OCRAM 中,并且检测启动链完成了 DDR 初始化、eMMC/FIP 加载、BL31 和 U-Boot。干预后“RSTRQPBLSR”读数为零,但我们并不认为这些读数捕获了原始的冷失效状态。 已进行的测试 测试观察 从 eMMC 启动 无法自主启动控制台;需要通过调试器辅助恢复才能到达 U-Boot。 从 SD 卡启动本机模式 尽管 BMC 检测到/选择了 SD 卡,但仍然出现类似的冷启动失败;可以进行辅助启动。 从 QSPI NOR 接口启动 最新测试也显示冷启动失败。我们尚未确定这三种媒体都止步于同一内部阶段。 独立组网 (SA) 硬编码源带 0x9E 和 0x9F 后续测试未能获得预期的独立组网 (SA) RESET 进程。我们明白,仅靠硬编码的 RCW 并不能构成完整的 U-Boot 启动映像。 启用安全 RCW 的库存 RDB 初始化 允许恢复,但也会修改 DDR、CPU 状态和外围设备,因此这不是一个孤立的测试。 以上是最简应用脚本 即使第 13 个字等于存储的值,也可以使用源请求进行恢复。 0x9E 和 0x40。 QCVS RCW 测试/回读 测试通过,干预后读取结果与预期配置相符。原生获取功能仍未经验证。 移除了三个继承的 PCIe PBI 访问 原生冷启动性能没有改进。 禁用 SerDes2 后,两个 SerDes 模块都会被阻塞。 没有改善。辅助 U-Boot 日志证实了修改后的 RCW 字样。 DDR诊断 在协助下,SPD 读取和 4 GiB 初始化以 1600 MT/s 的速度成功;这不是完整的裕量测试。 新增 BL2/BL31/U-Boot 里程碑日志记录 辅助启动完成所有阶段。原生故障不会给出第一个 BL2 里程碑;这些日志无法追踪硬件 PBL 本身。 eMMC RCW 和图像放置 启用 SerDes 的 eMMC 基线为: 0c100012 0e000000 00000000 00000000 13335a06 40400012 60040000 c1000000 00000000 00000000 00000000 0001c83e 00004504 24001002 00000096 00000001 在同时禁用SerDes的实验中,只有以下几个词发生了变化: RCW05 = 00000000 RCW06 = 00f00012 在 eMMC 用户区,扇区大小为 512 字节: 组件起始 LBA 字节偏移量 RCW + PBI + BL2 容器 (bl2_emmc.pbl) 0x8 0x1000 包含 BL31 和 U-Boot 的 FIP 0x800 0x100000 FMan 微码 0x4800 0x900000 读取写入的 PBL/BL2 和 FIP 区域,发现它们的 安全散列算法(SHA)-256 值与这些测试中传输的文件相匹配。PBI 流已解码并进行了 CRC 校验。它设置 OCRAM 启动位置,执行继承的 NXP 互连/USB 准备和 PBL 同步操作,并将 BL2 复制到 OCRAM 中。移除 PCIe 寄存器访问并没有解决卡顿问题。DDR 初始化稍后由 BL2 执行。 我们还读取了 eMMC `EXT_CSD[162] = 0x00` 和 `EXT_CSD[179] = 0x00`;我们没有对这些设置进行不可逆转的更改。 请求指导 1. HRESET 时序:相对于 PORESET_B、有效参考时钟和初始 eMMC 事务,LS1046A 应该在哪个点将 HRESET_B 置低?如果处理器端探测确认没有低电平有效,我们应该首先检查哪个 RESET、时钟、电源域、跳线或测试模式条件? 2. 捕获前干预:是否有受支持的 CodeWarrior/CCS 系统访问端口程序,可以在 A72 内核被发现之前读取停滞的 PBL/DCFG/eSDHC 状态,而无需 RESET 或 RCW 覆盖?请提供所需的访问上下文、命令和最有用的状态/错误寄存器。 3. RCW 应用语义:`rcw.apply()` 究竟执行什么操作?如何处理源“0x40”或“0x9E”以及仅提供一个单词的情况?执行哪些 RESET/调试控制?如何获得未指定的 RCW 字?我们想要确定当提供的单词不会改变生成的 RCW 时,允许恢复的操作。 4. RCW/PBI 审查:上述 eMMC RCW 和位置是否揭示了任何问题?对于这种自定义配置,是否存在额外的强制性 PBI 操作或相关的芯片勘误? 5. 下一个决定性测量:鉴于 eMMC、SD 和 QSPI 的症状,哪种测量或非侵入式寄存器捕获能够最好地区分 RESET/时钟/跳线问题与启动介质初始化、RCW 获取或后续 PBI 执行? Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H 波形中未钳位 HRESET_B,这不符合预期。 请参阅AN12081中的第 5.1 节(使用 SD 卡启动过程)。虽然该文档描述了 SPL/U-Boot 流程,但当前的 BL2/BL31 流程遵循非常相似的硬件启动顺序。请将您的波形与图 3 进行比较。 根据目前的观察结果,怀疑是与 RESET 相关部件有关的硬件问题。将您的 RESET 设计与 FRWY-LS1046A 进行比较也可能有所帮助,因为 FRWY-LS1046A 不使用 CPLD。 此外,请检查 ASLEEP 信号,因为它是启动过程中的一个重要信号。 谢谢。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo 测试期间的序列捕获   Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H 请参阅LS1046A 参考手册,4.4.1 节“上电复位顺序” 步骤 5 和步骤 15 之间可能存在问题。 由于无法明确识别 HRESET_B 的起始点,因此还应检查步骤 1 至 4。 谢谢! Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo ASLEEP 始终处于高电平,因为连接的 LED 始终处于开启状态。 我们取了第二块板,没有进行任何硬件改造,尝试从 SD 卡启动,RCW 相同,只是电压选择有所改变,结果发现 HRESET_B 在 PORESET_B 从低电平变为高电平之前就已经变为低电平。 我们预期的 HRESET_B 尖峰是由于 PMIC PG 和 SoC 开始将 HRESET_B 拉低后,1.8v 上拉所致。 目前我们正在探测 emmc/SD CMD、DATA 和 CLK,以查看是否有任何事务正在发生。请问SoC释放HRESET_B需要满足哪些条件? 出于好奇,我们将同一张 SD 卡插入 ls1046a_rdb 板,并尝试开机,结果成功进入了 uboot 控制台。 Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo 你好, 感谢您指出 LS1046A 参考手册第 4.4.1 节。我们正在检查步骤 1-4 以及步骤 5-15,并将我们的测量结果与 AN12081 第 5.1 节/图 3-4 进行比较。 以下是我们 9 月 29 日测试的最新结果,以及 9 月 30 日对 QCVS 生成的 SD 候选方案的后续跟进。我们将附上 PORESET_B、HRESET_B、SD CMD 和 RESET_REQ_B 的示波器捕获以供查看。   更新的HRESET观测 在第二块 A1 定制板上,最初测试时没有对之前的板进行 RESET 修改,我们可以观察到 HRESET_B 在 PORESET_B 释放之前变为低电平。这与之前的捕获结果不同,之前的捕获结果中 HRESET_B 一直处于高电平状态。我们不认为之前的波形能够代表这块电路板的波形。 针对当前的差分时钟 SD 测试: 在独立组网 \(SA\) 冷启动期间,HRESET_B 在 PORESET_B 上升之前为低电平,之后保持低电平。BL2控制台未显示任何输出。 应用 CodeWarrior Debug/RCW 后,HRESET_B 变为高电平。 调试器最初在 PC=0 处停止。点击“继续”后,BL2 → BL31 → U-Boot 将开始运行。 请帮助我们根据预期序列解读附件中的捕获结果,包括 SD CMD 和 RESET_REQ_B 活动。 下图所示——我们没有插入 SD 卡——因此我们可以看到 RESET 请求变为低电平。 (注:部分图片中误将 emmc 命令写成了 SD 命令) 插入 SD 卡后捕获 - 切换至 eMMC/SD 卡模式。 Captured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card inserted使用 poreset_b、hreset_b、reset_request 和 vcc1v8 捕获,并插入 SD 卡。 Captured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmd使用 poreset_b、hreset_b、reset_request、sd_cmd 捕获 Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)使用 poreset_b、hreset_b、sd_cmd、trst_b(jtag 重置)捕获 Captured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stall冷启动停滞后进入调试模式时捕获 新的 SD RCW 测试 我们保持外部 SD/MMC 启动选项 (cfg_rcw_src=0x40),并生成了一个新的 SD 映像,其中两个 SerDes 块均已禁用。我们选择了 100 MHz 差分主参考频率,并采用了硬编码中的有效时钟比率。 0x9F 例如,同时保留 A1 引脚复用和 SD 启动/PBI 配置。 这是 非硬编码启动:仍需从 SD 卡获取完整的 RCW 和 PBI。我们并没有绕过媒体采集或PLL锁定。 设置值 主要参考 DIFF_SYSCLK/B,标称 100 MHz; cfg_eng_use0=0 A1 开关位置 SW5 极点 2 开启(差分时钟选择);SW8 极点 1–8 0010 0000 (1=开启)(启动源开关带) SYS_PLL_RAT 4 → 平台 400 MHz CGA_PLL1_RAT 13 → CPU 1300 MHz CGA_PLL2_RAT 10 → PLL2 1000 MHz;FMan 500 MHz MEM_PLL_RAT 16 → DDR 1600 MT/s DDR_REFCLK_SEL / DDR_FDBK_MULT 1/2;差分DDR参考 SRDS_PRTCL_S1 / SRDS_PRTCL_S2 0 / 0 SRDS_PLL_PD_S1 / SRDS_PLL_PD_S2 3/3;每个SerDes模块中的两个PLL均已关闭 PBI_SRC / BOOT_HO 6/0 EVDD_VSEL 2、SD 3.3V 配置 DIMM 4 GiB,单列,64 位非 ECC DDR4;训练种子未经过裕量限定   经调试器干预后,此测试镜像中使用的完整 RCW 为: RCW01–04: 0810000d 0a000000 00000000 00000000 RCW05–08: 00000000 00f00012 60040000 c1000000 RCW09–12: 00000000 00000000 00000000 0001c83e RCW13–16: 00004504 24001102 00000096 00000001 结果: 本地冷启动停滞仍然存在。在调试器的帮助下,U-Boot 报告 CPU 频率为 1300 MHz,平台频率为 400 MHz,DDR 内存频率为 1600 MT/s,FMan 内存频率为 500 MHz,与预期比例相符。SD初始化和FIP加载成功。  精确的调试器干预和结果状态 初始化回调函数仅调用以下 RCW API 操作: from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13: 0x00004504}) target.rcw.apply() 第 13 个单词与 SD 卡上已存储的值相同。该脚本没有显式的 DDR 初始化、BRR/PC 写入或 Continue 命令。我们认识到 申请() 调试器启动时可能会在内部改变复位/调试状态。 在“调试”之后,“继续”之前,我们读到: PC = 00000000 PORSR1 @ 01ee0000 = 205b7fff RSTRQPBLSR @ 01ee00b4 = 00000000 RSTRQMR1 @ 01ee00c0 = 00004000 RSTRQSR1 @ 01ee00c8 = 00000000 BRR @ 01ee00e4 = 00000000 SCFG_SCRATCHRW0/1 = 00000000 / 10000000 DDR SDRAM_CFG = 07000000 (MEM_EN clear) 所有 16 个 RCWSR 字都与测试的 SD 图像匹配。OCRAM 的前 64 个字节 0x10000000 与其 BL2 入口代码匹配。因此,PC=0 时 UART 输出的缺失并不意味着硬件 PBL 没有取得进展。仅使用 Continue 就足以运行 BL2/BL31/U-Boot;本次运行未使用手动 BRR 写入。 这些都是 干预后读数,未保留原生停滞状态。我们并没有使用它们的零误差值来得出结论,即最初的冷启动尝试没有 PBL/时钟/RESET 错误。 图像放置和精确的 PBI 设置 我们的 SD 和 eMMC 存储卡都使用 512 字节扇区: RCW/PBI/BL2 .pbl:LBA 0x8,字节偏移量 0x1000。 fip_uboot.bin 包含 BL31 和 U-Boot:LBA 0x800,字节偏移量 0x100000。 对于 eMMC 而言,这些是用户区域的偏移量,而不是 boot0/boot1 的偏移量。已在这些偏移量处逐字节检查了 SD 整个磁盘映像;早期的 eMMC 写入也通过了回读 安全散列算法 (SHA)-256 验证。 下面就是测试的 SD PBL 中的确切设置流程。每一行都是 按流顺序序列化的 PBI 命令字及其数据字;这些不是调试器内存写入命令: 09570600 00000000 09570604 10000000 09570178 0000e010 09180000 00000008 09570418 0000009e 0957041c 0000009e 09570420 0000009e 09570158 00001000 09610000 00000000 096100c0 000fffff 09570604 10000000 09570158 00001000 096100c0 000fffff 这包括暂存启动指针、继承互连/USB 设置、刷新和同步操作。重复操作将被保留。没有 PCIe 设置写入操作。然后,该流包含 844 次 ACS64 传输到 OCRAM:53,953 字节的 BL2 加上 63 个零填充字节。测试的PBL以……结束 08610040 6d8bdebf (END/CRC),其总大小为 57,576 字节。 今天我们也独立地使用QCVS生成了PBL。解析和 CRC 验证发现其 PBI 操作和 BL2 有效载荷与被测图像相同。我们特意将 RCW12 从 0001c83e 到 0001a8fe (睡眠=0, RTC=1, IRQ_BASE=63);只有该字和 CRC 不同。其 SHA-256 值为: 2d3389fce4ead088957caf6251022b5526be8565e812a8aab8fce21bd8923277 9月30日更新: 我们测试了较新的 QCVS 生成的 SD 候选版本,再次遇到了原生冷启动停滞的问题。因此,用实际的 QCVS 导出文件替换 PBL 文件并没有解决该问题。其 PBI 和 BL2 有效载荷与前一个映像相同,因此这并不能排除共享配置问题,也不能证明原因是硬件问题。 上述详细的 HRESET/寄存器读数和已确认的辅助成功序列指的是之前的 RCW12=0001c83e 跑步。最新RCW12=0001a8fe的调试器恢复结果和详细波形 本次更新尚未添加运行功能。 请求指导 在 POR 释放之前 HRESET_B 置位,但之后保持低电平的情况下,哪些测量方法能够最好地区分步骤 11-14 中的 RCW 取指/验证失败与 PLL 锁定或平台时钟切换?我们还将继续在步骤 1-4 中检查早期电源/时钟/表带状况。 由于步骤 15 会释放 SoC 的 HRESET 驱动程序,而步骤 17 会执行 PBI,那么在排除外部 HRESET 驱动程序或短暂的释放/重新断言操作的情况下,优先执行前面的步骤是否合理?另请检查上述 RCW 和 PBI,查看是否存在任何缺失或错误的配置。 当 HRESET 保持 LOW 状态,而没有应用 RCW 或进行其他 RESET 时,CCS/SAP 能否访问本地 RESET/PBL 状态或已记录的 PLL 锁定状态?请提供确切的访问上下文、命令和寄存器/位定义。普通检查之前未能在此状态下找到 CortexA72#0。 究竟是什么? 设置源(0x40) 加上匹配的 word-13 覆盖和 申请() 如何重置、TRST 和调试控件?我们希望找到允许启动而不改变最终 RCW 内容的操作。 我们可以提供生成的 PBL、完整的 UART/调试器日志和额外的示波器捕获数据。自主冷启动时无法启动,因此非常感谢您能提供关于下一个鉴别测试的指导。 另外,有人告诉我,作为自测,如果我们不插入 SD 卡或空白 eMMC 就给 0x9e 或 0x9f 上施加电压,当 POREST_B 从 0 释放到 1 时,我们将能够看到 HRESET_B 从低变为高。我们尝试在 RDB 板上捕获此信息,并观察到了这一点。那么,如果我们在自定义电路板上进行同样的操作,是否也会观察到相同的行为? 谢谢! Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo 嗨@Hiran_E_H 1.根据目前的信息,很难明确区分RCW加载问题和PLL锁定问题。但是,如果CCS能够成功访问设备,并且PLL相关的波形看起来正常,则PLL问题的可能性较低。 我建议比较独立冷启动和 CCS 辅助启动时的 SD 命令波形。尤其要比较波形的持续时间和顺序,以确定 RCW 加载过程中是否存在任何异常。 您还可以参考参考手册中的表 4-8“RCW 状态时序”,以检查 SD 卡时钟在启动过程中是否反映了预期的频率转换。请注意,这些转换取决于 RCW 是否成功加载以及 PLL 是否正确锁定。 2.是的,我同意你的做法。根据现有信息,首先集中精力处理步骤 1 到 15 是合理的,特别是早期与电源、时钟、RESET 和启动源相关的阶段。 3.您可以尝试以下 CCS 命令来验证 LS1046A 在此状态下是否可以访问。例如,您可以尝试读取 RCWSR 寄存器: (bin)1% 全部删除 (bin)2% 配置 cc cwtap (bin)3% 显示 cc (bin)4% ccs::config_chain {ls1043a dap sap2} (bin)5% 显示 ::ccs::get_config_chain (二进制)6% ccs::display_mem 32 0x01ee0000 4 0 100 显示更多行 4.您还可以参考参考手册表 4-8“RCW 状态时序”,并观察 SD 卡时钟是否反映了 RCW 处理期间预期的频率变化。 我建议在启动过程中验证相关的波形。 实际上,我在初始调试期间通常使用硬编码模式。作为额外的检查,您可以将电路板配置为使用硬编码的 RCW,并验证观察到的波形是否遵循图 4-1“上电复位序列”中描述的顺序。如果波形符合预期行为,则与 RESET 相关的硬件设计通常可能正常工作。 我将外出超过一周,因此在此期间我不会发布任何更新。 如果问题紧急,请另开新帖,以便其他团队成员可以为您提供帮助。 谢谢! Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo 你好, 我尝试从 ccs cconsole 读取数据,但在冷启动过程中出现以下响应 (二进制)7% ccs::display_mem 2 0x01ee0000 4 0 1 扫描超时 我们尝试捕获 ASLEEP 信号,并发现了以下现象: SD时钟频率从约200kHz降至约20kHz(怀疑是回退机制) 在 200kHz 期间以及时钟频率降至 20kHz 之前的一些事务中,SD DATA0 始终为高电平。
記事全体を表示
LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Boot Hello, We are bringing up a custom LS1046A board based on the LS1046ARDB design. Autonomous cold boot is failing, but CodeWarrior/QCVS intervention allows the processor to reach BL2, BL31 and the U-Boot console. We have observed the cold-boot failure with eMMC, SD card and QSPI NOR, so we would appreciate guidance on isolating the common reset/clock/PBL path. Platform and differences from LS1046ARDB Item Custom-board configuration Processor LS1046AE Rev. 1.0; U-Boot reports SVR 0x87070010 Power/reset control No CPLD. An STM32 BMC, PCA9539 I/O expander, level translators and discrete reset circuitry implement sequencing and SD/eMMC selection. DDR 4 GiB, single-rank, 64-bit non-ECC DDR4, initialized at 1600 MT/s. This differs from the 8 GiB ECC configuration used in our RDB comparison. DDR initialization succeeds after assisted boot; full memory-margin qualification is still pending. Clocks 100 MHz primary reference; the working assisted configuration uses the single-ended SYSCLK selection. DDR uses the differential reference path. U-Boot reports CPU 1800 MHz, platform 600 MHz and FMan 700 MHz. eMMC Macronix MX52LM08A11XVI, different from the RDB device. U-Boot identifies manufacturer 0xc2, name M08A11, MMC 5.1 and approximately 7.3 GiB user capacity. SD/eMMC interface BMC-controlled selection and EVDD: 1.8 V for eMMC and 3.3 V for SD. QSPI NOR S25FS512S, 64 MiB per device. NOR detection has succeeded on this board. Other peripherals Custom Ethernet/PHY routing and SerDes configuration; no PCIe devices are used. Software A1-specific board/device-tree changes, TF-A v2.12.0 based on lf-6.12.49-2.2.0, U-Boot 2025.04. U-Boot watchdog is disabled for bring-up. The reset network has also been reworked during this investigation: a competing processor-POR driver branch was isolated, the direct BMC-to-TRST drive was disconnected, and a hardware POR/TRST coupling path was fitted. HRESET sensing by the BMC remains connected. Latest native cold-boot observation We found and corrected an unintended earlier SoC reset in the BMC sequence. In the subsequent scope capture, taken from a fully powered-off start without any CodeWarrior or QCVS action: - PORESET_B rises when the BMC releases processor reset. - eMMC CLK and CMD activity starts after that edge. - No normal BL2/U-Boot console output follows. Some earlier attempts produced only a junk UART character. - The trace labelled HRESET_B stays HIGH, approximately 1.8 V; we do not observe a LOW assertion before or during the captured eMMC activity. The BMC HRESET input also repeatedly reads HIGH. CodeWarrior/QCVS behavior During the cold-boot stall, CodeWarrior Inspect can report that 'CortexA72#0' is not found on the JTAG chain and suggest checking the RCW or enabling RCW override. However, clicking Debug with RCW apply enabled, or applying the RCW through QCVS, allows boot to progress. Sometimes Debug reports “core not in debug mode” while the UART reaches U-Boot. In other attempts the target is halted and `continue` allows boot to finish. We reduced the initialization script to: from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13: 0x00004504}) target.rcw.apply() The physical straps were set for SD/eMMC source '0x40'. The supplied word 13 is identical to the value already stored in eMMC. This reduced script also enabled assisted boot. Separate tests using 'set_source(0x9E)' with the same word succeeded as well. There are no explicit DDR initialization, BRR, PC, SCTLR or resume operations in this reduced script. We recognize that 'rcw.apply()' and the debugger launch framework can still perform internal reset/run-control operations; this is not a passive attach. After assistance, all 16 RCWSR words matched the intended media RCW. BL2 was present in OCRAM and the instrumented boot chain completed DDR initialization, eMMC/FIP loading, BL31 and U-Boot. Post-intervention 'RSTRQPBLSR' reads were zero, but we do not regard those as a capture of the original cold-failure state. Tests already performed Test Observation Native boot from eMMC No autonomous console boot; debugger-assisted recovery reaches U-Boot. Native boot from SD Similar cold-boot failure despite BMC detecting/selecting SD; assisted boot was possible. Native boot from QSPI NOR Latest testing also shows the cold-boot failure. We have not established that all three media stop at the same internal stage. Standalone hard-coded source straps 0x9E and 0x9F Later tests did not obtain the expected standalone reset progression. We understand that a hard-coded RCW alone is not a complete U-Boot image. Stock RDB initialization with safe RCW enabled Allowed recovery, but also modifies DDR, CPU state and peripherals, so this was not an isolated test. Minimal apply-only script above Recovery possible even with word 13 equal to the stored value, using source requests 0x9E and 0x40. QCVS RCW test/readback Test passed and readback matched the intended configuration after intervention. Native fetch remains unverified. Removed three inherited PCIe PBI accesses No improvement in native cold boot. Disabled SerDes2, then both SerDes blocks No improvement. Assisted U-Boot logs confirmed the modified RCW words. DDR diagnostic SPD read and 4 GiB initialization at 1600 MT/s succeeded after assistance; not a full margin test. Added BL2/BL31/U-Boot milestone logging Assisted boot completes all stages. Native failure gives no first BL2 milestone; these logs cannot trace the hardware PBL itself. eMMC RCW and image placement The eMMC baseline with both SerDes enabled is: 0c100012 0e000000 00000000 00000000 13335a06 40400012 60040000 c1000000 00000000 00000000 00000000 0001c83e 00004504 24001002 00000096 00000001 For the both-SerDes-disabled experiment, only these words changed: RCW05 = 00000000 RCW06 = 00f00012 In the eMMC user area, with 512-byte sectors: Component Start LBA Byte offset RCW + PBI + BL2 container (bl2_emmc.pbl) 0x8 0x1000 FIP containing BL31 and U-Boot 0x800 0x100000 FMan microcode 0x4800 0x900000 The written PBL/BL2 and FIP regions were read back and their SHA-256 values matched the files transferred for those tests. The PBI stream was decoded and its CRC checked. It sets the OCRAM boot location, performs inherited NXP interconnect/USB preparation and PBL synchronization operations, and copies BL2 into OCRAM. Removing the PCIe-register accesses did not resolve the stall. DDR initialization is performed later by BL2. We also read eMMC `EXT_CSD[162] = 0x00` and `EXT_CSD[179] = 0x00`; we have not made irreversible changes to those settings. Guidance requested 1. HRESET timing: At exactly which point should LS1046A assert HRESET_B LOW relative to PORESET_B, valid reference clocks and initial eMMC transactions? If processor-side probing confirms no LOW assertion, which reset, clock, power-domain, strap or test-mode conditions should we check first? 2. Capture before intervention: Is there a supported CodeWarrior/CCS System Access Port procedure to read the stalled PBL/DCFG/eSDHC state before the A72 core is discoverable, without reset or RCW override? Please provide the required access context, commands and most useful status/error registers. 3. RCW apply semantics: What precisely does `rcw.apply()` do with source `0x40` or `0x9E` and only one supplied word? Which reset/debug controls are exercised, and how are unspecified RCW words obtained? We want to identify the action that permits recovery when the supplied word does not change the resulting RCW. 4. RCW/PBI review: Do the eMMC RCW and placement above reveal any issue? Are there additional mandatory PBI operations or relevant silicon errata for this custom configuration? 5. Next decisive measurement: Given the symptom across eMMC, SD and QSPI, what measurement or non-invasive register capture would best separate a reset/clock/strap problem from boot-medium initialization, RCW acquisition or later PBI execution? Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H  HRESET_B is not being asserted in the waveform, which is not expected. Please refer to Section 5.1 (Bring-up Process Using SD Card) in AN12081. Although the document describes the SPL/U-Boot flow, the current BL2/BL31 flow follows a very similar hardware boot sequence. Please compare your waveform with Figure 3. Based on the current observations, suspect a hardware issue related to reset related part. It may also be helpful to compare your reset design against the FRWY-LS1046A, which does not use a CPLD. In addition, please verify the ASLEEP signal, as it is an important signal during the boot process. Thanks. Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo sequence capture during testing   Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo Hello, Thank you for pointing us to LS1046A Reference Manual section 4.4.1. We are checking steps 1–4 as well as steps 5–15, and comparing our measurements with AN12081 section 5.1 / Figures 3–4. Below is an update from our 29 September tests, with a 30 September follow-up on the QCVS-generated SD candidate. We will attach oscilloscope captures of PORESET_B, HRESET_B, SD CMD and RESET_REQ_B for review.   Updated HRESET observation On a second A1 custom board, initially tested without the earlier board's reset reworks, we can observe HRESET_B going LOW before PORESET_B is released. This differs from the earlier capture where HRESET_B appeared continuously HIGH. We are not treating that earlier waveform as representative of this board. For the current differential-clock SD test: During standalone cold startup, HRESET_B is LOW before PORESET_B rises and remains LOW afterward. No BL2 console output appears. After CodeWarrior Debug/RCW apply, HRESET_B goes HIGH. The debugger initially stops at PC=0. Clicking Continue then allows BL2 → BL31 → U-Boot to run. Please help us interpret the attached captures, including SD CMD and RESET_REQ_B activity, against the expected sequence. In below picture - we did not insert SD card - so we were able to see reset request going low. (Note in some pictures emmc cmd is mentioned by mistake instead of sd cmd) Captured with SD inserted - switch strapped to emmc/sd card mode. Captured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card insertedCaptured with with poreset_b, hreset_b, reset_request, vcc1v8 with SD card inserted Captured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmdCaptured with with poreset_b, hreset_b, reset_request, sd_cmd Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset)Captured with with poreset_b, hreset_b, sd_cmd, trst_b(jtag reset) Captured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stallCaptured after entering debug mode after cold start stall New SD RCW test We kept external SD/MMC boot selected (cfg_rcw_src=0x40) and generated a new SD image with both SerDes blocks disabled. We selected the 100 MHz differential primary reference and adopted the active clock ratios from the hard-coded 0x9F example, while retaining the A1 pinmux and SD boot/PBI configuration. This is not hard-coded boot: the full RCW and PBI must still be fetched from SD. We are not bypassing media acquisition or PLL locking. Setting Value Primary reference DIFF_SYSCLK/B, nominal 100 MHz; cfg_eng_use0=0 A1 switch positions SW5 pole2 ON(differential clock selection ); SW8 poles1–8 0010 0000 (1=ON)(boot source switch strap) SYS_PLL_RAT 4 → platform 400 MHz CGA_PLL1_RAT 13 → CPU 1300 MHz CGA_PLL2_RAT 10 → PLL2 1000 MHz; FMan 500 MHz MEM_PLL_RAT 16 → DDR 1600 MT/s DDR_REFCLK_SEL / DDR_FDBK_MULT 1 / 2; differential DDR reference SRDS_PRTCL_S1 / SRDS_PRTCL_S2 0 / 0 SRDS_PLL_PD_S1 / SRDS_PLL_PD_S2 3 / 3; both PLLs down in each SerDes block PBI_SRC / BOOT_HO 6 / 0 EVDD_VSEL 2, SD 3.3 V configuration DIMM 4 GiB, single-rank, 64-bit non-ECC DDR4; training seed not margin-qualified   The full RCW used in this tested image, also confirmed after debugger intervention, is: RCW01–04: 0810000d 0a000000 00000000 00000000 RCW05–08: 00000000 00f00012 60040000 c1000000 RCW09–12: 00000000 00000000 00000000 0001c83e RCW13–16: 00004504 24001102 00000096 00000001 Result: the native cold-boot stall remained. After debugger assistance, U-Boot reported CPU 1300 MHz, platform 400 MHz, DDR 1600 MT/s and FMan 500 MHz, matching the intended ratios. SD initialization and FIP loading succeeded.  Exact debugger intervention and resulting state The initialization callback only calls the following RCW API operations: from cw.dbg import ta def run_init_file(): target = ta.create() target.rcw.set_source(0x40) target.rcw.set_data({13: 0x00004504}) target.rcw.apply() Word 13 is identical to the value already stored on SD. The script has no explicit DDR initialization, BRR/PC writes or Continue command. We recognize that apply() and debugger startup can internally change reset/debug state. After Debug, before Continue, we read: PC = 00000000 PORSR1 @ 01ee0000 = 205b7fff RSTRQPBLSR @ 01ee00b4 = 00000000 RSTRQMR1 @ 01ee00c0 = 00004000 RSTRQSR1 @ 01ee00c8 = 00000000 BRR @ 01ee00e4 = 00000000 SCFG_SCRATCHRW0/1 = 00000000 / 10000000 DDR SDRAM_CFG = 07000000 (MEM_EN clear) All 16 RCWSR words matched the tested SD image. The first 64 bytes at OCRAM 0x10000000 matched its BL2 entry code. Thus the lack of UART output at PC=0 did not mean that hardware PBL had not progressed. Continue alone was enough to run BL2/BL31/U-Boot; no manual BRR write was used in this run. These are post-intervention readings, not preserved native-stall status. We are not using their zero error values to conclude that the original cold attempt had no PBL/clock/reset error. Image placement and exact PBI setup Both our SD and eMMC packages use 512-byte sectors: RCW/PBI/BL2 .pbl: LBA 0x8, byte offset 0x1000. fip_uboot.bin containing BL31 and U-Boot: LBA 0x800, byte offset 0x100000. For eMMC these are offsets in the user area, not boot0/boot1. The SD whole-disk image has been checked byte-for-byte at these offsets; the earlier eMMC writes also passed readback SHA-256 verification. The exact setup stream in the tested SD PBL is below. Each row is the serialized PBI command word followed by its data word, in stream order; these are not debugger memory-write commands: 09570600 00000000 09570604 10000000 09570178 0000e010 09180000 00000008 09570418 0000009e 0957041c 0000009e 09570420 0000009e 09570158 00001000 09610000 00000000 096100c0 000fffff 09570604 10000000 09570158 00001000 096100c0 000fffff This includes the scratch boot pointer, inherited interconnect/USB setup, flush and synchronization operations. Repeated operations are preserved. There are no PCIe setup writes. The stream then contains 844 ACS64 transfers to OCRAM: the 53,953-byte BL2 plus 63 zero-padding bytes. The tested PBL ends with 08610040 6d8bdebf (END/CRC), and its total size is 57,576 bytes. We also independently generated a PBL using QCVS today. Parsing and CRC verification found its PBI operations and BL2 payload identical to the tested image. We deliberately changed RCW12 from 0001c83e to 0001a8fe (ASLEEP=0, RTC=1, IRQ_BASE=63); only that word and the CRC differ. Its SHA-256 is: 2d3389fce4ead088957caf6251022b5526be8565e812a8aab8fce21bd8923277 30 September update: we tested the newer QCVS-generated SD candidate and again encountered a native cold-boot stall. Replacing the PBL with the actual QCVS export therefore did not resolve the symptom. Its PBI and BL2 payload remain identical to the previous image, so this does not exclude a shared configuration issue or prove that the cause is hardware. The detailed HRESET/register readings and confirmed assisted-success sequence above refer to the earlier RCW12=0001c83e run. The debugger-recovery result and detailed waveforms for this latest RCW12=0001a8fe run have not yet been added to this update. Guidance requested With HRESET_B asserted before POR release but remaining LOW afterward, which measurements best separate an RCW-fetch/validation failure from PLL locking or the platform-clock switchover in steps 11–14? We will also continue checking the early power/clock/strap conditions in steps 1–4. Since step 15 releases the SoC's HRESET drive and step 17 executes PBI, is it reasonable to prioritize the earlier stages, provided we exclude an external HRESET driver or a brief release/reassertion? Please also review the RCW and PBI above for any missing or incorrect configuration. Can CCS/SAP access native reset/PBL status or documented PLL-lock status while HRESET remains LOW, without RCW apply or another reset? Please provide the exact access context, commands and register/bit definitions. Ordinary Inspect has previously failed to find CortexA72#0 in this state. What precisely does set_source(0x40) plus a matching word-13 override and apply() do to reset, TRST and debug controls? We would like to isolate the action that allows boot without changing the final RCW contents. We can provide the generated PBL, complete UART/debugger logs and additional scope captures. Bring-up is blocked on autonomous cold boot, so guidance on the next discriminating test would be greatly appreciated. Also I was told as  a self-test , if we strap 0x9e or 0x9f without SD card or blank emmc - we will be able to see HRESET_B going low to high when POREST_B is released from 0 to 1. We tried capturing this in RDB board and was able to observe this . So on our custom board if we do the same - same behaviour is to be observed? Thank you. Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo @Hiran_E_H  Please refer to LS1046A Reference Manual, 4.4.1 Power-on reset sequence There may be an issue between steps 5 and 15. Since the starting point of HRESET_B cannot be clearly identified, steps 1 to 4 should also be checked. Thanks Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo ASLEEP is always high as LED connected is always ON. We took a second board without any hardware rework and tried to boot from SD card with same RCW except change in voltage selection and is observing HRESET_B is being low before PORESET_B is released from low to high.  The spike in HRESET_B - we are expecting is due to 1.8v pull up after PMIC PG and SoC starts driving the HRESET_B low. Currenltly we are probing to see emmc/SD CMD, DATA and CLK to see if there is any transaction is occuring. May I know what conditions to be obeyed for SoC to release HRESET_B.   Out of Curiosity we put the same SD card in the a ls1046a_rdb board and tried powering ON which reached upto uboot console.  Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo Hi @Hiran_E_H  1.It is difficult to clearly distinguish between an RCW loading issue and a PLL lock issue based on the current information. However, if CCS can successfully access the device and the PLL-related waveforms appear normal, the likelihood of a PLL issue may be lower. I would recommend comparing the SD command waveforms between a standalone cold boot and a CCS-assisted boot. In particular, compare the waveform duration and sequence to determine whether there are any abnormalities during RCW loading. You may also refer to the Reference Manual, Table 4-8 "RCW State Timing", to check whether the SD card clock reflects the expected frequency transitions during the boot process. Please note that these transitions depend on both successful RCW loading and proper PLL lock. 2.Yes, I agree with your approach. Based on the information available, it is reasonable to focus on steps 1 through 15 first, especially the early power, clock, reset, and boot-source related stages. 3.You may try the CCS commands below to verify whether the LS1046A can be accessed while the device remains in this state. For example, you can attempt to read the RCWSR registers: (bin) 1 % delete all (bin) 2 % config cc cwtap (bin) 3 % show cc (bin) 4 % ccs::config_chain {ls1043a dap sap2} (bin) 5 % display ::ccs::get_config_chain (bin) 6 % ccs::display_mem 32 0x01ee0000 4 0 100 Show more lines 4.You may also refer to the Reference Manual, Table 4-8 "RCW State Timing", and observe whether the SD card clock reflects the expected frequency changes during RCW processing. I would recommend verifying the associated waveforms during the boot sequence. In practice, I typically use the HARD-CODED mode during initial debugging. As an additional check, you could configure the board to use a hard-coded RCW and verify whether the observed waveforms follow the sequence described in Figure 4-1 "Power-on Reset Sequence". If the waveforms match the expected behavior, the reset-related hardware design is generally likely to be functioning correctly. I will be OoO for more than one week, so there will be no updates from my side during this period. If this issue is urgent, please create a new thread so that another team member can assist you. Thank you. Re: LS1046A custom board: cold boot fails from eMMC, SD and QSPI; CodeWarrior RCW apply enables U-Bo Hi, I tried to read from ccs cconsole but during cold boot stall i am getting below response (bin) 7 % ccs::display_mem 2 0x01ee0000 4 0 1 Scan timeout We tried capturing with respect to ASLEEP signal and founf below observation: SD CLK drops from ~200kHz to ~20kHz (suspecting fallback) SD DATA0 always high during 200kHz and some transaction just before clock drop to 20kHz.
記事全体を表示
有没有比较简单易用的8位微控制器/汇编语言? 我正在寻找一款可以查看实际十六进制/二进制代码的 8 位微控制器。我在大学学习 8051 汇编语言,我非常喜欢看到和理解内存中的每一条指令和值。但是这些微控制器已经过时,需要大量的“破解”才能兼容。至少每次我把代码放到真正的硬件上运行时,都会有这种感觉。那么,有没有一种简单的8位汇编语言,可以配合实际的芯片,让我能够编写简单的电子项目程序呢? Re: Is there a simple 8 bit microcontroller/assembly language that is nice to work with? 你好; 如果您正在学习汇编语言,S08PT 设备可能是一个不错的起点; S08PT|8 位 5V 全功能 MCU,带 EEPROM 和 TSI | NXP 半导体 。 使用该软件工具是CodeWarrior for MCUs (Eclipse IDE) v11.1,适用于 Windows 10/11;该工具可以使用汇编代码进行测试,因为它具有汇编调试工具视图,并且可以查看内存以了解代码的功能。 本设备配有评估板 S08PT60-EVK [MC9S08PT60],如果您感兴趣,请参阅 [ S08PT60-EVK 产品信息],其中包含各种外设,供您在实际硬件上测试代码的不同配置。 板载接口包括 RGB LED、6 轴数字加速度计和磁力计、环境温度传感器、两个电容式触摸板、电位器、两个用户按钮和红外收发器。同时兼容 Arduino 扩展板的引脚布局。 您可以在主页上阅读更多关于这些功能的信息: S08P MCU 评估套件 | 恩智浦半导体 此致敬礼,路易斯
記事全体を表示
LWIP TCP/IPサーバー・クライアント実践演習 こんにちは。S32K358 用の TCP クライアントハンドシェイクのサンプルはありますか?以前のスレッドに投稿したように、いくつか問題が発生しています。以前、S32K148 の問題解決に関する投稿(LWIP TCP/IP Server-Client Hands-On - NXP Community)を見ましたが、それが役に立つかもしれません。 もしお持ちでしたら、コピーを送っていただけないでしょうか。私のメールアドレスは[email protected]です。よろしくお願いいたします! Re: LWIP TCP/IP Server-Client Hands-On こんにちは、@sunshine88 さん。 S32K358には、lwip_s32k148_HandsOnワークショップのような参考プロジェクトはありません。lwip_s32k148_HandsOn_Server と lwip_s32k148_HandsOn_Client の両方をプライベートメッセージでお送りしました。 よろしくお願いします、 ジュリアン
記事全体を表示
S32K358 MBDT/Simulink – 将 SoC 存储在非易失性存储器中 您好,NXP团队, 我正在使用 RD-BESSK358BMU 板(S32K358 MCU)以及 MATLAB/Simulink 和 NXP MBDT。 我的板上运行着一个 EKF SOC 估算器。我需要定期将计算出的 SOC 保存到非易失性存储器中,以便在完全断电/开机后,可以读取最后存储的 SOC 并将其用作 EKF 的初始 SOC。 在 Simulink/MBDT 中,对于 S32K358,推荐的实现方式是什么? 我可以在 S32 配置工具中看到 Fee、MemAcc 和 Mem_43_InFls。这些模块是否适用于此目的? 您能否分享一些关于S32K358 Simulink/MBDT非易失性读/写的示例? 我找到了一些使用 EEPROM/FEE 的较早的 S32K 示例,但我特别想找到适用于 Simulink/MBDT 的 S32K358 的推荐解决方案。 谢谢。
記事全体を表示