Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Configuring VS Code editor for Zephyr coding style guidelines Anyone can Contribute to Zephyr, but all contributions must comply with the Coding Style Guidelines.  The editor in Visual Studio Code can be configured to help with these style guidelines.  This article details how to configure the editor. In VS Code, go to File→Preferences→Settings (or use CTRL + , to open them directly). Note that these setting changes can also be restricted to the Zephyr workspace by switching the Settings tab selection from "User" to "Workspace" if desired. The following settings help with Zephyr's style guidelines: Editor: Tab Size: set to 8 Editor: Insert Spaces: turn off Files: Trim Final Newlines: turn on Files: Trim Trailing Whitespace: turn on C_Cpp: Dim Inactive Regions: turn off Return to Zephyr Knowledge Hub
記事全体を表示
i.MX RT1010 引导加载程序/闪存加载程序 您好, 我一直在研究 i.MX RT1010 的引导加载器/闪存加载器。 我已经阅读了相关的恩智浦应用笔记(AN12604、AN12238 等),但我发现文档相当分散,而且其中大部分似乎针对的是RT10xx系列中的高端设备。 我所缺少的是一份高层次的概述,以及一份简明实用的设置指南。 据我所知,RT1010 ROM 引导加载器(通过 sdphost 从主机访问)只能将代码加载到 RAM 中。要对外部 FlexSPI 闪存编程,必须首先通过该机制将临时闪存加载器下载到 RAM 中。然后,闪存加载器执行实际的闪存编程,通常是与主机端的 blhost 一起进行。 使用安全配置工具时,内部似乎使用了预先构建的 flashloader 二进制文件来实现此目的。 我已经看过在这种情况下提到的 KBOO T和McuBoot 这两个术语,但我不清楚后者是指NXP特定的元器件,还是指来自可信固件的开源McuBoot项目(https://www.trustedfirmware.org)。 我还查看了 SDK 示例 bootloader_examples/flashloader,遗憾的是,该示例的文档非常少。从实验来看,它的作用似乎与安全配置工具使用的预建闪存加载器相同:编程完成后,我可以使用该工具刷新应用程序映像,而无需先加载预先构建的闪存加载器。 不过,对于实际产品来说,似乎应该在外部闪存中设置一个持久的闪存驻留引导加载程序。所提供的 SDK 闪存程序示例似乎没有实现这一点。 所以我的问题是 我对 RT1010 启动/闪存加载程序流程的总体理解是否正确? 如果是,RT1010 通常如何实现持久闪存驻留引导加载程序? 为了与这样的引导加载程序配合使用,应用程序方面需要做哪些更改(链接器设置、向量表重置等)? 在以前的基于 PIC 的项目中,我可以将预编译的引导加载程序作为 "额外可加载程序 "与主应用程序一起加载。我认为这里需要一种概念上类似的方法,但实施方式不同。 如能提供任何指导或说明,将不胜感激。 i.MX RT101x Re: i.MX RT1010 Bootloader / Flashloader 您好 查看: https://www.utasker.com/iMX/RT1010.html https://www.utasker.com/iMX/developers.html https://www.utasker.com/docs/iMX/Loader.pdf https://www.utasker.com/docs/uTasker/uTaskerSerialLoader.pdf 视频网址:https://www.youtube.com/watch?v=GXztWg9m6_8&list=PLWKlVb_MqDQEOCnsNOJO8gd3jDCwiyKKe 您可能会发现一些您可以使用的东西,包括简化和集成的加密解决方案。 Regards Mark Re: i.MX RT1010 Bootloader / Flashloader 顺便提一下,由于恩智浦提供的引导加载程序存在问题,我使用了下面提到的马克基于 utasker 的引导加载程序(在 RT1024 上)。支持非常好,对我的应用也很有效。这里的用例是从 U 盘启动到具有完全安全性的 RT1024 内部闪存中(加密发行版加载到进一步加密的 XIP 内部闪存中)。 希望对您有所帮助! 最美好的祝愿,戴夫 Re: i.MX RT1010 Bootloader / Flashloader 您好, 本主题中分享的信息是否有助于您了解 i.MX RT1010 的引导加载程序/闪存加载程序,或者您还有什么问题? 敬上, Pablo Re: i.MX RT1010 Bootloader / Flashloader @Pablo_Ramos- 你在说什么? 恩智浦完全没有回答上述任何问题。
記事全体を表示
CIFAR10 TFLM Quick Build Guide catalogs I. Overview II. Environment Preparation 2.1 Virtual environment 2.2 Using Google Colab III. Core Steps 3.1 CIFAR10 dataset 3.2 Model creation 3.3 Model Training 3.4 Model Transformation 3.5 Inference Validation 3.6 Benchmark Performance 3.7 Full Implementation 3.7 Simplified version (Colab) IV. TFLite Micro Deployment V. Quick Verification Application Examples VII. Conclusion Reference Spoiler (Highlight to read) more details, please see the attachment. more details, please see the attachment. I. Overview CIFAR-10 : Alex Krizhevsky, University of Toronto The CIFAR-10 public dataset, and one of the most classic and commonly used entry-level benchmark datasets in computer vision, contains 60,000 32x32 color images (50,000 training, 10,000 testing) in 10 categories, such as airplanes, cars, birds, cats, and more. tflm_cifar10 : Demonstrates how to run a CIFAR-10 image classification model in real-time on a microcontroller from NXP using the TensorFlow Lite Micro framework. That is, a pre-trained convolutional neural network model for the CIFAR-10 dataset is deployed to the MCU, giving it the ability to recognize 10 classes of common objects (airplanes, cars, birds, cats, etc.). Model: a lightweight CNN model with 3 convolutional layers, ReLU activation layer, pooling layer and a fully connected layer. Input: 32x32 pixel color image. Output: probability that an image belongs to one of the 10 categories in CIFAR-10. This document: provides the complete process of building for the CIFAR10 dataset, from the dataset, model training transformation, deployment of inference of the rapid implementation of the program, can be used as an example of the tflm_cifar10 (inference-based) front complement, this paper does not involve the deployment and optimization of the end-side. ... """ CIFAR10 快速训练、测试、部署与推理完整流程 """ import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' # 减少TensorFlow日志 import tensorflow as tf import numpy as np import time import matplotlib.pyplot as plt print(f"TensorFlow版本: {tf.__version__}") print(f"NumPy版本: {np.__version__}") class CIFAR10QuickPipeline: def __init__(self): """初始化管道""" self.model = None self.tflite_model = None def load_data(self, sample_size=1000): """加载简化数据集""" print("\n1. 加载CIFAR10数据集...") (x_train, y_train), (x_test, y_test) = tf.keras.datasets.cifar10.load_data() # 预处理 x_train = x_train.astype('float32') / 255.0 x_test = x_test.astype('float32') / 255.0 # 使用少量数据(快速训练) x_train_small = x_train[:sample_size] y_train_small = y_train[:sample_size] x_test_small = x_test[:200] y_test_small = y_test[:200] # 转换为独热编码 y_train_onehot = tf.keras.utils.to_categorical(y_train_small, 10) y_test_onehot = tf.keras.utils.to_categorical(y_test_small, 10) print(f"训练数据: {x_train_small.shape}") print(f"测试数据: {x_test_small.shape}") return (x_train_small, y_train_onehot), (x_test_small, y_test_onehot) def create_simple_model(self): """创建简化CNN模型""" print("\n2. 创建简单CNN模型...") model = tf.keras.Sequential([ # 输入层 tf.keras.layers.Input(shape=(32, 32, 3)), # 卷积层1 tf.keras.layers.Conv2D(8, (3, 3), padding='same', activation='relu'), tf.keras.layers.MaxPooling2D((2, 2)), # 卷积层2 tf.keras.layers.Conv2D(16, (3, 3), padding='same', activation='relu'), tf.keras.layers.MaxPooling2D((2, 2)), # 全连接层 tf.keras.layers.Flatten(), tf.keras.layers.Dense(32, activation='relu'), tf.keras.layers.Dropout(0.2), tf.keras.layers.Dense(10, activation='softmax') ]) model.compile( optimizer='adam', loss='categorical_crossentropy', metrics=['accuracy'] ) model.summary() self.model = model return model def train_model(self, x_train, y_train, x_test, y_test, epochs=10): """训练模型""" print("\n3. 训练模型...") # 回调函数:早停 callbacks = [ tf.keras.callbacks.EarlyStopping( monitor='val_loss', patience=3, restore_best_weights=True ) ] history = self.model.fit( x_train, y_train, epochs=epochs, batch_size=32, validation_data=(x_test, y_test), callbacks=callbacks, verbose=1 ) # 评估模型 test_loss, test_acc = self.model.evaluate(x_test, y_test, verbose=0) print(f"\n测试准确率: {test_acc:.4f}") return history def convert_to_tflite(self): """转换为TFLite格式""" print("\n4. 转换为TFLite格式...") # 转换为TFLite converter = tf.lite.TFLiteConverter.from_keras_model(self.model) # 优化配置 converter.optimizations = [tf.lite.Optimize.DEFAULT] converter.target_spec.supported_types = [tf.float32] # 转换 tflite_model = converter.convert() # 保存模型 with open('cifar10_model.tflite', 'wb') as f: f.write(tflite_model) # 保存为字节数组(用于嵌入式部署) self.save_as_c_array(tflite_model) self.tflite_model = tflite_model model_size = len(tflite_model) / 1024 print(f"模型大小: {model_size:.1f} KB") return tflite_model def save_as_c_array(self, tflite_model): """保存为C数组格式""" c_array = '// 自动生成的CIFAR10模型数组\n' c_array += '#include \n\n' c_array += 'const unsigned char cifar10_model_tflite[] = {\n' # 每行显示12个字节 for i in range(0, len(tflite_model), 12): line_bytes = tflite_model[i:i+12] c_array += ' ' + ', '.join(f'0x{b:02x}' for b in line_bytes) + ',\n' c_array += '};\n\n' c_array += f'const unsigned int cifar10_model_tflite_len = {len(tflite_model)};\n' with open('cifar10_model_array.h', 'w') as f: f.write(c_array) print("C数组已保存: cifar10_model_array.h") def test_tflite_inference(self, x_test, y_test, num_tests=10): """测试TFLite推理""" print(f"\n5. 测试TFLite推理 ({num_tests}个样本)...") if self.tflite_model is None: with open('cifar10_model.tflite', 'rb') as f: self.tflite_model = f.read() # 加载TFLite模型 interpreter = tf.lite.Interpreter(model_content=self.tflite_model) interpreter.allocate_tensors() input_details = interpreter.get_input_details() output_details = interpreter.get_output_details() # 类别名称 class_names = ['飞机', '汽车', '鸟', '猫', '鹿', '狗', '青蛙', '马', '船', '卡车'] correct = 0 times = [] for i in range(min(num_tests, len(x_test))): # 准备输入 input_data = x_test[i:i+1] # 推理 start_time = time.perf_counter() interpreter.set_tensor(input_details[0]['index'], input_data) interpreter.invoke() inference_time = time.perf_counter() - start_time times.append(inference_time) # 获取输出 output = interpreter.get_tensor(output_details[0]['index']) predicted_class = np.argmax(output[0]) actual_class = np.argmax(y_test[i]) # 检查是否正确 if predicted_class == actual_class: correct += 1 print(f"样本 {i+1}: 预测={class_names[predicted_class]:<5} " f"实际={class_names[actual_class]:<5} " f"时间={inference_time*1000:.1f}ms " f"{'✓' if predicted_class == actual_class else '✗'}") accuracy = correct / num_tests avg_time = np.mean(times) * 1000 print(f"\n推理统计:") print(f" 准确率: {accuracy:.1%} ({correct}/{num_tests})") print(f" 平均推理时间: {avg_time:.1f}ms") print(f" 推理速度: {1000/avg_time:.0f} FPS") return accuracy, avg_time def benchmark_performance(self, x_test): """性能基准测试""" print("\n6. 性能基准测试...") interpreter = tf.lite.Interpreter(model_content=self.tflite_model) interpreter.allocate_tensors() input_details = interpreter.get_input_details() # 预热 test_input = x_test[0:1] for _ in range(10): interpreter.set_tensor(input_details[0]['index'], test_input) interpreter.invoke() # 基准测试 num_runs = 100 start_time = time.perf_counter() for _ in range(num_runs): interpreter.invoke() total_time = time.perf_counter() - start_time avg_time = total_time / num_runs * 1000 print(f"基准测试结果:") print(f" 总推理次数: {num_runs}") print(f" 总时间: {total_time*1000:.1f}ms") print(f" 平均推理时间: {avg_time:.1f}ms") print(f" 推理速度: {1000/avg_time:.0f} FPS") return avg_time def save_model_summary(self): """保存模型摘要""" summary = [] self.model.summary(print_fn=lambda x: summary.append(x)) with open('model_summary.txt', 'w') as f: f.write('\n'.join(summary)) f.write(f"\n\n模型信息:") f.write(f"\n参数数量: {self.model.count_params():,}") f.write(f"\n保存时间: {time.ctime()}") print("模型摘要已保存: model_summary.txt") def main(): """主函数""" print("=" * 60) print("CIFAR10 快速训练、测试、部署管道") print("=" * 60) # 创建管道 pipeline = CIFAR10QuickPipeline() # 1. 加载数据 (x_train, y_train), (x_test, y_test) = pipeline.load_data(sample_size=2000) # 2. 创建模型 pipeline.create_simple_model() # 3. 训练模型 history = pipeline.train_model(x_train, y_train, x_test, y_test, epochs=15) # 4. 保存模型摘要 pipeline.save_model_summary() # 5. 转换为TFLite pipeline.convert_to_tflite() # 6. 测试推理 pipeline.test_tflite_inference(x_test, y_test, num_tests=20) # 7. 性能测试 pipeline.benchmark_performance(x_test) print("\n" + "=" * 60) print("流程完成!生成的文件:") print(" 1. cifar10_model.tflite - TFLite模型") print(" 2. cifar10_model_array.h - C数组格式") print(" 3. model_summary.txt - 模型摘要") print("=" * 60) if __name__ == "__main__": main() ... VII. Conclusion The purpose of this paper is to take a common image classification scenario (CIFAR10) as an example, so that readers can quickly understand the complete process from data building, model creation, training, inference and validation, which can be used as an example of the tflm_cifar10 (end-side inference-based) front complement, this paper does not involve the end-side deployment and optimization.
記事全体を表示
RT1170 以太网中的自由缓冲区超出范围问题 您好, 我正在尝试从自定义板上的自定义项目中执行基本的以太网测试。作为该项目(该项目集成了不同的模块,如SD卡、CAN、GPIO、ADC、以太网和EEPROM)的一部分,基本的以太网发送和接收有待验证。但我在 ping 发送前遇到"freed buffer out of range 错误" 。我已经完成了与以太网有关的所有基本初始化和配置。我看到出现错误的原因是函数"ethernetif_rx_free" (enet_ethernetif_kinetis.c) 中的 LWIP_ASSERT("Freed buffer out of range", ((idx>= 0)&& (idx< ENET_RXBUFF_NUM))); 其中的 idx 值为负数。这一完整的功能可在 EVK 套件上使用。 还能缺少什么?请提出建议。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 大家好 这个问题也发生在我的 RT1024 客户板上,当我在某个地方放了一个断点然后它就停止了,然后恢复正常运行更有可能导致这个错误。 此致敬礼! Ping Re: Freed Buffer out of Range Issue in Ethernet for RT1170 如果示例项目在您的自定义板中运行良好,则问题似乎出在软件方面。 您使用的不是 FreeRTOS 对吗? 似乎有什么东西干扰了示例的行为,可能是缺少某些配置,或者只是示例流程受到应用程序其他部分的影响。 我建议你尝试使用最新的软件开发工具包版本,即2.15.000。如果您的问题在此版本中仍然出现,那么恐怕您的应用程序流程出现了问题。 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 是的,在自定义板中实现合并的源代码时会出现问题。但是,没有与其他接口合并的 Ethernet_PING 的单个来源在自定义板中运行良好。当以太网的单个源与其余接口合并时,就会出现问题。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 如果我没有理解错的话,当您运行 SDK 示例时,它是可以工作的。但当您添加自定义应用程序时,问题就出现了。你能确认吗? 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 实际上,以太网的各个源代码在自定义板中运行良好。当我尝试集成代码时,以太网无法正常工作。我观察到EIR 寄存器的第 25 (RXF)、26 (TXB) 和 27 (TXF) 位被设置为 0,RDAR 寄存器的第 24 位被更新为 0,但在以太网的工作代码中,这些寄存器被设置为 "1"。 我怀疑这些寄存器更新是由中断处理的,但我无法在自定义项目代码库中找到负责这些更新的特定处理程序。请帮帮我。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 请仔细检查是否有任何外围更改(例如:......)。为了让 EVK 示例在您的定制硬件中运行,您的项目中需要哪些外围实例? 如果您已经验证了这一点,看来问题出在硬件方面。 您是否已经用 HDG 验证了您的设计? 此致, 丹尼尔 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 我使用的是 SDK 11.6.1 版。我正在尝试测试 lwip_ping_bm_cm7 示例。在 EVK 中运行正常。 但是,当尝试将所有源代码与以太网连接时,它在自定义板上不起作用。如果我们面临"Freed Buffer out of range" ,可能会出现什么问题?请帮我解决这个问题。 Re: Freed Buffer out of Range Issue in Ethernet for RT1170 您好, 您使用的是哪个版本的 SDK? 您用来测试的 SDK 示例是什么? 如果我理解正确,应用程序在 EVK 中运行正常,对吗? 此致, 丹尼尔
記事全体を表示
PCIe: i.MX 95: 複数の MSI IRQ ベクトルを割り当てる こんにちは、 PCIe2 インスタンス経由でコネクテッドされた i.MX95 ベースのシステムで ATH12K Wi-Fi モジュールを使用しています。 linux-imx lf‑6.12.y ベースのカーネルではこのセットアップは失敗しますが、lf‑6.6.y ベースのカーネルでは期待どおりに動作します。 カーネル ドライバは 16 個の MSI 割り込みを正常に要求し、受信します。しかし、その後、Wi-Fi モジュールの起動に失敗します。 [ 5.888139] ath12k_pci 0001:01:00.0:iommuグループ5に追加 [ 5.888506] ath12k_pci 0001:01:00.0:BAR 0 [mem 0xa10000000-0xa101fffff 64bit]: 割り当て済み [ 5.888553] ath12k_pci 0001:01:00.0:有効化デバイス (0000 -> 0002) [ 5.889315] ath12k_pci 0001:01:00.0:MSIベクター: 16 [ 5.889334] ath12k_pci 0001:01:00.0:ハードウェア名: wcn7850 hw2.0 [ 6.475718] ath12k_pci 0001:01:00.0:チップID 0x2 チップファミリー 0x4 ボードID 0xff soc_id 0x40170200 [ 6.475743] ath12k_pci 0001:01:00.0:fw_version 0x110cffff fw_build_timestamp 2025-06-25 09:26 fw_build_id QC_IMAGE_VERSION_STRING=WLAN.HMT.1.1.c5-00302-QCAHMTSWPL_V1.0_V2.0_SILICONZ-1.115823.3 [ 7.647106] ath12k_pci 0001:01:00.0:制御応答完了、ポーリングを受信できませんでした。 [ 8.675241] ath12k_pci 0001:01:00.0:サービス接続タイムアウト [ 8.681002] ath12k_pci 0001:01:00.0:HTTへの接続に失敗しました: -110 [ 8.692180] ath12k_pci 0001:01:00.0:コアの起動に失敗しました: -110 カーネルメーリングリスト[1]では別のPCIeデバイスに関する関連した議論がありましたが、まだ私たちのシステムで動作する構成には至っていません。 どうすれば最善の進め方でしょうか? 再開まで今しばらくお待ちください。 最大 [1] https://lore.kernel.org/all/1819305.VLH7GnMWUR@steina-w/ Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors こんにちは、 i,MX95 はまだ初期段階であり、一部の構成はデザインされていません。しかし、PCIe2経由でATH12Kを搭載したi.MX95は lf-6.12.y ですが、 lf-6.6.y で作業中ですこれは、新しいカーネルの PCIe または Wi-Fi スタックにおける回帰またはドライバー相互作用の変更を示唆しており、PCIe パワーマネージメント (ASPM)、MSI マッピング、または ATH12K の特定の PCIe エンドポイントの癖に関係している可能性があります。多くの場合、カーネル パッチを適用するか、新しいカーネルのブート引数で ASPM を無効にすることで解決できます。dmesg で PCIe エラーを確認し、デバイスツリーを比較し、NXP/Linux カーネル メーリング リストで関連するコミットを探します。  考えられる原因とトラブルシューティングの手順を次に示します。 1. カーネルログを確認する ( dmesg ) PCIe エラーを探す: 障害が発生した lf-6.12.y カーネルの dmesg で、「PCI」、「MSI」、「ATH12K」、「Error」、「Firmware」、または「Timeout」メッセージを検索します。 ファームウェアのロード: ath12k ファームウェアが正しくロードされているかどうか、および初期化中にエラーが発生していないかどうかを確認します。  2. PCIe電源管理(ASPM) 一般的な問題:新しいカーネルでは、多くの場合、Active State パワーマネージメント (ASPM) がデフォルトで有効になっています。これにより、組み込みシステム上の ATH12K などの PCIe デバイス、特に古いファームウェア/ハードウェアで問題が発生する可能性があります。 ASPM を無効にしてみてください:カーネル ブート引数 (U-Boot または GRUB など) に pcie_aspm=off を追加して、再度テストします。  3. Devicetree/DTBの違い DTB の比較:両方のカーネル ( .dtb ファイル) で使用されるデバイス ツリー BLOB (DTB) を生成して比較します。特に割り込み、電源ドメイン、または互換性プロパティに関連する、 pci2 の PCIe ノードの変更を探します。  4. カーネルドライバー/ファームウェアの回帰 特定のコミット: ATH12K ドライバ ( ath12k )、 mac80211 、または lf-6.12.y のコア PCIe/Arm コードによって、セットアップを壊す変更が導入された可能性があります。 メーリング リストを検索: ath12k 、 i.MX95 、およびそれ以降のカーネル (6.12+) に関するパッチやディスカッションについては、Linux カーネル メーリング リスト (LKML) および NXP のリストを確認してください。  5. MSIの取り扱い 割り込み再マッピング:割り込みを受信すると、その処理方法 (MSI-X と MSI、割り込み再マッピング) が微妙に変わる場合があります。 proc/interrupts で割り込みをチェックします。カーネル間で割り込みの分布またはカウントが異なるかどうかを確認します。  6. ファームウェアブロブ ファームウェア バージョン:新しいカーネルのドライバと互換性のある、ATH12K 用の正しいファームウェアを使用していることを確認します。新しいドライバには新しいファームウェアが必要になる場合があります。  要約すると、 dmesg から始めてASPMを無効にしてみてください。これらは、組み込みプラットフォームの新しいカーネルでPCIe Wi-Fiの障害が発生する最も一般的な原因です。   よろしくお願いします。 Re: PCIe: i.MX 95: Allocate Multiple MSI IRQ Vectors 提案は問題をデバッグするための良い指針でしたが、解決策を見つけることができませんでした。つまり、すべての MSI IRQ ベクトルがドライバ内の IRQ ルーチンをトリガーしたわけではありません。 最終的には、ath12k ドライバーを変更して、1 つの MSI IRQ のみを要求するようにすることで、この問題を回避しました。 現在の Linux マスターにはこの問題は発生しないことに注意してください。 よろしくお願いします。 最大
記事全体を表示
如何安装"S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" 您好, 我从 GreenVIP 安装了"S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite" ,但在下面的截图中找不到它。 如果我再次安装,就会出现错误提示。 请帮帮我。 谢谢! Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" 你好,Lvyang508 感谢您的回复。 您是否安装了 SW32ZE_RTD_R21-11_2.0.1_D2505_? 在 S32DS IDE 中使用 DesignStudio_updatesite.zip? BR 乔伊 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" S32DS IDE:S32DS for Platform 3.6.5 我下载了相应的软件包并根据 UG_S32ZE_GreenVIP.pdf 进行了安装 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip" 你好,Lvyang508 请检查您的 RTD 版本,RTD 和 RTOS 软件包之间似乎存在冲突。 另外,您使用的是什么版本的 S32DS 集成开发环境? BR 乔伊 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& 嗨,乔伊、 我已经安装了 SW32ZE_RTD_R21-11_2.0.1_D2505_。 S32DS 集成开发环境中的 DesignStudio_updatesite.zip 文件。 谢谢您! Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& 你好,Lvyang508 感谢您的回复。 这个问题可能是由版本冲突引起的。请尝试使用 S32DS IDE 3.6.1 参考 UG_S32ZE_GreenVIP.pdf。 BR 乔伊 Re: How to install "S32ZE_R52_NXP_RTOS_4_7_181_RTM_1_1_0_D2412_DesignStudio_updatesite.zip&&&& 嗨,乔伊、    感谢您的回复。 我已经安装了 S32IDE 3.6.1、但问题依然存在。 BR、
記事全体を表示
iMX93 FRDM 上的 DMS 嗨,团队、 是否有人在 i.MX93 FRDM 平台上实施或评估过驾驶员监控系统 (DMS) 演示? 我正在寻找与以下功能相关的详细信息或引用: 人脸侦测 人脸地标检测 虹膜/眼睛地标检测 驾驶员行为检测,如吸烟和使用手机 如果有任何演示、参考设计、SDK 示例或合作伙伴解决方案,请分享详细信息或相关文档。 提前感谢您的支持。 致以最诚挚的问候, Ajnas FRDM 培训 Re: DMS on iMX93 FRDM 你好@ajnas-c、 感谢您联系恩智浦支持中心! 您可以通过下面的链接查看该演示的详细信息和源代码: https://github.com/nxp-imx-support/nxp-demo-experience-demos-list/tree/lf-6.12.3_1.0.0/scripts/machine_learning/dms 此致 查维拉
記事全体を表示
S32DS3.5 デバッグ s32g274 PEMicro を使用 S32g274 M7 コア用の S32DS3.5 デバッグ ツールを使用して、CAN などの外部ペリフェラルのレジスタの値を表示するにはどうすればよいですか? Re: S32DS3.5 debug s32g274 use PEMicro こんにちは、 @sdx111 ご投稿ありがとうございます。 次の方法を試してみることをお勧めします。 私の側でテストしたところ、問題なく動作しました お役に立てれば幸いです。 BR チェイン Re: S32DS3.5 debug s32g274 use PEMicro こんにちは、 @sdx111 ご返信ありがとうございます。 これは新しい質問であり、このトピックのタイトルとは直接関係がないため、他のユーザーが検索/参照しやすいように、次回は新しい投稿を作成することをお勧めします。ご理解のほどよろしくお願いいたします。 この問題に関しては、私の意見では、最初の elf (ブートローダーなど) をロードし、第 2 段階にジャンプする前にブレークポイントを挿入し、さらに image2 (アプリケーションなど) のシンボルもロードして、デバッグをさらに続行することができます。 BR チェイン Re: S32DS3.5 debug s32g274 use PEMicro ブートローダの実行後に APP プログラムにジャンプし、APP プログラムにブレークポイントを追加したいと考えています。デバッグの設定方法を知りたいです。 Re: S32DS3.5 debug s32g274 use PEMicro もう一つ問題があります。S32G274 の M コア用のブートローダーと APP プログラムを持っています。S32DS コンパイラを使用して、ブートローダの APP へのジャンプとその後の動作をデバッグおよびテストするにはどうすればよいですか? Re: S32DS3.5 debug s32g274 use PEMicro こんにちは、 @sdx111 ご返信ありがとうございます。 あなたが言及したようなケースでは、たとえば、通常はブートローダを QSPI にフラッシュし、M コア アプリケーションの先頭に無限ループを追加し、QSPI 経由でボードを起動してデバッガ経由でボードを接続し、最後に M コア elf をロードしてさらにデバッグします。このようなCASEをデバッグするには、他にもいくつかの方法があるはずですが、これは単なる例です。 BR チェイン
記事全体を表示
iMX93の全コアにZephyrを搭載 こんにちは、 iMX93 のすべてのコアで RTOS を実行したいと考えています。それは可能ですか? Zephyr の Web サイトを見ると、FRDM-IMX93 ボードの M33 コアで Zephyr を実行するプロジェクトがあるようです。また、A55 コアで Zephyr を実行するプロジェクトもあります。 しかし、両方実行することはできますか?両方の A55 プロセッサで別々の Zephyr プロジェクトを実行できますか? チップの初期化はどのように機能しますか。クロックやメモリコントローラの初期化のようなものですか?誰がそんなことをするのでしょうか? 不可能な場合は、MCUXPresso を使用して M33 コア上で RTOS を実行し、チップを初期化することはできますか?両方の A55 コアに Zephyr を使用しますか? すべてのコアで RTOS を実行する方法は何ですか? Re: Zephyr on all cores of a iMX93 こんにちは@simmania 2x A55 で実行される 2 つの Zephyr プロジェクトの場合、これはサポートされません。サポートされているフレームワークは、Linux を実行する A55 --> Jailhouse --> Zephyr を実行するその他の A55 であるため、Jailhouse がハードウェアのアイソレータを管理する必要があります。 不可能な場合は、MCUXPresso を使用して M33 コア上で RTOS を実行し、チップを初期化することはできますか?両方の A55 コアに Zephyr を使用しますか? --> i.MX93は、ブートROMからM33を起動する低消費電力ブートをサポートしています。目的を達成するには、SDKのコードを大幅に書き換える必要があります。根本的な問題は、DDRを誰が初期化するかです。ドキュメントによると、U-Bootを維持するのが最適な選択です。U-BootはM33とA55プロセッサの両方でZephyrを同時にロードできるためです。 https://docs.zephyrproject.org/latest/boards/nxp/imx93_evk/doc/index.html よろしくお願いします、 志明 Re: Zephyr on all cores of a iMX93 NXPの社員によると、銛を使えば可能だという。 NXPのテクニカルサポートは、それは不可能だと言っています。 非常に紛らわしい。 Re: Zephyr on all cores of a iMX93 iMX93のAコアとmコアの両方がZephyrリリースをサポートしています。ZephyrランディングページにアクセスしてMPU Zephyr使用ガイドを入手してください。Aコアとmコアの両方でZephyrを同時に実行したい場合は、NXPのHarpoonリリースを探してください。 https://www.nxp.com/design/design-center/software/embedded-software/zephyr-os-for-edge-connected-devices:ZEPHYR-OS-EDGE Re: Zephyr on all cores of a iMX93 Harpoonのドキュメントで、以下の記述を見つけました。 Harpoonは、Linuxディストリビューション上で並列動作する1つ(または複数)のCortex-Aコア上で動作するRTOS上で、リアルタイム処理能力が要求されるアプリケーションを開発するための環境を提供し、64ビットArmアーキテクチャを活用して高いパフォーマンスを実現します。 つまり、一部のコアではまだLinuxが必要なのです。つまり、iMX93の全コアでZephyrを実行することは不可能のようだ。 Re: Zephyr on all cores of a iMX93 @simmania コアユーザーガイドはこちら UG10199:NXP MPU Cortex-Aコア Zephyrユーザーガイド | NXPセミコンダクターズ Zephyrのウェブページには、すでに93 Aコアとmコアのサポートについて記載されています。 i.MX93 EVK — Zephyrプロジェクトドキュメント 銛ユーザーガイド UG10170:Harpoonユーザーガイド|NXPセミコンダクターズ Re: Zephyr on all cores of a iMX93 ご回答ありがとうございます。 しかし、私たちはまだiMX93を使った開発を行っておらず、私たちにとってはまだ明確な答えが出ていません。 私たちは現在、新しいプロジェクトで使用するハードウェアを選定しているところです。今私たちが知りたいのは、Linuxを必要とせずにZephyrをすべてのコアで実行できるかどうかだけです。 Re: Zephyr on all cores of a iMX93 @simmania 1 つの A コアで Harpoon を実行し、別の A コアで Zephyr を実行し、mcore で Zephyr を実行することもできます。あるいは、A コアでネイティブ Zephyr を実行し、mcore Zephyr を実行する BootROM を使用することもできます。 プログラム flash.bin を UUU を使用して SD/eMMC に書き込む — MCUXpresso SDK ドキュメントを参照してください。 ステップ4でzephyr.binをimx-mkimage/i.MX9のm33_image.binにコピーしてフラッシュbinを作成します 対応するLinux BSPリリースからブートイメージとimx-mkimageソースリポジトリを入手してください。imx-mkimage/i.MX9に配置する必要のあるブートイメージは以下のとおりです。 - u-boot-imx93evk.bin-sd (rename to u-boot.bin) - u-boot-spl.bin-imx93evk-sd (rename to u-boot-spl.bin) - bl31-imx93.bin (rename to bl31.bin) - mx93a0-ahab-container.img - lpddr4_dmem_1d_v202201.bin - lpddr4_dmem_2d_v202201.bin - lpddr4_imem_1d_v202201.bin - lpddr4_imem_2d_v202201.bin Re: Zephyr on all cores of a iMX93 実際、私はついにFRDM iMX93上で、両方のA55コアを使用してSMPでZephyrを動作させることに成功しました。鍵は「```west flash -r spsdk``` でした」でした。 Re: Zephyr on all cores of a iMX93 リアルタイムエッジソフトウェアユーザーガイドの第3.3章「柔軟なリアルタイムシステム」を参照してください。 表30は、i.MX 93プラットフォーム上で実行可能なすべてのAMPシステムを示しています。 また、 hetogeneous-multicore は、これらの可能なすべての AMP システムを実行するためのハローワールドの例を提供します。たとえば、i.MX 93 は構築でき、Realtime Edge も次の事前構築済みバイナリ イメージを提供します。 i.MX93の各Cortex-Aコアで2つのZephyrを実行するための重要な技術的ポイント: 1. リソースの割り当て 第3.3.2.2章の技術的なポイントを参照し、リソースの競合を避けるために、これら2つのZephyrインスタンスには異なるUARTとRAMメモリを使用してください。 heterogeneous-multicoreを使用せずに Zephyr のサンプルを構築することもできますが、リソース割り当ての方法についてはheterogeneous-multicoreを参照することができます。 2. 起動方法 現在、ubootコマンドを使用してこれら2つのZephyrインストールを起動できます。最初のZephyrは「cpu release」コマンドを使用して起動し、次に「go」コマンドを使用して起動します。詳細については、ユーザーガイドを参照してください。 また、Real-time Edgeで提供されるCortex-Aコアの統合ライフマネジメントをサポートするには、TF-A、U-BootなどのReal-time Edgeリポジトリを使用する必要があります。 そして、次回のRealtime Edgeリリース(7月リリース予定)では、「高速起動」という新機能が提供されます。この新機能により、TF-Aはこれら2つのZephyrインスタンスを1秒未満で起動できるようになります。 この件に関して他に何かお手伝いが必要な場合は、遠慮なくお知らせください。ありがとうございます。 Re: Zephyr on all cores of a iMX93 それは素晴らしいですね! 銛を使う?しかし、Harpoonのドキュメントにはこう書かれている。 「システムはLinux上で起動し、Jailhouseハイパーバイザがハードウェアを分割して、LinuxとゲストRTOSを並行して実行します。」 私たちは、LinuxなしでZephyrがすべてのコアで動作することを望んでいます。 Re: Zephyr on all cores of a iMX93 答えはイエスですが、これ以上の詳細情報は提供できません。さらに質問がある場合は、 @Jiafei_Pan までお問い合わせください。 Re: Zephyr on all cores of a iMX93 同時に2つのZephyrアプリケーションを実行することについて話しているのですか、それともSMPを使用して両方のコアをスケジューリングに利用できるようにしているアプリケーションについて話しているのですか? 2番目のケースには非常に興味があるのですが、うまく動作させることができません。 Re: Zephyr on all cores of a iMX93 @Jiafei_Pan さん、Harpoon を導入せずに A コアと mcore 上で 2 つの Zephyr を実行できるようにする方法について何か情報を提供していただけますか。ありがとう!
記事全体を表示
S32K396-BGA-DC1 イーサネット コネクティビティ S32K396 でイーサネットを使用することを検討し、コネクテッドのオプションを調査しています。 S32X-MB で利用可能な T1S PHY を使用できるという前提で、S32K396-BGA-DC1 を S32X-MB とともに購入しましたが、S32K396-BGA-DC1 はデフォルトで PHY 信号を MB コネクタではなく別の PHY 接続に配線するため、偶然にも SPI などの提供されている例の多くも破壊されてしまいます。 S32K396-BGA-DC1 ボード上のストラップ抵抗器が、代わりに MB 接続を使用するために再配線される場所にあるかどうかは完全には明らかではありません。デザインリソースではガーバーのみが提供されており、ネットとコンポーネントの情報が欠落しているため、ボード設計の操作が不必要に困難になっています。ボード用の、もっと簡単に理解できるデザインリソースはありますか? あるいは、S32K396-BGA-DC1 の PHY コネクタで動作する PHY ボードはどれですか? Re: S32K396-BGA-DC1 ethernet connectivity はい、100BASE-T1 を意味しました。 抵抗器を見つけることができました。検索可能なメタデータがない状態でボードを視覚的に検索する必要がある場合、非常に時間がかかります。 TJA1103-SDBR ボードの入手可能性は少し低いです。MACSEC を使用していない場合でも、TJA1104-SDBR は動作すると思われます。 Re: S32K396-BGA-DC1 ethernet connectivity こんにちは@Henrik-Wiresさん、 念のためお伝えしますが、 S32X-MBにはT1S PHYはありません。100BASE-T1のTJA1103が搭載されています。 はい、S32K396 の EMAC はデフォルトで SABRE コネクタにルーティングされます。PCBに関しては、利用できるファイルはもうありません。ただし、PCB 上の白いラベルのおかげで、ストラップ抵抗器の位置を特定することができます。 または、 https://www.nxp.com/part/TJA1103-SDBRS32K396-BGA-DC1 の SABRE コネクタに適合します。 TJA1103-SDBR は、TXC でクロックを生成するために rev-RMII モードにする必要があります -> ジャンパー 2-3 を CONFIG4 に追加します。 よろしくお願いいたします。 パベル Re: S32K396-BGA-DC1 ethernet connectivity こんにちは@Henrik-Wiresさん、 はい、 TJA1104-SDBR は TJA1103-SDBR と同様に動作するはずです。 よろしくお願いいたします。 パベル Re: S32K396-BGA-DC1 ethernet connectivity CONFIG を確認するようお知らせいただきありがとうございます。配信時のデフォルト構成は「異なります」。
記事全体を表示
FreeMASTER Plugin Config Failure I was able to successfully conduct the CAN communication connection test in Figure 1, but after clicking OK, the fault as shown in Figure 2 occurred. How can I solve this problem? In addition, I have used mbdt for freemaster development on S32K344, but I have not succeeded in polling mode CAN communication. Is it not supported? If it is supported, could you provide me with a sample, preferably for the S32K3 series Re: FreeMASTER Plugin Config Failure Now I have also implemented the polling mode and tested the connection of the can based freemaster. The effect is the same as the above picture. I will continue to seek help Re: FreeMASTER Plugin Config Failure Hi @zuozuo, Are you using the MATLAB or S32 Design Studio as your primary development environment ? In the later case - did you try the example applications that come with FreeMASTER Driver Update site ? In case you are using MATLAB, a dedicated team is handling the MatLAB Toolbox and I will move your query to MBDT community space. Re: FreeMASTER Plugin Config Failure quickly ran from another computer with an earlier version of the pc side software and it worked fine. so i manually copied the connection string to the Option field and it worked. so the issue is either on the 1.16.0 or the PC admin previlage..  Re: FreeMASTER Plugin Config Failure Hello, one thing to try is to re-register the CAN communication plug-in in your system. Please close the FreeMASTER, and navigate to installation location. Then run the register.bat "As administrator". See more details in one of the earlier posts in this forum. Regards, Michal Re: FreeMASTER Plugin Config Failure Hi, Michal, thanks for the hint but it does not seem to work. by pasting a plain text string i could open the port. the computer that i had an older version of Freemaster 3.2 no longer works after i upgraded it to the latest version. i ran the register.bat as admin but the same error message appears. now two computers give me the same error. Re: FreeMASTER Plugin Config Failure Hello, according to the method shown in your picture, I am using the freemaster3.2 version of the host computer. I have tried on both a Windows 11 and a Windows 10 computer, but neither worked, Re: FreeMASTER Plugin Config Failure I use the mbed toolchain to generate the underlying driver code for freemaster. Currently, both polling mode and interrupt mode can successfully connect with the host computer, and there are no issues with the slave computer. The only problem is that the freemaster host computer cannot save its own configuration options in the freemaster host computer project。 Re: FreeMASTER Plugin Config Failure I use the matlab toolchain to generate the underlying driver code for freemaster. Currently, both polling mode and interrupt mode can successfully connect with the host computer, and there are no issues with the slave computer. The only problem is that the freemaster host computer cannot save its own configuration options in the freemaster host computer project. Re: FreeMASTER Plugin Config Failure Hello the CAN plugin version 1.16.0 (in FreeMASTER 3.2.6.3) indeed adds the CAN-FD support for ZLG and some other vendors. It also adds support for the new ZLG ZCAN library. After  the registrer.bat has been run, we can be sure the plug-in is correctly registered in the system.   I cannot replicate the issues you are facing. The connection string for the ZCAN devices appears normally in my  case:  drv=ZCAN;port=1;bitrate=500000;cmdid=0x7aa;rspid=0x7aa;tmo=500 Please try the following: Paste the ZCAN string to the Options dialog manually and then open the plug-in configuration. Then close it without making any changes. Will it still show the error? Just as an experiment, try to enable the CAN-FD mode for the USBCANFD_200U device and press OK. Try to select another CAN driver, for example IXXAT, even if you do not have any physical device, then press OK. Please let me know if it shows the error in all 3 cases. Thanks, Michal Re: FreeMASTER Plugin Config Failure Hello zuozuo, I am facing the same issue. can you please share any example model with me or just tell me how I can resolve the issue. I also noticed one thing, when there is only one CAN instance with single TX and Rx CAN object ID its working, but when we add more can instances each having tx CAN objectId and rx CAN objectId its not working, if you have solution please share with me. Thanks. Re: FreeMASTER Plugin Config Failure Thank you for your reply. I tested the above three steps, and each of them would report the error: "The plugin configuration dialog failed. Try to specify the connectstring manually". Additionally, I have run register.bat in administrator mode. Re: FreeMASTER Plugin Config Failure Hello! 1. I manually added the information you provided to the command bar, then clicked "configure", and after entering, I clicked "ok", everything was normal. 2. Since I manually added the command information you provided correctly, everything has been normal. Whether I check or uncheck "canfd" is normal, even if I clear the command line, reconfigure it, and then click "ok", everything is still normal. 3. I use Kvaser, and everything is normal Re: FreeMASTER Plugin Config Failure I am using PEAK CAN and still face this issue. Can you share simulink model. My S32DS studio example is working in Design Studio. Re: FreeMASTER Plugin Config Failure I use kvaser for CAN connection and testing, and everything works successfully; however, when I use the zlg driver, the aforementioned issues occur. Re: FreeMASTER Plugin Config Failure Hello, we are trying to analyze and resolve the issue, but unfortunately we were not able to replicate it on any of our test platforms. Please use the manually-edited connect string until this is fixed. One question: when ZLG/ZCAN driver is selected, does the error appear when you press  the CANCEL button in the plug-in dialog? Thanks, Michal Re: FreeMASTER Plugin Config Failure I am using the PEAK CAN Re: FreeMASTER Plugin Config Failure Hello,  we have identified the problem in FreeMASTER CAN plug-in and we are working on a fix. It appeared the plug-in has internally depended on Kvaser CAN driver and was not working correctly when Kvaser software was missing. It appears the Kvaser files are required even if using ZLG or any other CAN interface. Before the fix is released in the upcoming FreeMASTER 3.2.7, a quick workaround is to install the latest Kvaser driver pack to your Windows system. You can download the Kvaser drivers here. Thanks to all of you who had reported the issue and described the symptoms. Please reply to this message if installing the latest Kvaser drivers does not help to resolve the issue. Thanks, Michal Re: FreeMASTER Plugin Config Failure Yes,It's useful. Re: FreeMASTER Plugin Config Failure Hello, theoretically yes, you may need to install Kvaser drivers even in case you use a PEAK device. The dependency on some Kvaser files causes the Plug-in configuration dialog to fail when creating a connection string regardless of the device selected. It may happen by some lucky coincidence that the issue will not appear with PEAK or other devices, but if it does, installing the Kvaser driver shall always help. This issue will be fixed in future FreeMASTER version. Regards, Michal Re: FreeMASTER Plugin Config Failure Even for PEAK-CAN we need to do this? Re: FreeMASTER Plugin Config Failure Note that the version 3.2.7 has been released. The issue discussed in this thread shall now be fixed. Regards, Michal
記事全体を表示
如何:使用 NXP Vision SDK 示例项目中的现有代码在 S32DS 中创建新的 Makefile 项目 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本文档详细介绍了如何在 S32 Design Studio 中创建新项目,以及如何使用 NXP Vision SDK 示例项目中提供的现有代码和 makefile 进行构建。如果您使用来自任何其他来源的代码创建新的 makefile 项目,则过程可能会有所不同。 在从现有代码创建新的 makefile 项目之前,我们需要向环境变量 PATH 添加一些路径和几个新的环境变量。添加这些路径和变量主要有 3 种方法。哪种方法取决于您的需要。 方法 1 路径和变量可以单独添加到每个项目。如果您只希望这些更改影响少数项目,这将很有用。或者如果您的项目需要不同的路径和变量。注意:这些更改将在项目创建后进行(如下面的步骤 15 - 17 所示) 方法 2 路径和变量可以添加到 S32DS 内的整个工作区。这些在 S32DS 之外是不可见的,因此不会影响整个 Windows 环境。如果您有大量对路径和变量有共同要求的项目,并且不希望它们在 S32DS 之外的任何工具中可见,这将非常有用。 方法 3 路径和变量可以全局添加到 Windows 环境中,并将影响所有已安装的工具。不推荐使用这种方法。 选择方法后,将以下路径添加到 PATH 变量(使用 S32DS 的默认安装设置显示的路径): C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm32-eabi\bin C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm64-eabi\bin C:\NXP\S32DS.3.1\S32DS\build_tools\gcc-6.3-arm64-linux\bin C:\NXP\S32DS.3.1\S32DS\build_tools\msys32\mingw32\bin 或者在 Eclipse 中(可以使用变量,如果 S32DS 安装布局在未来版本中发生变化,则无需更新这些变量) ${S32DS_ARM32_TOOLCHAIN_DIR} ${S32DS_ARM64_LINUX_TOOLCHAIN_DIR} ${S32DS_ARM64_TOOLCHAIN_DIR} ${S32DS_GCC_TOOCHAIN_DIR} 还需要添加以下 Windows 系统变量: 变量名称:S32V234_SDK_ROOT 变量值:C:\NXP\S32DS_Vision_v2018.R1\S32DS\s32v234_sdk 变量名称:APU_TOOLS 变量值:C:\NXP\S32DS_Vision_v2018.R1\S32DS\APUC 以下步骤演示了基于上述方法 1 的过程。 1)启动S32DS for Vision 2)点击“新建” 3)选择“使用现有代码的 Makefile 项目” 4)选择下一步 5)输入项目名称。 6)对于“现有代码位置”, a)选择“浏览… ”,然后选择目录C:\NXP\S32DS.3.1\S32DS\software\VSDK_S32V2_RTM_1_3_0\s32v234_sdk\demos\isp\isp_sonyimx224_rgb_yuv_gs8    b) Click OK 7)对于“索引器设置工具链”,选择与您所需的构建配置相匹配的选项。对于我们这里的示例,我们将选择“ ARM Linux 64 位目标二进制工具链”。有关工具链选项的更多详细信息,请参阅 Vision 扩展包用户指南。这设置了一些工具链路径,但稍后我们将根据 VSDK 示例的特定需求设置更多路径。 8)点击完成 9) 在项目资源管理器中右键单击该项目。选择“属性” 10) 转到“C/C++ 构建”部分 11)转到“行为”选项卡,在“构建”旁边的字段中输入: ISP 示例:' allsub ' APEX 示例:' APU_COMP=nxp allsub ' 12)转到“构建器设置”选项卡,在“构建位置”部分更改“构建目录”的路径。点击“工作区... ”按钮 13) 在文件夹选择菜单中,选择子文件夹“ build-v234ce-gnu-linux-d ”,然后单击“确定” 14)转到“环境”部分 15)选择环境变量“ PATH ”,然后单击“编辑... ” 16)将路径变量添加到值字段,每个变量用逗号“;”分隔 ${S32DS_ARM32_TOOLCHAIN_DIR} ${S32DS_ARM64_LINUX_TOOLCHAIN_DIR} ${S32DS_ARM64_TOOLCHAIN_DIR} ${S32DS_GCC_TOOCHAIN_DIR} 单击OK。 17) Click 'Add...' 18) 单击“添加... ”,然后输入变量名称“ APU_TOOLS ”和值“ ${S32DS_APU_TOOLCHAIN_DIR} ” 单击OK。 19)单击“确定”关闭“属性”菜单。 20)点击“构建” 21) 构建完成后,将创建二进制文件(ELF)
記事全体を表示
回复:Freemaster 无法检测任何指定的 UART 通信端口 Hi  iulian 我的目标是:使用MBDT工具在Matlab中进行编程,通过UART或CAN自动将代码刷入开发板,然后使用Freemaster进行观察。基于此,我有几个问题: 关于使用 S32 和 MPC574xP_S32DS_UART0_CAN0_OpenSDA_RevE.rbf 进行闪存,我是否需要使用 S32 再次配置 Freemaster 驱动程序环境?如何配置Freemaster环境(请提供完整教程),或者可以直接使用Matlab中的Freemaster配置模块吗? 针对我的使用目的,能否提供相应的分步操作?我目前可以从 Matlab 进行闪存,但无法与 Freemaster 通信。 MBDT 是否支持 XCP/CCP? 如果您需要专门从事 MBDT 的同事的支持,请将他们添加到此问题中或帮助我为他们创建相应的问题。 回复:Freemaster 无法检测任何指定的 UART 通信端口 您好,感谢您对 MBDT 产品的关注, 1)配置FreeMASTER主要包括配置FreeMASTER要使用的UART/CAN外设的实例。 此配置完全由FreeMaster_Config块完成,无需在 S32 Design Studio 中进行进一步配置。 2) 如上所述配置的 UART / CAN 实例不能用于除使用 FreeMASTER 进行调试之外的用途。因此,应用程序本身需要使用不同的 UART / CAN 实例。 3) MBDT 不支持 XCP,无论是通过 UART 还是 CAN。但 FreeMASTER 在大多数情况下可以实现相同的目的。 回复:Freemaster 无法检测任何指定的 UART 通信端口 Hi  iulian 我看了第一个视频并阅读了第二篇文章。 我按照视频里的步骤操作,使用相同的模型编译然后刻录,但是还是无法连接Freemaster。 关于第二篇文章,我不确定是否需要在使用 Matlab 之前先使用 S32 配置 UART,或者是否可以直接使用 Matlab。 回复:Freemaster 无法检测任何指定的 UART 通信端口 Hi @Renjie-Wang, 以下 2 篇文章是一个很好的起点: https://www.nxp.com/design/design-center/training/TIPS-ENHANCING-EMBEDDED-APP 通过 UART 发送数据并使用 FreeMASTER 监控信号 我将您的问题移至此社区空间,以便 MBDT 专家可以进行解答。
記事全体を表示
i.MX93 M33 Core:如何在定制板上获得 micro-ROS 的系统正常运行时间(秒/纳秒)? 大家好, 我目前正在使用定制的 SOM 和MCUXpresso SDK( v25. 06.00),将micro-ROS移植到 i.MX93 (MIMX9352)的Cortex-M33内核上。 已成功建立UART 传输并连接到micro-ROS 代理。我创建了节点和主题,但发布的数据显示为空/无效。经过调试,我意识到需要向 micro-ROS 客户端提供高分辨率的时间戳(秒和纳秒),以便与 ROS 2 生态系统同步。 下面附有屏幕截图、调试终端输出和代码。 微罗斯代理连接 Micro-ros agent connectionMicro-ros agent connection微罗斯代理连接 ROS 主题列表(主题是空的(数据未发布)) ROS Topic listing (But topic is empty)ROS Topic listing (But topic is empty)ROS主题列表(但主题是空的) 调试终端输出: 调试控制台启动完成 已启动 lpuart,并打开了自定义 trnsport 已启动 rclc 支持、节点和发布程序 已启动 rclc 定时器 过去的 rclc 执行器启动,add_timer 在 while 循环内 RCSOFTCHECK 失败:rclc_executor_spin_some(&executor, RCL_MS_TO_NS(100))| Lin0 执行器旋转后 在 while 循环内部 RCSOFTCHECK 失败: rclc_executor_spin_some(&executor, RCL_MS_TO_NS(100))| Lin0 执行器旋转后 在 while 循环内部 RCSOFTCHECK 失败: rclc_executor_spin_some(&executor, RCL_MS_TO_NS(100))| Lin0 执行器旋转后 问题所在 我很难在 SDK 中找到一个可靠的"System Uptime" 或"Tick" 函数来提供 rmw_publisher_publish 所需的精度。 我尝试使用 lptmr 驱动程序示例,但代码在 LPTMR_Init()期间挂起 我的问题 自从在 i.MX93 M33 上启动以来,是否有推荐的 SDK API 来获得高分辨率(nsec)的单调时间戳? 对于那些在 i.MX9 系列上实现了 micro-ROS 的人:你使用的是专用的硬件计时器,还是我应该改用标准的 CMSIS/SDK " getTime " 函数? 环境详情: 硬件定制 i.MX93 SOM + EVB 底板 内核 Cortex-M331 SDK:25.06.00 工具链MCUXpresso 集成开发环境/VS 代码扩展2 如果您对在该平台上实现 64 位纳秒计数器有任何见解或代码片段,我们将不胜感激! 此致, 阿南德胡 Re: i.MX93 M33 Core: How to get System Uptime (sec/nsec) for micro-ROS on Custom Board? 你好, ,我已经尝试了 tstmr.cSDK 示例中的演示程序。它无法按预期运行,在两个不同的板上尝试过,一个是自定义板和avnet osm93,两者在终端中都没有给出任何输出。 调试后发现 TSTMR 相关函数不起作用,程序无法通过"TSTMR_ReadTimeStamp()" 。 使用的 SDK:MCUXpresso SDK (v25.06.00)。
記事全体を表示
LS1028A 2.5G SGMII 以太网无法与 QCA8081 配合使用 我们在 LS1028A 的 Serdes Lane A 上使用 QCA8081 PHY 实现 2.5G SGMII。 我们启用了 QCA8081 驱动程序 (CONFIG_QCA808X_PHY=y),并更新了 rcw(rcw_1500_sdboot.rcw) 和 dts(ls1028a-rdb.dts)如下图所示。 rcw: SRDS_PRTCL_S1_L0=1 SRDS_PRTCL_S1_L1=5 SRDS_PRTCL_S1_L2=11 SRDS_PRTCL_S1_L3=11 dts: &enetc_mdio_pf3 { sgmii_phy0: ethernet-phy@24 { reg =<0x18>; }; }; &enetc_port0 { phy-handle =<& sgmii_phy0>; phy-mode ="2500base-x"; status ="okay"; }; 观察结果: Ping 在 2.5G 模式下不起作用。但 1G 模式正常。 2.5G 的 Ethtool 输出: root@ls1028ardb:/home/user# ethtool eno0 eno0 的设置: 支持的端口:[ ] 支持的链接模式: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseT/Full 支持暂停帧使用:对称只接收 支持自动协商:是 支持 FEC 模式:未报告 广告链接模式: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseT/Full 广告暂停帧使用:对称只接收 广告自动协商:是 宣传的 FEC 模式:未报告 链接伙伴宣传的链接模式: 10baseT/Half 10baseT/Full 100baseT/Half 100baseT/Full 1000baseT/Full 2500baseT/Full 链接伙伴宣传的暂停帧使用:对称只接收 链路合作伙伴宣传的自动协商:是 链路合作伙伴宣传的 FEC 模式:未报告 速度:2500Mb/s 双工:全 自动协商:开 主从配置文件:首选从 主从状态:从 端口:双绞线 PHYAD:24 收发器:外部 MDI-X:关(自动) 支持唤醒:g 唤醒:d 检测到链接:是 Dmesg 日志: root@ls1028ardb:/home/user# dmesg | grep eno0 [ 13.165970] fsl_enetc 0000:00:00.0 eno0: 从 eth0 重命名 [ 13.721100] fsl_enetc 0000:00:00.0 eno0: PHY [0000:00:00.3:18]驱动程序 [Qualcomm QCA8081] (irq=POLL) [ 13.722673] fsl_enetc 0000:00:00.0 eno0: configuring for phy/2500base-x link mode [ 17.813736] fsl_enetc 0000:00:00.0 eno0: Link is Up - 2.5Gbps/Full - flow control rx/tx 如有遗漏,请提出宝贵意见。 Re: LS1028A 2.5G SGMII ethernet not working with QCA8081 感谢您的答复。 是的,我们还尝试了 SRDS_PRTCL_S1_L0 的 1 和 6 请参见所附 RCW 文件: /* * SerDes 协议 - 0x85bb * * 频率: * 内核 -- 1500 MHz * 平台 -- 400 MHz * DDR -- 1600 MHz * DDR 数据速率 -- 1.600 GT/s */ #include<../ls1028asi/ls1028a.rcwi> SYS_PLL_RAT=4 MEM_PLL_RAT=16 CGA_PLL1_RAT=15 CGA_PLL2_RAT=12 HWA_CGA_M1_CLK_SEL=1 HWA_CGA_M2_CLK_SEL=7 HWA_CGA_M3_CLK_SEL=6 HWA_CGA_M4_CLK_SEL=3 DDR_REFCLK_SEL=2 DRAM_LAT=1 BOOT_LOC=21 FLASH_CFG1=3 SYSCLK_FREQ=600 IIC2_PMUX=6 IIC3_PMUX=2 IIC4_PMUX=2 IIC5_PMUX=2 IIC6_PMUX=3 CLK_OUT_PMUX=2 EC1_SAI4_5_PMUX=5 EC1_SAI3_6_PMUX=5 USB3_CLK_FSEL=39 ENETC_RCW=3 GTX_CLK125_PMUX=2 SRDS /* PCIe 控制器的勘误表 */ #include<../ls1028asi/a008851.rcw> #include<../ls1028asi/a010477.rcw> #include<../ls1028asi/a009531.rcw> /* 增加 FSPI 时钟频率 */ #include<../ls1028asi/fspi_speed.rcw 我们为 Serdes 接口使用 100MHz 的参考时钟。 用于 QSGMII(2.5G)的 Serdes 通道 B分布式 4 端口)正在工作。 Re: LS1028A 2.5G SGMII ethernet not working with QCA8081 SRDS_PRTCL_S1_L0=1 SRDS_PRTCL_S1_L1=5 SRDS_PRTCL_S1_L2=11 SRDS_PRTCL_S1_L3=11 配置是否 srds_prtcl_s1_l0=0x1 srds_prtcl_s1_l1=0x5 srds_prtcl_s1_l2=0xb srds_prtcl_s1_l3=0xb   能否请您提供输入和 RCW 设置的 PLL 频率信息? 谢谢! Re: LS1028A 2.5G SGMII ethernet not working with QCA8081 我们还使用125MHz的参考时钟进行了测试,并观察到了相同的结果。 Re: LS1028A 2.5G SGMII ethernet not working with QCA8081 亲爱的 June-Lu 我们计划对 SerDes 配置进行以下修改,以支持 SerDes 通道 A 上的 2.5G SGMII 操作: 按照 2.5G SGMII 操作的要求,将 SD1_REF_CLK1_P/N 和 SD1_REF_CLK2_P/N 的 SerD es 参考时钟更改 为 156.25 MHz 。 (目前我们使用的时钟发生器相同的时钟频率,仅测试 SerDes Lane A ) 将 SerDes PLL 参考时钟选择位[945:944] 从现有值 “00” 更新 为“10”。 你能帮我们做这个改变吗? 更改 协议选择至 "65BB用于所需的 SerDes 通道配置。 请确认是否需要进行其他更改(PLL 设置、SerDes 寄存器、RCW/DTS 更新或 PHY 相关配置)以支持这一更改? 期待您的支持。 同时附上我们的框图,供您参考。 谢谢 谨致问候 Re: LS1028A 2.5G SGMII ethernet not working with QCA8081 1.如果 SerDes 将 SD1_REF_CLK1_P/N 和 SD1_REF_CLK2_P /N 的参考时钟均设置为 156.25 MHz,那么如何实现 Q SGMII 和 PCIe。 2.SRDs_pll_ref_clk_sel_s1=2,请参阅 https://github.com/nxp-qoriq/rcw/blob/LSDK-21.08/ls1028asi/ls1028a.rcwi 由于这不是官方配置,您可以尝试一下。 谢谢!
記事全体を表示
D1が赤く点灯しているため、S32K146EVB-Q144ボードをフラッシュできません 当初は正常に動作していた S32K146EVB-Q144 評価ボードを持っています。 Lin スタックを実装したデバッグ セッション中に、動作が停止しました。 コントローラをリセットすると、D1 の赤いライトが点灯し続け、他の 2 つの緑のライトも点灯したままになります。 USB ソースからの電源を選択するために、位置 2-3 の J10 と J107 を使用し、OpenSDA アプリのフラッシュ モードを選択するために、位置 2-3 の J104 を使用しました。 現在、私のコントローラは S32DS によってまったく検出されません。 症状はまったく同じであるように思われたので、以下の投稿に記載されている手順を試してみました。 Re: S32K144 D2 赤色 LED が常時点灯 - NXP コミュニティ ここで、P&E Kinetics Recovery Tool を使用して OpenSDA でプロセッサを停止できましたが、それでも新しいアプリケーションをフラッシュすることはできませんでした。 停止に成功しても再度点滅させることができず、赤色のライトが点灯したままになります。 コントローラはジャンパー J104 を調整することでブートローダーモードに入ることもでき、実際にブートローダーアプリをフラッシュすることもできました。しかし、どういうわけか私は再びフラッシュを書き込むことができず、サンプルの.srecをフラッシュしようとするとファイルでは、D2 は定期的に点滅し続けます (通常、正常に点滅すると 1 回点滅してからアプリの実行が開始されます)。 つまり、簡単に言うと: - コントローラがメインに到達できない、または継続的にリセットされる - コントローラはフラッシュに再度書き込むことができません (セキュリティ上の問題である可能性があります)。 私はデバッグ プローブを持っていないため、SEGGER-JLINK に関連するものを除き、上記の Thread で言及されているテクニックを試しました。私は PE Multilink Universal を持っていますが、フラッシュを回復/消去することはできません。 ボードの詳細は次のとおりです。 ボード名: S32K146EVB-Q144 MicroBootカーネルバージョン: 1.08 ブートローダーのバージョンは: 1.13 インストールされたアプリケーション: PEMicro EVB-S32K144 マスストレージ/デバッグアプリ アプリケーションのバージョン: 1.25 DUID は: 39A33939-91818199-37539805-F97AE678 EUID は: 4141A238-1BDB8733-1854BA22-D38368D6 TUID: 74823938-47328196-8576CC9B-0242983E TOAは次のとおりです: 86B6E505-56F042E0-79B2A114-62BA758F TOA2 は: 86B6E505-EB1A8A7C-AF6E54B6-43532420 SUID は: 86B6E505-5BA18877-37239804-8003EC65 MCU は永久にロックされますか? そうでない場合、どうすればボードを回復できますか? ハードウェアに障害があると思われますか?(参考までに、D2とD3が緑色に点灯しているのは、5Vと3.3Vの電源レールが正常に動作していることを意味していると思います) 物理的に大量消去する方法はありますか?(ボードがまったく検出されないため、S32DS 緊急キネティクス オプションは使用できません)。 OpenSDA チップの任意のピンを接地すると、フラッシュ メモリが消去されますか? Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red クリスマス休暇期間中は、サポートの応答時間は通常より長くなる場合がありますのでご了承ください。場合によっては、ご要望への対応が新年以降になることもあります。ご理解のほどよろしくお願いいたします。 Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red ハイ P&E リカバリ ユーティリティがMCU を停止したら、ツールを閉じます。 次にステップ3に進みます または ステップ4 S32K146 を再プログラムします。 これが原因かどうかは分かりませんが、 アプリケーションのバージョン: 1.25 。リセットボタンSW5を押したまま、USBケーブルを挿入して MSD-DEBUG-S32K146EVB-Q144_Pemicro_v121.SDA BOOTLOADER ドライブに挿入します。これにより、 アプリケーションバージョンを1.21に。 また添付しました lpit_periodic_interrupt_s32k146.srec 。 ちなみに、外付けのSegger J-Linkは必要ありません。ステップ6に従う場合: SW5を押しながらJ7を挿入すると、OpenSDAがブートローダーモードになります。そして、 SEGGER J-Linkアプリケーションファームウェア( OpenSDA_V1.bin )をOpenSDA_V1.binにコピーします。 オンボード デバッガーは J-Link になります。 よろしくお願いします、 ロビン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「解決策として承認」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 --------------------------------------------------------------------------------- Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red こんにちは、ロビン。 迅速なご返信ありがとうございます。MSD -DEBUG-S32K146EVB-Q144_Pemicro_v121.SDAにロールバックしてみましたが、 同じように動作します。ブートローダーアプリはフラッシュされますが、D1はまだ赤く点灯しており、.srecをフラッシュできません。kinetis 回復ツールを使用して停止した後のファイル。コントローラが srec をフラッシュしようとしているが、D2 が定期的に点滅するため失敗していることがわかります (通常は 3 ~ 4 回だけ点滅し、アプリがフラッシュされます)。 その後、ブートローダーをOpenSDA_V1.bin に切り替えて、その後 J-Link コマンダーを使用して接続を試みましたが、次のログが表示されました。 SEGGER J-Link Commander V8.94 (2025年12月10日 14:50:47 にコンパイル) DLLバージョンV8.94、2025年12月10日14:49:54にコンパイル USB経由でJ-Linkに接続しています...OK ファームウェア: J-Link OpenSDA コンパイル日: 2023年1月31日 13:42:36 ハードウェアバージョン: V1.00 J-Link の稼働時間(起動以降): 0d 00h 00m 28s シリアル番号: 621000000 VTref=3.300V ターゲット接続を確立するには「connect」と入力し、ヘルプを表示するには「?」と入力します J-Link>接続 デバイス/コアを指定してください。 : S32K146 選択ダイアログに「?」と入力してください デバイス>S32K146 ターゲットインターフェースを指定してください: J) JTAG (デフォルト) S) SWD T) cJTAG TIF>SWD 対象インターフェース速度[kHz]を指定します。 : 4000 kHz 速度>100 デバイス「S32K146」が選択されました。 SWD経由でターゲットに接続する ConfigTargetSettings() の開始 ConfigTargetSettings() 終了 - 22us かかりました InitTarget() 開始 SWDが選択されました。JTAG -> SWD 切り替えシーケンスを実行しています。 CPU の停止中にタイムアウトが発生しました。 InitTarget() 終了 - 392 ミリ秒かかりました ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 APマップをスキャンして利用可能なすべてのAPを見つける AP[2]: APマップの終端に達したため、APスキャンを停止しました AP[0]: AHB-AP (IDR: 0x24770011, ADDR: 0x00000000) AP[1]: JTAG-AP (IDR: 0x001C0000, ADDR: 0x01000000) APマップを反復処理して使用するAHB-APを見つける AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 FPUnit: 6 つのコード (BP) スロットと 2 つのリテラル スロット CoreSight コンポーネント: ROMTbl[0] @ E00FF000 [0][0]: E000E000 CID B105E00D PID 000BB00C SCS-M7 [0][1]: E0001000 CID B105E00D PID 003BB002 DWT [0][2]: E0002000 CID B105E00D PID 002BB003 FPB [0][3]: E0000000 CID B105E00D PID 003BB001 ITM [0][4]: E0040000 CID B105900D PID 000BB9A1 TPIU 126976バイトの作業用RAM(0x1FFF0000)を初期化しています リセットタイプ: NORMAL ( https://kb.segger.com/J-Link_Reset_Strategies ) リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: AIRCR.SYSRESETREQ 経由でデバイスをリセットします。 リセット: S_RESET_ST はクリアされません。CPU は永久にリセット状態のままになっているようです。 リセット: フォールバックを使用: ピンをリセットします。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: コアはリセット後に停止せず、WDT を無効にしようとしました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: 失敗しました。リセット ピンを切り替えてリセット戦略を再度試します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: AIRCR.SYSRESETREQ 経由でデバイスをリセットします。 リセット: S_RESET_ST はクリアされません。CPU は永久にリセット状態のままになっているようです。 リセット: フォールバックを使用: ピンをリセットします。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした リセット: コアはリセット後に停止せず、WDT を無効にしようとしました。 リセット: DEMCR.VC_CORERESET によるリセット後にコアを停止します。 リセット: リセットピン経由でデバイスをリセットします リセット: VC_CORERESET は CPU を停止しませんでした。(デバッグ ロジックもリセット ピンによってリセットされますか?)。 リセット: 再接続して CPU を手動で停止します。 ID 0x2BA01477 の SW-DP が見つかりました DPv0が検出されました CoreSight SoC-400 以前 AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。 AP[0]: AHB-AP (IDR: 未設定、ADDR: 0x00000000) AP[0]: コアを発見 AP[0]: AHB-AP ROMベース: 0xE00FF000 CPUIDレジスタ: 0x410FC241。実装者コード: 0x41 (ARM) Cortex-M4 r0p1、リトルエンディアンが見つかりました。 CPUを停止できませんでした CPUを停止できませんでした CPUを停止できませんでした ****** エラー: CPU を停止できませんでした。 メモリゾーン: ゾーン: 「デフォルト」 説明: デフォルトのアクセスモード Cortex-M4 が識別されました。 J-Link> Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red オシロスコープを使用してリセットピンの波形を観察し、波形を送信してリセット期間とハイレベル幅を教えてください。場合によっては回復不可能となり、S32K1 チップを交換しなければならないこともあります。   接続戦略と回復手順: 目標: デバッガーにコアを停止し、問題のあるファームウェアを無効にする機会を与えます。 A. SWD速度を下げる + 「リセット時に接続」 J-Link Commanderの場合: J-Link> device S32K146 J-Link> if SWD J-Link> speed 1000 ; start at 1 MHz; if still failing, drop to 100 kHz J-Link> connect それでも失敗する場合は、手動の connect‑under‑reset を使用します。 RESET_b を外部的に低く保持し、ボードに電源を投入します。 Commander で connect を実行します。 リセットを解除し、直ちに次の操作を実行します。 J-Link> r J-Link> h J-Link> halt 特に 100 kHz SWD 速度ではタイミングが重要になる可能性があるため、何度か試してください。 B. J-Linkリセット戦略の変更 リセット戦略の値によって動作が異なります。Commander の場合 (正確な ID はバージョンによって異なる場合があります): J-Link> SetResetType = 3 ; a common “connect under reset / halt after reset”; Try 2 / 4 / 12 etc. depending on your J-Link version J-Link> r J-Link> halt または、J-Link Commander で「リセット状態で接続」を選択してみてください。 Re: Unable to flash S32K146EVB-Q144 board as D1 glowing red S32K146EVB-SPF-29844-RB.pdfによると: J104 1-2 OpenSDAからのリセット信号 J10 2-3 P5V0 外部の 9V または 12V 電源がある場合は、 J107 1-2 P5V_SBC を接続することもできます。PEMicro Multilinkなどの外部デバッガーをお持ちの場合は、それを使用して、S32K146 用のプログラムをダウンロードできるかどうかを確認してください。 最後にダウンロードされたプロジェクトは何ですか?CSEc は有効になっていますか? 前回の質問に答えて、オシロスコープを使用して測定したリセット信号を提供してください。
記事全体を表示
EB Tresos: 「DriverConfig」の複数の定義 こんにちは、 EB Tresos で BMS SDK Gen2 を使用しています。初期化中に Bjb_D1xx ドライバと Bcc_774a ドライバに構成構造体を渡したいので、両方のモジュールで「Config Variant: VariantPostBuild」を選択する必要があります。 ただし、各ドライバは DriverConfig 変数を含めて生成されるため、コンパイル エラーが発生します。 [ビルド] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bjb_D1xx_Cfg.h:48 からインクルードされたファイルで、 [ビルド] /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bjb_D1xx_TS_TxDxM9I1R0/include/CDD_Bjb_D1xx.h:46 から、 [ビルド] /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bms_common_TS_TxDxM9I1R0/src/CDD_Bms_common.c:60 から: [ビルド] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bjb_D1xx_PBcfg.h:85:44:エラー: 'DriverConfig' の型が競合しています [ビルド] 85 | extern const Bjb_D1xx_DriverConfigType DriverConfig; [ビルド] | ^~~~~~~~~~~~~ [ビルド] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bjb_D1xx_PBcfg.h:85:44:注: マクロ 'BJB_D1XX_INITCONFIG_PB' の定義内 [ビルド] 85 | extern const Bjb_D1xx_DriverConfigType DriverConfig; [ビルド] | ^~~~~~~~~~~~~ [ビルド] /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bjb_D1xx_TS_TxDxM9I1R0/include/CDD_Bjb_D1xx.h:1013:1:注: マクロ 'BJB_D1XX_CONFIG_EXT' の展開 [ビルド] 1013 | BJB_D1XX_CONFIG_EXT [ビルド] | ^~~~~~~~~~~~~~~~~~~~~ [ビルド] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bcc_774a_Cfg.h:49 からインクルードされたファイルで、 [ビルド] /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bcc_774a_TS_TxDxM9I1R0/include/CDD_Bcc_774a.h:46 から、 [ビルド] /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bms_common_TS_TxDxM9I1R0/src/CDD_Bms_common.c:54 から: [ビルド] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bcc_774a_PBcfg.h:86:44:注: 'DriverConfig' の以前の宣言はここにありました [ビルド] 86 | extern const Bcc_774a_DriverConfigType DriverConfig; [ビルド] | ^~~~~~~~~~~~~ [ビルド] /workspaces/template/EBTresosProjectFiles/NextGen_RevA/generate/include/CDD_Bcc_774a_PBcfg.h:86:44:注: マクロ 'BCC_774A_INITCONFIG_PB' の定義内 [ビルド] 86 | extern const Bcc_774a_DriverConfigType DriverConfig; [ビルド] | ^~~~~~~~~~~~~ [ビルド] /workspaces/template/S32DSProjectFiles/BMS_GEN2_0.9.1_CD01/Bcc_774a_TS_TxDxM9I1R0/include/CDD_Bcc_774a.h:851:1:注: マクロ 'BCC_774A_CONFIG_EXT' の展開 [ビルド] 851 | BCC_774A_CONFIG_EXT [ビルド] | ^~~~~~~~~~~~~~~~~~~~~ コンパイル エラーを発生させずにビルド後のパラメータ化を可能にするために、両方のドライバを構成するにはどうすればよいでしょうか? Re: EB Tresos: Multiple definitions of "DriverConfig" クリスマス休暇期間中は、サポートの応答時間は通常より長くなる場合がありますのでご了承ください。場合によっては、ご要望への対応が新年以降になることもあります。ご理解のほどよろしくお願いいたします。 Re: EB Tresos: Multiple definitions of "DriverConfig" こんにちは@PhilippH 、 個人的にお伝えしたとおり、このCASEは開発チームによって検討中でした。 彼らは次のような回答をしました。 この問題を解決するには、これらの変数の前にモジュール名を付けます(例:生成されたコードには、 Bcc_774a_とBjb_D1xx_が含まれます。この変更はテスト目的でのみ使用され、本番環境では使用されないことに注意してください。 よろしくお願いいたします。 ダニエル
記事全体を表示
ADC DMA 示例不起作用 您好, 我正在使用 MBDT v1.5 在 S32K3X8EVB-Q289 上开发一个项目 我正在尝试使用 DMA 实现 ADC,经过一番努力后,我在网上找到了这张票: https://community.nxp.com/t5/Model-Based-Design-Toolbox-MBDT/DMA-enabling-in-MBDT/m-p/1819674 在此基础上,我尝试执行@Irina_Costachescu给出的所有指示。 当我尝试版本时出现问题... matlab 给我这个错误: 我不知道如何解决这个问题......谁能告诉我如何解决这个问题,或者我是否遗漏了什么? 谢谢! 西蒙 Re: ADC DMA Example doesn't work 你好,@simon98、 最新的恩智浦 S32K3 基于模型的设计工具箱 1.8.0 版 包含一个使用 ADC 和 DMA 的更新模型示例:adc文件夹中的s32k344_pwm_adc_dma_s32ct 。 您可以将此模型用作应用程序的参考。 希望这能帮到您, 德拉古 Re: ADC DMA Example doesn't work 我从提供的示例中导入了配置,但还是遇到了这个问题: https://community.nxp.com/t5/Model-Based-Design-Toolbox-MBDT/ADC-DMA-Example-doesn-t-work-with-my-S32CT-Configuration/m-p/2124851#M10317 Re: ADC DMA Example doesn't work 嗨,@dragostoma、 我现在才能测试 MBDT 1.8 版本中带有 DMA 的 ADC 示例。 起初,我遇到了同样的问题:回调已执行,但在 FreeMASTER 中却看不到变量ADC_POT0的值在更新(与 1.6 版中的情况相同)。 经过多次尝试,我试着添加了以下 MCL 块,以检查 DMA 是否真正正常工作: 为了进一步调查,我用S32DS 3.6 打开了该项目。在调试时,我可以看到ADC_POT0根据电位器的位置发生变化,即使 Simulink 中的 MCL 块被注释掉也是如此。但是,在 FreeMASTER 中,ADC_POT0不会更新。 因此,我想知道造成这种行为的原因是什么,以及是否有可能以某种方式修复 FreeMASTER 的行为。 附件中是我用于这些测试的项目。 我期待您的反馈。 谢谢, Simon
記事全体を表示
重金求A1006UK 开发工程师,有做过的工程师联系我, I am requesting a development engineer for A1006UK at a high cost. Engineers who have worked before have contacted me. Thank you very much, vx jesssaid 重金求A1006UK 开发工程师,有做过的工程师联系我,重谢,vx jesssaid Facebook 13922881086 回复: 重金求A1006UK 开发工程师,有做过的工程师联系我, There is an old project that uses this ic, if you have done this project contact me, thank you!
記事全体を表示
Clarification on RTD Driver Availability with FS32K144HAT0MMHT EVK Hi everyone, I am interested in buying the FS32K144HAT0MMHT MCU and the associated evaluation kit (EVK). I would like to know: Does the EVK include the RTD driver at no additional cost? If not, is it necessary to purchase the RTD driver separately? Thanks in advance for your help! Re: Clarification on RTD Driver Availability with FS32K144HAT0MMHT EVK Hi @NagulMeera  Real-Time Drivers (RTD) and S32 Design Studio (S32DS) are free of charge. EB tresos Studio is available with a free evaluation license, but a production license must be ordered from Elektrobit. We also offer premium software such as: - S32 Safety Software Framework (SAF) and Safety Peripheral Drivers (SPD) - Structural Core Self-Test (SCST) For premium software, contact your NXP representative. BR, VaneB
記事全体を表示