Multi Source Translation Content

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

Multi Source Translation Content

Discussions

Sort by:
嵌入式系统开发的最佳 DevOps 实践 大家好 我想讨论在嵌入式系统开发中实施 DevOps 的最佳实践。我们都知道,嵌入式系统面临着独特的挑战,但结合 DevOps 原则并利用正确的 DevOps 解决方案可以大大改善我们的工作流程。 以下是我发现的一些有用的做法: 自动版本构建和 CI/CD 设置自动构建管道对于嵌入式系统至关重要。借助 CI/CD,我们可以自动测试、刷新和部署到真实设备,从而确保尽早发现错误。 固件和硬件的版本控制 将固件视为软件 — 使用 Git 或类似工具进行版本控制,以及硬件抽象层 (HAL),有助于同步管理软件和硬件依赖关系。 硬件在环 (HIL) 的持续集成 将 HIL 测试内置到您的 CI 管道中可确保您针对真实场景进行验证,而不仅仅是模拟环境。这有助于发现只有在实际硬件中才会出现的问题。 嵌入式软件的容器化 使用 容器 或类似工具进行软件环境复制可确保开发、测试和部署阶段的一致性,即使在使用嵌入式平台时也是如此。 我很想听听您的想法和其他有效的做法。您如何将 DevOps 内置到嵌入式开发工作流程中? DSC Re: Best DevOps Practices for Embedded Systems Development 我们正在努力做你所建议的事情。您有什么具体的建议吗?
View full article
如何使用 HSE 固件二进制文件对恩智浦 S32K344 MCU 进行编程?需要哪种调试器? 我正在使用 S32K344 MCU,并希望在其中使用 HSE。 我从 nxp flexnet 下载了 HSE Fw 可执行文件。 在解压缩 exe 文件时,我得到了 hse 粉色文件。 但是无法得到,我应该如何将这个二进制文件转储到 S32K344 MCU? 他们是否需要像 lauterback 这样的外部调试器来刷新二进制粉色文件?或者我也读过他们的 HSE_demo_App,我们可以通过它对 HSE 固件进行编程。如果是,我们可以从哪里获得 S32K344 MCU 的 HSE 演示应用程序? Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? #I 正在开发 S32K3X4EVB-T172 板并尝试安装 HSE 固件 HSE 固件刷新成功,但我的应用程序总是停在: if (FALSE == checkHseFwFeatureFlagEnabled()) { /* Stuck here */ } 因此,HSE FW 初始化无法进行。 我检查了 UTEST 区域 (0x1B000080),得到的值是0XFFFFFFFF ,请查看我们的项目和图像,并帮助我们解决这个问题。 谢谢 Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 你好@Kunal_Gettobyte 最新版本的 HSE 固件中引入了 HSE_SRV_ID_ERASE_FW 服务。该服务将清除 HSE 固件、备份和 SYS-IMG (HSE 数据)固件,但仅限于生命周期仍处于 CUST_DEL 时。您可以参考下面的社区主题,我的一位同事在其中简要介绍了如何做到这一点。 安装 HSE 固件 Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 嗨,恩智浦技术团队,关于我上一条评论有什么新进展吗? 因此,在通用 HSE 演示示例 中,我得到了 HSE Fw 安装示例。 但是,如果要删除 HSE Fw,并使用不带 HSE Fw 的芯片,又该怎么办呢?那我怎样才能做得更好? 是否也有删除 HSE Fw 的例子? 如果我想删除 HSE Fw,该怎么做? Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 您好, 好吧,我知道了。 因此,在通用 HSE 演示示例 中,我得到了 HSE Fw 安装示例。 但是,如果要删除 HSE Fw,并使用不带 HSE Fw 的芯片,又该怎么办呢?那我怎样才能做得更好? 是否也有删除 HSE Fw 的例子? 谢谢并致以诚挚的问候 库纳尔-古普塔 Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 你好@Kunal_Gettobyte HSE 演示应用程序可以从 S32K3 标准软件 → 汽车软件-S32K3-HSE 固件 → S32K358 HSE FW 0.2.40.0 RTM 版本中下载。此外,用于通用 HSE 演示示例的 S32K3 MCU 可在 S32K3 设备页面(适用于汽车通用的 S32K3 微控制器)的设计资源 → 软件下找到。版本说明随软件一起提供,可以在下载的文件中找到。 关于 RTD 版本,HSE 演示应用程序或非用于通用的 HSE 演示示例的 S32K3 MCU 都不是使用 RTD 开发的,其运行也不需要 RTD。 Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 好的,您从哪里下载HSE 演示应用程序和用于通用 HSE 演示示例的 S32K3 MCU? 因为我想知道我需要安装哪个 RTD 版本。 还需要用于环境设置的 HSE 演示的发行版本说明文档。 Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 你好@Kunal_Gettobyte 如果我之前的回答不够清楚,请原谅。 HSE 演示 APP 和通用 HSE 演示示例 S32K3 MCU 都提供了以 FULL_MEM 或 A/B_SWAP 方式安装 HSE 固件的示例。这些应用程序设计用于T32 Lauterbach或PEMicro,因为这些是我们直接支持的设备。但是,该过程可以由任何与我们的设备兼容的程序员执行。 此外,我们还有一份应用笔记,解释了安装 HSE 固件的步骤,该固件也可以在安全文件中找到。如前所述,有关更多详细信息,建议查阅《HSE参考手册》。 Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 您好, 啊哈,你的回答没有准确回答我的问题。 我最关心的是,有什么方法可以将 HSE 固件编程到我的控制器 S32K344 中? 将 HSE 固件编程到 S32K344 MCU 需要什么调试器? 我们只能通过劳特巴赫 对 HSE 固件进行编程吗?如果是,那么没有劳特巴赫的用户如何编程 HSE FW(因为劳特巴赫 相当昂贵)。 PeMicro 或 Segger Jlink 调试器是否不支持 HSE FW 编程? 使用 HSE 演示应用程序可以闪存 HSE Fw 吗?如果是,那么使用相应的 HSE 演示应用程序是否需要劳特巴赫(lauterbach),或者通过 PeMicro 是否也可以使用 HSE 演示应用程序,然后从中进一步闪存 HSE Fw? 主要问题是如何将 HSE Fw 闪存到我的 S32K344 MCU 中,有哪些方法/调试器可供选择(除了直接/间接使用劳特巴赫)。 Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 你好@Kunal_Gettobyte HSE DEMO APP 需要 T32 Lauterbach 才能运行。不过,如果您没有 T32 Lauterbach,也可以通过S32K3 MCU for General Purpose HSE Demo Examples 找到替代方案。两者都提供了不同的用例场景和示例,以演示 HSE 固件在各种设备上的功能。关键区别在于,后者是专门为与 PEmicro 和 S32 Design Studio 配合使用而开发的,因为这两个工具可以很好地相互集成,允许使用 IDE 进行直接调试。 有关在 S32K3 中使用 HSE 的更多信息,建议查阅安全文件中提供的 HSE 参考手册以及每个 HSE 固件版本附带的 API 参考。 BR、VaneB Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? 你好@VaneB请提供有关我们的问题的最新消息......请问我们没有问题的原因是什么? Re: How to Program NXP S32K344 MCU with HSE Firmware Binary? Which debugger is needed? # 你好@VaneB 请提供有关我们的问题的任何最新消息......请问我们不是什么原因?
View full article
S32K388CVB-Q289 Driving PTC21 Dear Team I am using S32K388CVB-Q289, and enabling the FlexCAN_0 along with the TJA1153 CAN0. I am connected a second node on the physical bus for testing porpose. But the FlexCAN_0 gets Ack errors upon transmission When I double check that the TJA1153 transceiver is enabled, I measure pin 5 in J95 But it reads ~2 Volts. And when I change the GPDO85 register between 0 and 1, the voltage read on the pin is not affected. Although I can see that pin is Set high in GPDO85 register, and that the Output driver is enabled in MSCR85 Configuration: Re: S32K388CVB-Q289 Driving PTC21 Hi, to check pin level simply remove J95.5-6 jumper and check MCU (5) and TJA1153 (6) side. Note TJA1153 has VIO connected to VDD_HV_B_PERH (VDD_HV_B 3.3V) using J804, while used MCU pins are on VDD_HV_A (5V) There is no need to drive EN pin, unless user want to switch between TJA1153 modes. Both EN and STB_N are pulled up to VIO by external resistors. STB_N should be driven low by MCU to allow local configuration if device is in Vanilla state. At the end of config TJA1153, STB is put back to Normal mode with EN, STB_N high. If you see message on the bus, but it is not ACKed, most probably it is due to inconsistent CAN bit timing between both nodes. Anyway, ready example for S32K388EVB is posted on  https://community.nxp.com/t5/S32K/Need-MCAL-working-CAN-Configuration-for-S32K388-EVB-bench/m-p/1923345/highlight/true#M38660   BR, Petr Re: S32K388CVB-Q289 Driving PTC21 Thanks for your response. The voltage levels seems now good. EN and nSTB go to high. Still I get Ack errors, with nothing appearing on the bus in my test measurement tool. Is it possible that my transceiver is in Vanilla state, and hence it is not operational till I configure it once? I read the example, but it would be way easier for my current setup to just send the CAN messages from test tool, rather than connecting the transceivers to each other. Can you share with me the initialization sequence, what I should send through CAN for a basic configuration that just send and receive (no security requirements needed)? Re: S32K388CVB-Q289 Driving PTC21 Hi, by default the device is in Vanilla state so must be configured, either from host or remotely. After configuration, the state can be changed, but in examples it is commonly kept in Vanilla state, so init is needed after each power on. If the posted example is working between FlexCAN modules on the board, it should work as well if just single one is connected to your CAN tool. In that example the ID being transmitted is added to the CAN0 transceiver's passlist, other configurations are left as default. You can refer to below example, done in IP level,  for another init sequence. https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K358-FlexCAN-TXRX-ISR-S32DS35-RTD400-500/ta-p/1981987 It expects transceiver in Vanilla state as well and set transceiver's passlist to pass all std and ext ID and do not block any message coming from bus. Finally leaving configuration mode without writing to non-volatile memory nor locking the transceiver (keeping Vanilla). BR, Petr
View full article
verify serial download port through USB2 on i.MX95-A1 EVK with DDR tool in i.MX config-tools Tested on i.MX95-19x19 EVK wit MX95 A1 version, since MX95 A1 has both USB1 and USB2 enabled as SDP. MX95 B0 will only enable one USB port as SDP, and SDP on USB1 and USB2 will be in different part-number. Need to test with config-tools version 25.03, since 25.06 and above only support MX95-B0.   Requirement: 1. USB2.0 cable with type-A male to type-A male. 2. rework on MX95 EVK: Remove R288 on base board, to disable VBUS output on USB2.(MX95 USB2 act as USB device in SDP mode, PC is USB host)     Connect USB cable from PC to MX95-EVk USB2 and power up MX95-EVK. On PC/laptop, in Window Device Manager, should be able to see new HID device popped up. change the configuration of config-tools, by default MX95 USB1 PID is set(0x015D), modify it to the PID of MX95 USB2(0x015C): =================================== Maybe customer could change the files for their USB2 ID 1. C:\\nxp\\i.MX_CFG_25.03\\bin\\python3\\spsdk\\data\\devices\\mimx9596\\database.yaml vid: 0x1FC9 pid: 0x015D 2. C:\\nxp\\i.MX_CFG_25.03\\bin\\python3\\memtool\\common\\sdp_interface.py "MIMX95": (0x1FC9, 0x015D) =================================== without modifying PID, you will see the following error when running DDR Tools: the test procedure shall also work on MX95-B0 with USB2 as SDP. On MX95, need to modify the configuration of the Config-Tools to run DDR test if the SDP is through USB2. MX95 A1(engineering version, not for production) has both USB1 and USB2 enabled as SDP. MX95 B0 will only enable one USB port as SDP, and SDP on USB1 and USB2 will be in different part-number. i.MX Processors
View full article
闪存中的常数 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我正在使用 IAR 工具集,设备是 MKE02Z64。我有几个常量值想放在闪存中(如果可能的话)以释放 RAM,但我找不到用 IAR 工具实现的方法。 最初,我使用的只是一个相当标准的:const uint16_t foobar; 这样一来,foobar 仍然处于数据内存中。我接下来试了试(根据我在网上找到的资料):const volatile uint16_t foobar @"FLASH"; 这没有产生任何错误或警告,但 foobar 仍在数据内存中,而不是代码内存中。 能做到吗? 谢谢! Re: const in flash memory Great explanation of how `const` works when stored in flash memory, especially for embedded systems where every byte matters. It’s interesting how efficient memory placement can tighten performance without changing logic. I recently explored similar structured info on Cass County Justice while researching data storage and organization best practices. Posts like this are helpful for bridging theory with real-world application. 很好地解释了 “const” 在闪存中存储时的工作原理,特别是对于每个字节都很重要的嵌入式系统。有趣的是,在不改变逻辑的情况下,高效的内存布局可以提高性能。最近,我在研究数据存储和组织的最佳实践时,在卡斯县司法局 探索了类似的结构化信息。这样的帖子有助于将理论与实际应用相结合。 Re: const in flash memory <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 看来 Mark Butcher 是对的--我查看了链接器的输出,实际上,const 存在闪存中。让我感到不解的是,生成的映射文件显示 const 为"Data" ,而不是"Code" ,我以为它说的是内存部分,而不是实际的数据类型。 感谢您的回复! Re: const in flash memory <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,戴夫、 请查看以下示例,了解如何将 Const 置于 IAR IDE 软件的 Flash 地址。 在 *.icf 文件中定义一个 [.我的参数] 部分的起始地址,并将该部分置于 ROM 内存中: 定义符号 __region_FlexNVM_start__ = 0x10000000; 置于 mem:__region_FlexNVM_start__ { 只读部分 .myparameter}; 在代码文件 (*.c) 中,将数据放入该部分: const char parameter1[16] @".myparameter"= {0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9, 0xA, 0xB, 0xC, 0xD, 0xE, 0xF}; IAR 在专用地址中放置变量的另一种方法: #pragma location=0x3000 const int test1 = 1; const int test2 @ 0x3004 = 2; 然后,我在地图文件中找到了以下结果: test1 0x00003000 0x4 数据 GB hello_world.o[1] test2 0x00003004 0x4 数据 GB hello_world.o[1] 如果我使用以下代码 #pragma location=0x3000 const int test1 = 1; const int test2 = 2; 然后只把 test1 变量放在 0x3000,把 test2 放在另一个地方,映射结果如下: test1 0x00003000 0x4 数据 GB hello_world.o[1] test2 0x000016ec 0x4 数据 GB hello_world.o[1] 将变量放入专用地址的另一种方法: 在 .icf文件定义的内存区域,如 定义符号 __ICFEDIT_region_ROM_DATA_start__ = 0x0003F800; 定义符号 __ICFEDIT_region_ROM_DATA_end__ = 0x0003FFFF; 定义区域 ROM_DATA_region = mem:[从 __ICFEDIT_region_ROM_DATA_start__   to __ICFEDIT_region_ROM_DATA_end__]; 置于 ROM_region { 只读,代码块重定位}; 在 C 代码中,例如 #define NVM_DATA _Pragma("location=\"NVM_DATA\"" ) NVM_DATA 常量 int test1 = 1; NVM_DATA const int test2 = 2; _Pragma("location=\"NVM_DATA\"" ) 与 #pragma location="NVM_DATA 相同。" 希望能有所帮助。 祝您愉快, 、 马辉 ----------------------------------------------------------------------------------------------------------------------- 注:如果本帖回答了您的问题,请点击正确答案按钮。Thank you! ----------------------------------------------------------------------------------------------------------------------- Re: const in flash memory <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,戴夫 @"FLASH" 仅用于 volatile 常量。 IAR(默认)行为是将常量(全局和静态)放入 Flash,尽管严格来说,const 关键字意味着该变量具有只读属性,而不是它位于特定的内存区域中(尽管嵌入式系统通常会像这样工作是有感知)。 例如 static const unsigned char usb_language_string[] = {4, DESCRIPTOR_TYPE_STRING, LITTLE_SHORT_WORD_BYTES(UNICODE_LANGUAGE_INDEX)}; 静态常量 unsigned char manufacturer_str[] = {10, DESCRIPTOR_TYPE_STRING, 'M',0, 'a',0, 'n',0, 'u',0}; static 常量 unsigned char product_str[] = {16, DESCRIPTOR_TYPE_STRING, 'M',0, 'y',0, ' ',0, 'P',0, 'r',0, 'o',0, 'd',0}; 静态常量 unsigned char serial_number_str[] = {10, DESCRIPTOR_TYPE_STRING, '0',0, '0',0, '0',0, '1',0}; static const unsigned char config_str[] = {10, DESCRIPTOR_TYPE_STRING, 'C',0, 'o',0, 'n',0, 'f',0}; static 常量 unsigned char interface_str[] = {8, DESCRIPTOR_TYPE_STRING, 'I',0, 'n',0, 't',0}; 静态常量无符号 char *ucStringTable[] = {usb_language_strring, manufacturer_str, product_str, serial_number_str, config_str, interface_str}; 地图显示 usb_language_string 0x00003d24 manufacturer_str 0x00003d28 product_str 0x00003d34 serial_number_str 0x00003d44 config_str 0x00003d50 interface_str 0x00003d5c ucStringTable 0x1ffff11c 请注意,除了最后一个阵列外,其他阵列都放入了闪存。我无法解释为什么规则会有一些例外,而你的特殊情况可能就是这样的例外,不管是出于什么原因。 也许最好直接联系 IAR,因为我也找不到控制最后几个剩余异常的方法。幸运的是,就我所见,它只影响到极少数这类东西。 此致 Mark Kinetis:µTasker Kinetis 支持 KE:支持 µTasker FRDM-KE02Z/支持 µTasker FRDM-KE02Z40M/支持 µTasker FRDM-KE06Z 欲获得完整的"开箱即用" Kinetis 体验并加快产品上市时间
View full article
多層スタック上のCLRC663レイアウト 皆さんこんにちは。 私は#CLRC663 を使用して 6 層 PCB を設計しています。アプリケーション ノート AN11019 (rev 1.5) を読むと、第 3.2 章「レイアウト推奨事項」に、CLRC663 評価ボードの下の GND プレーンに関する説明があります。GNDプレーンは基板の中間層にあります SW4301 - CLEV6630B v2.0 PCB では、マッチング回路の下に銅がありません。 前に述べたように、私は多層基板を持っており、マッチングコンポーネント(マッチングコンポーネントレイヤー1 - GNDレイヤー2)の下にGNDプレーンを配置CANかどうかを知りたいです。他のレイヤーの一致するコンポーネントの下にトレースを配置CANか?たとえばレイヤー 3 かレイヤー 6 でしょうか? それとも、スタックのすべての層で、対応するコンポーネントの下の銅をすべて削除する必要がありますか? コメントありがとうございます。 デビッド 接触型スマートカードリーダーIC Re: CLRC663 layout on a multilayer stack こんにちは、トーマス。 まず初めにご返信ありがとうございます。 マッチング回路の下に EMI 制御用の GND プレーンを配置する場合、残りの層の銅領域を削除する必要がありますか? 私のCASEでは 6 層スタックを使用していますが、マッチングが最初の層にあり、GND が 2 番目の層にある場合、他の 4 つの層の銅は削除しないほうがよいと思います。デモボードはそのように作られておらず、その理由は理解できません。 最善の手順について何かアイデアはありますか? 皆様に感謝 デビッド Re: CLRC663 layout on a multilayer stack こんにちは@dramos 通常、以下に示すように、最初の GND レイヤーをマッチング状態に維持します。これは主に EMI の理由によるものです。 BR トーマス
View full article
MIPI-CSI-2 とベイヤーパターンカメラ (RAW10) を使用した i.MX93 こんにちは、 カスタムの i.MX93 ベースのボードを持っています。提供されている CSI-2 インターフェースを使用して、ベイヤーパターン カメラ (IMX327) で RAW10 データを転送したいと考えています。 デバイスツリーの設定とプレスリリース、製品ニュース-ctlの設定はSO far正しいのですが、パイプラインを開始するとdwc-mipi-csi2からIRQストームが発生し、「 IPIインターフェース致命的イベント情報」カウンタが増加します。INT_ST_IPI_FATALレジスタの値は0x2aで、IPI FIFOオーバーフローを示しています。IPIがIRQを1つも持っていないため、ISIにデータをプッシュしていないのではないかと考えています。 https://community.nxp.com/t5/i-MX-Processors/About-settings-to-operate-ov5640camera-on-i-MX93EVK/mp/1716885/highlight/true#M212016を参照何らかの特別な設定があるようです。これらの値をRAW10に適合させようとしましたが、CAMERA_MUX[DATA_TYPE]の値0x31(ユーザー定義16)について疑問がありました。CSI-2 データ型 RAW10 の場合、これが 0x2b ではなくユーザー定義であるのはなぜですか? IPI エラーの原因は何でしょうか?この問題をさらにデバッグするにはどうすればよいでしょうか? 感謝と敬意を表します。 アレクサンダー Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) アップデートはありますか?Omnivision 9732でも同じ問題が発生しています Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) こんにちは@brian14さん、 i.MX93 と RAW10/12 Bayer データを出力するカメラ センサでも同じ問題が発生しています。 何かアイデアや提案はありますか? よろしくお願いします。 Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) こんにちは、 連絡あった?もう1ヶ月が経ちました。 ありがとう、アレクサンダー Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) こんにちは、 このトピックに関して何かニュースはありますか? ありがとう、そしてよろしく。 アレクサンダー Re: i.MX93 using MIPI-CSI-2 with a Bayer Pattern camera (RAW10) こんにちは@steinaさん、 NXP サポートにお問い合わせいただきありがとうございます。 このCASEについては社内チームで検討し、できるだけ早くお問い合わせいたします。 すてきな一日を!
View full article
IMX SM (システムマネージャ) を使用した IMX95 ハードウェアのパーティショニングとアイソレータ こんにちは、 IMX95 verdin evkボードを使用したプロジェクトに取り組んでいます ハードウェア (A55 コア) をパーティション分割して、それぞれで異なる重要度のアプリケーションを実行する 4 つの別個の分離された Linux を実行したいと考えています。私たちは、プロトタイプ作成のために SM を使用してボードを素早く分割し、生産に近づいたときに PikeOS に移行することを望んでいました。 SM ドキュメントでは、A55 パーティションを構成する方法についてはあまり説明がありませんでした。それが可能だといいのですが、間違っていたら訂正してください。 理想的には、パーティション分割された A55 を含む参照構成と、コメントとコンポーネントの説明を含む参照構成が必要であり、何がどこにあり、なぜであるかを理解できるようになります。Linux を実行するために必要な最小限の A55 LM 構成の例もいただければ幸いです。 私たちが望むものの例 - コンポーネントの説明と時折の説明コメントを含む完全な構成:   PD_A55P start=2, stop=8, test #power delivery to A55 package PD_A55C0 stop=7 #power delivery to A55 core 0 - only stop because of ... PD_A55C1 stop=8 #power delivery to A55 core 1 ... A55P OWNER, sema=0x442313F8 #A55 package - must be owned by LM2 because ..., sema means ... ... FLEXSPI1_MEM EXEC, begin=0x000000000, end=0x0FFFFFFFF #only needed if ... OCRAM_C EXEC, begin=0x001000000, end=0x001017FFF #used for ..., minimum size ... OCRAM EXEC, begin=0x0204C0000, size=96K #used for ..., minimum size ... GPU DATA, begin=0x04D900000, end=0x04DD7FFFF #only on LM that owns GPU, minimum size ... DDR EXEC, begin=0x088000000, end=0x089FFFFFF #ddr partition 1, used for ... DDR EXEC, begin=0x08E000000, end=0x87FFFFFFF #ddr partition 2, used for ... 適切に文書化された構成ファイルを 1 つ用意しておくと、望ましい結果を得るために何を変更する必要があるかを理解するのに大いに役立ちます。上記の例では、A55P は A55 パッケージを意味すると推測しましたが、確信を得る方法はありません。また、1 つの LM の下にメモリの DDR セクションが 2 つある (さらにセキュア A55 セクションに 1 つある) 理由もわかりません。また、すべての A55 LM にこれらすべてが必要かどうかもわかりません。 また、複数の LM で同時に同じ Linux イメージを起動できるCANかどうか、また各 LM に異なる Linux イメージをロードできるCANかどうか、またそれをどのように設定するかについても興味があります。 最後に知りたいのは、シリアル DBG ポートにコネクテッドする LM を選択する方法と、(使用しない) M7 のデバッグ COM ポートを別の A55 LM で上書きできるかどうかです。 ありがとうございます。ご返信をお待ちしております。 ウラジミール
View full article
RT1051 PWM Capture Counter Stop Hello, recently when I was doing a project about FlexPWM capture on RT1051, I encountered a problem that the timer could not start properly, when I remove the crossover code or set it to 1 crossover frequency, Counter can run normally, but when I set it to 2 crossover frequency or higher crossover frequency Counter stops, what is the reason for this? void Capture_config(void) { pwm_input_capture_param_t pwm_input_capture; gpio_pin_config_t PWM_pin_config; //初始化输入捕获管脚 IOMUXC_SetPinMux(PWM2_PWMA03_IOMUXC, 0U); //设置外部引脚的复用功能 IOMUXC_SetPinConfig(PWM2_PWMA03_IOMUXC, PWMC_INPUT_PAD_CONFIG_DATA); //设置引脚的 pad 属性 PWM_pin_config.direction = kGPIO_DigitalInput; PWM_pin_config.interruptMode = kGPIO_NoIntmode; GPIO_PinInit(PWM2_PWMA03_GPIO, PWM2_PWMA03_GPIO_PIN, &PWM_pin_config); //初始化输入捕获配置参数 pwm_input_capture.captureInputSel = false; pwm_input_capture.edge0 = kPWM_RisingEdge; //pwm_input_capture.edge1 = kPWM_FallingEdge; pwm_input_capture.enableOneShotCapture = false; //pwm_input_capture.edgeCompareValue = 10; //当captureInputSel为FALSE时,此处设值无意义 pwm_input_capture.fifoWatermark = 0; PWM_SetupInputCapture(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_PwmA, &pwm_input_capture); //开启捕获中断 //set_IRQn_Priority(PWM2_3_IRQn,Group4_PreemptPriority_0, Group4_SubPriority_0);//设置中断优先级 //PWM_EnableInterrupts(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_CaptureA0InterruptEnable| kPWM_CaptureA1InterruptEnable ); PWM_EnableInterrupts(PI_PWM_BASEADDR, kPWM_Module_3, kPWM_CaptureA0InterruptEnable ); EnableIRQ(PWM2_3_IRQn); } /** * @brief 初始化 PWM 配置参数 * @retval 无 */ void PWM_config(void) { pwm_config_t pwmConfig;//定义pwm 配置结构体 PWM_Deinit(PI_PWM_BASEADDR, kPWM_Module_3); /*设置AHB总线时钟和IP总线时钟*/ CLOCK_SetDiv(kCLOCK_IpgDiv, 0x3); /* Set IPG PODF to 3, divede by 4 */ /*设置pwm 错误输入为高电平,表示没有错误,只有当pwm 没有错误输入或者禁止错误检测才能正常输出pwm波*/ XBARA_Init(XBARA1); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault0); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1Fault1); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault2); XBARA_SetSignalsConnection(XBARA1, kXBARA1_InputLogicHigh, kXBARA1_OutputFlexpwm1234Fault3); PWM_GetDefaultConfig(&pwmConfig); pwmConfig.reloadLogic = kPWM_ReloadPwmFullCycle; //新值在上一个pwm周期输出结束之后加载到缓冲寄存器中 pwmConfig.pairOperation = kPWM_Independent; // 工作在独立模式 pwmConfig.clockSource = kPWM_BusClock; pwmConfig.enableDebugMode = true; // 使能DebugMode pwmConfig.prescale = kPWM_Prescale_Divide_128; //1320000000/128/65535=16Hz=PWM最小频率 //初始化 PWM 并且判断初始化是否成功 if (PWM_Init(PI_PWM_BASEADDR, kPWM_Module_3, &pwmConfig) == kStatus_Fail) { PRINTF("PWM initialization failed\n"); } Capture_config(); PWM_SetPwmLdok(PI_PWM_BASEADDR,kPWM_Control_Module_3 , true); PWM_StartTimer(PI_PWM_BASEADDR, kPWM_Control_Module_3 ); } i.MXRT 105x Re: RT1051 PWM Capture Counter Stop Hi @coderick , Thanks for your interest in NXP MIMXRT series! Did you set BOARD_PWM_BASEADDR->SM[3].VAL1 & INIT in your project? If VAL1 is still 0, it will cause a problem. Best regards, Gavin
View full article
GHS 多路调试器 - 微控制器 POR 之后无法恢复 你好,我正在使用 GHS 多调试器和 Renasas E1 调试器。每当关闭微控制器电源并重新打开时,调试器窗口都会卡住。我需要恢复调试。请提供解决方案。是否可以在不重新刷新软件的情况下恢复会话? Re: GHS Multi debugger - Not resuming after Microcontroller POR 你好@danielmartynek, ,我使用的是 Renesas RH850 - RH850/C1M-A2 谢谢 Re: GHS Multi debugger - Not resuming after Microcontroller POR 嗨,@Lokesh_0109、 请注明 MCU 部件、 谢谢
View full article
使用 MCAL 向传输 FIFO 执行 S32K312 LPUART0 DMA 传输。 你好 我确认中断方法正常工作。 但是,DMA 方法不起作用。 在 Mcl_Init(NULL_PRT);中出现硬故障。 uart dma 相关示例使用的是 flexio dma,所以我不确定问题出在哪里。 请检查一下。 Re: Use MCAL to perform S32K312 LPUART0 DMA transfer to the transfer FIFO. 终于解决了 我漏掉了 "dma mux source: enable"。 Re: Use MCAL to perform S32K312 LPUART0 DMA transfer to the transfer FIFO. 你好,Robin Shen。 按照您的指示,激活 DMAMUX_0 不会导致任何错误。 然而,它仍然不起作用。 对于 tx,没有任何操作;对于 rx,当从终端接收到第一 和第二个字节时,会发生 “LPUART_UART_IP_STATUS_RX_OVERRUN”。 这种情况已经持续两周了。 如果您能提供更详细的信息,我将不胜感激。 此外,没有出现 dmarx 和 dmatx 中断。 已使用 DeepL.com 翻译(免费版) Re: Use MCAL to perform S32K312 LPUART0 DMA transfer to the transfer FIFO. 你好 请配置 McuPeripheral -> 外设时钟启用 看来你忘记启用这些外设的时钟门了:EDMA\DMAMUX_0 祝好, Robin ------------------------------------------------------------------------------- 注: - 如果本帖回答了您的问题,请点击"ACCEPT AS SOLUTION" 按钮。谢谢! - 我们会在最后一次发帖后的 7 周内跟踪主题,之后的回复将被忽略 如果您以后有相关问题,请另开新主题并参考已关闭的主题。 -------------------------------------------------------------------------------
View full article
S32DS3.6.1 インストール S32K5 RTD0.4.4 P02 こんにちは、チーム S32k5 RTD0.4.4 P02 リリースノートによると、モジュール構成は S32DS 3.6.1 です。 S32DS 3.6.1 に S32k5 RTD0.4.4 P02 をインストールすると、次のエラーが発生します。   インストール方法を教えていただけますか? よろしくお願いします! BR、 双 RTD S32DS Re: S32DS3.6.1 install S32K5 RTD0.4.4 P02 こんにちは、 サポートありがとうございます。 はい、 S32K5 RTDをインストールする前にS32K5開発パッケージをインストールしました。問題はFlorinさんが以前おっしゃった通りで、S32DesignStudioを削除するとK5 RTD P02は正常にインストールできます。 BR、 双 Re: S32DS3.6.1 install S32K5 RTD0.4.4 P02 こんにちは、フロリンさん。 サポートありがとうございます。 はい、あなたの回避策は私のコンピューターではCANます。画面はお客様のものではなく、私のS32DSの画面です。切り捨てられていないことを確認しました。次の画面は私の S32DS ソフトウェア サイトです。(K5 RTDをインストールした後、S32DesignStudioサイトを再追加しました) NXPについてネットワークにコネクテッドしていますが、インターネットの速度がわかりません。 BR、 双 Re: S32DS3.6.1 install S32K5 RTD0.4.4 P02 こんにちは、 お客様のスクリーンショットは切り捨てられていると思われます。依存関係が欠落している場合は、インストールを続行CAN。フルスクリーン ショットは次のようになります。 エラーから判断すると、ネットワークの問題が発生し、プラットフォームの更新が正しくダウンロードされなかったようです。これを社内で検証したところ、問題なく動作しました。 回避策としては、3.6.2は実際には必要ないのでアップグレードするには、「拡張機能と更新」->「サイトの管理」に移動し、次の行を見つけます。 S32デザインスタジオ - https://www.nxp.com/lgfiles/updates/Eclipse/S32DS_3.6 削除をクリックして再試行してください。 インストール後は、手動で追加するか、「デフォルトに戻す」をクリックすることでいつでも元に戻すことができます。これにより、追加したカスタム更新サイトが削除され、初期のデフォルト サイトが復元されます。 これは解決策ではなく、むしろ回避策です。理想的には、このフローでそれが役割を果たしているかどうかを判断できるように、接続とインターネット速度に関する詳細な情報が必要になります。 また、S32Design Studio 3.6.2もご用意しております。3.6.x のすべてのバージョンと下位互換性のあるインストーラ以前のリリース。 敬具、 フローリン Re: S32DS3.6.1 install S32K5 RTD0.4.4 P02 こんにちは、シュアンさん S32K5 RTD をインストールする前に、必ず S32K5 開発パッケージをインストールしてください。K5 開発パッケージがアカウントに存在しない場合は、are.NXP.com カタログに追加できます。
View full article
恩智浦 OTA 示例中的不可缓存区域 亲爱的各位, 我试图使用这里给出的 OTA 机制示例: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/tree/release/25.09.00-pvw1/_boards/evkbmimxrt1170/ota_examples/mcuboot_opensource 链接器脚本中有一节: /* Specify the memory areas */ MEMORY { m_flash_config (RX) : ORIGIN = 0x30000400, LENGTH = 0x00000C00 m_ivt (RX) : ORIGIN = 0x30001000, LENGTH = 0x00001000 m_interrupts (RX) : ORIGIN = 0x30002000, LENGTH = 0x00000400 m_text (RX) : ORIGIN = 0x30002400, LENGTH = TEXT_SIZE m_qacode (RX) : ORIGIN = 0x00000000, LENGTH = 0x00040000 m_data (RW) : ORIGIN = 0x20240000, LENGTH = 0x00040000 m_data2 (RW) : ORIGIN = 0x202C0000 + RPMSG_SHMEM_SIZE, LENGTH = 0x00080000 - RPMSG_SHMEM_SIZE rpmsg_sh_mem (RW) : ORIGIN = 0x202C0000, LENGTH = RPMSG_SHMEM_SIZE m_core1_image (RX) : ORIGIN = CORE1IMAGE_START, LENGTH = 0x00040000 } Then later there is: __NDATA_ROM = __ram_function_flash_start + (__ram_function_end__ - __ram_function_start__); .ncache.init : AT(__NDATA_ROM) { __noncachedata_start__ = .; /* create a global symbol at ncache data start */ *(NonCacheable.init) . = ALIGN(4); __noncachedata_init_end__ = .; /* create a global symbol at initialized ncache data end */ } > m_data2 . = __noncachedata_init_end__; .ncache : { *(NonCacheable) . = ALIGN(4); __noncachedata_end__ = .; /* define a global symbol at ncache data end */ } > m_data2 这将额外的不可缓存部分定义为 OCRAM2 的剩余部分(从 202C_0000 到 2033_FFFF - 512KB)。 不过,Board_ConfigMPU 确实: https://github.com/nxp-mcuxpresso/mcuxsdk-examples/blob/release/25.09.00-pvw1/_boards/evkbmimxrt1170/board.c #if defined(CACHE_MODE_WRITE_THROUGH) && CACHE_MODE_WRITE_THROUGH /* Region 6 setting: Memory with Normal type, not shareable, write through */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 7 setting: Memory with Normal type, not shareable, write trough */ MPU->RBAR = ARM_MPU_RBAR(7, 0x20300000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 0, 0, ARM_MPU_REGION_SIZE_512KB); #else /* Region 6 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(6, 0x20200000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_1MB); /* Region 7 setting: Memory with Normal type, not shareable, outer/inner write back */ MPU->RBAR = ARM_MPU_RBAR(7, 0x20300000U); MPU->RASR = ARM_MPU_RASR(0, ARM_MPU_AP_FULL, 0, 0, 1, 1, 0, ARM_MPU_REGION_SIZE_512KB); #endif 将此内存扇区标记为可缓存。 有谁能告诉我,示例代码是否真的将 m_data2 的提醒标记为不可缓存? 或者换句话说--谁能告诉我如何实现这一目标--在我们的应用程序中,我们希望将这一 ram 部分的剩余部分用作非高速缓存。 感谢您的支持 Re: Non-Cachable region in NXP OTA example 你好@jslota13245、 感谢您对 NXP MIMXRT 系列的关注! OCRAM 是一个可缓存区域。针对您的应用场景,请参考本指南: https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs-Knowledge/Using-NonCached-Memory-on-i-MXRT/ta-p/1183369 致以最诚挚的问候, Gavin
View full article
为 i.mx8MQ 创建 Jailhouse 虚拟机监控器 Inmate cell 时出现问题 亲爱的先生, 正在尝试通过 Jailhouse 在 NXP i.MX 8MQ EVK 板中创建自定义(e-Call)Inmate linux 演示单元。 所有操作步骤均已添加到所附的 "NXP_Jailhouse_Ticket.txt "中。锉刀 面临的问题:- 我们面临编译问题, 如何编译 linux-inmate-demo.c文件并生成 .o和 .cell文件? 如何创建正确的 .bb文件,用于编译 linux-inmate-demo.c文件并生成 .o和 .cell文件并添加到最终图像中。? 请向我们提供您在创建自定义监狱囚犯牢房时有的任何应用笔记, 或者 是否有任何指向以前具有相同解决方案的恩智浦社区门票的链接? 还请纠正上述步骤并提供解决方案。 i.MX8ULP Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 关于如何设置网络以允许囚犯访问互联网,请参阅下文,您需要更新设置以使用 USB 网或以太网。 如何使用网络为第 2 版 Linux 设置网络 首次启动 linux 后 sysctl -w net.ipv4.ip_forward=1 sysctl -p /etc/sysctl.conf 启用根细胞后 iptables -A FORWARD -i eth1 -j ACCEPT iptables -A FORWARD -o eth1 -j ACCEPT iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 第二次启动 linux 后 ifconfig eth1 或 2 192.168.1.4第 1 个 Linux 根单元 ifconfig eth0 192.168.1.5为第二个 Linux 囚犯牢房 "ip route add default via 192.168.1.4dev eth0" for the 2nd linux " ip route add 10.193.100.0/24通过 192.168.1.4dev eth0" 用于第二个 linux 现在,您可以"mount -t nfs 10.193.108.xx:/home/xxx/nfs/mnt" 在步骤 3 和 4 中,根据您的网络将 10.193.xx.xx 更新为您的网络 此致 Peng 开始标志。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 嗨,彭、 非常感谢你们的支持,我们可以将 "scp "从根单元复制到囚犯单元。 基本上,我们希望在囚犯手机上保留带有 MQTT 的电子呼叫应用程序。 我们可以共享从根节点到囚犯单元的读/写共享内存。此外,我们还可以按照您的建议,为 root/inmate 单元提供静态 IP。 现在,我们需要在囚犯牢房上建立互联网连接,以便将接收到的数据从根牢房传输到云端。 我们通过 USB 端口将 Quectel EC25 模块连接到恩智浦 i.MX8MQ 板。 根单元数据的 IFCONFIG: ” ifconfig eth0: flags=-28669 mtu 1500 ether 00:04:9f:05:a5:9c txqueuelen 1000(以太网) RX 数据包 0 字节 0 (0.0 B) RX 错误 0 丢失 0 超限 0 帧 0 TX 数据包 0 字节 0 (0.0 B) TX 错误 0 丢失 0 超出 0 载波 0 碰撞 0 eth1: flags=-28605 mtu 16384 inet 192.168.0.3 netmask 255.255.255.0 广播 192.168.0.255 inet6 fe80::88f0:a7ff:fe40:2407 prefixlen 64 scopeid 0x20 ether 8a:f0:a7:40:24:07 txqueuelen 1000(以太网) RX 数据包 41 字节 7030 (6.8 KiB) RX 错误 0 丢失 0 超限 0 帧 0 TX 数据包 71 字节 18812 (18.3 KiB) TX 错误 0 丢失 0 超出 0 载波 0 碰撞 0 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1000(本地环回) RX 数据包 103 字节 9268 (9.0 KiB) RX 错误 0 丢失 0 超限 0 帧 0 TX 数据包 103 字节 9268 (9.0 KiB) TX 错误 0 丢失 0 超出 0 载波 0 碰撞 0 usb0: flags=-28605 mtu 1500 inet 192.168.225.39 净掩码 255.255.255.0 广播 192.168.225.255 inet6 2401:4900:4bb5:e7a7:609f:c3ff:fe2c:903b prefixlen 64 scopeid 0x0 inet6 fe80::609f:c3ff:fe2c:903b prefixlen 64 scopeid 0x20 ether 62:9f:c3:2c:90:3b txqueuelen 1000(以太网) RX 数据包 84 字节 7614 (7.4 KiB) RX 错误 0 丢失 0 超限 0 帧 0 TX 数据包 117 字节 13860 (13.5 KiB) TX 错误 0 丢失 0 超出 0 载波 0 碰撞 0 " 可以看到,互联网连接已在 ROOT 手机端建立。 以下是 PING 命令的输出结果 ” root@imx8mqevk:/home ping 8.8.8.8 PING 8.8.8 (8.8.8.8) 56 (84) 字节的数据。 来自 8.8.8.8 的 64 字节:icmp_seq=1 ttl=114 时间=193 毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=2 ttl=114 时间=68.9毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=3 ttl=114 时间=62.8毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=4 ttl=114 时间=68.5 毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=5 ttl=114 时间=66.5 毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=6 ttl=114 时间=78.6 毫秒 来自 8.8.8.8 的 64 字节:icmp_seq=7 ttl=114 时间=71.0毫秒 ” 现在我在囚犯牢房遇到了网络问题,下面是 IFCONFIG 日志: ” root@imx8mqevk:~ ifconfig eth0 Link encap:Ethernet HWaddr 6E:58:98:59:01:A0 inet addr:192.168.0.4 Bcast:192.168.0.255 掩码:255.255.255.0 inet6 addr: fe80::6c58:98ff:fe59:1a0/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:16384 Metric:1 RX 数据包:184 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:65 错误:0 丢弃:0 超限:0 载波:0 碰撞:0 txqueuelen:1000 RX 字节:78814 (76.9 KiB) TX 字节:14002 (13.6 KiB) lo Link encap:Local Loopback inet addr:127.0.0.1 掩码:255.0.0.0 inet6 地址:::1/128 范围:主机 UP LOOPBACK RUNNING MTU:65536 Metric:1 RX 数据包:22 错误:0 丢弃:0 超限:0 帧:0 TX 数据包:22 错误:0 丢弃:0 超限:0 载波:0 碰撞:0 txqueuelen:1000 RX 字节:3897 (3.8 KiB) TX 字节:3897 (3.8 KiB) ” 此外,我们还尝试在 ROOT 手机端进行 IP 转发: 允许囚犯牢房接入外部网络: 根细胞中 echo 1> /proc/sys/net/ipv4/ip_forward iptables -A FORWARD -i eth1 -o usb0 -j ACCEPT iptables -A FORWARD -i usb0 -o eth1 -j ACCEPT iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE ” 当我运行上述命令时,得到以下日志: ” root@imx8mqevk:/home iptables -t nat -A POSTROUTING -o usb0 -j MASQUERADE [ 1869.738194] audit: type=1325 audit(1755848821.593:11):table=nat 系列=2 entries=7 op=xt_replace pid=713 comm="iptables" root@imx8mqevk:/home [ 1869.749806] audit: type=1300 audit(1755848821.593:11):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaafd66a400 items=0 ppid=607 pid=713 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 1869.779649] audit: type=1327 audit(1755848821.593:11):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0075736230002D6A004D415351554552414445" ” 还将 Dmesg 日志放入根单元 ” [ 71.141601]创建了监狱牢房"ecall-linux-inmate-demo" [ 77.822386]IPv6:ADDRCONF(NETDEV_CHANGE):ETH1:链路就绪 [ 206.451703]audit: type=1325 audit(1755847158.198:4):table=nat 系列=2 个条目=0 op=xt_register pid=651 comm="iptables" [ 206.463131]audit: type=1300 audit(1755847158.198:4):arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=ffffe78d01c0 items=0 ppid=607 pid=651 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 206.493176]audit: type=1327 audit(1755847158.198:4):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0065746830002D6A004D415351554552414445 [ 206.508268]audit: type=1325 audit(1755847158.202:5):table=nat 系列=2 entries=5 op=xt_replace pid=651 comm="iptables" [ 206.519201]audit: type=1300 audit(1755847158.202:5):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaabb51c230 items=0 ppid=607 pid=651 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 206.547353]audit: type=1327 audit(1755847158.202:5):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0065746830002D6A004D415351554552414445 [ 217.506636]audit: type=1325 audit(1755847169.257:6):table=nat 系列=2 个条目=6 op=xt_replace pid=657 comm= " iptables " [ 217.517791]audit: type=1300 audit(1755847169.257:6):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaaec783230 items=0 ppid=607 pid=657 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 217.547639]audit: type=1327 audit(1755847169.257:6):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0075736230002D6A004D415351554552414445 [ 294.389911]audit: type=1325 audit(1755847246.146:7):table=filter 系列=2 entries=0 op=xt_register pid=659 comm="iptables" [ 294.401564]audit: type=1300 audit(1755847246.146:7):arch=c00000b7 syscall=209 success=yes exit=0 a0=4 a1=0 a2=40 a3=fffff5707410 items=0 ppid=607 pid=659 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 294.431369]audit: type=1327 audit(1755847246.146:7):proctitle=69707461626C6573002D4100464F5257415244002D690065746831002D6F0075736230002D6A00414343455054 [ 294.445250]audit: type=1325 audit(1755847246.150:8):table=filter 系列=2 entries=4 op=xt_replace pid=659 comm="iptables" [ 294.456430]audit: type=1300 audit(1755847246.150:8):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaaeb8d3950 items=0 ppid=607 pid=659 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 294.484541]audit: type=1327 audit(1755847246.150:8):proctitle=69707461626C6573002D4100464F5257415244002D690065746831002D6F0075736230002D6A00414343455054 [ 314.598783]audit: type=1325 audit(1755847266.267:9):table=filter 系列=2 entries=5 op=xt_replace pid=662 comm="iptables" [ 314.610726]audit: type=1300 audit(1755847266.267:9):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaac05eaac0 items=0 ppid=607 pid=662 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 314.640305]audit: type=1327 audit(1755847266.267:9):proctitle=69707461626C6573002D4100464F5257415244002D690075736230002D6F0065746831002D6A00414343455054 [ 849.488680]audit: type=1006 audit(1755847801.267:10):pid=671 uid=0 old-auid=4294967295 auid=0 tty=(none) old-ses=4294967295 ses=3 res=1 [ 849.501588]audit: type=1300 audit(1755847801.267:10):arch=c00000b7 syscall=64 success=yes exit=1 a0=3 a1=ffffc0aa76a0 a2=1 a3=ffff83653020 items=0 ppid=238 pid=671 auid=0uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=3 comm="crond" exe="/usr/sbin/crond" key=(null) [ 849.527425]audit: type=1327 audit(1755847801.267:10):proctitle=2F7573722F7362696E2F63726F6E64002D6E [ 1869.738194] audit: type=1325 audit(1755848821.593:11):table=nat 系列=2 entries=7 op=xt_replace pid=713 comm="iptables" [ 1869.749806] audit: type=1300 audit(1755848821.593:11):arch=c00000b7 syscall=208 success=yes exit=0 a0=4 a1=0 a2=40 a3=aaaafd66a400 items=0 ppid=607 pid=713 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=ttymxc0 ses=4294967295 comm="iptables" exe="/usr/sbin/xtables-legacy-multi" key=(null) [ 1869.779649] audit: type=1327 audit(1755848821.593:11):proctitle=69707461626C6573002D74006E6174002D4100504F5354524F5554494E47002D6F0075736230002D6A004D415351554552414445 " 您能帮助我们解决囚犯牢房的上述网络问题吗? Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 在 linux 中执行你的 “root” 或 “犯人” 将触发信号分段故障。 要在两个 linux 之间测试 ivshmem,可以按以下方法进行: 在根单元中: ivshmem-demo -d /dev/uio0 -t 2 在囚犯牢房中: ivshmem-demo -d /dev/uio0 -t 0 然后,你就会看到两个细胞之间的交流。 ivshmem-demo 的源代码位于 imx-jailhouse/tools/demos/ivshmem-demo.c 中。 关于如何在囚犯 Linux 启动后将文件复制到囚犯牢房、 在囚犯牢房: ifconfig eth0 192.168.0.4 在根单元中: ifconfig eth0 192.168.0.3 然后,你可以使用 scp 将文件从 root 复制到犯人。 也可以在根牢房配置 IP 转发,让囚犯访问外部网络。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 嗨,彭, 非常感谢你的回复,现在我们可以编译 cell.c 了。代码和生成的 .cell锉刀 " 自定义 ecall-inmate-linux-demo 单元创建成功,ecall-inmate-linux-demo 客户端启动并运行。 Linux主机 root imx8mqevk:~jailhouse 牢房列表 ID 名称 状态 已分配 CPU 故障 CPU 0 imx8mq 运行中 0-1 1 ecall-inmate-linux-demo 运行 2-3 ecall-inmate-linux-demo guest " 我们正在使用 /dev/uio0 设备节点进行通信。 尝试了一些 python 代码,根单元格的写入/发送成功。同时,也无法接收到任何关于 Linux 的演示。 之后,我们转入 C 语言编程代码,并附加了 "ivshmem_common.h"、'ivshmem_inmate.c'、'ivshmem_root.c',以及 Makefile。 使用以下命令生成二进制文件 源 /opt/fsl-imx-wayland/5.15-kirkstone/environment-setup-armv8a-参考发行版、系统开发套件。 export cross_compile=aarch64-参考发行版、系统开发套件。-linux-make kird=/home/automotive/yocto_imx_linux/版本/tmp/work-shared/imx/kernel-版本-Artifacts c= " aarch64-参考发行版、系统开发套件。-linux x-gcc--sysroot=$sdktargetsysRoot " arch=arm64 cross_compile=aarch64-参考发行版、系统开发套件。-Linux-aarch64-参考发行版、系统开发套件。-linux-gcc--sysroot=/opt/fsl-imx-wayland/5.15-kirkstone/sysroots/armv8a-参考发行版、系统开发套件。-l inux-Wall-O2-o 根目录 ivshmem_root.c 我们在桌面端使用 imx8mq 工具链和上述命令进行编译。 我们想将生成的二进制文件复制到 Linux 囚犯演示单元。 我们已成功复制到根单元,但不知道在 Inmate Linux 演示单元上复制或编译的步骤? ,您能提供相同的操作方法吗? 我指的是恩智浦文档 "UG10163",名称为 "iMX_Linux_user_guide_LF6.12.20_2.0.0"。 我需要一些有效的示例代码和用户指南来使用这个 Linux 演示囚犯牢房,因此从根单元传输(一些捆绑的数据,例如 JSON 或字符串/二进制)数据,反之亦然,从 Linux Inmate 演示单元接收。 谢谢, Sumit Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 所以,我的理解是,你遇到了投诉问题。 恩智浦有一个仓库:https://github.com/nxp-imx/imx-jailhouse 我不明白你为什么要尝试版本单元文件。仅使用make即可版本监狱和所有单元文件非常简单。即使你使用的是 Simense 仓库,该文档也说: make [KDIR=/path/to/kernel/objects] 还有我版本所有内容的命令: . /opt/fsl-imx-internal-xwayland/6.12-styhead/environment-setup-armv8a-参考发行版、系统开发套件。-linux 导出 cross_compile=aarch64-参考发行版、系统开发套件。-Linux- 取消设置 CFLAGS unset LDFLAGS make kdir=$HOME/linux/linux-LTS-NXP CC= " aarch64-poky-linux-gcc--sysroot=$sdktargetsysroot " arch=arm64 cross_compile=aarch64-POKY-LINUX-LINUX-GCC arch=arm6 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 亲爱的 PENG、 非常感谢你们的建议。 我们仍面临一些问题,详情如下: 创建 .cell 的流程文件(Jailhouse Inmate 二进制文件)、SDK 编译命令: 工具链环境设置: 来源 /opt/fsl-imx-wayland/5.15-kirkstone/environment-setup-armv8a-参考发行版、系统开发套件。-linux PATH bash:/opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/usr/bin: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-kirkstone/sysroots/x86_64-kirkstone/sysroots/sbin: /opt/fs l-imx-wayland/5.15-kirkstone/sysroots/x86_64-kirkstone/sysrox86_64-pokysdk-linux/bin: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/sbin: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/usr/bin/.../x86_64-pokysdk-linux/bin: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-pokysdk-linux/bin/aarch64-pokysdk-linux: /opt/fsl-imx-wayland/5.15-kirkstone/sysroots/x86_64-pokysdk-linux/bin/aarch64-pokysdk-linux/bin/apoky-linux-musl: /home/automotive/.local/bin: /home/automotive/bin: /usr/local/sbin: /usr/bin: /usr/bin: /bin: /bin: /usr/bin: /bin: /usr/bin: /usr/bin: /bin: /usr/bin: /usr/bin: /usr/bin: /bin: /usr/bin: /usr/bin: /usr/bin: /bin: /usr/bin: /usr/bin: /usr/bin: /bin: /usr/b-c-i/HOME/Automotive/Jailhouse/Hypervisor/include-i/home/Automotive/Jailhouse/Hypervisor/arch/ arm64/include-i 汽车/监狱/include-nostdlib-nostartfiles-ffreestanding ecall-inux-demo.c-o ecall-inux-demo.c-o ecall-inumate-inmate-inmate-inmate-inmate-inmat 注意:-Jailhouse 头文件不是工具链的一部分,因此我们从 Seimens 的 Jailhouse 文件夹中单独下载(github 版本)。我们使用头文件 inmate-linux-demo.cell 进行编译。 我们没有对 .c锉刀 第 1 步:链接 .o 生成平面 ELF aarch64-poky-linux-ld\-ttext=0x0\-nostdlib\-o ecall-inux-demo.elf\ ecall-inux-demo.elf\ ecall-inumate-linux-demo.o -ttext=0x0 放置 .text 地址为 0x0 的部分,用于平面二进制布局。 -nostdlib阻止链接标准 C 库(队友不需要它)。 第 2 步:将 ELF 转换为原始二进制 .cell aarch64-poky-linux-objcopy\-O 二进制\ ecall-inimate-linux-demo.elf\ ecall-inumate-linux-demo.cell 验证结果:文件 ecall-inumate-linux -demo.cell 验证结果:文件 ecall-inux-demo. 打印信息: ecall-inmate-linux-demo.cell: data 删除默认的 imx8mq.cell 和 imx8mq-linux-demo.cell 生成 "imx8mq.cell 和 imx8mq-linux-demo.cell文件被推送到目标文件夹:"/usr/share/jailhouse/cells 之后,使用生成的 imx8mq.cell 启用 Jailhouse,并面临以下错误 / jailhouse enable /usr/share/jailhouse/cells/imx8mq.cell [ 2533.385877] jailhouse:不是系统配置 JAILHOUSE_ENABLE:无效参数 请提供指导,如果可能的话,请提供一些用户指南/应用笔记或 Makefile/Proper GCC 命令来解决问题。 附上 makefile(它包含所有命令,如上所述) 编译,制 作 aarch64-poky-linux-gcc-nostdlib-nostartfiles-ffreestanding-i/home/automotive/Jailhouse/Hypervisor/include-i-i/home/jailhouse/Hypervisor/include-i-home/automotive/Jailhouse/Hypervisor/include-i-home/automotive/Jailhouse/Hyp-imx8mq.o aarch64-poky-linux-ld-ttext=0x0-nostdlib-o imx8mq.elf imx8mq.elf imx8mq.elf imx8mq.o aarch64-poky-linux-ld: 警告 :找不到入口符号 _start;默认为 0000000000000000 aarch64-poky-linux-objcopy -O 二进制 imx8mq.elf imx8mq.cell 它生成了 .elf.cell 和 .o. 使用以下命令验证文件格式: 文件 imx8mq.elf imx8mq.elf:ELF 64 位 LSB 可执行文件,ARM aarch64,版本 1 (SYSV),静态链接,未删除文件 imx8mq.o imx8mq.o:ELF 64 位 LSB 可重定位,ARM aarch64,版本 1 (SYSV),未删除 文件 imx8mq.cell imx8mq.cell:数据 感谢您的支持。 苏米特 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ BTW: 这是不对的 "敲击 export pythonpath=/HOME/automotive/yocto_imx_linux/版本/tmp/work/x86_64-linux/jailhouse-native/0.12-r0/image/USR/Share/Jailhouse/Tools export c_include_path=/HOME/Automotive/yocto_imx_linux/版本/tmp/work/x86_64-linux/jailhouse-native/0.12-r0/image/USR/Include/Jailhouse      /home/automotive/yocto_imx_linux/版本/tmp/work/x86_64-linux/jailhouse-native/0.12-r0/image/usr/bin/jailhouse-cell-linux \      /home/automotive/yocto_imx_linux/版本/tmp/work/armv8a-参考发行版、系统开发套件。-linux/jailhouse-ecall/1.0-r0/ecall-inmate-linux-demo.c \ -o ecall-inmate-linux-demo.cell 单元格是由 GCC 编译出来的,而不是 jailhouse-cell-linux 编译出来的。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 我对 Yocto 的东西知之甚少。只需分享我的版本命令即可: . /opt/fsl-imx-internal-xwayland/6.12-styhead/environment-setup-armv8a-参考发行版、系统开发套件。-linux make kdir=$HOME/linux/linux-LTS-NXP CC= " aarch64-poky-linux-gcc--sysroot=$sdktargetsysroot " arch=arm64 cross_compile=aarch64-POKY-LINUX-V=1 然后将版本牢房。 5.10 也应类似。 也请分享您编译出来的单元格文件,让我看看 jailhouse-cell-linux 为什么会在单元格上报错。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 亲爱的彭凡 感谢您就 i.MX 8MQ 上 Jailhouse 的 IVSHMEM 内存区域提供的宝贵指导,您在回复中提供了有关状态表、RW 部分和输入/输出部分的信息。我们已经将你的建议纳入了我们的牢房配置,但是当我们尝试在i.MX 8MQ EVK板上使用Yocto 5.15 Kirkstone(Linux 5.15.71-2.2.0)创建自定义的E-Call囚犯单元时,仍然面临持续的编译错误。以下是该问题的详细摘要、我们为解决该问题所做的努力以及目前的状况。如果您能提供任何具体的参考、应用笔记或进一步的指导,以帮助我们解决这个问题,我们将不胜感激。 问题摘要 我们正在尝试编译一个自定义的 E-Call 囚犯单元配置(最初基于 `imx8mq-linux-demo.c`、现在使用简化的 "ecall-inmate-linux-demo.c"),使用 "jailhouse-cell-linux "工具。在 "jailhouse-ecall.bb "的 "do_compile "任务中编译失败配方出现以下错误: " 错误:jailhouse-ecall-1.0-r0do_compile:执行错误('/home/automotive/yocto_imx_linux/版本/tmp/work/armv8a-参考发行版、系统开发套件。-linux/jailhouse-ecall/1.0-r0/temp/run.do_compile.225085 ',1,无,无)日志数据如下:调试:执行 shell 函数 do_compile 不是单元配置:/home/automotive/yocto_im_imbild x_linux/版本/tmp/work/armv8a-参考发行版、系统开发套件。-linux/jailhouse-ecall/1.0-r0/imx8mq-linux-demo.c 警告:从 shell 命令中退出代码 1。 错误:任务(/home/automotive/yocto_imx_linux/sources/meta-ecall/recipes-jailhouse/jailhouse-cells/jailhouse-cells/jailhouse-call/jailhouse-cells/jailhouse-call.bb: " 该错误表明 `jailhouse-cell-linux` 无法识别单元配置文件。尽管多次尝试解决,但问题依然存在。 尝试解决的详细信息根据社区反馈和反复试验, 我们对Yocto配方、细胞配置和环境进行了多次更新。以下是主要工作的摘要: 1.初始设置和错误: - 以 `jailhouse-ecall.bb` 开始使用 `imx8mq-linux-demo.c`.和 `jailhouse-native.bb`基于西门子 Jailhouse fork (`git://github.com/siemens/jailhouse.git;branch=master;SRCREV=e57d1eff`)。 - 遇到与缺少`pyjailhouse`模块和不正确的`jailhouse-cell-linux`命令语法有关的错误(例如,将`-I`误解为`CELLCONFIG`)。 2。配方更新: -jailhouse-native.bb: -最初缺少标题安装(`jailhouse/types.h`,jailhouse/cell-config.h`)。更新为包含: " bitbake install -d${D}${includedir} /jailhouse cp -r${S}/include/jailhouse/*.h${D}${includedir} /jailhouse/ " - 切换到 NXP Jailhouse fork (`git://source.codeaurora.org/external/imx/imx-jailhouse.git;branch=imx_5.4.47_2.2.0;SRCREV=8bbe203`),与 `jailhouse_0.12.bb` 看齐,以兼容 i.MX 8MQ。 - 确保 `pyjailhouse_0.12.bb` 与 `jailhouse_0.12.bb` 兼容。 - jailhouse-ecall.bb: - 更正了 "jailhouse-cell-linux "命令,删除了无效的"/dev/null "参数,并使用正确的语法: " bitbake ${STAGING_BINDIR_NATIVE} /jailhouse-cell-linux \ ${S} /ecall-inmate-linux-demo.c\ -o${S}/ecall-inmate-linux-demo.cell " - 更新了 'SRC_URI',以使用 `ecall-inmate-linux-demo.c` 而非 `imx8mq-linux-demo.c`,从而专注于 E-Call 用例。 - 添加了 'export C_INCLUDE_PATH' 和 'PYTHONPATH',以确保找到头文件和 Python 模块。 3.单元配置更新: - 基于 "imx8mq-linux-demo.c "简化了 "ecall-inmate-linux-demo.c"。以及您的 IVSHMEM 指南: - 状态表:0xbfdf0000`,4 KB,只读。 - RW 部分:`0xbfdf1000`,64 KB,读/写。 - 根输出:`0xbfdfa000`, 8 KB, 读/写。 - 根输入:0xbfdfc000`,8 KB,只读。 - 包括 UART1(`0x30860000`)、RAM(`0xc0000000`,256 MB)和通信区域(`0x80000000`)。 - 删除了复杂宏(如 `JAILHOUSE_SHMEM_NET_REGIONS`),以避免解析问题。 - 配置示例片段: " .c .mem_regions= { /* IVSHMEM 状态表 */ { .phys_start= 0xbfdf0000, .virt_start= 0xbfdf0000, .size= 0x1000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_ROOTSHARED, }, /* IVSHMEM RW 部分 */ { .phys_start= 0xbfdf1000, .virt_start= 0xbfdf1000, .size= 0x10000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_ROOTSHARED, }, /* IVSHMEM 根输出 */ { .phys_start= 0xbfdfa000, .virt_start= 0xbfdfa000, .size= 0x2000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE | JAILHOUSE_MEM_ROOTSHARED, }, /* IVSHMEM 根输入 */ { .phys_start= 0xbfdfc000, .virt_start= 0xbfdfc000, .size= 0x2000, .flags= jailhouse_mem_read | jailhouse_mem_rootshared, }, ... } " 4。依赖关系和层配置: -在 bblayers.conf 中添加了 `meta-ecall` 和 `meta-freescale`。 - 更新了 `local.conf`: "conf IMAGE_INSTALL:append =" jailhouse jailhouse-ecall python3" DISTRO_FEATURES:append =" jailhouse virtualization" " - 验证过的 `jailhouse_0.12.bb` 使用 NXP fork 进行目标部署。 - 确保 `python3-native`、`pyjailhouse` 和头文件安装在本地系统根 (`${STAGING_DIR_NATIVE}/usr/share/jailhouse/tools/pyjailhouse/`, `${STAGING_DIR_NATIVE}/usr/include/jailhouse/`)。 5。手动测试: -手动测试的 “jailhouse-cell-linux”:" bash export pythonpath=/HOME/automotive/yocto_imx_linux/版本/tmp/work/x86_64-Linux/jailhouse-native/jailhouse-native/jailhouse-native/jailhouse-native/jailhouse-native/jailhouse-native/jailhouse-native/0.12-r0/imx/imx/版本/tmp/work/x86_64-linux/Jailhouse-native/0.12-r0/image/usr/include/jailhouse /home/automotive/yocto_imx_linux/版本e/tmp/work/x86_64-linux/jailhouse-native/jailhouse-native/jailhouse-linux/版本e/tmp/work/x86_64-linux/jailhouse-native/imx_linux/ 版本/tmp/ work/armv8a-参考发行版、系统开发套件。-linux/jailhouse-ecall/1.0-r0/ecall/inmate-linux-demo.c\ -o ecall-inmate-linux-demo.cell " - 同样的错误:`Not a cell configuration`。 - 已验证系统根内容:存在`pyjailhouse`模块、头文件和`jailhouse-cell-linux`。 当前状态 - 尽管: - 错误 `Not a cell configuration` 仍然存在。 - 简化单元配置。 - 将 `jailhouse-native.bb` 与 NXP fork 对齐。 - 确保已安装头文件和 `pyjailhouse`。 -其他配方(“jailhouse-native”、“jailhouse”)成功编译,这表明问题特定于 “jailhouse-ecall.bb” 和单元配置解析。 问题和指导请求 1.错误可能是由于恩智浦 Jailhouse fork (`imx_5.4.47_2.2.0`)和我们的电池配置之间的版本不匹配造成的吗?这个分叉中对 “jailhouse-cell-linux” 有具体要求吗? 2。有没有关于使用 Yocto 5.15 Kirkstone 在 i.MX 8MQ 上创建自定义监狱囚室的应用笔记或用户指南?我们找不到该平台的详细文档。 3.jailhouse-cell-linux "在解析复杂配置(如 IVSHMEM 区域)时是否存在已知问题?我们应该进一步简化配置吗? 4。你能不能提供参考 `jailhouse-ecall.bb`为 i.MX 8MQ 编译 `.cell` 文件的配方或示例? 5。我们可能缺少 i.MX 8MQ 上的 Jailhouse 所需的特定的 U-启动 或内核配置吗? 6。如何解决自定义配方/bb层的监狱依赖关系问题? 附加文件(供参考) -`jailhouse-ecall.bb`:更新了电子呼叫手机的配方。 -`jailhouse-native.bb`: - `ecall-inmate-linux-demo.c`:简化了 IVSHMEM 区域的配置。 - imx8mq-linux-demo.c`:原始配置(供参考)。 -详细的编译日志(如果需要,请确认如何共享)。 我们迫切希望解决这个问题,以便继续部署 E-Call 囚犯单元和测试共享内存通信。如果对我们的方法有任何见解、引用或更正,我们将不胜感激。 感谢您的支持! 致以最崇高的敬意, Sumit 注:-如果需要帮助改进响应或生成详细日志,请告诉我! Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 您好,Bio_TICFSL, 在您的 github 链接中,我们找到了 5.15 Kirkstone 的一些链接: https://github.com/NXP/meta-nxp-harpoon/blob/imx-linux-kirkstone/recipes-extended/jailhouse/jailhouse_%25.bbappend https://github.com/NXP/meta-nxp-harpoon/tree/imx-linux-kirkstone 这对我们的恩智浦i.mx8MQ板有帮助吗? 谢谢、 苏米特 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 让我给大家支几招: 1.Documentation/inter-cell-communication.md 描述了内存的排列方式。 每个单元的 ivshmem 都需要以下区域: - 用于保存状态表的只读区域,一般为一页大小 - 所有对等点都可读写的一个区域 - 每个对等点都有一个输出区域,仅其中一个可读写 2.至 i.MX8MQ /* 00:00.0 的 IVHSMEM 共享内存区域*/ { .phys_start= 0xbfdf0000, .virt_start= 0xbfdf0000, .size= 0x1000, .flags= JAILHOUSE_MEM_READ, ===> 这是状态表。 }, { .phys_start= 0xbfdf1000, .virt_start= 0xbfdf1000, .size= 0x9000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE , ===> 这是 RW 部分。您可以用它来进行交流。或者把这个放大。 }, { .phys_start= 0xbfdfa000, .virt_start= 0xbfdfa000, .size= 0x2000, .flags= JAILHOUSE_MEM_READ | JAILHOUSE_MEM_WRITE , ==> 这是根输入/输出 }, { .phys_start= 0xbfdfc000, .virt_start= 0xbfdfc000, .size= 0x2000, .flags= JAILHOUSE_MEM_READ, ==> 这是根目录输入 }, { .phys_start= 0xbfdfe000, .virt_start= 0xbfdfe000, .size= 0x2000, .flags= JAILHOUSE_MEM_READ, ==> 这是根目录输入信息 这与 imx8mq-inmate-linux.c 中的布局相似。 您可以配置 RW 和 INPUT/OUTPUT 部分,但不要触碰状态部分。 对于 INPUT/OUTPUT,如果定义了多个区域,则每个区域的大小应相同。 此致 Peng 开始标志。 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 你好 MX8MQ 没有监狱,但是可以以 github 或 6.6.36 为基础的 MX8M 系列是同一个系列BSP。 此致 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 你好,Bio_TICFSL 非常感谢你的快速回复。 由于我们使用的是 i.MX NXP 8MQ EVK 板 'i.MX 8MQuad',部件号为 " TDA6637 "。 目前,我已经闪存了 Linux Yocto 5.15 Kirkstone'5.15.71-2.2.0'。 但是在你回复 “ NXP Harpoon Jailhouse integration” 时,我们需要 “i.MX Linux Yocto Project 电路板支持包 6.6.36-2.1.0 Harpoon v3 版本”,。 对于 i.MX 8MQ 板它在 5.15 之前支持 Kirkstone Image,在你的 Harpoon 用户指南中 “UG10170” 和 Github 链接为 “https://github.com/NXP/meta-nxp-harpoon/tree/imx-linux-scarthgap” 在此版本中测试了以下板: 恩智浦 i.MX 8MMini LPDDR4 EVK (imx8mm-lpddr4-evk) 恩智浦 i.MX 8MNano LPDDR4 EVK (imx8mn-lpddr4-evk) 恩智浦 i.MX 8MPlus LPDDR4 EVK (imx8mp-lpddr4-evk) 更不用说了 i.MX 8MQ 了,你能否为我们的板提供具体的监狱解决方案,或者提出其他建造囚犯牢房的可能性? 非常感谢你们的支持。 谢谢, Sumit Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ 你好 你可以通过bbappend的配方遵循与恩智浦鱼叉监狱整合类似的方法。 参见示例:meta-nxp-harpoon/配方-extended/jailhouse/jailhouse-imx_%.bbappend 在 imx-linux-scarthgap · nxp/ Me... 用户指南: https://www.nxp.com/docs/en/user-guide/Harpoon_USERS_GUIDE.pdf 此致 Re: Issue with Jailhouse hypervisor Inmate cell Creation for i.MX8MQ @Peng peng.fan@nxp.com 请就我们面临的自定义监牢创建问题(如上述票单中所述)提出一些解决方案? 感谢您的支持。 请与我们联系,了解任何需要的更多细节。
View full article
Zephyr SDKバージョンのインストール Zephyr SDKは、Zephyrアプリケーションをビルドするためのビルド・ツールセットです。GCCやCMakeが含まれており、各Zephyrリリースは特定の Zephyr SDKバージョンに紐づいています。このバージョンは、Zephyrリポジトリ内のSDK_VERSIONファイルに記載されています。推奨されているZephyr SDKバージョンを使用することが重要です。バージョンが一致しないと、ビルド・エラーが発生する可能性があります。 たとえば、Zephyr v4.1はZephyr SDK v0.17.0を指定します。Zephyr SDK v0.17.2(Zephyr v4.2 用)を Zephyr v4.1 で使用すると、ビルドエラーが発生します。Zephyr v4.1 用のアプリをビルドする必要がある場合は、Zephyr SDK v0.17.0をインストールしてください。 複数のZephyr SDKバージョンをインストールしておき、ビルド時に切り替えることが可能です(下記の手順を参照)。 フルインストールと最小インストールの比較 フルインストール(Full Install): すべてのサポートされているSoCアーキテクチャ向けの全ツールチェーンが含まれます。初心者に推奨されますが、より多くのディスク容量とダウンロード時間が必要です。 最小インストール(Minimal Install): 必要なツールチェーンのみを選択できます。スペースと時間を節約できます。 最小インストールの場合は、setup.cmdスクリプトを実行して、インストールするツールを選択します。NXPボードでは、次を選択します。 Zephyr SDK CMakeパッケージを登録する Install host tools aarch64-zephyr-elf (64ビットARM) arm-zephyr-eabi (32ビットARM、NXP MCUを含む) オプション xtensa-nxp… (Cadence Tensilica DSPコア) Zephyr SDKをインストールします これらの手順では、MCUXpresso Installer、CLI(West)、または手動ダウンロードを使用してZephyr SDKをインストールする方法を説明しています。 MCUXpresso Installerを使用したインストール MCUXpresso InstallerはZephyr v4.2からZephyr用パックをサポートし始めました。各パックは対応するZephyr SDKバージョンをインストールします(例:v4.2パックはSDK v0.17.2をインストール)。このオプションはNXP開発用の最小限のツールセットをインストールします。 MCUXpressoインストーラーは、古いZephyr SDKバージョンをサポートしていません。v0.17.1以前の場合は、Westまたは手動インストールを使用してください。 West CLIを使用したインストール Zephyr ProjectはWestにZephyr SDKのインストール機能を追加しました。 CLIの場合は、Python仮想環境をアクティブ化してから、次を実行します。 west sdk install --version 0.17.0   --version が省略された場合、WestはZephyrリポジトリのSDK_VERSIONファイルにあるバージョンを使用します。 デフォルトでは、Fullパッケージがインストールされます。最小のインストールを行う場合は、 -i を追加します。 手動ダウンロードによるインストール https://github.com/zephyrproject-rtos/sdk-ng/releasesから、Zephyr SDKをダウンロードします。 使用するホストOS向けに、FullまたはMinimalを選択します。 WestとMCUXpressoの場合のデフォルトの場所として、ユーザーフォルダーに展開します。 Windows: C:\Users\ \zephyr-sdk-0.17.0 Ubuntu: /home/ /zephyr-sdk-0.17.0 Zephyr SDKのバージョンの選択 複数のZephyr SDKバージョンを共存させることができます。Westはデフォルトで最新バージョンを使用しますが、次の方法で上書きできます。 VS Code: 例をインポートする際は、ウィザードでZephyr SDKバージョンを選択してください。 CLI:環境変数 ZEPHYR_SDK_INSTALL_DIR を、ビルド前に設定します。このコマンドはUbuntuでその変数を設定します。 export ZEPHYR_SDK_INSTALL_DIR="/home/ /zephyr-sdk-0.17.0" またはWindowsの場合: set ZEPHYR_SDK_INSTALL_DIR= C:\Users\ \ zephyr-sdk-0.17.0   Zephyr Knowledge Hubに戻る    
View full article
Linux 嵌入式挑战项目 - 2014 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1. 带行人聚光灯功能的自适应动态大灯 - eVision 团队成员: Balaban Valeriu - 高级微电子学、电子学、UPB 硕士 Voicu Tudor Alexandru - 学士,应用电子,电子,UPB Stanescu Sebastian - 学士,电信网络和软件,UPB 简短描述: 由于夜间事故死亡率高,因此开展了大量研究以开发技术 增加夜间驾驶员的视野范围,并在无法避免的情况下减少事故损失。这 自适应大灯功能有助于在光线不足的情况下,尤其是在弯道中看得更远:转向灯 按照行驶方向旋转前照灯,旋转角度由 CPU 计算,以照亮尽可能多的道路 面积尽可能 一个有趣的解决方案是聚光灯照明功能,它是一种专门照亮潜在危险的 LED 光束。 如果近红外摄像头检测到路边的鹿或道路上的行人,它们就会被短暂地照亮 在远光灯正常覆盖范围之外,用聚光灯提醒驾驶员注意可能存在的危险。 推介会: 请查阅eVisionPresentation.pdf 。 文档: 请查阅eVisionDoc.pdf 。 代码源 https://github.com/izzi/app-evision https://github.com/izzi/meta-evision 2. 人车交互语音控制界面 - She# 团队成员: Iulia Neagoe - 军事技术学院计算机科学与军事信息系统专业 Mihaela-Anca Sorostinean - 军事技术学院计算机科学与军事信息系统 简短描述: 在汽车和通信领域技术不断进步的背景下,驱动因素 责任已经从仅仅控制汽车转变为与汽车提供的众多小工具进行交互 制造商。该项目的目的是设计一个界面,为驾驶员提供控制 通过语音命令来控制汽车的一些非重要功能,以便驾驶员集中注意力 在路上行驶的同时还能与汽车进行舒适的通讯。 我们开发了一个语音识别系统,可以识别收音机、窗户、气候或电话等一些基本功能 我们在 Wandboard 上实现了它。我们还为用户提供了一个公认的图形界面 命令以增强他与车辆的互动。 推介会: 请查阅ShePresentation.pdf 。 文档: 请查阅SheDoc.pdf 。 代码源 请参阅She#_Project_Source.zip。 3. 驾驶控制软件 - FreeSoftwares 团队成员: Petrosanu Adrian-Sabin - 计算机科学,UPB Birsan Nicoleta Cosmina - 计算机科学,UPB Radoi Ioana Gabriela - 计算机科学,UPB 简短描述: 《驾驶控制软件》是一款控制自动变速箱的软件。该项目包括模拟行为 自动变速箱在 Wandboard 上的应用。自动变速箱是一种机动车辆变速箱,可以 随着车辆移动自动改变齿轮比。 推介会: 请查阅FreeSoftwaresPresentation.pdf 。 文档: 请查阅FreeSoftwaresDoc.pdf 。 代码源 请参阅Freesoftwares_Project_Source.zip。 4. 自动泊车 - 通过 ATM 团队成员: Mihai Coca - 军事技术学院计算机科学与军事信息系统专业 格鲁吉亚安德烈 - 军事技术学院计算机科学与军事信息系统 Hiji Iulian -军事技术学院计算机科学与军事信息系统 简短描述: 许多公司正在开发自动驾驶汽车技术,通过将其在该领域的工作应用于 一个特定的用例:停车。该项目的目的是设计一款概念车,它可以停放在 主人把车停在路边,让它自己进入停车位。这个过程甚至可以逆转 当车主准备离开时,汽车会自行停放离开现场,并在路边与钥匙持有者再次会合。 文档: 请查阅ATM Doc.pdf 代码源 请参阅ATM_Project_Source.zip。 5. 碰撞检测 - Beer2.0 团队成员: Nitu Adrian - 计算机科学,UPB 简短描述: 我们项目的目的是让汽车感知前方道路,并使其能够采取预防措施 碰撞;我们希望通过这种方式减少道路上的事故。它将收集来自不同硬件的信号和信息 并会向驾驶员发出警报或立即控制车辆,以便采取关键操作来保护驾驶员 免受任何危及生命的事件的影响。 飞思卡尔杯赛车将配备一个Wandboard和两个USB摄像头,以便我们能够追踪环境。初始之后 对象跟踪我们将通过远程控制融入人机交互。对于这个项目,我们相信一个简单的警告系统 和/或打破就足以作为概念的证明。 推介会: 请参阅Beer20Presentation.pdf 文档: 请查阅Beer20Doc.pdf 代码源 https://bitbucket.org/adriannitu92/freechallenge 6. 使用子带归一化滤波 X LMS 算法实现前馈自适应噪声消除 - Brainiacs 团队成员: Cristian Monea - 电信和信息技术、电子、UPB Madalin Zaharia - 电信和信息技术、电子、UPB 简短说明 本项目提出了一种基于子带归一化滤波X LMS(NFXLMS)的前馈自适应噪声消除(ANC)算法。 使用自适应算法比固定 FIR 或 IIR 滤波器等简单滤波算法具有优势。此外, 汽车环境可以被认为是静止的,因为它保留了一些属性,比如光谱分布、均值、方差,这些属性 允许在汽车噪音消除应用中使用自适应滤波器。 前馈系统应该比反馈系统更有效。在这种情况下,在它之前感测到相干参考噪声输入 传播通过取消扬声器。 因此,该算法将模拟两个传感器(麦克风):参考传感器,用于测量需要消除的主要噪声, 和错误传感器。 推介会: 请参阅BrainiacsPresentation.pdf 文档: 请查阅BrainiacsDoc.pdf 2014年Linux嵌入式挑战赛
View full article
スマートホーム、ビル、照明向けのNXPコネクティビティソリューションと、コンシューマ、医療、インダストリアルIoT、オートモーティブ市場向けのBLE低電力ソリューション <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、まず、NXPのワイヤレス・コネクティビティ・マイコン・ポートフォリオがIoT市場に対応するために含まれる製品、ソフトウェア、およびイネーブルメントの概要を説明します。次に、Thread™ネットワーキングテクノロジーと、NXPのThread StackおよびZigBee® Dotdotアプリケーションレイヤーを使用してアプリケーションを開発する方法について、より深く掘り下げてデモします。このセッションでは、最新のQN9080/83超低電力BLE WMCUおよびKW35/36車載および産業用BLE WMCUを含むNXP BLE製品ファミリも紹介し、対象とするユースケース、デバイスの機能、BLEとスタックのハイライト、およびイネーブルメントのサポートについて詳しく説明します。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このセッションでは、まず、NXPのワイヤレス・コネクティビティ・マイコン・ポートフォリオがIoT市場に対応するために含まれる製品、ソフトウェア、およびイネーブルメントの概要を説明します。次に、Thread™ネットワーキングテクノロジーと、NXPのThread StackおよびZigBee® Dotdotアプリケーションレイヤーを使用してアプリケーションを開発する方法について、より深く掘り下げてデモします。このセッションでは、最新のQN9080/83超低電力BLE WMCUおよびKW35/36車載および産業用BLE WMCUを含むNXP BLE製品ファミリも紹介し、対象とするユースケース、デバイスの機能、BLEとスタックのハイライト、およびイネーブルメントのサポートについて詳しく説明します。
View full article
TSN(Time-Sensitive Networking)とイーサネットによる車載ネットワークの構築 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このプレゼンテーションでは、主要なTSN(Time-Sensitive Networking)規格と、それらが自動車の要件とどのように関連しているかについて説明します。関連するIEEE® 802.1 TSN規格の概要と、これらを自動車環境で適用および使用する方法の例を示します。このセッションの終わりまでに、参加者はネットワークのユースケースに基づいて必要な機能を理解し、選択できるようになります。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このプレゼンテーションでは、主要なTSN(Time-Sensitive Networking)規格と、それらが自動車の要件とどのように関連しているかについて説明します。関連するIEEE® 802.1 TSN規格の概要と、これらを自動車環境で適用および使用する方法の例を示します。このセッションの終わりまでに、参加者はネットワークのユースケースに基づいて必要な機能を理解し、選択できるようになります。
View full article
FlexIOによるLEDパネル制御 [1] <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このプロジェクトの目的は、Kinetis K82マイクロコントローラに搭載されているFlexIOペリフェラルを使用してRGB LEDパネルを制御することです。 FlexIOペリフェラルは、GPIOビットバンギングやPWM + DMAを使用した他の制御方法と比較して、LEDの色と輝度情報を更新する過程で CPUをアンロード するという大きな利点を提供します。私は別の方法を使用します。 パネルは、WS2812BコントローラーとLEDストライプを使用します。また、アプリケーションを開発するためのシミュレーションプラットフォームも用意します。 ハードウェア: 30 x16 LED WS2812Bパネル マルチプレクサボード FRDM-K82の Uctronics QVGAディスプレイ ソフトウェア: IAR Workbench 7.50.1 (英語) SDK 1.3 for the Kinetis K82 FreeRTOS eGUIグラフィックライブラリ LEDパネルが機能している状態でビデオを見ることができます。 ビデオリンク : 4707 パート1:LEDパネルの構築 パート2:FlexIOを使用したLED制御方法 パート3:LEDパネルエミュレーション用ソフトウェア パート4:パネル制御用ソフトウェア モバイル Re:FlexIOによるLEDパネル制御[1] <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 親愛なるグレイ、 ページが更新されましたので、ぜひご覧ください。 Re:FlexIOによるLEDパネル制御[1] <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 親愛なるグレイ、 私たちは、ここで共有できるようにソフトウェアの更新に取り組んできましたが、現時点では、適切なライセンスを追加するまで、ソフトウェア以外のバージョンのみを共有することができます。更新されたソフトウェアが手に入り次第、オンラインにします。 参考までに、ここでも同様のプロジェクトがありますが、FlexIO:Kinetis K20によって駆動されるLEDビデオパネルは使用していません Re:FlexIOによるLEDパネル制御[1] <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは。このプロジェクトに感謝します。さまざまなドキュメントにアクセスできないようです。私は得ています: 不正 この場所またはコンテンツへのアクセスが制限されています
View full article
无线充电让您摆脱电线的束缚! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 如果您的智能手机、平板电脑或数字智能手表的电池可能会没电,或者您的床头柜或办公桌上的充电线可能缠绕不住您,那么无线充电器的简便性将使您的梦想成真!但无线充电器需要很多技术,而且并不是都一样。NXP 的发射器和接收器组件系列为 Qi 和 Rezence 标准提供解决方案。我们对这两者进行了研究,并提供了一些实用的硬件解决方案来切断这种联系。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 如果您的智能手机、平板电脑或数字智能手表的电池可能会没电,或者您的床头柜或办公桌上的充电线可能缠绕不住您,那么无线充电器的简便性将使您的梦想成真!但无线充电器需要很多技术,而且并不是都一样。NXP 的发射器和接收器组件系列为 Qi 和 Rezence 标准提供解决方案。我们对这两者进行了研究,并提供了一些实用的硬件解决方案来切断这种联系。
View full article