Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
S32 Design Studio for ARM v2.2 ライセンスの有効期限が切れました。 こんにちは、 S32DS ARM V2.2 ライセンスの有効期限が切れました。 ライセンスを延長していただけますか? アクティベーションID: E16E-385F-FB51-D063 どうもありがとう。
記事全体を表示
Weird behavior in S32K144 board to board SPI communication Hello folks, I am having some problems at setting up SPI Interrupt communication in the S32K144 board. The project aims to communicate with a PC33771B device, but for now is in a kind of loopback provided by the 33664EVB. For the most part it seems to work, but how the data is actually stored inside my buffer is funky. I have a 5 bytes message, and in general it obeys this order: B5 0 0 0 B1 B2 B3 B4 which I assume should be correct given that the LPSPI works in words. But that is not the order all the times for some reason. When starting the board, sometimes the order is: B1 B2 B3 B4 B5 0 0 0 And sometimes its just: B1 B2 B3 B4 0 0 0 0 Losing the fifth byte completely. I made a small testing code to be able to debug it using CAN. I send the message i want from it into SPI_1, and receive back the message that ends in the buffer on SPI_0. I also am using the logic analyzer to see whats happening: First message:  First of all, the spi messages are following the S32K144 convention, so the fifth byte would be the CRC. It is also stepping into the fourth byte with the cmd, I just conviniently put it to four. It yields zero always even if I wait the SPI_0 to be ready again. This only happens on the first. Second message: Last byte doesn t show at all. Maybe it was lost somehow, but even then the other four bytes shouldn t be in the first word if it is ordered by MSB. Third message: This seems to work as intended, getting all the data and what I guess its the expected order. I say I guess it is the expected order as its what i consistently get in all messages after it settles.  The problem with this is that its not always the third message the one is good, sometimes its the fifth or the sixth, sometimes the fifth byte doesn t appear at all, and other times it appears on the second word. Once it starts doing it correctly, it works consistently. Any ideas of what may cause this issue? Below the code and configuration: void response420(zc_can_packet* packet){ zc_spi_transfer(&spi_rx, &spi_to_can_packet); transfer_E2E_spi_packet(&E2E_spi, &can_to_spi_packet, &packet->temp_data[0]); memcpy(&can_response.temp_data, spi_to_can_packet.rx_buffer, 8); zc_can_send(&can, &can_response, MAILBOX_0); } void zc_spi_transfer(zc_spi_hw* hw_config,zc_spi_packet* packet){ hw_config->transfered_packet = packet; if(hw_config->hw_mode == MASTER){ SPI_MasterTransfer(hw_config->inst,packet->tx_buffer,packet->rx_buffer,(packet->message_bytes_length*NUMBER_OF_BITS_IN_BYTE)/hw_config->master_config->frameSize); }else{ SPI_SlaveTransfer(hw_config->inst,packet->tx_buffer,packet->rx_buffer,(packet->message_bytes_length*NUMBER_OF_BITS_IN_BYTE)/hw_config->slave_config->frameSize); } } void transfer_E2E_spi_packet(E2E_spi_handler* E2E_spi, E2E_spi_packet* packet, uint8_t* data){ E2E_spi->protector_handler->protect_package(E2E_spi->protector_handler, data, packet->packet_data.data_length_bytes, &(packet->raw_spi_packet.tx_buffer[0]), packet->packet_data.E2E_packet_id, packet->packet_data.counter); zc_spi_transfer(E2E_spi->spi_handler, &(packet->raw_spi_packet)); packet->packet_data.counter++; //This one is not actually used in this CRC format, but this function works with multiple CRC formats if(packet->packet_data.counter > E2E_spi->protector_handler->counter_overflow_number){packet->packet_data.counter = 0;} } The response420 function is the "callback" of receiving the CAN packet, which is called inside the main when a flag is risen by the CAN callback itself. The CAN part isn t really important, as this bug happens without CAN, I tried CAN after this bug showed in the debugger to be able to test more inputs.  In general, I am using PAL, as it can be seen in the functions SPI_SlaveTransfer and SPI_Master transfer. This is the PAL configuration: SPI_1 config: { .baudRate = 2000000U, .frameSize = 40U, .bitOrder = SPI_TRANSFER_MSB_FIRST, .clockPolarity = SPI_ACTIVE_HIGH, .ssPolarity = SPI_ACTIVE_LOW, .clockPhase = READ_ON_EVEN_EDGE, .ssPin = 0, .transferType = SPI_USING_INTERRUPTS, .rxDMAChannel = 0U, .txDMAChannel = 0U, .callback = NULL, .callbackParam = NULL, .extension = NULL } SPI_0 config: { .frameSize = 40U, .bitOrder = SPI_TRANSFER_MSB_FIRST, .clockPolarity = SPI_ACTIVE_HIGH, .ssPolarity = SPI_ACTIVE_LOW, .clockPhase = READ_ON_EVEN_EDGE, .transferType = SPI_USING_INTERRUPTS, .rxDMAChannel = 0U, .txDMAChannel = 0U, .callback = NULL, .callbackParam = NULL, .extension = NULL } Anyone found a similar problem? Re: Weird behavior in S32K144 board to board SPI communication Okay, great to know. Thanks a lot @danielmartynek! Re: Weird behavior in S32K144 board to board SPI communication Great, it seems to be working as expected now. The HW support byte swapping, but the SDK drivers don't. Re: Weird behavior in S32K144 board to board SPI communication Okay, i simplified the code to the maximum: uint8_t data_to_send[8] = {0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8}; uint8_t data_received[8]; lpspi_state_t lpspiState; int main(){ zc_clock_init(); zc_start_scheduler(); const clock_names_t clocknames[LPSPI_INSTANCE_COUNT] = FEATURE_LPSPI_CLOCKS_NAMES; clock_names_t clockname = clocknames[1]; lpspi_master_config_t spiConfig = { .bitcount = 8U, .bitsPerSec = 20000000, .callback = NULL, .callbackParam = NULL, .clkPhase = 1, .clkPolarity = 0, .isPcsContinuous = true, .lpspiSrcClk = clockname, .lsbFirst = false, .pcsPolarity = 0, .rxDMAChannel = 0, .transferType = LPSPI_USING_INTERRUPTS, .txDMAChannel = 0, .whichPcs = 0, }; LPSPI_DRV_MasterInit(1, &lpspiState, &spiConfig); config_spi_pinout(spi_pinoutconfigs[1].pinout); while(1){ LPSPI_DRV_MasterTransfer(1, &data_to_send[0], &data_received[0], 8); zc_delay_milliseconds(1000); } return 0; } If i do this and put the bitcount on 8 this is the result:  The spacings are the problem here, but at least it works more or less as expected  The same with bitcount 32: The bytes get reversed inside each word... And at last, same with bitcount 64 to check what would happen: Same thing.  And what happens if i put it in a word array instead of an uint8_t array? uint32_t data_to_send[2] = {0x01020304, 0x05060708}; uint8_t data_received[8]; lpspi_state_t lpspiState; int main(){ zc_clock_init(); zc_start_scheduler(); const clock_names_t clocknames[LPSPI_INSTANCE_COUNT] = FEATURE_LPSPI_CLOCKS_NAMES; clock_names_t clockname = clocknames[1]; lpspi_master_config_t spiConfig = { .bitcount = 64U, .bitsPerSec = 20000000, .callback = NULL, .callbackParam = NULL, .clkPhase = 1, .clkPolarity = 0, .isPcsContinuous = true, .lpspiSrcClk = clockname, .lsbFirst = false, .pcsPolarity = 0, .rxDMAChannel = 0, .transferType = LPSPI_USING_INTERRUPTS, .txDMAChannel = 0, .whichPcs = 0, }; LPSPI_DRV_MasterInit(1, &lpspiState, &spiConfig); config_spi_pinout(spi_pinoutconfigs[1].pinout); while(1){ LPSPI_DRV_MasterTransfer(1, (uint8_t*) &data_to_send[0], &data_received[0], 8); zc_delay_milliseconds(1000); } return 0; } It actually works... So it seems that if you are not working with frame size 8, it sends it by words, which are on Little endian. Is there a way to change the endianess? Re: Weird behavior in S32K144 board to board SPI communication Hello @danielmartynek  I already use a uint8_t array Re: Weird behavior in S32K144 board to board SPI communication Hi @rchust, How do you define the tx_buffer? The driver expects an 8bit pointer to an 8bit array (in LPSPI_DRV_MasterTransfer()). So, can you use uint8_t[5] tx_buffer instead of passing words there? Thank you Re: Weird behavior in S32K144 board to board SPI communication Hello @danielmartynek , I tested with 8 bit frames and it works properly, sending the bytes in order. There are two problems though. The first is that with 8 bit frames the hardware splits the data by byte, which it should as that is the definition of the frames, but that may give me problems in the future, I have yet to test if the PC33771 accepts messages with those spacings. It should, but its not exactly what it expects.  The second one (and the reason i haven t tested with PC33771 yet) is that pal library doesn t let me set Continuous mode in true, the method Master_init in the pal library just hard sets it to false before passing it to the LPSPI_DRV_MasterInit: status_t SPI_MasterInit(const spi_instance_t * const instance, const spi_master_t *config) { status_t status = STATUS_ERROR; uint8_t index = 0; /* Define SPI PAL over LPSPI */ #if (defined (SPI_OVER_LPSPI)) /*! @brief Clock names for LPSPI */ const clock_names_t g_lpspiClock[LPSPI_INSTANCE_COUNT] = FEATURE_LPSPI_CLOCKS_NAMES if (instance->instType == SPI_INST_TYPE_LPSPI) { lpspi_master_config_t lpspiConfig; lpspiConfig.bitsPerSec = config->baudRate; lpspiConfig.whichPcs = (lpspi_which_pcs_t)config->ssPin; lpspiConfig.pcsPolarity = (lpspi_signal_polarity_t)(!(bool)(config->ssPolarity)); lpspiConfig.bitcount = config->frameSize; (void)CLOCK_SYS_GetFreq(g_lpspiClock[(uint32_t)instance->instIdx] ,&lpspiConfig.lpspiSrcClk); lpspiConfig.clkPhase = (lpspi_clock_phase_t)config->clockPhase; lpspiConfig.clkPolarity = (lpspi_sck_polarity_t)config->clockPolarity; lpspiConfig.lsbFirst = config->bitOrder; lpspiConfig.transferType = (lpspi_transfer_type)config->transferType; lpspiConfig.rxDMAChannel = config->rxDMAChannel; lpspiConfig.txDMAChannel = config->txDMAChannel; lpspiConfig.callback = config->callback; lpspiConfig.callbackParam = config->callbackParam; lpspiConfig.isPcsContinuous = false; /* Allocate one of the LPSPI state structure for this instance */ index = SpiAllocateState(LpspiStateIsAllocated, LpspiStateInstanceMapping, instance->instIdx, NO_OF_LPSPI_INSTS_FOR_SPI); status = LPSPI_DRV_MasterInit(instance->instIdx, (lpspi_state_t*)(&LpspiState[index]), &lpspiConfig); } else #endif I will need to change all the library to stop using pal and start using the DRV methods before i can test it in continuous mode. I will do so and update with the results, but it seems that it does send it in the correct order at 8 bit frames. Its still frustrating that it does not at 40 bit frames though. Re: Weird behavior in S32K144 board to board SPI communication Hi @rchust, Thank you for the update. Can you use an 8bit array for the tx_buffer? Re: Weird behavior in S32K144 board to board SPI communication Okay, after some testing i could find the root of the problem.  It seems that even when i wasn t using the CAN i was configuring its pins, and one pin did collide with the CS of the master. I am not sure how come one thing ends in the other, but after removing the CAN configuration most of the problems dissapeared, but one.  For some reason when i send data in higher than 8 bit frames the bytes inside each word swap. If i put a 64 bit frame with the data 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 -> 0x04 0x03 0x02 0x01 0x8 0x07 0x06 0x05. It seems to be because the spi works internally with words and i am putting the data byte by byte. That or it may be the pal library.  Re: Weird behavior in S32K144 board to board SPI communication Hello @danielmartynek , First you are right, i said my IDE version, SDK is 4.0.2; sorry about that. The code I am showing is a CAN callback, and i copy the CAN data into the SPI buffer. The code is like that because we are trying to embed it into a custom library, but in reality it just sends what it reads from CAN into SPI (SPI1), and then what the slave (SPI0) reads into CAN.  CAN sends 4 bytes, then protect adds the last byte which is the CRC so SPI sends 5, then it reads 5, and then CAN just sends whatever it is inside the first 8 bytes of the buffer. The buffer itself is actually bigger, but the SPI_MasterTransfer is sending just the first 5 bytes of it.  I checked in debug mode and the SPI while sending always has the bytes in the expected order without gaps when inside SPI_MasterTransfer. It always seems to send it properly (or at least with consistency), so it seems that the problem is the reception of the slave.  With master blocking it seems that the same problem arises. I cannot check with slave blocking because then i block the master from sending. I also found that setting both master and slave to clock polarity low makes it miss a lot of high bits, but lets tackle the reception of first messages not working first.  Re: Weird behavior in S32K144 board to board SPI communication Hi @rchust, It seems you specified the IDE (3.6.2) not the SDK/RTD. If I have the number of the release I can check for reported bugs. I see you use the non-blocking method, can you test it with the blocking transfer function? The code is not very readable. What values do you place as arguments in the transfer function? How do you fill the buffer? The observed gap in SPI communication is caused by driver overhead - the driver is unable to populate the transmit FIFO quickly enough. In 8-bit mode, the driver writes data to the FIFO one byte at a time, which introduces latency between successive writes. This delay becomes more noticeable at higher SPI clock speeds. To mitigate this issue, using DMA is recommended.  Regards, Daniel Re: Weird behavior in S32K144 board to board SPI communication Hello daniel, My SDK is 3.6.2, I am using SPI through the 33664EVB board and its TPL, I am not using chip select, and the channels are SPI1_clock, SPI1_tx, TPL1_data and TPL1_clock respectively. I will name them in future images to avoid confusion. I will point it out that i tested putting the latter two directly into the SPI0_rx and SPI0_clock and same results show. I tested it in 8 bit mode and these are the results: First message: Fourth message: First noticeable thing, the enormous gap between first word and second. I also tested with bigger messages and the gap arises between each word when using 8 bit. If I try lower frequency, the gap lowers, until around 500kHz, in which it dissapears. Still, the 33664EVB and 3771 application notes recommends using 2MHz, and generally having less speed is not desirable.  Then the problem is still similar, although not exactly the same. At first the last byte doesn t appear at all, then it appears first, followed by the other bytes in correct order. It is also worth pointing out that with 8 bit the data is sent in the order I put it, while with 40 bit mode it swaps the data in the signal, then it is swapped again by the slave.  If it wasn t for the huge gap between words 8 bit would be more desirable, but the problem still arises. With 8 bit 500kHz: First message: Second message: Third message and so on: This shows two problems, first the one of inconsistencies on the data read by the slave that i am talking about, and then seeing the clock of the TPL we can see a second problem; TPL keeps the pulses width as if it was 2MHz. Thats one of the reasons why I need that speed.  Re: Weird behavior in S32K144 board to board SPI communication Hi @rchust, Can you specify the version of the drivers? What protocol are you using? Do you use the chip select signal? Can you label the channels in the logic analyzer capture? The LPSPI hardware supports sending 8-bit frames continuously, and our software drivers are compatible with that. You can transmit 40-bit frames in continuous mode by placing 8-bit data into the FIFO. Also, please try testing the SPI communication at lower baud rates to eliminate any potential issues related to timing or signal integrity. Regards, Daniel
記事全体を表示
FreeMASTER 工具 3.2 - 其他 Windows 安装程序 大家好 我们目前使用 Freemaster 作为测试产品某些功能的手段。由于 Windows 10 支持即将结束,我们的 IT 部门将不得不重新安装 Freemaster 工具的多个实例。 过去,我们只是使用普通的独立组网 (SA) 安装程序,没有出现太多问题。这是手动处理的。由于设备/安装的数量众多,我们的 IT 人员正在考虑自动部署这些装置。 有没有首选的方法? 我被告知 .msi就远程部署而言,最好是使用 Windows 的安装程序 - 是否有类似的程序?我在常规下载页面上找不到 Freemaster。 感谢您的支持。 Re: FreeMASTER tool 3.2 – Alternative windows installer 你好@SteBu、 在您的情况下,我建议您使用静默安装--该功能旨在自动执行安装过程,无需用户交互。 当前的 FreeMASTER 安装程序已经支持这一功能,我们的客户(他们的 IT 部门)正在实际使用这一功能。 在这种情况下,应使用 " -i silent " 输入参数用上市可执行文件。这可以由 IT 团队来协调。或者,他们可以在没有用户输入的情况下传递配置选项,例如元器件选择或安装文件夹。 有关该主题的更多详细信息,请参阅 InstallAnywhere 的官方文档,该工具用于版本 FreeMASTER 安装程序。
記事全体を表示
如何使用 jlink gdbsever 调试 csec 函数 hi 我们启用 csec 功能并将密钥写入 CSEC_KEY_1,然后使用 jlink gdbsever 调试应用程序,这样 mcu 就被锁定了。 如何使用 jlink gdbsever 调试 csec 功能,必须清除所有 csec 密钥吗? Re: how to debug csec function use jlink gdbsever 你好@top 我刚刚在这里回答了类似的问题: https://community.nxp.com/t5/S32K/S32K142%E4%BD%BF%E7%94%A8CSEc%E5%8A%9F%E8%83%BD%E8%8A%AF%E7%89%87%E8%A2%AB%E9%94%%E6% 81%AD BB/m-p/2162840/highlight/true#M52369 是的,必须通过 CMD_DBG_CHAL 和 CMD_DBG_AUTH 命令,在了解 MASTER_ECU_KEY 的情况下擦除按键(禁用 CSEc)。或者使用不同的调试探针(如 Pemicro) 此致, Lukas
記事全体を表示
S32 Design Studio for ARM v2.2 License has expired. Hi,  My S32DS ARM V2.2 license has expired.  Could you please extend the license for me? ActivationId: E16E-385F-FB51-D063 Thank you so much.
記事全体を表示
S32K388 SMP 示例调试 你好 我正在使用S32K388-EVB-Q289绑定 FreeRTOS SMP 示例。B 版 我使用的是 PEMicro 调试器(接口:USB Multilink,端口:嵌入式 Multilink Rev A),没有 T32。 但如果我只使用给出的调试配置,似乎只有主控核心在运行,其他的 smp 核心没有运行。 因此,我又添加了一个调试配置,设置内核为 M7_2,尝试连接,但"在地址"0x20402400" 处中断,没有调试信息可用,或在程序代码之外。"   Re: S32K388 SMP example debugging 嗨,@chansookang、 对不起,经与内部团队沟通,在 SRAM 中运行的 FreeRTOS SMP 代码版本似乎不符合客户的要求(多核)。另外FreeRTOS SMP 版本是代码删除版本,因此代码可能存在问题。 目前,FreeRTOS SMP 无法在多核环境下正常工作。您能帮我输入一个支持案例来继续内部处理吗? 您可以在此处输入支持票据:恩智浦支持。 致以最诚挚的问候, Julián Re: S32K388 SMP example debugging 嗨,@chansookang、 对不起,我的回复晚了。我已收到团队的答复,但我仍在与他们讨论 SMP 的调试配置和功能。 Re: S32K388 SMP example debugging 您好 ,能否告诉我什么时候可以知道? 谢谢 Re: S32K388 SMP example debugging 嗨,@chansookang、 我已向内部团队提交了一份报告,要求确认示例是否支持 PEmicro 配置。据我所知,例子中包含的 Lauterbach 脚本是启动 core2 和控制程序流程所必需的。我在这篇社区文章中介绍了如何运行该项目:已解决:S32K358 - freeRTOS SMP - NXP 社区。 请等待相应团队的回复。 致以最诚挚的问候, Julián
記事全体を表示
如何将.a静态库文件链接到固定地址 MPC5746R S32 Design Studio for Power Architecture Version 2017.R1 我使用了一个.a静态库文件,现在我想把.a库文件内的函数链接到固定地址,如何实现? 以下方式失败了。 MEMORY {  m2_text : org = 0x01280000+0x10, len = 768K-0x30 } SECTIONS { .lib_section :  {     libK12LM_SCR.a:*(.text*)     libK12LM_SCR.a:*(.text.*)      libK12LM_SCR.a:*(.rodata)      libK12LM_SCR.a:*(.rodata.*)  } > m2_text } Re: 如何将.a静态库文件链接到固定地址 Hello, General recommended steps to link functions to fixed addresses: 1. Use a Custom Linker File (.ld): Modify the default linker script to define specific memory sections and place functions at fixed addresses. .my_fixed_section 0x10000000 : { KEEP(*(.my_fixed_func)) } > m_text 2. Tag Functions in Code: Use GCC attributes to place functions in custom sections: void __attribute__((section(".my_fixed_func"))) my_function(void) { // Your code } 3. Ensure the .a Library is Built with Section Attributes: If you don’t control the source of the .a file, you may need to wrap or recompile the library with section attributes. Alternatively, use objcopy to extract and reassign sections manually. 4. Update the Linker Command in Project Settings: Go to Project Properties > C/C++ Build > Settings > Tool Settings > Cross Linker. Add flags like: -T your_custom_linker.ld 5. Verify with Map File: After build, inspect the .map file to confirm that functions are placed at the intended addresses. Best regards, Peter
記事全体を表示
.a 静态库ファイルを固定地址に接続する方法 MPC5746R S32 Design Studio for Power Architecture バージョン 2017.R1 我使用了一.a静态库文件,现在我想把.a库文件内関数链接固定地址,どのように现现しますか? 以下の方法で失敗しました。 メモリ { m2_text : org = 0x01280000+0x10、len = 768K-0x30 } セクション { .lib_section : { libK12LM_SCR.a:*(.テキスト*) libK12LM_SCR.a:*(.テキスト.*) libK12LM_SCR.a:*(.rodata) libK12LM_SCR.a:*(.rodata.*) } > m2_text } Re: 如何将.a静态库文件链接到固定地址 こんにちは、 関数を固定アドレスにリンクするための一般的な推奨手順: 1. カスタム リンカー ファイル (.ld) を使用する: デフォルトのリンカー スクリプトを変更して、特定のメモリ セクションを定義し、関数を固定アドレスに配置します。 .my_fixed_section 0x10000000 : { KEEP(*(.my_fixed_func)) } > m_text 2. コード内のタグ関数: GCC 属性を使用して、カスタム セクションに関数を配置します。 void __attribute__((section(".my_fixed_func"))) my_function(void) { // Your code } 3. .aを確認するライブラリはセクション属性を使用して構築されます: .a ファイルのソースを制御していない場合は、セクション属性を使用してライブラリをラップまたは再コンパイルする必要がある場合があります。 あるいは、objcopy を使用してセクションを手動で抽出し、再割り当てします。 4. プロジェクト設定でリンカーコマンドを更新します。 [プロジェクト プロパティ] > [C/C++ ビルド] > [設定] > [ツール設定] > [クロス リンカー] に移動します。 次のようなフラグを追加します: -T your_custom_linker.ld 5. マップファイルで検証する: ビルド後、.map ファイルを調べて、関数が意図したアドレスに配置されていることを確認します。 よろしくお願いいたします。 ピーター
記事全体を表示
SPSDK 不断发展:v3.x 带来重大变化和更快的版本周期 SPSDK 推出了一个新的主要版本 (v3.x),它带来了实质性的变化,并且与早期版本 (v2.x) 不向后兼容。有关每个版本更新的详细信息,请访问此处。有关迁移指南,请访问此处。 此外,版本节奏现已转为每月计划。 id:SPSDK [开始时间:2025年9月5日] [结束时间:2026年9月4日] 公告
記事全体を表示
在 Linux 上使用配置工具时,S32 Design Studio v3.6.2 会崩溃 您好, 一位客户报告说,每当他们尝试在配置工具中重新生成配置文件时,S32DS 就会崩溃。请参见所附日志。 设置: Ubuntu 24(窗口化 X11,如果相关的话) S32DS 3.6.2、与(至少) - SW32K3_S32M27x_RTD_R21-11_5.0.0_D2410_DesignStudio_updatesite - S32K3XX_S32M27x_RTD_R21-11_5.0.0_P08_D2504_DesignStudio_updatesite - SW32K3_FreeRTOS_11.1.0_5.0.0_CD1_D2409_DesignStudio_updatesite 能否请您高度重视这个问题? 丹尼尔 S32_CONFIG_TOOL S32DS Re: S32 Design Studio v3.6.2 crashes on Linux when using the Configuration tool 你好@valentin_ene 感谢您的反馈。我们向客户询问了这些问题,会告诉您的。 下面是我们获得的其他信息。不确定崩溃日志是否与您要求的日志相同? 尝试在 S32DS 中配置芯片时的崩溃日志。打开项目时自动报告第 1 行至第 3 行,一旦尝试配置引脚,就会记录第 4 行以后的内容。 SEVERE: [DATA] Setting value to a variable/info setting with ID "Lpuart_Uart.UartGlobalConfig.UartChannel.0.DetailModuleConfiguration.lpuartClockValue" [ScalarConfig.setValue] SEVERE: java.io.IOException: Script not found: ../siul2_dio/siul2_dio_codegenerator.js [ScriptApi.logError] SEVERE: java.io.IOException: Script not found: ../power/power_codegen.js [ScriptApi.logError] (S32 Design Studio:81505): Gtk-CRITICAL **: 16:05:35.509: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar (S32 Design Studio:81505): Gtk-WARNING **: 16:05:35.955: Negative content width -12 (allocation 1, extents 6x7) while allocating gadget (node separator, owner GtkSeparatorToolItem) (S32 Design Studio:81505): Gtk-CRITICAL **: 16:05:36.326: gtk_box_gadget_distribute: assertion 'size >= 0' failed in GtkScrollbar Sep 05, 2025 4:05:36 PM com.sun.glass.ui.gtk.GtkApplication WARNING: SWT-GTK uses unsupported major GTK version 0. GTK3 will be used as default. (S32 Design Studio:81505): Gtk-WARNING **: 16:05:38.433: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow) (S32 Design Studio:81505): Gtk-WARNING **: 16:05:38.528: Negative content width -1 (allocation 1, extents 1x1) while allocating gadget (node scrolledwindow, owner GtkScrolledWindow) # # A fatal error has been detected by the Java Runtime Environment: # # SIGSEGV (0xb) at pc=0x00007608f1c52045, pid=81505, tid=81506 # # JRE version: OpenJDK Runtime Environment Temurin-17.0.9+9 (17.0.9+9) (build 17.0.9+9) # Java VM: OpenJDK 64-Bit Server VM Temurin-17.0.9+9 (17.0.9+9, mixed mode, tiered, compressed oops, compressed class ptrs, g1 gc, linux-amd64) # Problematic frame: # C [libswt-pi3-gtk-4963r5.so+0x52045] # # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport -p%p -s%s -c%c -d%d -P%P -u%u -g%g -F%F -- %E" (or dumping to /home/q552508/Tools/s32ds-3.6.2/eclipse/core.81505) # # An error report file with more information is saved as: # /home/q552508/Tools/s32ds-3.6.2/eclipse/hs_err_pid81505.log # # If you would like to submit a bug report, please visit: # https://github.com/adoptium/adoptium-support/issues # The crash happened outside the Java Virtual Machine in native code. # See problematic frame for where to report the bug. Re: S32 Design Studio v3.6.2 crashes on Linux when using the Configuration tool 你好,我是@daniel_ll、 从崩溃日志来看,崩溃似乎发生在 Linux GTK 窗口库中,因此似乎与环境有关。 您还可以获取 ...工作区/.元数据/.日志吗?文件,以便我们检查是否还有其他问题? 您能确保他们遵循了.../S32DS_Install_Dir/S32DS/help/pdf中的S32DS_Installation_Guide.pdf第2章Linux平台安装先决条件中的步骤吗?
記事全体を表示
DEBIAN サポート i.MX95 こんにちは、 お客様の一人が、i.MX95 での Debian のドキュメント/サポートについて問い合わせています。NXP にはそれに関する情報がありますか? 敬具 Re: DEBIAN Support i.MX95 こんにちは、 i.MX ボードの Debian ロードマップは利用できません。 営業担当者にお問い合わせしてみることをお勧めします。 よろしくお願いいたします。
記事全体を表示
S32K144 EB Configuration WDG did not generate Wdg_Cfg.h by itself Hello NXP team: I used EB to configure MCAL Wdg (4.3.1) without generating Wdg_Cfg.h by itself, I don't know what the problem is.EB configuration is as follows: General configuration: Clock reference configuration: WDG Configuration: Code Generation: 回复: S32K144 EB 配置WDG没有自己生成Wdg_Cfg.h Reason found, GPT side of the callback must be this name to generate Wdg_Cfg.h, God pit! 回复: S32K144 EB 配置WDG没有自己生成Wdg_Cfg.h It's better if you translate it into English so more people can read it. 回复: S32K144 EB 配置WDG没有自己生成Wdg_Cfg.h I've encountered this when CAN is configured for multiplexing, and then the Cfg is generated when it is configured correctly. wdg configuration items are just that much, and it doesn't seem to work when I try it. 回复: S32K144 EB 配置WDG没有自己生成Wdg_Cfg.h 1. Arbitrarily change an IO port, and then generate code to see if it will change DIO_CFG.h or Port_CFg.h 2. Check whether the path of the generated code is correct or not 3. Check whether the configuration is wrong, I previously configured can, eb did not report errors, but the generated file is not changed. I found out later that there was a misconfiguration somewhere, so it is also recommended that you check more. 4. Comparison of online configuration watchdog and EB comes with routines, see where there are different places, and then follow your needs to change! This is my personal experience, so if it still doesn't work out, wait and see what the community gurus have to say in response
記事全体を表示
PCA9616 差分总线上的最大电容 你好 我正在使用 PCA9616PW 在背板上的多个板之间进行 I2C 通信。与该图类似,但 VDDA 和 VDDB 采用 3V3 电压 我想在差分总线上添加TVS二极管以进行保护,数据表中没有提及最大总线电容。是否有关于最大总线电容的建议。由于隐性状态被动上拉,I2C 可能对过大的总线电容敏感。差分总线对总线电容是否同样敏感? 我的系统最多可以有 17 个节点,我正在寻找电容为 50pF 的 TVS 二极管,这会是一个问题吗? Re: PCA9616 Max Capacitance on Differential Bus 我想应该没问题,你可以测试一下并分享结果。 如果不行,可以降低通信速度。 Re: PCA9616 Max Capacitance on Differential Bus 感谢您的回复 guoweisun。 我估计我的单端总线电容为 1185pF,包括 TVS 电容、走线电容和 PCA9616 本身的 IO 电容。虽然超过了 1000pF,但并不明显。 您认为这会是一个问题吗? Re: PCA9616 Max Capacitance on Differential Bus 没有精确的值,但可以估计在 1000pF 以上。
記事全体を表示
IMX8MPlus-RPMsg- Linuxコード こんにちは 、 RPMsg Pingpong の例を使用してサンプル コードを実行することができました。 アプリケーションからデータを読み取る機能を組み込もうとしています。 それを実現するためのサンプルはありますか。 ありがとうございます ラメシュ。 i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus i.MX 8M | i.MX 8M ミニ | i.MX 8M ナノ Re: IMX8MPlus-RPMsg- Linux Code ダニエル、 ありがとう。うまくいきました。問題を解決しました。 Re: IMX8MPlus-RPMsg- Linux Code こんにちは@ramesh91720721 A-core (Linux) 側。コア A (Linux) と Cortex-M (RTOS) の間で RPMsg チャネルが確立されると、キャラクター デバイス経由で評価できます。/dev/ttyPRMSG0 標準のLinuxファイル(開く、読む、書く)を使用することができます。 例えば、   # include < stdio .h > # include < fcntl.h >​ # include < unistd .h >   intメイン( ) {     int fd = open ( "/dev/ttyRPMSG0" 、 O_RDONLY ) ;     もし( fd < 0 ) {         perror ( "RPMsgデバイスを開けませんでした" ) ;         - 1を返します。     }       文字バッファ[ 128 ] ;     ( 1 )の間{         int len = read ( fd 、 buffer 、 sizeof ( buffer ) - 1 ) ;         長さ> 0 の場合{ {             バッファ[長さ] = '\ 0 ' ;             printf ( "受信: %s\n" ,バッファ) ;         }     }       閉じる( fd ) ;     0を返します。 }   NXPが提供するサポート、情報、およびテクノロジ(以下「マテリアル」)は、現状有姿のまま提供され、明示的または黙示的な保証は一切ありません。NXPは、適用法で認められる最大限の範囲において、マテリアルに関連する直接的および間接的な一切の責任および損害賠償を放棄します。NXPは、アプリケーションまたは製品デザインに関するいかなる支援についても責任を負いません。マテリアルは、NXP製品に関連してのみ使用できます。マテリアルに関してNXPに提供されたフィードバックは、NXPが制限なく使用できます 。   よろしくお願いします。 ダニエル
記事全体を表示
BSP LLCE イネーブルメントの license-llce.rtf ファイルはどこからダウンロードできますか? こんにちは、チームの皆さん お客様はPEGATRON - NORMALIZEDです。 S32G399ardb3 BSP44 バージョンに llce-can 機能を追加しようとしています。 local.conf に以下の 2 行を追加します。 しかし、エラーが発生し、license-llce.rtfファイルが見つかりません。「 license-llce.rtf」ファイルはどこからダウンロードCANますか? Br、 ユウ Linux BSP LLCE Re: Where can I download license-llce.rtf file with the BSP LLCE enablement こんにちは@Yu_Songさん Linux BSP 44 は LLCE ファームウェア バージョン 1.0.9 と互換性があります。 ファームウェア (通常、Windows マシンの C:\NXP\S32G_LLCE_1_0_9 にあります) をダウンロードしてインストールすると、ルート ディレクトリに次のファイルが作成されます。 . ├── eclipse ├── firmware ├── license.rtf ├── sample_app_llce └── uninst.exe 続行するには、このディレクトリの license.rtf ファイルを、LLCE ファームウェア バイナリとともに、 NXP_FIRMWARE_LOCAL_DIR Yocto 変数によって参照されるフォルダーにコピーしてください。これらの手順が完了したら、Yocto ビルドを再起動できます。 よろしくお願いいたします。 ゲナディ Re: Where can I download license-llce.rtf file with the BSP LLCE enablement こんにちは、チームの皆さん ここで何か更新はありますか? BR、 ユウ
記事全体を表示
IMXRT1176 OTFAD Decrypting Flash when reading over SWD Hi, I'm currently using the OTFAD to encrypt code stored in External Flash on the IMXRt1176.  I've run two tests, one where I encrypt with the KEK burned into the fuses and one where I encrypt with a different key.  In the first test, the software runs as expected and in the second the software doesn't run which is also expected.  When I read the external flash using the memory browser in MCUXpresso, I noticed when I use the incorrect key to encrypt the image the flash contents looks encrypted but when I use the correct key the flash contents look exactly like the unencrypted image.  My theory is that I'm reading the flash from the CPU's address space and the OTFAD is running so it's decrypting the the contents as I read it. If the OTFAD uses the incorrect key then the contents is not decrypted properly, hence why it doesn't match the original image. Does the above sound correct? If so, I'm running into an issue when verifying with the PEMicro Cyclone Programmer and I think it has to do with this. When I program a fresh device, the verification passes. When I reprogram, it does not pass. I think on the second round the OTFAD has loaded the key and decrypts the image as the Cyclone reads it back. If it's decrypted, then it fails verification because it does not match the encrypted image.  I know that it does program correctly because I can run the software and it reports the updated version number. Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD Hi @rnicolls , Yes, it is the expected result due to OTFAD. Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD Hi Kan, Yes, I always erase before programming and the issue persists. I also tried performing a mass erase followed by a reset and then programming and verifying but this causes it to fail the programming step.  Could you confirm that reading the flash over SWD will show the unencrypted data due to the OTFAD running? Best, Rory Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD Hi @rnicolls , Thanks for the clarification! maybe you are right, it is needed to check with "PEMicro", maybe it directly read flash contents for verification. BTW, have you tried a mass erase before reprogramming? Did it make any difference? Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. ------------------------------------------------------------------------------- Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD Hi Kan,  I'm programming and verifying with the PEMicro Cyclone FX. Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD Hi @rnicolls , May I know which tool you are using to program and verify the flash? by SEC tool or others? Please kindly clarify. Have a great day, Kan ------------------------------------------------------------------------------- Note: - If this post answers your question, please click the "Mark Correct" button. Thank you! - We are following threads for 7 weeks after the last post, later replies are ignored Please open a new thread and refer to the closed one, if you have a related question at a later point in time. -------------------------------------------------------------------------------
記事全体を表示
s32k 146 flash wtrite 错误 社区的朋友们,你们好!我遇到了一个问题,来这里寻求帮助。我正在使用 S32K146 开发我的项目。使用闪存时,我想将256字节的数据写入闪存(起始地址为0x80000),但在实际过程中,出现了一个问题:并非所有数据都写入到指定地址。 详情如下: I.我使用 EB Tresos 配置了 PFlash,如图所示(为便于演示,只选择了一个扇区)。 II.如图所示,这是我用来向闪存写入数据的数据测试函数。 III.这就是调试过程中的结果: 这就是我调用函数的地方。 我使用 Mem_43_INFLS_GetJobResult 函数来确定写入是否成功,返回值为 2(表示 MEM_43_INFLS_JOB_FAILED)。 一些数据被写入了地址为 0x80000 的闪存,但只是一部分,这显然不符合我的要求。 我的问题: 我是在配置中犯了错误,还是缺少了一个阻止我写入 256 字节数据的步骤? Re: s32k 146 flash wtrite error hi,shiqi 我最近在进行 OTA 测试时也遇到了同样的问题,我们使用的是 S32K324 和 RTD500。问题解决了吗?如果是,请告诉我解决方法,期待您的回复,谢谢! Re: s32k 146 flash wtrite error 你好,@shiqi_seventeen、 很抱歉,我这两天不在办公室,耽误了您的时间。 能否共享整个 INFLS 配置? 是使用下面突出显示的选项将 INFLS 代码复制到 SRAM 中,还是从闪存中执行?您的程序块中有任何代码吗? 能否在擦除和写入操作之间使用 Mem_43_INFLS_BlankCheck()? 我看不出代码片段有什么问题。 也许您可以通过支持票据私下共享完整的项目,这样我就可以在我这边进行测试。 此致, 丹尼尔 Re: s32k 146 flash wtrite error 你好,@danielmartynek 驱动程序版本为Autosar 4.7 V2.0.0 Re: s32k 146 flash wtrite error 嗨,@shiqi_seventeen、 能否分享整个 INFLS 配置的截图? 您使用的是哪个版本的驱动程序? 谢谢! BR,丹尼尔
記事全体を表示
S32DS 3.6.3 Platform Tools - MSYS2 Missing Package Manager and Toolchains The latest S32DS Platform Tools package (3.6.3) contains MSYS2 environment which is missing features that were included in previous versions: pacman package manager Windows OS toolchains: UCRT64, MINGW64, MINGW32, CLANG64 Are these intentional omissions or will they be restored in a future release? The pacman package manager is very useful as it allows users to extend the features of the base MSYS2 environment. Please consider including this. The Windows toolchains are not important, however we did receive a query from customer about why they were removed, so if there is an explanation we could relay then it would be helpful. For now I advised customer that S32DS is intended for embedded software development targeting NXP products and that the Windows toolchains are not relevant. I have attached the HTML export from S32DS Extensions and Updates menu. Thanks, Gary S32DS Re: S32DS 3.6.3 Platform Tools - MSYS2 Missing Package Manager and Toolchains Thank you for the swift response Valentin. It is pretty much as I expected and I agree with the decision, was just looking for confirmation that it was indeed deliberate. I notice that the size of MSYS2 has been reduced by > 1 GB which is a significant saving.  I did an experiment and replaced the MSYS2 integrated within S32DS with a new installation containing default packages and it did not break S32DS, I am still able to build using GCC for ARM.  I recommended that customer either installs a new MSYS2 separate from S32DS, or if they really want to they can replace the integrated instance. Re: S32DS 3.6.3 Platform Tools - MSYS2 Missing Package Manager and Toolchains Hi @GaryRK, Yes, those features were removed. S32DS is not supposed to provide a working msys2 environment, we just used it to have Make on Windows mainly. The decision to cut down MSYS2 to just what we wanted from it was made in order to save on size, MSYS2 was proved to be a bottleneck due to size and large number of files. If your customer wants to also use it for the other uses MSYS provides it can just replace it with their own, as long as it still contains what we already deploy the IDE should not mind.
記事全体を表示
MPC8343 日安! 贵公司的哪些软件产品支持 MPC8343EA? 我需要配置错误的 HRCW 条目。 我有一台世纪佳缘 J-LINK。 谢谢。 Re: MPC8343 调试 SW https://www.nxp.com/design/software/development-software/codewarrior-development-tools/codewarrior-network-applications/codewarrior-development-suites-for-networked-applications:CW-DS-NETAPPS 调试工具 CodeWarrior TAP 版本。F 和早期版本。 如果你手头有一个,可以试试。 此致,
記事全体を表示
IMXRT1176 OTFAD SWD 経由での読み取り時にフラッシュを復号化する こんにちは、 現在、OTFAD を使用して、IMXRt1176 の外部フラッシュに保存されているコードを暗号化しています。 私は 2 つのテストを実行しました。1 つはヒューズに焼き付けられた KEK を使用して暗号化するテスト、もう 1 つは別のキーを使用して暗号化するテストです。 最初のテストではソフトウェアは期待どおりに実行され、2 番目のテストではソフトウェアは実行されませんが、これも期待どおりです。 MCUXpresso のメモリ ブラウザーを使用して外部フラッシュを読み取ったときに、間違ったキーを使用してイメージを暗号化するとフラッシュの内容が暗号化されたように見えるのに、正しいキーを使用するとフラッシュの内容は暗号化されていないイメージとまったく同じように見えることに気付きました。 私の理論では、CPU のアドレス空間からフラッシュを読み取り、OTFAD が実行されているSO、読み取り時にその内容を復号化していると考えられます。OTFAD が誤ったキーを使用すると、コンテンツは適切に復号化されず、元の画像と一致しなくなります。 上記は正しいでしょうか? もしSOなら、PEMicro Cyclone Programmer で検証するときに問題が発生しており、これが関係していると思います。新しいデバイスをプログラムすると、検証は合格します。再プログラムすると、成功しません。2 回目のラウンドでは、OTFAD がキーをロードし、Cyclone がそれを読み戻すときにイメージを復号化すると思います。復号化された場合、暗号化された画像と一致しないため検証に失敗します。 ソフトウェアを実行すると更新されたバージョン番号が表示されるので、正しくプログラムされていることがわかります。 Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD こんにちは@rnicolls 、 はい、OTFAD による予想通りの結果です。 すてきな一日を、 カン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 --------------------------------------------------------------------------------- Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD こんにちは、カンさん はい、プログラミングする前に必ず消去しますが、問題は解決しません。また、一括消去の後にリセットを実行し、プログラミングと検証を行うことも試みましたが、これによりプログラミング手順が失敗します。 SWD 経由でフラッシュを読み取ると、OTFAD の実行により暗号化されていないデータが表示されることを確認できますか? 最高、 ロリー Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD こんにちは@rnicolls 、 ご説明ありがとうございます!おそらくおっしゃる通り、 「PEMicro」で確認する必要があり、検証のためにフラッシュの内容を直接読み取る必要があるのかもしれません。 ところで、再プログラミングする前に大量消去を試しましたか?何か違いはありましたか? すてきな一日を、 カン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 --------------------------------------------------------------------------------- Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD こんにちは、カンさん 私はPEMicro Cyclone FXを使用してプログラミングと検証を行っています。 Re: IMXRT1176 OTFAD Decrypting Flash when reading over SWD こんにちは@rnicolls 、 フラッシュのプログラムと検証に使用しているツールを教えていただけますか?SEC ツールか他のツールか?ご説明をよろしくお願いいたします。 すてきな一日を、 カン --------------------------------------------------------------------------------- 注記: - この投稿があなたの質問への回答である場合は、「正解としてマーク」ボタンをクリックしてください。ありがとう! - Threadは最後の投稿から7週間フォローされます。それ以降の返信は無視されます。 後ほど関連する質問がある場合は、新しいThreadを開いて、閉じたThreadを参照してください。 ---------------------------------------------------------------------------------
記事全体を表示