Multi Source Translation Content

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Multi Source Translation Content

讨论

排序依据:
MMA8693 加速度计的参考寄存器设置 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我能否使用 MMA8693 找到新项目的参考寄存器设置? 现在我只想让它感知到明显的动作。(例如:停止 → 移动) 我想可能是在图形用户界面上找到的。 加速度传感器 Re: Reference register setting for MMA8693 accelerometer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,HJ、 对不起,我昨天不在办公室,耽误了您的回复。 无论选择的动态范围如何,运动和瞬态检测功能的阈值分辨率都是 0.0625g/LSB,而且无法提高。您说得没错,瞬态检测功能只适用于 MMA8652FC,而且除非 HPF_BYP 位被设置,否则它分析的是高通滤波数据。 此致, 托马斯 Re: Reference register setting for MMA8693 accelerometer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,托马斯、 我删除了之前的问题,因为我找到了问题所在。 门槛有问题。 我还有一个问题。 是否有可能使 MMA8653 不受重力等直流因素的影响而变得更加灵敏? 我想,如果使用 MMA8652 及其 HPF,可能会很容易。 但我的客户想用 MMA8653 找到路。 请给我一点提示。 谢谢! Re: Reference register setting for MMA8693 accelerometer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 谢谢! Re: Reference register setting for MMA8693 accelerometer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,HJ、 能否请您说明所用加速度计的确切零件编号?如果是 MMA8653FC,则可以使用嵌入式移动侦测功能。有关该功能的更多信息,包括寄存器设置示例,请参阅AN4070。 希望对您有所帮助。 此致, 托马斯 PS: 如果我的回答有助于解决您的问题,请标记为"正确" 或 "有帮助"。谢谢。
查看全文
Zephyr SDK install error in Windows: setup.cmd Toolchain download failed Recently some Windows users started reporting issues installing the Zephyr SDK, required for building Zephyr applications.  Users first ran into this issue using NXP's MCUXpresso Installer, but had the same issue trying to manually install the Zephyr SDK. The root cause is that setup.cmd and these other tools use wget to download the individual toolchain packages.  And apparently recent changes in Windows or security settings interpret this wget download as unsecure, and wget is blocked. Context The Zephyr SDK is a package of multiple toolchains that support all the hardware platforms and CPU architectures available in Zephyr.  The binary bundle releases for download are available in two options: Minimal and Full.  For example, these bundles can be downloaded here for v0.17.4, currently the latest release. The Full bundle is a large download and includes all the toolchains and other tools in that download package.  The Minimal bundle is much smaller and does not contain any toolchains and allows users to choose the toolchains to download and install.  Minimal has an extra step after download to run the setup script and the user selects the tools to download.  In Windows, this script is setup.cmd. If installing the Minimal bundle and wget downloads are blocked for setup.cmd, then the Zephyr SDK install fails.  MCUXpresso Installer v25.12 and other install options use the Minimal bundle, and can be blocked by this issue. Workaround NXP is working on improving the MCUXpresso Installer to address this issue.  But in the meantime, downloading and installing the Full bundle avoids using wget and avoids this issue.   Download the Full bundle, here for v0.17.4, and extract the bundle in your user folder.  After extracting, the full Windows path will be  C:\Users\ \zephyr-sdk-0.17.4 .  West and other build tools will find this folder during the build.  The Zephyr SDK can also be installed elsewhere using an environment variable, see the Zephyr SDK documentation.  After extracting, run the setup.cmd to finish setup.  But with the Full install, setup.cmd will not need to download with wget. Be aware, this article was written when v0.17.4 was the latest release of the Zephyr SDK.  Check here for the latest release. Return to Zephyr Knowledge Hub
查看全文
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 マスターにはこの問題は発生しないことに注意してください。 よろしくお願いします。 最大
查看全文
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 を実行できるようにする方法について何か情報を提供していただけますか。ありがとう!
查看全文
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
查看全文
プロトタイプ段階でのPBLベースのプラットフォームでのセキュアブートの設定 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このドキュメントでは、QorIQ PBLベースのPowerPCおよびARMアーキテクチャ・プラットフォームのセキュア・ブート設定方法と手順について説明します。セキュアブートの基本概念について説明します。セキュアブート用のPBL、CSFヘッダー、およびESBCイメージの作成方法について説明します。セキュアブート関連のイメージをターゲットにデプロイする方法と、プロトタイプ段階でOTPMKをブローしてSRKハッシュキーをミラーレジスタに書き込む方法を紹介します。セキュアブートが失敗し、UARTコンソールにメッセージが出力されない場合のトラブルシューティング方法をステップバイステップで提供します。 このドキュメントでは、LS1043を例に挙げていますが、ユーザーが異なるプロセッサを使用する場合は、プロセッサリファレンスマニュアルおよびQorIQ SDKユーザーマニュアルに従ってレジスタとイメージのデプロイメントアドレスを変更する必要があります。 1. PBLベースプラットフォームでのセキュアブートの基本概念 2. セキュアブート用のイメージの準備 2.1 セキュアブートをサポートするRCWを作成する           2.1.1 Linux SDKでセキュアブートRCWを作成する 2.1.2QCVSツールでセキュアブートRCWを作成    2.2 RSAキーと署名イメージを生成して、CSTツールでCSFヘッダーを作成する 3. セキュア ブート イメージをターゲットにデプロイし、SRKH ミラー レジスタを書き込みます 4.セキュアブートのトラブルシューティング。 Qonverge Re: プロトタイプ段階でのPBLベースプラットフォームでのセキュアブートの設定 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Codewarrior自体でコード署名ツールを使用する方法はありますか? Re: プロトタイプ段階でのPBLベースプラットフォームでのセキュアブートの設定 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちはジェリー、 私たちのシステムでカスタマーサービスリクエストを作成するか、コミュニティで新しいスレッドを作成して、手順をより詳細に説明していただけませんか? 私があなたのためにもっと調査をします。 ありがとうございます イーピン Re: プロトタイプ段階でのPBLベースプラットフォームでのセキュアブートの設定 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、LS1043ARDBでのセキュアブートのためにこのプロセスを実行しました。ブート ホールドオフは機能しており、コアをリリースする前にすべての値が適切に設定されていることを確認できます。コアが解放された後、u-boot は起動せず、スクラッチ レジスタ 2 のエラー コードが0x00000101
查看全文
如何:使用 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)
查看全文
MCU V10.x.よくあるご質問(FAQ) <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> この辺りでは、Freescaleの CodeWarriorツール、その機能、およびそれを使用して何ができるかについていくつかの質問がありました(そして、あまりにも多くのこと!!があります)。   MCU V10.xに関する前回の投稿に関して、この FAQガイド は、特に初心者やすべてを明確で大音量で取得したい場合に非常に役立つことがわかりました。 それが私にとってもあなたにとっても役立つことを願っています!!   このFAQガイドには、Microcontrollers V10.xに関するよくある質問または最も予想される質問がリストされています 。このドキュメントでは、FAQ は 、インストール、 IDE、エディタ、プロジェクト管理、プロジェクト、コンパイラ、アセンブラ、リンカ、デバッガ、 デバッガ シェル、USBTAP、イーサネット TAP、プロファイリングおよび解析ツール など、関連するマイクロコントローラ V10.x 機能に基づいて さまざまなカテゴリに分類されています。   章 説明 IDEとインストール IDE関連のFAQを一覧表示します プロジェクト・マネジメント プロジェクト管理関連のFAQを一覧表示します プロジェクト プロジェクト関連のFAQを一覧表示します コンパイラ コンパイラ関連のFAQを一覧表示します Linker リンカー関連の FAQ を一覧表示します Debugger デバッガー関連の FAQ を一覧表示します デバッガー シェル デバッガーシェル関連のFAQを一覧表示します プロフィルおよび分析ツール プロファイラー関連のFAQを一覧表示します   こちらをご覧ください!       全般
查看全文
Android 启动时解锁设备 背景 一些客户将运行 Android 的 imx 连接到云端,因此重新启动引导加载程序和使用fastboot oem unlock是不可接受的。这样系统就断开了连接,无法使用adb进行远程操作。 因此本文建议在系统首次运行时,在启动bootloader之前执行oem unlock,即可直接解锁。 补丁 diff --git a/drivers/fastboot/fb_fsl/fb_fsl_boot.c b/drivers/fastboot/fb_fsl/fb_fsl_boot.c index 86b919775a..d60cd248ee 100644 --- a/drivers/fastboot/fb_fsl/fb_fsl_boot.c +++ b/drivers/fastboot/fb_fsl/fb_fsl_boot.c @@ -529,6 +529,42 @@ bool __weak is_power_key_pressed(void) { return false; } +static void wipe_all_userdata(void) +{ + char response[FASTBOOT_RESPONSE_LEN]; + + /* Erase all user data */ + printf("Start userdata wipe process....\n"); + /* Erase /data partition */ + fastboot_wipe_data_partition(); + +#if defined (CONFIG_ANDROID_SUPPORT) || defined (CONFIG_ANDROID_AUTO_SUPPORT) + /* Erase the misc partition. */ + process_erase_mmc(FASTBOOT_PARTITION_MISC, response); +#endif + +#ifndef CONFIG_ANDROID_AB_SUPPORT + /* Erase the cache partition for legacy imx6/7 */ + process_erase_mmc(FASTBOOT_PARTITION_CACHE, response); +#endif + +#if defined(AVB_RPMB) && !defined(CONFIG_IMX_TRUSTY_OS) + printf("Start stored_rollback_index wipe process....\n"); + rbkidx_erase(); + printf("Wipe stored_rollback_index completed.\n"); +#endif + process_erase_mmc(FASTBOOT_PARTITION_METADATA, response); + printf("Wipe userdata completed.\n"); +} +void do_unlock(void) +{ + int status; + wipe_all_userdata(); + status = fastboot_set_lock_stat(FASTBOOT_UNLOCK); + if (status < 0) + return FASTBOOT_LOCK_ERROR; + printf("Unlock device\n"); +} int do_boota(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) { ulong addr = 0; @@ -563,6 +599,9 @@ int do_boota(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]) { fastboot_set_lock_stat(FASTBOOT_LOCK); lock_status = FASTBOOT_LOCK; } + if (lock_status == FASTBOOT_LOCK){ + do_unlock(); + } bool allow_fail = (lock_status == FASTBOOT_UNLOCK ? true : false); avb_metric = get_timer(0); Android i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
查看全文
适用于 ARM 2018.R1 的 S32 Design Studio - 更新 4 现已发布 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />       产品发布公告 汽车微控制器和处理器 ARM ® 2018.R1 版 S32 设计工作室  Update 4          新增内容 适用于 S32K14x 的 S32 SDK 1.9.0 BETA 版。这是一个累积更新 - 它包含之前更新的所有内容(更新 1 、更新 2 、更新 3 ) 要在新项目向导中选择新的 SDK,必须将工具链更改为“ARM Bare-Metal 32 位目标二进制工具链” 安装说明 此更新适用于 在线的 (通过 Eclipse Updater)或 离线安装(直接下载链接) 在线的 安装: 进入菜单“帮助”->“安装新软件...”对话框  select predefined update site "S32DesignStudio - http://www.nxp.com/lgfiles/updates/Eclipse/S32DS_ARM_2018.R1/updatesite" 选择所有可用项目并单击“下一步”按钮   离线安装: 转到 S32 Design Studio for ARM 产品页面 -> 下载部分或使用 直接链接下载更新存档 zip 文件 启动 S32DS 并转到“帮助”->“安装新软件...” 添加一个新的 “Archive” 仓库,然后浏览并选择您在之前步骤中下载的更新归档.zip 文件。 选择所有可用项目并单击“下一步”按钮。   这将启动更新安装过程。 概述
查看全文
LX2160A の DPDMUX インスタンスの最大サポートはいくつですか Hi, LX2160A で作成できる DPDMUX インスタンスの最大数はいくつですか? 私は8つのdpdmuxオブジェクトを作成しようとしましたが、6つでしか成功しません。 dpdmux作成のパラメータは次のとおりです #--default-if=1 --num-ifs=2 --method DPDMUX_METHOD_CUSTOM --options=DPDMUX_OPT_CLS_MASK_SUPPORT,DPDMUX_OPT_AUTO_MAX_FRAME_LEN 7番目のものを試そうとすると、次のようにエラーが表示されます。 MC エラー: 使用可能なメモリがありません (ステータス 0x9) Re:LX2160Aの最大DPDMUXインスタンスサポートはどれくらいですか これは、DPAA2 のリソース使用量を調整する際に役立つ情報です。ただし、DPAA2 で使用されるメモリ バッファーに収まるすべてのオブジェクト (8x DPDMUX + DPMAC/DPNI) を詰め込むには、さらに微調整が必要です。 - DPNI:トラフィックが単に管理目的である場合、フローステアリングルールを下げます、パラメータ '--fs-entries' - DPDMUX: 分割が複雑でない場合は、カスタムルールの使用量を減らします (パラメータ '--max-dmat-entries')。また、dpdmux の作成中にメモリ (PEB バッファ) の使用量を減らし、パラメータ '--mem-size' さらなる調整が進行中です。これがコミュニティに役立つことを願っています。 Re:LX2160Aの最大DPDMUXインスタンスサポートはどれくらいですか @dunk  どうもありがとうございます 素晴らしい一日をお過ごしください。 BR, ヘクター Re:LX2160Aの最大DPDMUXインスタンスサポートはどれくらいですか こんにちはヘクター、 はい、NXPからのサポートに感謝します。私はあなたのチームメンバーとの議論を続けます。そして、最近コミュニティのために得たいくつかの役立つ情報を共有しようとしています。 Re:LX2160Aの最大DPDMUXインスタンスサポートはどれくらいですか Hello @dunk  この投稿があなたを元気に見つけてくれることを願っています、 私たちのチームメンバーの1人が、このテーマに関してすでにサポートを提供していることに気づきました。 混乱を避け、できるだけ明確なコミュニケーションを保つために、 チームメンバーとのコミュニケーションを心がけてください。 素晴らしい一日をお過ごしください。 BR, ヘクター Re:LX2160Aの最大DPDMUXインスタンスサポートはどれくらいですか こんにちは@Hector_Villarruel 、 DPAA2 mem設定のフィードバックについてコメントはありますか? セットアップで 8 つの DPDMUX を作成できません。 Re:LX2160Aの最大DPDMUXインスタンスサポートはどれくらいですか ありがとう、@Hector_Villarruel。 これがMCファームウェアの構成とメモリ割り当てです。 - Uブート: mcmemsize=0x70000000 - DPC:total_bman_buffers = <0x9EB100> DPCファイルにtotal_num_buffersが見つからないので、デフォルト設定では640000だと思います。 上記のような設定や設定については、メモリは十分だと思います。他に何か足りないものはありますか? Re:LX2160Aの最大DPDMUXインスタンスサポートはどれくらいですか Hello @dunk  このメールがあなたを元気に見つけてくれることを願っています、 このエラー (MC エラー: 使用可能なメモリがありません (ステータス 0x9)) は、MC メモリの制限に関するバッファの最大数を超えた場合に発生することがあります。詳細については、DPAA2UM、Rev 53、08/2023 の 3.5 最小メモリ要件を参照してください。 LX2160の場合、256MBのメモリがありますが、次の制限があることに注意してください。 すべてのキューに同時に存在できるバッファの総数は 640000 に制限されています。もし DPCファイルのtotal_num_buffersが640000より大きい場合、MCは起動に失敗します。 total_num_buffers が dpc ファイルにない場合、MC はデフォルト値の 640000 を使用します。 素晴らしい一日をお過ごしください。 BR, ヘクター・ビジャルエル
查看全文
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 由于这不是官方配置,您可以尝试一下。 谢谢!
查看全文
S32K358 多核调试器 我 按照文件 S32K32X_Multicore_Project_Quick_Start_Guide.pdf 中的说明 删除了 路径 C:\NXP\S32DS.3.6.0\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_5.9.2.202409131555\supportFiles_ARM\NXP\S32K3xx 中的 s32K358.mac 文件 ,但 core2 仍然无法调试。能否请您帮助排除故障并找出问题所在? 回复: S32K358 multicore Debug 您能帮我调试一下项目吗? 回复: S32K358 multicore Debug 已经解决了,是启动文件错了
查看全文
重金求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
查看全文
アプリケーションがSDRAM用にビルドされている場合のRT1170デバッグ こんにちは、 私はMCUXpressoとそのSDKを使用してRT1170用のアプリケーションを開発しています。 提供されているサンプル プロジェクトはすべて、「DTC」 RAM を使用するように構築されているようです。他の多くのユーザーと同様に、私のアプリケーションは大きすぎてそこに収まらないため、「外部 SDRAM」を使用しようとしています。 他のフォーラム投稿で提案されている解決策をいくつか試してみました(特にhttps://community.nxp.com/t5/i-MX-RT/MCUXpresso-and-RT1050-download-and-debug-in-SDRAM/mp/896979)これでプログラムを実行できるようになり、アプリケーションがフラッシュされていればプログラムをデバッグできます。 ただし、 「アプリケーションを RAM にリンク」でビルドして実行すると、ブレークポイントに到達すると、通常、アプリケーションはそこで停止します。 これは SDRAM を正しく初期化しなかったことが原因であると推測します。前述の投稿では、デバッガーが SDRAM コントローラを初期化するための接続スクリプトとして「RT1050_SDRAM_Init.scp」を使用しています。このファイルを使用すると、当然ながら失敗します。 このスクリプトを RT1170 で動作するように適応させるアイデアが全くありません。これを実行した人はいますか、またはこれを生成する方法についてアドバイスをくれますか? ご協力いただければ幸いです。 Re: RT1170 debugging when application is built for SDRAM こんにちは@jingpan 提供されている手順に従い、RT1170_BriefOverview_v210.pdf に記載されている変更を加えて hello world をフラッシュすると、デバッグ モードで SDRAM を使用できるようになります。 しかし、この変更後、SDRAM もコードの保存に使用されるようになりました。 私のアプリケーションでは、コードをフラッシュ メモリに保存し、BOARD_SDRAM をヒープ セクションとスタック セクションにのみ使用したいと考えています。 アプリケーションをフラッシュ メモリにフラッシュし、そのアプリケーションはヒープ セクションとスタック セクションに BOARD_SDRAM を使用します。 SOのために必要な変更についてご指導ください。 Re: RT1170 debugging when application is built for SDRAM ありがとう@jingpan 、 .scpを追加するだけで済みましたファイルとそれは機能しました。 ステップ 5、6、8 はすでに実行しましたが、他のステップも試してみます。 参考になればと思い、board.cに以下の変更を加えました。これは、< https://community.nxp.com/t5/i-MX-RT/MCUXpresso-and-RT1050-download-and-debug-in-SDRAM/mp/896979>で説明されているものと同等だと思います - RT1170_SDRAM_NOT_CACHED が定義されています: #ifdef USE_SDRAM #ifndef RT1170_SDRAM_NOT_CACHED /* 領域 9 の設定: 通常タイプのメモリ、共有不可、外側/内側の書き戻し */ MPU->RBAR = ARM_MPU_RBAR(9, 0x80000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_64MB); #それ以外 MPU->RBAR = ARM_MPU_RBAR(9, 0x80000000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 1, 0, 0, 0, 0, ARM_MPU_REGION_SIZE_64MB); #endif /* RT1170_SDRAM_NOT_CACHED */ #endif Re: RT1170 debugging when application is built for SDRAM こんにちは@robert_s 、 このスクリプトは RT1050/60 には適合しますが、RT1170/60 には適合しません。添付のスクリプトを使用CAN。スクリプト ファイルの他に、実行する必要がある手順が他にもあります。  C/C++ ビルド > プロパティの MCU 設定のメモリ詳細で、BOARD_SDRAM を SRAM_DTC_m7 の上に移動します。  Connect スクリプトには RT1170_connect_M7_wake_M4_SDRAM_init.scp を使用します。  追加オプションに --cachelib libm7_cache.so を追加します。 USB/イーサネット/SDHC を使用する場合は、DMA バッファをキャッシュ不可領域に配置してください。  MCU C コンパイラ > プリプロセッサに USE_SDRAM を追加します。  プロパティ->設定->マネージリンカースクリプトでRAMへのリンクを選択します  プロジェクトが USB に関連付けられている場合は、MCU C コンパイラ > プリプロセッサに DATA_SECTION_IS_CACHEABLE=1 を追加します。  プロジェクトがフリートスのない USB ホストに関連付けられている場合は、ヒープを DTCM またはキャッシュ不可能な領域に配置します (bm) よろしくお願いいたします。 ジン
查看全文
S32G3でマルチA53コアを有効にするには こんにちは、 現在、S32DS を使用して C でプロジェクトを作成し、複数の A53 コアを有効にしています。ブートプロセスが完了した後の初期、アクティブ コアは M7_0 (HSE コアではない) になります。ここから A53 コアを有効にします。S32G3には8つのA53コアがあるので、すべて有効にしたいと思います。これは純粋に C (Linux ではない) で実行できますか。 ありがとうございます。
查看全文
[滥用] 发布者:@JohnKlug /板:imx-processors/举报人:srbacvj srbacvj 报告了 @JohnKlug 发布的帖子 Could not invoke dnf for external kernel module in Yocto kirkstone ,原因如下: 原因: 详情: < a href="https://tylkoastronomia.pl/node/9904"> http://prosti-proshay.ru/lyudi/pharmacy-online-1"> https://www.siriuspup.com/breeders/pharmacy-online-11"> https://stage.cc.radiant.digital/node/3046"> http://www.pajeroio.com/blog/pharmacy-online-0"> https://www.musicinafrica.net/newsfeed/213463/373133"> http://www.sccu.chula.ac.th/node/933"> < a href="https://www.lawtech.ru/subscribe/26816-16102025"> https://okwiki.ru/catalog/pharmacy-online"> < a href="https://neweddingday.com/your-couple-name-2333"> https://www.siriuspup.com/breeders/pharmacy-online-11"> http://xn--37-6kci4a9aahjr0a.xn--p1ai/pharmacy-online-ivanovo-8"> https://hetnieuweteamwerken.be/forums/forum/pharmacy-online-5"> https://www.jobwebby.ilovemarkso.com/domainasname-anthony-gmbh/pharmacy-online-6"> http://prosti-proshay.ru/lyudi/pharmacy-online-1"> https://www.intimus.pt/pharmacy-online-16"> https://www.intimus.pt/pharmacy-online-16"> https://dev.beautynbrushes.com/services-provided/tree-braids-maroonimmortalep"> https://whs6570.com/node/2099"> http://www.le-cercle-des-sourires.fr/session/3338"> < a href="https://www.jobwebby.ilovemarkso.com/domainasname-anthony-gmbh/pharmacy-online-6"> https://www.danduo168.com/en/artworks/693/pharmacy-online-0"> https://auc.org.ua/faq/29092025-0456"> https://jeunescathos-bxl.org/fr/content/pharmacy-online-54"> https://www.musicinafrica.net/newsfeed/213463/373133"> http://xn--37-6kci4a9aahjr0a.xn--p1ai/pharmacy-online-ivanovo-8"> https://masters.adminskiracing.com/node/413296"> https://slp.millingtonpubliclibrary.org/content/pharmacy-online-9"> < a href="https://tylkoastronomia.pl/node/9904"> https://fo-rum.auc.org.ua/faq/29092025-0042-1"> https://ruckup.org/caregivers-forum/topic/6386"> < a href="https://www.rapidservice.com.ec/es/content/pharmacy-online"> https://www.globalrealtor.co.in/node/4204"> < a href="https://whs6570.com/node/2099"> https://darkmetalmush.net/history/pharmacy-online-23"> https://www.thebiketube.com/f-moser-ann"> http://xn--80aah2bgapnqg.xn--p1ai/story/pharmacy-online-3"> https://stage.cc.radiant.digital/node/3046"> https://masters.adminskiracing.com/node/413296"> https://dev.worldwar1luton.com/forum-topic/pharmacy-online-5"> 发布链接: https://community.nxp.com/t5/i-MX-Processors/Could-not-invoke-dnf-for-external-kernel-module-in-Yocto/m-p/1627964#M203740 帖子作者 @JohnKlug|Email Author 报告人:srbacvj |Email Reporter 报告的帖子有 2 个回复。
查看全文