Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
s32ds Arm のアクティベーションに失敗しました S32DSを再インストールした後、アクティベーションコード60CA-0D4F-9A08-3EEBを使用した際に、「お使いのソフトウェアのアクティベーションコードは別の機能用です」というエラーメッセージが表示されました。 この問題について確認していただけますか?添付ファイルは私のインストールログです 回复: s32ds arm Activation failed キャンセルボタンをクリックした後、「ソフトウェアのアクティベーションコードは既にこのステーションで使用されています(3 アクティベート済み 2.2)」というエラーメッセージが表示されました。 回复: s32ds arm Activation failed はい、アクティベーションの問題は解決しました。 しかし、S32DSを開いてS32K144用の新しいプロジェクトを作成すると、プロジェクトフォルダを展開したときに「サポートされていないか、認識されない形式です」というエラーポップアップウィンドウが表示されます。ポップアップは通常の方法では閉じられません。 この問題にもかかわらず、プロジェクトは正常にコンパイルされているようだ。このエラーの原因を理解するのを手伝っていただけませんか? 回复: s32ds arm Activation failed こんにちは、 あなたのアカウントを確認したところ、木曜日にS32DSを有効化できたようですが、それでよろしいでしょうか? 回复: s32ds arm Activation failed こんにちは、 プロジェクトを共有していただけますか?このプロジェクトは、OSによる暗号化の影響を受けている可能性があります。
記事全体を表示
LS1028A could not get PHY in U-Boot Hi, I'm developing my project with LS1028A. On my board the management interface (MDC/MDIO) of AR8031 connects to EMDIO. PHY address is 2. I read the PHY register using the following commands in U-Boot: =>mdio read 2 0 Reading from bus emdio-3 PHY at address 2: TT0 - 0x0 According U-Boot code, I know the character ‘T’ means MDIO busy. The EMDIO_CFG register definition gives us the description of all the bits. But how is BSY field set to 1? Does it set by hardware? and in what circumstances will it be set to 1? Besides, I have another test that disconnects the MDIO/MDC between LS1028 and AR8031.  BSY field is still 1. Re: LS1028A could not get PHY in U-Boot Hello, I've also run into the problem where the MDIO bus is unable to read the PHY chip. I was wondering if you could kindly share how you resolved it at the time. Thank you very much. Re: LS1028A could not get PHY in U-Boot Hi, @ainolike  I met the same problem on my project. The reference board has two phy chips(RGMII QSGMII interface) connected to the lsf0204 which work very well. And we add another phy (RGMII interaface) and cause the MDIO BUSY occasionally. Can you tell me how to fix it on your project in the end? Thank you  xinli Re: LS1028A could not get PHY in U-Boot I make a test that is removing lsf0204 from our board. And the MDIO is no longer busy.  Two PHY chips are connected to lsf0204. When disconnect one, theother can be read normally. Re: LS1028A could not get PHY in U-Boot There is a lsf0204 between LS1028A and PHY MDC/MDIO interface. PHY chip is disconnected from lsf0204, the BSY bit of register is still 1. Re: LS1028A could not get PHY in U-Boot I don't know much about hardware. Our hardware engineers say that it's a matter of electrical level. Re: LS1028A could not get PHY in U-Boot > our hardware has some changes. Which exactly changes? Re: LS1028A could not get PHY in U-Boot This problem is probably a hardware problem, because our hardware has some changes. The same U-Boot image can find PHY on the development board. I want to know what the MDIO busy implementation mechanism is, which is not described in detail in LS1028ARM.pdf. Re: LS1028A could not get PHY in U-Boot => md 0x1f8101c00 1f8101c00: 80839549 00008000 00000000 00000003 1f8101c10: 00030001 00000000 00000000 00000000 1f8101c20: 00000000 00000000 00000000 00000000 1f8101c30: 00000000 00000000 00000000 00000000 => md 0x1e00074 01e00074: 00000000 00000000 00000000 00000000 01e00084: 00000000 00000000 00000000 00000000 01e00094: 00000000 00000000 00000000 00000000 01e000a4: 870b0110 00000040 00000000 00000000 Re: LS1028A could not get PHY in U-Boot Please provide raw memory dump of the EMDIO registers and DEVDISR2.
記事全体を表示
The Edge AI board design is based on an i.MX8M Nano processor with an integrated power harvesting un I'm sharing the "Black Dragon 1" model, a tablet designed for use in harsh environments. I'd appreciate your feedback on improving its performance. Re: The Edge AI board design is based on an i.MX8M Nano processor with an integrated power harvestin So what is your details qusestions need us to help you?
記事全体を表示
[FRDM-IMX95] i.MX 95 カメラ+AI - マルチスレッドによる最適化 (日本語ブログ) はじめに 前回、こちらの記事でFRDM-IMX95を用いてYOLOを使った物体認識デモを紹介しました。その記事の中では1フレームの処理を1ループの中で全部シーケンシャルに実施し、12~15fps程度のフレームレートになっていました。 今回は、最適化を行い、フレームレートの大幅な向上を図ってみます。 上記の記事でYOLOv8mが動いている前提での説明します。 (作業時間:10分) *i.MX95カメラ+AI – YOLOv8mの例が完了している前提 最適化の手段 CPUではなくハードウェアアクセラレータを使う いくつかのスレッドに分け、時間のかかる処理を分割して高速化させる ループ内での処理をできるだけ減らす というのが常套手段かと思います。 既存のデモでは、簡単に使えるハードウェアアクセラレータについてはすでに組み込んでいます。 3860x2160といった高い解像度の入力を、プレビュー表示に十分な1280x720へのリサイズをするところにimxvideoconvert_g2d=GPU 2Dを使っています。 今回は、まだ実施していないスレッド分割をやってみます。 マルチスレッドによるパイプライン まずはパイプライン構成の概念から説明します。 カメラ入力+AIでの画像認識では、大きく分けて3つのパートに分かれます。 画像入力パート NPUでの推論パート ポストプロセスパート これらが全部終わって、ようやく画像認識結果がディスプレイに表示されます。 仮に 画像入力に8ms NPU推論に40ms ポストプロセスに12ms かかったという例を考えます。トータル60msかかって、結果1000/60=16.6fpsとなるわけですね。 赤くかこったポストプロセスの箱が、ディスプレイに結果表示が行われるところです。 これを、画像入力スレッド、NPU推論スレッド、ポストプロセススレッドの3本のスレッドにわけると以下のようにできます。 一番時間のかかるスレッドのことをクリティカルパスと言ったりしますが、この場合NPU推論処理がクリティカルパスになりますが、1つのループにかかる時間がクリティカルパスの処理時間に短縮できます。最初のディスプレイ出力結果は上の例よりも遅くなる(=レイテンシが増える)ものの、2回目以降のディスプレイ出力は早くなり、結果的にフレームレートが高くなる、という結果が得られます。 これはCPUのパイプライン処理、周波数を上げる手法と全く同じものです。 フレームレートを高めることを至上目的とする場合、原理的にはAPI単独で一番時間がかかるものを特定してそのAPI単体のスレッドを作成、それ以外のスレッドは、先に特定したクリティカルパスのスレッドを超えないようにAPI、コードをまとめていく、というやり方になるかとは思います。ただその結果スレッドが増えることでのオーバーヘッドが大きくなってしまったり、スレッドの本数分だけレイテンシが追加されることになりますので、現実的なバランス、メンテナンスのしやすさを考慮してスレッド分割するのがいいですね。 Pythonコードのマルチスレッド化 上の例で示したような3つのスレッドに分ける実装をしてみました。 #!/usr/bin/env python3 import os import time import threading import queue import cv2 import numpy as np import tflite_runtime.interpreter as tflite # ============================================================ # 設定 # ============================================================ MODEL_PATH = "/usr/bin/tensorflow-lite-2.19.0/examples/yolov8m_int8_neutron.tflite" LABEL_PATH = "/usr/bin/tensorflow-lite-2.19.0/examples/labels_yolov8.txt" # COCO 80 classes CONF_TH = 0.60 IOU_TH = 0.45 MAX_DET = 50 MIN_BOX_W = 4 MIN_BOX_H = 4 GST_PIPELINE = ( "libcamerasrc " "camera-name=/base/soc/bus@42000000/i2c@42540000/os08a20_mipi@36 ! " "video/x-raw,format=YUY2,framerate=30/1,width=3840,height=2160 ! " "imxvideoconvert_g2d rotation=4 ! " "video/x-raw,width=1280,height=720,format=BGRA ! " "appsink drop=true max-buffers=1" ) # libcamera / TFLite 関連環境変数 os.environ["LIBCAMERA_IPA_MODULE_PATH"] = "/usr/lib/libcamera/ipa-nxp-neo-uguzzi/" os.environ["LIBCAMERA_PIPELINES_MATCH_LIST"] = "nxp/neo,imx8-isi,uvc" # Neutron 使用時は XNNPACK を無効化 os.environ["TFLITE_DISABLE_XNNPACK"] = "1" DELEGATE_LIB = "/usr/lib/libneutron_delegate.so" # ============================================================ # ユーティリティ # ============================================================ def load_labels(path: str) -> list[str]: with open(path, "r", encoding="utf-8") as f: return [line.strip() for line in f] def bbox_iou(box: np.ndarray, boxes: np.ndarray) -> np.ndarray: """1 つの box と複数 box 群との IoU を計算。""" x1 = np.maximum(box[0], boxes[:, 0]) y1 = np.maximum(box[1], boxes[:, 1]) x2 = np.minimum(box[2], boxes[:, 2]) y2 = np.minimum(box[3], boxes[:, 3]) inter_w = np.maximum(0, x2 - x1) inter_h = np.maximum(0, y2 - y1) inter = inter_w * inter_h area1 = (box[2] - box[0]) * (box[3] - box[1]) area2 = (boxes[:, 2] - boxes[:, 0]) * (boxes[:, 3] - boxes[:, 1]) union = area1 + area2 - inter + 1e-6 return inter / union def nms(boxes: np.ndarray, scores: np.ndarray, iou_th: float) -> list[int]: """単純な NMS 実装。""" idxs = np.argsort(scores)[::-1] keep: list[int] = [] while len(idxs) > 0: i = idxs[0] keep.append(i) if len(idxs) == 1: break ious = bbox_iou(boxes[i], boxes[idxs[1:]]) idxs = idxs[1:][ious < iou_th] return keep def sigmoid(x: np.ndarray) -> np.ndarray: return 1.0 / (1.0 + np.exp(-x)) # ============================================================ # スレッド: 1. カメラキャプチャ (+ 前処理 + 入力テンソル作成) # ============================================================ def capture_worker( cap: cv2.VideoCapture, frame_queue: "queue.Queue[tuple]", stop_event: threading.Event, in_h: int, in_w: int, input_dtype: np.dtype, in_scale: float, in_zero: float, ) -> None: """ cap.read() でフレームを取得し、前処理+入力テンソル作成まで行って frame_queue に流すスレッド。 キューには以下のタプルを入れる: (frame_bgr, input_data, scale, left, top, w0, h0) """ canvas = np.full((in_h, in_w, 3), 114, dtype=np.uint8) try: while not stop_event.is_set(): ret, frame_bgra = cap.read() if not ret: print("Failed to read frame") stop_event.set() break frame_bgr = cv2.cvtColor(frame_bgra, cv2.COLOR_BGRA2BGR) h0, w0 = frame_bgr.shape[:2] # 前処理: letterbox scale = min(in_w / w0, in_h / h0) nw, nh = int(w0 * scale), int(h0 * scale) resized = cv2.resize(frame_bgr, (nw, nh)) canvas[:] = 114 top = (in_h - nh) // 2 left = (in_w - nw) // 2 canvas[top : top + nh, left : left + nw] = resized img_rgb = canvas # 必要ならここで BGR→RGB に変更 # 入力テンソル作成 if input_dtype == np.uint8: input_data = np.empty((1, in_h, in_w, 3), dtype=np.uint8) input_data[0, ...] = img_rgb else: # int8 モデル img_f = img_rgb.astype(np.float32) / 255.0 q = (img_f / in_scale + in_zero).astype(np.int8) input_data = q[np.newaxis, ...] # (1, H, W, 3) # 古いフレームを捨てて最新 1 枚だけキープ try: while True: frame_queue.get_nowait() except queue.Empty: pass try: frame_queue.put( (frame_bgr, input_data, scale, left, top, w0, h0), timeout=0.01, ) except queue.Full: # ここに来ることはほぼないが、一応無視 pass finally: cap.release() # ============================================================ # スレッド: 2. 推論 (interpreter.invoke のみ) # ============================================================ def inference_worker( frame_queue: "queue.Queue[tuple]", result_queue: "queue.Queue[tuple]", interpreter: tflite.Interpreter, input_index: int, output_index: int, out_scale: float, out_zero: float, out_dtype: np.dtype, stop_event: threading.Event, ) -> None: """ capture_worker から前処理済み入力テンソルを受け取り、 interpreter.invoke() と出力のデ量子化まで行うスレッド。 後処理用に out(=N×C), スケール情報などを result_queue に渡す。 """ while not stop_event.is_set(): try: frame_bgr, input_data, scale, left, top, w0, h0 = frame_queue.get(timeout=0.1) except queue.Empty: continue # 推論 interpreter.set_tensor(input_index, input_data) interpreter.invoke() out_raw = interpreter.get_tensor(output_index)[0] # 期待形状: (84, 2100) 等 # 逆量子化 if np.issubdtype(out_dtype, np.integer): out_f = (out_raw.astype(np.float32) - out_zero) * out_scale else: out_f = out_raw.astype(np.float32) # 形状正規化: (84, N) または (N, 84) -> (N, 84) if out_f.ndim == 3 and out_f.shape[0] == 1: out_f = out_f[0] if out_f.ndim == 2 and out_f.shape[0] in (84, 85): out = out_f.reshape(out_f.shape[0], -1).T elif out_f.ndim == 2 and out_f.shape[1] in (84, 85): out = out_f else: out = out_f.reshape(-1, out_f.shape[-1]) # 後段用キューに結果を渡す(最新のみ保持) try: while True: result_queue.get_nowait() except queue.Empty: pass try: result_queue.put( (frame_bgr, out, scale, left, top, w0, h0), timeout=0.01, ) except queue.Full: # ここに来ることはほぼないが、一応無視 pass # ============================================================ # スレッド: 3. 後処理(NMS / 描画 / 表示) # ============================================================ def postprocess_worker( result_queue: "queue.Queue[tuple]", labels: list[str], in_h: int, in_w: int, stop_event: threading.Event, ) -> None: """ 推論結果(out)を受け取り、後処理(sigmoid/閾値/NMS/描画)と表示を行うスレッド。 """ fps = 0.0 prev_time = time.time() window_name = "i.MX95 CPU (YOLOv8 via TFLite + OpenCV)" while not stop_event.is_set(): try: frame_bgr, out, scale, left, top, w0, h0 = result_queue.get(timeout=0.1) except queue.Empty: continue # FPS 計算(表示ループベース) now = time.time() dt = now - prev_time if dt > 0: fps = 1.0 / dt prev_time = now num_det, num_ch = out.shape boxes: list | np.ndarray = [] scores: list | np.ndarray = [] classes: list | np.ndarray = [] # YOLOv8 風: [cx, cy, w, h, cls_logits x 80] if num_ch == 84: cx = out[:, 0] cy = out[:, 1] w = out[:, 2] h = out[:, 3] cls_logits = out[:, 4:] # (N, 80) cls_probs = sigmoid(cls_logits) cls_id = np.argmax(cls_probs, axis=1) conf = cls_probs[np.arange(num_det), cls_id] # 信頼度しきい値 mask = conf >= CONF_TH if np.any(mask): cx = cx[mask] cy = cy[mask] w = w[mask] h = h[mask] conf = conf[mask] cls_id = cls_id[mask] # 0〜1 正規化座標 -> 入力解像度 x1 = (cx - w / 2.0) * in_w y1 = (cy - h / 2.0) * in_h x2 = (cx + w / 2.0) * in_w y2 = (cy + h / 2.0) * in_h # letterbox を元画像座標に補正 x1 = (x1 - left) / scale y1 = (y1 - top) / scale x2 = (x2 - left) / scale y2 = (y2 - top) / scale # ボックスの最小サイズでフィルタ bw = x2 - x1 bh = y2 - y1 size_mask = (bw >= MIN_BOX_W) & (bh >= MIN_BOX_H) if np.any(size_mask): x1 = x1[size_mask] y1 = y1[size_mask] x2 = x2[size_mask] y2 = y2[size_mask] conf = conf[size_mask] cls_id = cls_id[size_mask] boxes = np.stack([x1, y1, x2, y2], axis=1).astype(np.float32) scores = conf.astype(np.float32) classes = cls_id.astype(np.int32) # NMS & 描画 if isinstance(boxes, np.ndarray): has_det = boxes.shape[0] > 0 else: has_det = len(boxes) > 0 if has_det: boxes = np.asarray(boxes, dtype=np.float32) scores = np.asarray(scores, dtype=np.float32) classes = np.asarray(classes, dtype=np.int32) keep = nms(boxes, scores, IOU_TH) keep = sorted(keep, key=lambda i: scores[i], reverse=True)[:MAX_DET] for idx in keep: x1, y1, x2, y2 = boxes[idx] cls_id = int(classes[idx]) conf = float(scores[idx]) label = labels[cls_id] if 0 <= cls_id < len(labels) else f"id{cls_id}" x1 = int(max(0, min(w0 - 1, x1))) y1 = int(max(0, min(h0 - 1, y1))) x2 = int(max(0, min(w0 - 1, x2))) y2 = int(max(0, min(h0 - 1, y2))) cv2.rectangle(frame_bgr, (x1, y1), (x2, y2), (0, 255, 0), 2) cv2.putText( frame_bgr, f"{label}:{conf:.2f}", (x1, y1 - 5), cv2.FONT_HERSHEY_SIMPLEX, 0.6, (0, 255, 0), 2, ) cv2.putText( frame_bgr, f"FPS: {fps:.1f}", (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.8, (0, 255, 255), 2, ) cv2.imshow(window_name, frame_bgr) if (cv2.waitKey(1) & 0xFF) == ord("q"): stop_event.set() break cv2.destroyAllWindows() # ============================================================ # main # ============================================================ def main() -> None: # TFLite Interpreter 準備 delegate = tflite.load_delegate(DELEGATE_LIB) interpreter = tflite.Interpreter( model_path=MODEL_PATH, experimental_delegates=[delegate], ) interpreter.allocate_tensors() input_details = interpreter.get_input_details() output_details = interpreter.get_output_details() print("Input details :", input_details) print("Output details:", output_details) input_index = input_details[0]["index"] input_shape = input_details[0]["shape"] # [1, H, W, 3] _, in_h, in_w, _ = input_shape input_dtype = input_details[0]["dtype"] output_index = output_details[0]["index"] out_qparams = output_details[0]["quantization_parameters"] out_scale = out_qparams["scales"][0] if len(out_qparams["scales"]) > 0 else 1.0 out_zero = out_qparams["zero_points"][0] if len(out_qparams["zero_points"]) > 0 else 0 out_dtype = output_details[0]["dtype"] labels = load_labels(LABEL_PATH) # 入力量子化パラメータ(int8 モデル用) in_qparams = input_details[0]["quantization_parameters"] in_scale = in_qparams["scales"][0] if len(in_qparams["scales"]) > 0 else 1.0 in_zero = in_qparams["zero_points"][0] if len(in_qparams["zero_points"]) > 0 else 0 # カメラ初期化 cap = cv2.VideoCapture(GST_PIPELINE, cv2.CAP_GSTREAMER) if not cap.isOpened(): raise RuntimeError("Failed to open camera") frame_queue: "queue.Queue[tuple]" = queue.Queue(maxsize=1) result_queue: "queue.Queue[tuple]" = queue.Queue(maxsize=1) stop_event = threading.Event() # スレッド起動 t_capture = threading.Thread( target=capture_worker, args=(cap, frame_queue, stop_event, in_h, in_w, input_dtype, in_scale, in_zero), daemon=True, ) t_infer = threading.Thread( target=inference_worker, args=( frame_queue, result_queue, interpreter, input_index, output_index, out_scale, out_zero, out_dtype, stop_event, ), daemon=True, ) t_post = threading.Thread( target=postprocess_worker, args=(result_queue, labels, in_h, in_w, stop_event), daemon=True, ) print("Press 'q' to quit") t_capture.start() t_infer.start() t_post.start() try: while not stop_event.is_set(): time.sleep(0.1) except KeyboardInterrupt: stop_event.set() t_capture.join() t_infer.join() t_post.join() if __name__ == "__main__": main() 結果 この結果、同じモデルを使って、28~30fpsにまでフレームレートを上げることができました。カメラCMOSセンサからの入力が30fpsですので、狙うべきところまで達成できましたね(動画は割愛)。 各スレッドの処理にかかる時間を測定してみたところ、カメラキャプチャスレッドが33~36ms、NPUの推論スレッドが28~30ms、ポストプロセススレッドが26~30msと、偶然にもいいバランスで調整することができました。 おわりに 今回はパフォーマンス向上の例としてマルチスレッドによるパイプライン化を試してみました。 レイテンシを許容できる前提とはなりますが、効果的なチューニング方法ではないかと思います。 ※この記事には、AI生成コードをベースに投稿者が内容を確認した内容が含まれます。 ========================= 本投稿の「Comment」欄にコメントをいただいても、現在返信に対応しておりません。​ お手数をおかけしますが、お問い合わせの際には「NXPへの技術質問 - 問い合わせ方法 (日本語ブログ)」をご参照ください。​ (既に弊社NXP代理店、もしくはNXPとお付き合いのある方は、直接担当者へご質問いただいてもかまいません。) 前回、こちらの記事でFRDM-IMX95を用いてYOLOを使った物体認識デモを紹介しました。 その記事の中では、12~15fps程度のフレームレートになっていましたが、本記事では最適化を行い、フレームレートの大幅な向上を図ってみます。 (作業時間:10分) *i.MX95カメラ+AI – YOLOv8mの例が完了している前提 i.MX Processors 日本語ブログ
記事全体を表示
Audifort Reviews 2026 - Does it Really Work? Audifort is gaining attention as a natural supplement designed to support hearing health and reduce issues like ringing in the ears. Many audifort reviews and complaints consumer reports suggest that users notice gradual improvements in clarity and focus when taken consistently. If you’re wondering, does audifort really work for tinnitus, is it legit and worth it, the answer depends on expectations. It’s not an instant fix, but many users report reduced discomfort over time. The formula focuses on supporting brain-ear connection and nerve health. Results vary, but consistency is key for noticeable benefits. If you’re planning to try it, always buy audifort from official website in UK USA Canada Australia NZ and IE and worldwide with best discount & 2 free bonuses to ensure authenticity and current offers.  Official Website: https://audifort.smartdiscoveryhub.com
記事全体を表示
ThE Brain Song レビュー 2026:~ 正直なレビューと苦情 興味があります ブレインソングレビュー2026:記憶力と集中力に本当に効果があるのか? このオーディオベースのプログラムは、認知機能に関連する音の周波数を利用して、脳の働きをサポートするように設計されています。多くのユーザーが、毎日継続して使用することで、集中力の向上、記憶力の改善、精神的疲労の軽減を報告しています。このプログラムは、サプリメントや薬を使用するのではなく、脳の活動を刺激することに重点を置いています。しかし、効果は徐々に現れるものであり、即効性のある解決策ではないため、忍耐が必要です。一部のユーザーは、時間の経過とともに微妙な改善に気づく。総じて言えば、「ブレインソング」は、健康的な生活習慣と併せて継続的に使用することで、記憶力と集中力を高めるのに役立つ可能性がある。 詳細レビューはこちらをクリックしてください: https://tinyurl.com/5n6wpjwv #thebrainsong #thebrainsongreviews Re: ThE Brain Song Reviews 2026:~ An Honest Review And COmpaliants 「ブレインソング」は、集中力を高め、ポジティブな気持ちを刺激し、一日を数分で活気づける、究極の脳活性化トラックです。 再生ボタンを押すたびに、より賢く、より穏やかに、より意欲的に感じられるでしょう。 ただ音楽を聴くだけではなく、The Brain Songであなたの脳の潜在能力を最大限に引き出しましょう!
記事全体を表示
Audifort 评论 2026 - 它真的有用吗? Audifort 作为一种旨在支持听力健康和减少耳鸣等问题的天然保健品,正在受到越来越多的关注。许多 audifort 的评论和消费者投诉报告表明,坚持服用后,用户会逐渐提高清晰度和注意力。如果你想知道,audifort 对耳鸣真的有效吗? 虽然不能立竿见影,但许多用户表示,随着时间的推移,不适感会逐渐减轻。该配方主要支持脑耳连接和神经健康。效果各不相同,但坚持不懈是取得明显效果的关键。 如果您打算试用,请务必从英国、美国、加拿大、澳大利亚、新西兰、IE 和全球的官方网站购买 audifort,并享受最优惠的折扣& 2 个免费红包,以确保真实性和当前优惠。 官方网站: https://audifort.smartdiscoveryhub.com
記事全体を表示
SPIドライバ これは、NXPがVeoneer向けに開発したカスタムSPIドライバに関連するものです。弊社では、改善策を検討しており、この案にご賛同いただけるかどうか、ご相談させていただきたいと考えております。 ルーチンSpi_HwTransferでは、要求されたシーケンスの各チャネルに対してwhileループが実行されます。私たちの理解では、このループ内で実行されるプロセスは、シーケンスが要求されるたびに毎回実行する必要があるものではありません。このプロセスは、Spi_Init のコンテキスト内で、すべてのシーケンスとその関連チャネルに対して一度だけ実行すれば十分であると考えています。このロジックをSpi_HwTransferではなくSpi_Initに組み込むことができれば、この操作は1msごとに12回実行されるため、大幅な時間計測の最適化につながる可能性があります。合計で約4%の節約になる可能性がある。 このwhileループをSpi_Initに移動することで、SPIが正しく動作するために必要な機能要件を満たすことができるかどうか、教えていただけますでしょうか。 whileループの一部もこの質問に添付されています。 Re: Spi Driver こんにちは、 @hislimさん プライベートメッセージを送りました。
記事全体を表示
license for codewarrior Good afternoon , I have a problem with license for Codewarrior? How can I do it? Re: license for codewarrior Hi,  did you generated license file from your account? You still have one license available and valid till end of May. 
記事全体を表示
ハードウェアFRDM-RW612でのKNX IoTビルドが失敗しました。 NXPチームの皆様、こんにちは。 下記のリンクの手順に従って作業しましたが、センサとアクチュエーターのサンプルビルドに失敗しました。 この問題を解決するのを手伝っていただけませんか?ありがとうございます。 https://github.com/nxp-appcodehub/dm-knx-iot-apps-with-ets-support-on-nxp-mcus 開発ボード Re: KNX iot build failed in hardware FRDM-RW612. こんにちは、リカルドさん ご返信ありがとうございます。ステップ4:例のビルディング CMDより下で実行され、「西側ビルド」のため停止しました。 # Setup environment first sdk/repo/mcuxsdk/mcux-env.cmd # Then build sh script/build_rw612_knx all build-type=Debug Re: KNX iot build failed in hardware FRDM-RW612. こんにちは、 あなたの調子が良いといいのですが。どの手順で問題が発生しているのか、詳しく教えていただけますか? よろしくお願いいたします。 リカルド Re: KNX iot build failed in hardware FRDM-RW612. こんにちは、 @Shawn_LSQと@Ricardo_Zamora さん。 この投稿で報告された問題に対する回避策を提供します。 Windows CLIでのコンパイルに必要な手順書を見つけました。これはGITのインストールに関連するものです。Gitのインストール時に行うべき手順については、添付の画像を参照してください。これにより、コマンドプロンプトからビルドを実行できるようになります。 ビルドする前に、以下のコマンドを入力する必要があります。 sdk\repo\mcuxsdk\mcux-env.cmd これでそちら側の問題が解決するかどうか教えてください。 BR、 ミハイ
記事全体を表示
eno0を設定できないのはなぜですか?また、MDIO信号ピンの信号レベルが変化しないのはなぜですか? こんにちは、 私はLS1028A評価ボードを使用しています。私はドキュメントに従って、bld -m ls1028ardb コマンドを使用して LS1028A のブートイメージを作成しました。SDカードにイメージを書き込んでシステムを起動した後、システム内でeno0を設定することができません。エラー内容は以下のとおりです。 root@ls1028ardb:~# ifconfig eno0 192.168.0.110 [ 312.156125] net eno0: could not attach to PHY SIOCSIFFLAGS: No such device ログを確認したところ、以下のエラーが見つかりました。 fsl_enetc_mdio 0000:00:00.3: probe with driver fsl_enetc_mdio failed with error -5 ログによると、MDIOドライバがプローブに失敗し、PHYの接続が妨げられたことが示されています。さらに、ログにはenethだけでなく、4つのスイッチポートすべてにおいてPHY接続タイムアウトが発生していることが示されています。 私はオシロスコープを使用して、EMI1_MDIOピンとEMI1_MDCピンの信号レベルを測定しました。EMI1_MDCは670kHzの矩形波を連続的に出力しますが、これは正常な動作のようです。しかし、U-Bootでmdioコマンドを使用してPHY IDを照会する場合、EMI1_MDIOピンは常にハイレベルのままになります。U-Bootコマンドとその出力結果を以下に示します。 => mdio list enetc-0: emdio-3: 2 - AR8031/AR8033 <--> enetc-0 10 - Generic PHY <--> swp0 11 - Generic PHY <--> swp1 12 - Generic PHY <--> swp2 13 - Generic PHY <--> swp3 enetc-2: felix-switch: => => mdio read enetc-2 2 0x02 Reading from bus enetc-2 PHY at address 2: 2 - 0x83 => mdio read enetc-2 2 0x03 Reading from bus enetc-2 PHY at address 2: 3 - 0xe400 => mdio read enetc-0 2 0x02 Reading from bus enetc-0 PHY at address 2: 2 - 0x0 => mdio read enetc-0 2 0x03 Reading from bus enetc-0 PHY at address 2: 3 - 0x0 => mdio read emdio-3 2 0x00 Reading from bus emdio-3 PHY at address 2: TT0 - 0x9200 => mdio read emdio-3 2 0x02 Reading from bus emdio-3 PHY at address 2: TT2 - 0x9200 => mdio read emdio-3 2 0x03 Reading from bus emdio-3 PHY at address 2: TT3 - 0x9200 => 問題はこの部分にあるのではないかと疑っています。しかし、RCW、デバイスツリー、ハードウェアを徹底的に確認しましたが、明らかなエラーは見つかりませんでした。以下は、起動プロセスにおけるタイムアウトログです。 NOTICE: Fixed DDR on board NOTICE: 4 GB DDR4, 32-bit, CL=11, ECC on NOTICE: BL2: v2.12.0(release):lf-6.12.20-2.0.0 NOTICE: BL2: Built : 14:45:11, Dec 4 2025 NOTICE: BL2: Booting BL31 NOTICE: BL31: v2.12.0(release):lf-6.12.20-2.0.0 NOTICE: BL31: Built : 14:45:14, Dec 4 2025 NOTICE: Welcome to ls1028ardb BL31 Phase U-Boot 2025.04 (Dec 04 2025 - 14:45:02 +0800) SoC: LS1028A Rev1.0 (0x870b0110) Clock Configuration: CPU0(A72):1500 MHz CPU1(A72):1500 MHz Bus: 400 MHz DDR: 1600 MT/s Reset Configuration Word (RCW): 00000000: 3c004010 00000030 00000000 00000000 00000010: 00000000 018f0000 0030c000 00000000 00000020: 020031a0 00002580 00000000 00003296 00000030: 00000000 00000010 00000000 00000000 00000040: 00000000 00000000 00000000 00000000 00000050: 00000000 00000000 00000000 00000000 00000060: 00000000 00000000 200e705a 00000000 00000070: bb580000 00000000 Model: LS1028A RDB Board Board: LS1028A Rev1.0-RDB, Version: C, boot from SD FPGA: v8 (RDB) SERDES1 Reference : Clock1 = 100.00MHz Clock2 = 100.00MHz DRAM: 3.9 GiB DDR 3.9 GiB (DDR4, 32-bit, CL=11, ECC on) Using SERDES1 Protocol: 47960 (0xbb58) PCIe1: pcie@3400000 Root Complex: no link PCIe2: pcie@3500000 Root Complex: no link Core: 58 devices, 26 uclasses, devicetree: separate WDT: Started watchdog@c000000 with servicing every 1000ms (60s timeout) WDT: Started watchdog@c010000 with servicing every 1000ms (60s timeout) MMC: FSL_SDHC: 0, FSL_SDHC: 1 Loading Environment from MMC... Reading from MMC(0)... *** Warning - bad CRC, using default environment EEPROM: Invalid ID (ff ff ff ff) In: serial Out: serial Err: serial SEC0: RNG instantiated Net: TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT Warning: enetc-0 (eth0) using random MAC address - 3a:b9:c4:9e:93:20 eth0: enetc-0 Warning: enetc-2 (eth1) using random MAC address - 62:d9:2b:9d:bd:a5 , eth1: enetc-2TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTPHY reset timed out TTTTTTTTTTTTT, eth2: swp0TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTPHY reset timed out TTTTTTTTTTTTT, eth3: swp1TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTPHY reset timed out TTTTTTTTTTTTT, eth4: swp2TTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTPHY reset timed out TTTTTTTTTTTTT, eth5: swp3 これらの問題の原因を特定するのにご協力いただけますでしょうか? よろしくお願いします。 Re: Why Cannot eno0 Be Configured and Why Is There No Signal Level Change on the MDIO Signal Pin? dts ファイル arch/arm64/boot/dts/freescale/fsl-ls1028a-rdb.dts では、コメントに従って、以下の修正を行ってください。 &enetc_mdio_pf3 { sgmii_phy0: イーサネット-phy@2 { reg = <0x2>;// カスタムボード上の enetc0 の実際の PHY アドレスで PHY アドレスを変更してください。         }; /* VSC8514 QSGMII クアッド PHY */ qsgmii_phy0: イーサネット-phy@10 { reg =<0x10> ; // カスタムボード上の実際の PHY アドレス swp0 を使用して PHY アドレスを変更してください。         }; qsgmii_phy1: ethernet-phy@11 { reg =<0x11> ;// カスタムボード上のswp1の実際のPHYアドレスでPHYアドレスを変更してください。         }; qsgmii_phy2: イーサネット-phy@12 { reg =<0x12> ;// カスタムボード上のswp2の実際のPHYアドレスでPHYアドレスを変更してください。         }; qsgmii_phy3: イーサネット-phy@13 { reg =<0x13> ; // カスタムボード上のswp3の実際のPHYアドレスでPHYアドレスを変更してください。         }; }; Re: Why Cannot eno0 Be Configured and Why Is There No Signal Level Change on the MDIO Signal Pin? 以前は、flex-installerツールをバージョン2108に戻していませんでした。指示通りにUbuntuシステムのフラッシュと起動をすべて完了しました。しかし、eno0ネットワークカードは依然として認識されません。当社のハードウェアは、「spf-39071_a1.pdf」という文書に基づいて作成されたカスタムボードです。eno0ネットワークカードに対応するPHYチップはAR8033からAR8031に変更され、CPLDチップに書き込まれたプログラムはバージョンv8です。 そこで、私は以下の質問をしたいと思います。 AR8033をAR8031に交換した場合、完全な互換性はありますか?また、ソフトウェアの変更は必要ですか? CPLDチップに書き込まれたプログラムのバージョンは、PHYチップのリセットに影響しますか? ご提供いただいたプログラムは、この開発ボードに対応し、ネットワークカードを正しく認識できますか? ログは以下に添付されています。ご返信をお待ちしております。 Re: Why Cannot eno0 Be Configured and Why Is There No Signal Level Change on the MDIO Signal Pin? 上記で提供したログファイルは、あなたが指示した手順に正確に従って設定されています。詳細は下記のスクリーンショットをご覧ください。 Re: Why Cannot eno0 Be Configured and Why Is There No Signal Level Change on the MDIO Signal Pin? SDカードを展開し、SDカードからUbuntuのルートファイルシステムを起動するには、上記の手順に従ってください。 Ubuntuのrootfsには「ethtool」コマンドがあります。 Re: Why Cannot eno0 Be Configured and Why Is There No Signal Level Change on the MDIO Signal Pin? eno0の設定がまだできません。EMI1_MDIOピンは常にハイレベルに保持されます。このログファイルから、U-Bootとカーネルの起動プロセスがそれぞれ正常かどうか確認していただけますか?また、提供いただいた3つのファイルは、開発ボード上で正常に起動しますか?正常に起動する場合、私の側のハードウェアに問題がある可能性はありますか?問題が発生した場合、ログから特定できますか? Re: Why Cannot eno0 Be Configured and Why Is There No Signal Level Change on the MDIO Signal Pin? 以下の手順に従って、LSDK 21.08のプレビルドイメージをダウンロードしてください。 $ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/firmware_ls1028ardb_sdboot.img $ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/boot_LS_arm64_lts_5.10.tgz $ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/rootfs_lsdk2108_ubuntu_main_arm64.tgz 次に、それらをSDカードに展開します。 $ wget https://www.nxp.com/lgfiles/sdk/lsdk2108/flex-installer&& chmod +x flex-installer && sudo mv flex-installer /usr/bin $ flex-installer -i pf -d /dev/sdb $ flex-installer -f firmware_ls1028ardb_sdboot.img-b boot_LS_arm64_lts_5.10.tgz -r rootfs_lsdk2108_ubuntu_main_arm64.tgz-d /dev/sdb 注:/dev/sdbは、お使いのPC上のSDカードデバイス名です。 次に、SDカードをターゲットボードに挿入し、LS1028ARDBスイッチの設定を以下のように構成して、ターゲットボードがSDカードから起動するように設定します。 ブートソース SW2[1:8] SW3[1:8] SW5[1:8] SDカード(SDHC1)1000_1000 1111_0000 0011_1001 SDカードからLinuxを起動し、「ethtool」を使用してリンクの状態を確認してください。 Re: Why Cannot eno0 Be Configured and Why Is There No Signal Level Change on the MDIO Signal Pin? U-Boot内からPCにpingすることもできません。また、EMI1_MDCの出力周波数は670kHzでしょうか?弊社のハードウェアエンジニアが、この件について私に確認を求めています。 Re: Why Cannot eno0 Be Configured and Why Is There No Signal Level Change on the MDIO Signal Pin? u-bootからeno0経由で外部にpingできるかどうか確認してください。
記事全体を表示
IMX8MP Linuxシステムを使用してCM7ファームウェアを実行すると、システムがブロックされました。 こんにちは、NXPサポートの皆様、 現在、IMX8MP CM7用のファームウェア開発に取り組んでいますが、いくつか問題が発生しています。 VS Code 用の MCUpresso を使用して、hello_world サンプルファームウェアをコンパイルしました。以下の操作を実行した際、システムが停止し、動作しなくなりました。A53のデバッグ用シリアルポートからもログは出力されませんでした。設定が正しく行われていない箇所を指摘していただけますか?TKS。 デバイスツリーの構成は以下のとおりです。 メモリ@40000000 { device_type = "memory"; reg = <0x0 0x40000000 0 0x40000000>; / * 1GB DDR */ };   予約メモリ { #address-cells = <2>; #size-cells = <2>; 範囲;   /* 128MB */ linux、cma { compatible = "shared-dma-pool"; 再利用可能。 サイズ = <0 0x8000000>; alloc-ranges = <0 0x40000000 0 0x40000000>; linux、cma-default; };   /* CM7上で動作するRTOS用に16MBを予約する */ m7_reserved: m7@7E000000 { 地図なし; reg = <0 0x7E000000 0 0x1000000>; };   vdev0vring0: vdev0vring0@7D000000 { reg = <0 0x7D000000 0 0x8000>; 地図なし; };   vdev0vring1: vdev0vring1@7D008000 { reg = <0 0x7D008000 0 0x8000>; 地図なし; };   vdevbuffer: vdevbuffer@7D100000 { compatible = "shared-dma-pool"; reg = <0 0x7D100000 0 0x100000>; 地図なし; };   rsc_table: rsc-table@7D0FF000 { reg = <0 0x7D0FF000 0 0x1000>; 地図なし; }; };   imx8mp-cm7 { compatible = "fsl,imx8mn-cm7"; rsc-da = <0x7D000000>; クロック = <&clk IMX8MP_CLK_M7_DIV>; クロック名 = "core"; mbox-names = "tx", "rx", "rxdb"; mboxes = <μ 0 1 μ 1 1 μ 3 1>; メモリ領域 = <&m7_reserved>、 <&vdevbuffer>、 <&vdev0vring0>、 <&vdev0vring1>、 <&rsc_table>; ステータス = "正常"; fsl、起動遅延ms = <500>; }; i.MX 8M | i.MX 8M Mini | i.MX 8M Nano Linux Re: When executing the CM7 firmware using the IMX8MP Linux system, the system blocked NXPのサポートチームが対応するまでの間、いくつかヒントをお送りします。 このツリー(https://github.com/nxp-imx/linux-imx/tree/lf-6.18.y )とこのdtsを使って試していただけますか? https://github.com/nxp-imx/linux-imx/blob/lf-6.18.y/arch/arm64/boot/dts/freescale/imx8mp-evk-rpmsg.dts Re: When executing the CM7 firmware using the IMX8MP Linux system, the system blocked こんにちは、 @Dzenさん お元気でお過ごしのことと思います。 AN5317 の第 9.1 章 i.MX Linux rproc サポート に従ってデバイスツリーを構成してみてください。 @dbalutaさんが提案したのと同じです。 よろしくお願いいたします。 サラス。 回复: When executing the CM7 firmware using the IMX8MP Linux system, the system blocked ありがとう、 ブートプロセスで「run prepare_mcore」コマンドを送信することにより、sysfs方法を使用してCM7のファームウェアを実行することができました。 しかし、CM7ファームウェアの動作中に、以下のエラーが依然として発生しました。私は「boards\evkmimx8mp\demo_apps\hello_world」というプロジェクトを使用しました。ログを見る限り、SAI/オーディオの設定に問題があるようです。しかし、clock_config.c(添付ファイル)内のオーディオ関連のコンテンツは既に削除しました。ファイル)にもかかわらず、エラーは依然として発生しました。何か適切に修正されていない箇所があれば教えてください。 [ 122.890817] 内部エラー: 同期外部アボート: 0000000096000210 [#1] PREEMPT_RT SMP [ 122.890822] リンクされたモジュール: fsl_jr_uio caam_jr caamkeyblob_desc caamhash_desc caamalg_desc crypto_engine authenc libdes crct10dif_ce snd_soc_imx_card polyval_ce polyval_generic snd_soc_fsl_micfil snd_soc_fsl_sai snd_soc_fsl_utils imx_pcm_dma snd_soc_tas5805m caam secvio error leds_serial_gpio fuse [ 122.890866] CPU: 0 PID: 248 Comm: irq/221-sai 汚染なし 6.6.36-rt35-lts-next#1 [ 122.890873] ハードウェア名: NXP i.MX8MPlus EVK ボード (DT) [ 122.890875] pstate: 20000005 (nzCv daif -PAN -UAO -TCO -DIT -SSBS BTYPE=--) [ 122.890881] pc : regmap_mmio_read32le+0x8/0x60 [ 122.890891] lr : regmap_mmio_read+0x44/0x70 [ 122.890896] sp : ffff800082fcbcc0 [ 122.890898] x29: ffff800082fcbcc0 x28: 0000000000000000 x27: 0000000000000000 [ 122.890905] x26: ffff8000800f3e90 x25: ffff8000800f198c x24: ffff000005f3b500 [ 122.890913] x23: ffff000005b60000 x22: ffff000005bea400 x21: ffff800082fcbd84 [ 122.890920] x20: 0000000000000008 x19: ffff000005afecc0 x18: ffffffffffffffff [ 122.890928] x17: 0000000100000100 x16: 000010003d000000 x15: ffff000036d5ac40 [ 122.890935] x14: 00000505d7fc02f4 x13: 00143f3c7cb53818 x12: 0000000000000055 [ 122.890942] x11: 0000000000000001 x10: 0000000000000a10 x9 : ffff800082fcbd30 [ 122.890951] x8 : ffff000008096170 x7 : ffff000036d5a440 x6 : 0000000000143f3c [ 122.890957] x5 : ffff80008098ce58 x4 : 0000000000000008 x3 : 0000000000000008 [ 122.890964] x2 : ffff80008098d5d8 x1 : 0000000000000008 x0 : ffff800082fb0008 [ 122.890971]通話追跡: [ 122.890974] regmap_mmio_read32le+0x8/0x60 [ 122.890979] _regmap_bus_reg_read+0x70/0xb0 [ 122.890986] _regmap_read+0x60/0xd8 [ 122.890993] regmap_read+0x4c/0x78 [ 122.890998] fsl_sai_isr+0x48/0xec [snd_soc_fsl_sai] [ 122.891012] irq_forced_thread_fn+0x3c/0xc8 [ 122.891021] irq_thread+0x174/0x23c [ 122.891028] kthread+0x110/0x114 [ 122.891034] ret_from_fork+0x10/0x20 [ 122.891043] コード: b5000001 d65f03c0 f9400000 8b214000 (b9400000) [ 122.891048] ---[ トレース終了 0000000000000000 ]--- [ 122.891051] カーネルパニック - 同期していません: 同期外部アボート: 割り込みで致命的な例外が発生しました [122.891055] SMP: セカンダリCPUを停止します [ 122.891062] カーネルオフセット: 無効 [ 122.891064] CPU機能: 0x0,00000008,00020000,1000421b [ 122.891068] メモリ制限: なし [ 123.748394] ---[ カーネルパニック終了 - 同期していません: 同期外部アボート: 割り込みで致命的な例外が発生しました ]---
記事全体を表示
Codewarrior tap and script writing I'm using CW_VSPA_v10.3.10. After successfully debugging my code, I don't know how to deploy it to the hardware with codewarrior tap. The board I'm using is LA1224. I tried to write a script and load into ccs but failed, so are there any examples or instructions that can tell me how to write a script? Re: Codewarrior tap and script writing There are two ways to launch LA1224/VSPA in CW, 1. Debug Configuration UI Here you can set correct connection, then click 'Debug' to launchLA1224/VSPA 2. Debugger shell Here you can run tcl script to launch LA1224/vspa In folder Help/pdf there is a file "Targeting VSPA.pdf" in which the above settings are introduced in detail. Besides in folder Example there are sample projects showing the steps/settings
記事全体を表示
i.mx8M Plus Pin function of AD28 Hi NXP Team, We are designing a Hardware platform using the MIMX8ML6NKZACVB Processor. We are planning to use the AD28 Soc pin for the power enable function of the SD card. This power enable (PWR_EN) signal has to be maintained at 1.8V and connected at the B2B Connector. From the Confiq tool, this pin AD28 has 2 alternate functions, like USDCH2_RESET & GPIO. Please confirm which function I need to consider this AD28 pin for the Power Enable (PWR_EN) Function in my design I have checked this pin, AD28, in the i.mx8M plus reference schematics document SCH-46368, and found that the signal SD2_RESET_B is connected to the PCA9450 (PMIC) SW_EN pin. 1. Please confirm this pin acts as USDCH2 or GPIO in EVK. 2. Please confirm in EVK Schematics NVCC_SD2 is powered at 3.3V or 1.8V Re: i.mx8M Plus Pin function of AD28 I discussed with the AE team, please refer to the following update. On the NXP EVK board, ball AD28 is assigned as SD2_RESET_B to control the load switch inside PCA9450C for SD card connected to SD2 IF. This setting is enabled by the ROM code and Linux BSP to support SD 3.0 well. To make it work correctly, SD2_RESET_B shall be pulled up to NVCC_SD2 with 4.7KOhms resistor.   To support SD 3.0, NVCC_SD2 is set as 3.3V out of reset and will be set as 1.8V to support high speed access. That means SD2_RESET_B signal level is switched between 3.3V and 1.8V also. Customers can use the load switch inside PCA9450C by connecting VSD_3V3 to the B2B connector with 2 or more pins for cost-down. If customers want to use external load switch on the base board instead, it can be enabled with SD2_RESET_B (so called as PWR_EN) which has been pulled up to NVCC_SD2 with 4.7KOhms resistor on the CPU board. Please just connect SD2_RESET_B together with the left signals of SD2 IF to the B2B connector. Re: i.mx8M Plus Pin function of AD28 Yes. It would be fine if the external load switch can be enabled by 1.8V level signal. Re: i.mx8M Plus Pin function of AD28 Hello NXP Team, Thanks for you reply. We will provide the PWR_EN signal connection from the AD28 Pin directly to the B2B Connector. Re: i.mx8M Plus Pin function of AD28 Hello NXP Team, Thanks for the reply. We are planning to use the External Load switch on the Base Board. Please confirm this PIN AD28 when working for the PWR_EN signal, it will be under the USDCH2 bank, so can I directly connect this signal to the B2B Connector to enable the load switch in the Base Board?
記事全体を表示
i.mx8M Plus AD28 的引脚功能 您好,NXP团队: 我们正在设计一个使用MIMX8ML6NKZACVB处理器的硬件平台。我们计划将AD28Soc 引脚用于 SD 卡的电源启用功能。该电源使能(PWR_EN)信号必须保持在1.8V,并连接至 B2B 连接器。 从 Confiq 工具中可以看到,AD28 的这个引脚有两个备用功能,如USDCH2_RESET& GPIO。请确认在我的设计中,AD28 引脚的电源使能 (PWR_EN) 功能需要考虑哪些功能 我在 i.MX8M plus 参考原理图文档 SCH-46368 中检查了这个引脚 AD28,发现信号 SD2_RESET_B 连接到 PCA9450 (PMIC) SW_EN 引脚。 1。请确认此引脚在 EVK 中充当 USDCH2 或 GPIO。 2.请在 EVK 原理图中确认NVCC_SD2的电源电压是 3.3V 还是 1.8V Re: i.mx8M Plus Pin function of AD28 我与 AE 团队进行了讨论,最新情况如下。 在恩智浦开发板上,球体 AD28 被指定为 SD2_RESET_B,用于控制 PCA9450C 内部连接到 SD2 IF 的 SD 卡的负载开关。此设置由 ROM 代码和 Linux 电路板支持包启用,可以很好地支持 SD 3.0。 为使其正常工作,应使用 4.7KOhms 电阻将 SD2_RESET_B 上拉至 NVCC_SD2。   为了支持 SD 3.0,NVCC_SD2 在 RESET 时设置为 3.3V,并将设置为 1.8V 以支持高速访问。这意味着 SD2_RESET_B 信号电平也在 3.3V 和 1.8V 之间切换。 客户可以通过将 VSD_3V3 连接到 B2B 连接器上的 2 个或更多引脚来降低成本,从而使用 PCA9450C 内部的负载开关。 如果客户想改用基板上的外部负载开关,则可以使用 SD2_RESET_B(所谓的 PWR_EN)将其启用,该负载开关已调至 NVCC_SD2,CPU 板上带有4.7kOhms的电阻。请将 SD2_RESET_B 和 SD2 IF 的左侧信号一起连接到 B2B 连接器。 Re: i.mx8M Plus Pin function of AD28 您好,NXP团队, 感谢您的回复。 我们计划使用基板上的外部负载开关。 在处理 PWR_EN 信号时,请确认此 PIN AD28,它将位于 USDCH2 库下,那么我能否将该信号直接连接到 B2B 连接器以启用基板中的负载开关? Re: i.mx8M Plus Pin function of AD28 是的。如果外部负载开关能通过 1.8V 信号启用,那就更好了。 Re: i.mx8M Plus Pin function of AD28 您好,NXP团队, 感谢您的回复。 我们将把 PWR_EN 信号从 AD28 引脚直接连接到 B2B 连接器。
記事全体を表示
适用于 ARM 2.2 的 S32DS,评估期已过期 产品:适用于 ARM 2.2 的 S32DS 问题:评估期已过/无法重新下载 请求:请延长我的评估许可证激活代码:[3C6C-36F7-E441-7D83] Re: S32DS for ARM 2.2, Evaluation period has expired 产品:适用于 ARM v2.2 的 S32DS 激活码:3C6C-36F7-E441-7D83 到期日期:2025 年 8 月 19 日(已过期) 我于 4 月 30 日提交了一份服务申请,希望延长 许可证的有效期,但至今(5 天)仍未得到处理。 您能延长我的执照有效期吗? 谢谢。 Re: S32DS for ARM 2.2, Evaluation period has expired 你好、 您的 S32DS for ARM v2.2 许可证已延期。
記事全体を表示
S32K344 I2C+DMA routine based on RTD 7.0.1 #S32K3 #RTD7.0 Hello , can anyone help with a routine for I2C+DMA transfer with S32K344 based on RTD 7.0.1, thanks a lot! Re: S32K344 I2C+DMA例程 基于RTD7.0.1 Hi@ phoebel I have created an RTD 7.0.1 based, I2C transfer routine using Dma. LPI2C0 is used as the master, LPI2C1 as the slave, and the test hardware is the S32K3X4EVB.
記事全体を表示
S32DS 3.6 中的编译失败(错误 127/child_copy/dofork 问题) 你好 我正在使用 S32 Design Studio3.6.0 和 AUTOSAR RTD 3.0。我正在构建一个 DIO 示例项目(LED 开关)。 同一项目在一台 PC 上成功版本和闪存。但是,在另一台 PC 上,我遇到了间歇性的版本故障。 观察到的行为 错误包括 child_copy:cygheap 读取复制失败(Win32 错误 299) 偶见 多叉失败 0xC0000142 制造:错误 127 故障与特定源文件无关,而是发生在不同尝试的不同文件上。 增量重建有时会进一步推进,在多次重试之后,版本可能会成功完成,我已经重新安装了软件。 你能否就稳定版本环境的可能原因或建议的步骤提出建议? 感谢您的支持。 顺祝商祺! Re: Build Failures in S32DS 3.6 (Error 127 / child_copy / dofork issues) 你好@aaz1234 根据对类似情况的观察,这似乎是一个与操作系统有关的问题,而不是 S32DS 的问题。第一步,您可以尝试重新安装 S32DS。另一种方法是创建一个新的工作区,然后检查问题是否仍然存在。 下面的主题讨论了一些 cygheap 错误。您还可以尝试那里提供的变通方法: S32DS 编译错误:致命错误 - 检测到 cygheap 碱基不匹配 致命错误 - 检测到 cygheap 碱基不匹配 还要验证两个设备之间是否存在任何差异(例如,操作系统版本、已安装的更新、环境变量或权限)。 BR、VaneB
記事全体を表示
i.MX8MPLUSLPD4 Quick start, IDE, Which tools to be used. We have purchased iMX8MPLUSLPD4 Board. We are looking to boot this device and perform some basic data transfers. Can anyone point us to which IDE or software tools to be used? Also, please mention OS/Software required. Which JTAG/Codewarrior version shall be used?
記事全体を表示
Looking for help acquiring .lib or .a files for legacy IDE version I have an application I'm debugging and all I know is that it was compiled in Mcuexpresso v11.9. Is there a location to download this IDE or get the library files (.lib or .a) used in this specific version ?  Re: Looking for help acquiring .lib or .a files for legacy IDE version Hi @Evastonian  Please download from: https://nxp.flexnetoperations.com/control/frse/product?child_plneID=756637&cert_num=290177297&ver=ARC   If still have any question, please fell free to contact me. BR Alice Re: Looking for help acquiring .lib or .a files for legacy IDE version Hm yeah I'm unable to find that link anywhere.  Re: Looking for help acquiring .lib or .a files for legacy IDE version Hello @Evastonian  Thank you for your question. Please download MCXUresso version 11.9 from the Previous tab. Thank you. BR Alice
記事全体を表示