Multi Source Translation Content

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

Multi Source Translation Content

Discussions

Sort by:
Using Sensors for Low-Power IoT Applications: Tips and Tricks This session will cover in detail some of today's most popular IoT sensing applications such as Asset Tracking, Machine Condition Monitoring, Activity Monitoring, Keyfob, Smart Door, Smart Ball, Inhaler, HVAC, etc. This will involve showcasing NXP's demos/reference designs to explain the execution of some key applications. It will also cover low-power techniques on implementing the above applications. This session will cover in detail some of today's most popular IoT sensing applications such as Asset Tracking, Machine Condition Monitoring, Activity Monitoring, Keyfob, Smart Door, Smart Ball, Inhaler, HVAC, etc. This will involve showcasing NXP's demos/reference designs to explain the execution of some key applications. It will also cover low-power techniques on implementing the above applications.
View full article
Developing LwIP Application with Sequential API LwIP can be used in two basic modes: Mainloop mode (“NO_SYS”)(no OS/RTOS running on target system) or OS mode (TCPIP thread) (there is an OS running on the target system). In mainloop mode, only raw API can be used. In OS mode, raw API and sequential APIs can be used. In OS mode, the lwip stack and the application run in separate tasks. The application communicates with the LwIP stack through sequential API calls that sue the RTOS mailbox mechaniam for inter-process communicatioin. This post is focusing on how to design a LwIP applicatioin in OS mode with sequential API in MCUXpresso SDK. It is for LwIP beginners. The code snipperts is from MCUXpresso SDK2.6. For how to design a LwIP applicaton in mainloop mode (bare metal mode) with raw API, please refer to below link: Developing LwIP Applications with Raw API   Generally, a LwIP application inlcudes network interface setting up, LwIP stack initialization , using LwIP API, and configuration. 1. Starting a network interface To create a new network interface, the user allocates space for a new struct netif (but does not initialize any part of it) and calls netifapi_netif_add:     IP4_ADDR(&fsl_netif0_ipaddr, configIP_ADDR0, configIP_ADDR1, configIP_ADDR2, configIP_ADDR3);     IP4_ADDR(&fsl_netif0_netmask, configNET_MASK0, configNET_MASK1, configNET_MASK2, configNET_MASK3); IP4_ADDR(&fsl_netif0_gw, configGW_ADDR0, configGW_ADDR1, configGW_ADDR2, configGW_ADDR3);       netifapi_netif_add(&fsl_netif0, &fsl_netif0_ipaddr, &fsl_netif0_netmask, &fsl_netif0_gw, &fsl_enet_config0,                        ethernetif0_init, tcpip_input); Pass tcpip_input API to netif_add API as input callback function that is called to pass ingress packets up in the protocol layer stack next we need to bring the interface up An interface that is “up” is available to your application for input and output, and “down” is the opposite state. Therefore, before you can use the interface, you must bring it up. This can be accomplished depending on how the interface gets its IP address.  We can use static IP address  or DHCP. Set the network interface as the default network interface netifapi_netif_set_default(&fsl_netif0);   Bring the interface up, available for processing     netifapi_netif_set_up(&fsl_netif0); 2. Initializing LwIP stack   Call tcpip_init to create tcpip_thread, this thread has exclusive access to LwIP core functions. Other threads communicate with this thread using message boxes. It also starts all the timers to make sure they are running in the right thread context.   tcpip_init(NULL, NULL);   void   tcpip_init(tcpip_init_done_fn initfunc, void *arg) {   lwip_init();     tcpip_init_done = initfunc;   tcpip_init_done_arg = arg;   if (sys_mbox_new(&tcpip_mbox, TCPIP_MBOX_SIZE) != ERR_OK) {     LWIP_ASSERT("failed to create tcpip_thread mbox", 0);   } #if LWIP_TCPIP_CORE_LOCKING   if (sys_mutex_new(&lock_tcpip_core) != ERR_OK) {     LWIP_ASSERT("failed to create lock_tcpip_core", 0);   } #endif /* LWIP_TCPIP_CORE_LOCKING */     sys_thread_new(TCPIP_THREAD_NAME, tcpip_thread, NULL, TCPIP_THREAD_STACKSIZE, TCPIP_THREAD_PRIO); } Priority of user task should not exceed the priority of tcpip_thread   - In lwipopts.h, the priority of tcpip_thread     #define TCPIP_THREAD_PRIO              2 3. Using sequential API  As shown in the below figure, the steps for establishing a TCP connection on the client side are the following: Create a connection using the netconn_new() function; Connect to the address of the server using the netconn_connect() function; Send and receive data by means of the netconn_recv() and netconn_write() functions. Close the connection by means of the netconn_close() function. The steps involved in establishing a TCP connection on the server side are as follows: Create a TCP connection with the netconn_new() function; Bind the server to an address using the netconn_bind() function; Listen for connections with the netconn_listen() function; Accept a connection with the netconn_accept() function. This call typically blocks until a client connects with the server. Send and receive data by means of netconn_write() and netconn_recv(). Close the connection by means of the netconn_close() function. Middleware/lwip/contrib/appa/tcpecho/tcpecho.c static void tcpecho_thread(void *arg) {   struct netconn *conn, *newconn;   err_t err;   LWIP_UNUSED_ARG(arg);     /* Create a new connection identifier. */   /* Bind connection to well known port number 7. */ #if LWIP_IPV6   conn = netconn_new(NETCONN_TCP_IPV6);   netconn_bind(conn, IP6_ADDR_ANY, 7); #else /* LWIP_IPV6 */   conn = netconn_new(NETCONN_TCP);   netconn_bind(conn, IP_ADDR_ANY, 7); #endif /* LWIP_IPV6 */   LWIP_ERROR("tcpecho: invalid conn", (conn != NULL), return;);     /* Tell connection to go into listening mode. */   netconn_listen(conn);     while (1) {       /* Grab new connection. */     err = netconn_accept(conn, &newconn);     /*printf("accepted new connection %p\n", newconn);*/     /* Process the new connection. */     if (err == ERR_OK) {       struct netbuf *buf;       void *data;       u16_t len;             while ((err = netconn_recv(newconn, &buf)) == ERR_OK) {         /*printf("Recved\n");*/         do {              netbuf_data(buf, &data, &len);              err = netconn_write(newconn, data, len, NETCONN_COPY); #if 0             if (err != ERR_OK) {               printf("tcpecho: netconn_write: error \"%s\"\n", lwip_strerr(err));             } #endif         } while (netbuf_next(buf) >= 0);         netbuf_delete(buf);       }       /*printf("Got EOF, looping\n");*/       /* Close connection and discard connection identifier. */       netconn_close(newconn);       netconn_delete(newconn);     }   } } From the tcpecho thread, we can see First, one new TCP connection was called with parameter NETCONN_TCP  by API netconn_new. #define netconn_new(t)                  netconn_new_with_proto_and_callback(t, 0, NULL) struct netconn * netconn_new_with_proto_and_callback(enum netconn_type t, u8_t proto, netconn_callback callback) {   struct netconn *conn;   API_MSG_VAR_DECLARE(msg);   API_MSG_VAR_ALLOC_RETURN_NULL(msg);     conn = netconn_alloc(t, callback);   if (conn != NULL) {     err_t err;       API_MSG_VAR_REF(msg).msg.n.proto = proto;     API_MSG_VAR_REF(msg).conn = conn;     err = netconn_apimsg(lwip_netconn_do_newconn, &API_MSG_VAR_REF(msg));     if (err != ERR_OK) {       LWIP_ASSERT("freeing conn without freeing pcb", conn->pcb.tcp == NULL);       LWIP_ASSERT("conn has no recvmbox", sys_mbox_valid(&conn->recvmbox)); #if LWIP_TCP       LWIP_ASSERT("conn->acceptmbox shouldn't exist", !sys_mbox_valid(&conn->acceptmbox)); #endif /* LWIP_TCP */ #if !LWIP_NETCONN_SEM_PER_THREAD       LWIP_ASSERT("conn has no op_completed", sys_sem_valid(&conn->op_completed));       sys_sem_free(&conn->op_completed); #endif /* !LWIP_NETCONN_SEM_PER_THREAD */       sys_mbox_free(&conn->recvmbox);       memp_free(MEMP_NETCONN, conn);       API_MSG_VAR_FREE(msg);       return NULL;     }   }   API_MSG_VAR_FREE(msg);   return conn; }   Then, the newly created connection is then bound to port 7 (echo protocol) by calling the API function netconn_bind.   Next, the application starts the listening process on the connection by calling the API function netconn_listen. In the infinite while(1) loop, the application waits for a new connection by calling the API function netconn_accept. This API will block the application task when there is no incoming connection. When there is an incoming connection, the application can start receiving data by calling the API function netconn_recv. Incoming data are received in a netbuf.       Application can get the received data by calling the netbuf API function netbuf_data. err_t netbuf_data(struct netbuf *buf, void **dataptr, u16_t *len) {   LWIP_ERROR("netbuf_data: invalid buf", (buf != NULL), return ERR_ARG;);   LWIP_ERROR("netbuf_data: invalid dataptr", (dataptr != NULL), return ERR_ARG;);   LWIP_ERROR("netbuf_data: invalid len", (len != NULL), return ERR_ARG;);     if (buf->ptr == NULL) {     return ERR_BUF;   }   *dataptr = buf->ptr->payload;   *len = buf->ptr->len;   return ERR_OK; }   The received data is sent back (echoed) to the remote TCP client by calling the API function netconn_write. Netconn_close and netconn_delete are used to respectively close and delete the netconn connection     4. Configuration LwIP lwipopts.h is a user file that you can use to fully configure lwIP and all of its modules. You do not need to define every option that lwIP provides; if you do not define an option, a default value will be used. Therefore, your lwipopts.h provides a way to override much of the behavior of lwIP. In multi theads mode, . We need to #define NO_SYS to 0. Please refer to evkbimxrt1050_lwip_tcpecho_freertos\source\lwipopts.h … #if USE_RTOS   /**  * SYS_LIGHTWEIGHT_PROT==1: if you want inter-task protection for certain  * critical regions during buffer allocation, deallocation and memory  * allocation and deallocation.  */ #define SYS_LIGHTWEIGHT_PROT 1   /**  * NO_SYS==0: Use RTOS  */ #define NO_SYS 0 /**  * LWIP_NETCONN==1: Enable Netconn API (require to use api_lib.c)  */ #define LWIP_NETCONN 1 /**  * LWIP_SOCKET==1: Enable Socket API (require to use sockets.c)  */ #define LWIP_SOCKET 1   /**  * LWIP_SO_RCVTIMEO==1: Enable receive timeout for sockets/netconns and  * SO_RCVTIMEO processing.  */ #define LWIP_SO_RCVTIMEO 1 …   Re: Developing LwIP Application with Sequential API Daniel, Don't I need to have an active network connection before making netif API calls? If there is no network cable attached when I call netif_dhcp_start(), but I attach it later, I never see the dhcp state variable go to DHCP_STATE_BOUND. So, I would think there would be a callback or a status variable that lets me know when the link goes up or down, yet I can't seem to find it in either MCUXpresso SDK or LwIP. How is link status detected and reported? Thanks!
View full article
示例 MPC5744P EDC_after_ECC_error_by_UTEST_area_read GHS714 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 本例的目的是展示如何在 ECC 错误后生成 EDC * 内部闪存。通过读取预定义模式实现错误响应 * 在地址 0x00400080 的 UTEST 区域中生成 IVOR1 异常和 FCCU * 中断(FCCU_Alarm_Interrupt)。 * 示例未显示任何处理,因为它是特定于应用程序的。 * 该示例在终端窗口(连接器 J19 上)显示通知 * MPC57xx_Motherboard)(19200-8-无奇偶校验-1停止位-eSCI_A上无流量控制)。 * 无需其他外部连接。 * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC57xx_主板 + MPC5744P-144DC * MCU:PPC5744PFMLQ8,0N15P,QQAA1515N,Rev2.1B * Fsys: 200 MHz PLL,带 40 MHz 晶振参考 * 调试器:Lauterbach Trace32 * 目标:internal_FLASH,RAM * 终端:19200-8-无奇偶校验-1停止位-无流量控制 * EVB连接:默认 ******************************************************************************** <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 本例的目的是展示如何在 ECC 错误后生成 EDC * 内部闪存。通过读取预定义模式实现错误响应 * 在地址 0x00400080 的 UTEST 区域中生成 IVOR1 异常和 FCCU * 中断(FCCU_Alarm_Interrupt)。 * 示例未显示任何处理,因为它是特定于应用程序的。 * 该示例在终端窗口(连接器 J19 上)显示通知 * MPC57xx_Motherboard)(19200-8-无奇偶校验-1停止位-eSCI_A上无流量控制)。 * 无需其他外部连接。 * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC57xx_主板 + MPC5744P-144DC * MCU:PPC5744PFMLQ8,0N15P,QQAA1515N,Rev2.1B * Fsys: 200 MHz PLL,带 40 MHz 晶振参考 * 调试器:Lauterbach Trace32 * 目标:internal_FLASH,RAM * 终端:19200-8-无奇偶校验-1停止位-无流量控制 * EVB连接:默认 ********************************************************************************
View full article
示例 MPC5775K PIT ISR GHS614 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 本示例包含基本的 PMPLL 初始化和 * 模式进入模块和时钟生成的配置 * 模块。默认情况下,活动是核心 2 -> e200z4 * 配置 PIT 计时器来触发中断并对其进行服务 * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC57xx * 掩模组:0N76P * 目标:internal_FLASH * Fsys: 265 MHz PLL,带 40 MHz 晶振参考 ******************************************************************************** 修订历史: 1.0 Sep-07-2017 b21190(Vlna Peter) 初始版本 ********************************************************************************************/ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 本示例包含基本的 PMPLL 初始化和 * 模式进入模块和时钟生成的配置 * 模块。默认情况下,活动是核心 2 -> e200z4 * 配置 PIT 计时器来触发中断并对其进行服务 * ---------------------------------------------------------------------------------------------- * 测试硬件:MPC57xx * 掩模组:0N76P * 目标:internal_FLASH * Fsys: 265 MHz PLL,带 40 MHz 晶振参考 ******************************************************************************** 修订历史: 1.0 Sep-07-2017 b21190(Vlna Peter) 初始版本 ********************************************************************************************/
View full article
eIQ Getting Started with NXP Microcontrollers eIQ® is comprised of multiple pieces of hardware and software to enable users to run machine learning models on embedded devices. Some of the key pieces of eIQ enablement for NXP microcontrollers include: eIQ Time Series Studio - PC tool to create and deploy classical machine learning and neural network models for time series analysis eIQ Inference Engines - Included as part of MCUXpresso SDK or Yocto Linux, these are used to do inferencing of pre-trained models on embedded devices. Options for MCUs include TensorFlow Lite, and coming soon, ExecuTorch. eIQ Neutron NPU – Accelerator core architecture embedded inside specific NXP devices like MCX N and i.MX RT700 to accelerate the inference of neural network models eIQ Neutron SDK - Contains the Neutron Converter tool for enabling models to be accelerated with eIQ Neutron NPUs eIQ Model Zoo - browse models tested on NXP silicon eIQ Model Watermarking Extension - Enhance copyright protections on custom models eIQ Model Creator - Partnership with ModelCat for vision-based model development There are two main paths for using AI/ML on NXP devices. Use eIQ Time Series Studio to generate and deploy a model for time series applications Use eIQ inference engines to deploy a pre-trained neural network model This attached lab will cover the 2nd option by showing how to run the TensorFlow Lite for Microcontrollers (TFLM) inference engine examples found in the MCUXpresso SDK. TFLM support can be found for the following NXP devices in MCUXpresso SDK: MCX N i.MX RT500 i.MX RT600 i.MX RT700 i.MX RT1050 i.MX RT1060 i.MX RT1064 i.MX RT1160 i.MX RT1170 i.MX RT1180 Full details on how to download eIQ inference engine software libraries and run it with VS Code, MCUXpresso IDE, IAR, Keil MDK, or ARM GCC can be found in the attached Getting Started guide.  For more information about eIQ and some hands-on labs for the i.MX RT family, see the following links: eIQ Software for MCUs: eIQ Libraries for MCUs on MCUXpresso SDK Builder or Github eIQ Time Series Studio (TSS) for Time Series applications eIQ Neutron SDK (for Neutron Converter Tool) MCU Hands-on Labs eIQ Time Series Studio Getting Started Lab i.MX RT700 NPU Getting Started Lab MCX N NPU Getting Started Lab TFLite for Microcontrollers Getting Started Lab   Resources: eIQ TSS Documentation eIQ MCUXpresso SDK Documentation eIQ FAQ Application Code Hub for AI/ML Examples GoPoint for i.MX Application Processors eIQ Model Creator by ModelCat.ai eIQ Model Zoo eIQ Neutron NPU Research Paper eIQ App Notes i.MX RT700 eIQ Neutron NPU Enablement and Performance (AN14700) i.MX RT700 USB Camera Object Detection (AN14718) with software In-Depth Exploration of TensorFlow Quantizer Debugger Tool (AN14493) Anomaly Detection with eIQ using K-Means clustering in TF-Lite (AN12766) Transfer Learning and Datasets (AN12892) Handwritten Digit Recognition using TensorFlow Lite (AN12603) Caffe Model Development on MNIST Dataset with CMSIS-NN Library (AN12781) Gender Voice Recognition with TensorFlow Lite Inference (AN13065) i.MX RT Re: eIQ Getting Started with i.MX RT Hi Ana-maria,     What board and what IDE are you using? Can you also share your modified linker file?  -Anthony  Re: eIQ Getting Started with i.MX RT Hello! I tried running the cmsis_nn_cifar10 example from the SDK (configured to have eIQ) but it seems that the example has SDRAM and BOARD_SDRAM that overlaps (both starting at the same address and having the same size). When I try to adjust the memory to be the same as memory in example cmsis_nn_kws, the example is not writing in the right addresses. I also can't erase that memory. Can you please guide me to solve this issue?
View full article
クラスター&インフォテインメント:チューナー - マーキュリーカーラジオの紹介 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXPの最先端の1チップ次世代ソフトウェア無線(SDR)システムソリューションの紹介は、世界の無線受信規格(Mercuryファミリ)をカバーしています。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXPの最先端の1チップ次世代ソフトウェア無線(SDR)システムソリューションの紹介は、世界の無線受信規格(Mercuryファミリ)をカバーしています。
View full article
NFC 在工业和医疗保健领域的应用——比你想象的更多 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 无论您正在寻找简单且经济高效的参数化解决方案,还是想要使用智能手机对设备进行临时诊断 - 近场通信 (NFC) 现在都可以实现这一点。或者您可能想与完全密封、无电池的设备进行通信?在本次会议中了解许多新的用例,其中 NFC 简化了处理、节省了成本或实现了以前在工业或医疗保健应用中不可能实现的功能。现在 iOS11 已开放 NFC 读取,其可能性比您想象的还要多! <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 无论您正在寻找简单且经济高效的参数化解决方案,还是想要使用智能手机对设备进行临时诊断 - 近场通信 (NFC) 现在都可以实现这一点。或者您可能想与完全密封、无电池的设备进行通信?在本次会议中了解许多新的用例,其中 NFC 简化了处理、节省了成本或实现了以前在工业或医疗保健应用中不可能实现的功能。现在 iOS11 已开放 NFC 读取,其可能性比您想象的还要多!
View full article
恩智浦物联网射频解决方案提供可靠、高性能无线连接 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 业务线智能天线解决方案为从移动电话到无线基础设施等许多不同应用提供广泛的射频产品。所有这些应用都需要高性能射频产品来提供可靠、高数据速率的连接。本次培训将展示如何成功使用我们的 RF 产品在物联网应用中改善 RF 连接:通过在接收链中使用 LNA 或在发射端添加 PA 来扩展范围。我们广泛的产品组合确保能够满足物联网的不同需求(频率范围、功耗和性能增益)。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 业务线智能天线解决方案为从移动电话到无线基础设施等许多不同应用提供广泛的射频产品。所有这些应用都需要高性能射频产品来提供可靠、高数据速率的连接。本次培训将展示如何成功使用我们的 RF 产品在物联网应用中改善 RF 连接:通过在接收链中使用 LNA 或在发射端添加 PA 来扩展范围。我们广泛的产品组合确保能够满足物联网的不同需求(频率范围、功耗和性能增益)。
View full article
セキュリティ&IVN:NFCおよびRFオートを備えたNXPカーアクセス <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXPは、セキュア・カー・アクセス・チップセットのリーダーです。このセッションでは、NFCおよびRF Autoのカーアクセスのトレンドとさまざまなユースケース、製品、システムソリューションを紹介します。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NXPは、セキュア・カー・アクセス・チップセットのリーダーです。このセッションでは、NFCおよびRF Autoのカーアクセスのトレンドとさまざまなユースケース、製品、システムソリューションを紹介します。
View full article
ラインレート・ネットワーキングと64ビット性能による新しいクラスの低消費電力アプリケーションを実現 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 通信プロセッサの最新のイノベーションにより、低電源またはバッテリ駆動でスペースに制約のある新しいタイプのアプリケーションがどのように可能になるかをご覧ください。アプリケーションには、ポータブルストレージ、IoTゲートウェイ、組み込み制御などがあります。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 通信プロセッサの最新のイノベーションにより、低電源またはバッテリ駆動でスペースに制約のある新しいタイプのアプリケーションがどのように可能になるかをご覧ください。アプリケーションには、ポータブルストレージ、IoTゲートウェイ、組み込み制御などがあります。
View full article
MCU 技术主题:实践研讨会:在 S32K MCU 上编写 CSEc 安全软件 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 实践课程展示如何为 CSEc 安全操作准备和编程设备。会议还涵盖了编写 CSEc 模块的裸机和 SDK 方法。NVM 部分将涵盖 NXP 提供的用于计算耐久性的不同类型内存和工具的启用/配置。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 实践课程展示如何为 CSEc 安全操作准备和编程设备。会议还涵盖了编写 CSEc 模块的裸机和 SDK 方法。NVM 部分将涵盖 NXP 提供的用于计算耐久性的不同类型内存和工具的启用/配置。
View full article
PMICが I.MX に選択 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 典型的なPMICブロック図: i.MX 用低電圧パワーマネジメントIC: ネットワークワーキング用の低電圧パワーマネジメントIC: PMIC製品の詳細については、以下のリンクをご覧ください。 https://www.nxp.com/docs/en/fact-sheet/PMICFS.pdf このドキュメントは、次のディスカッションから作成されました。指定されたディスカッションが見つかりませんでした。 i.MX のPMIC 電源ソリューション
View full article
2b|!2b_里程碑_1 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我们在视频中展示了如何连接电路,如何制作不同速度的 pwm 以及汽车运动的小演示。 (在 “我的视频” 中查看) 2017 年 Linux 嵌入式挑战赛
View full article
Apex 编程模型 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 索引|上一页|下一页 该视频解释了 Apex 的编程模型、APU 与 ACF 编程之间的差异以及其中涉及的硬件块。它还涉及了内核、图形和进程的概念。 (在 “我的视频” 中查看)
View full article
示例 MPC5748G FlexCAN FD 简单 TX/RX GHS614 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * * 配置 FlexCAN 发送和接收带有或不带有 CAN FD 消息 * 数据阶段的比特率切换。 * 仲裁阶段的波特率设置为 500kbps,数据阶段的波特率设置为 2Mpbs。 * * 在此配置中,CAN_0 传输一条消息。CAN_1接收消息。 * * EVB连接: * * P15-1 上的 CAN0-CANH 至 P14-1 上的 CAN1-CANH * P15-2 上的 CAN0-CANL 至 P14-2 上的 CAN1-CANL * * 注意!终端电阻(120欧姆)必须放置在收发器输出端 * * ---------------------------------------------------------------------------------------------- * 测试硬件:X-MPC574xG-324DS + X-MPC574XG-MB * 面罩组:1N81M * 目标:FLASH * 系统频率:160 MHz PLL * ******************************************************************************** 概述
View full article
裸机 KL25Z KDS 传感器融合版本 7.00 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 全部, 将附件放入 SDK_2.0_FRDM-KL25Z/boards/frdmkl25z_virtual_shield/issdk_examples/algorithms/sensorfusion/baremetal_sensor_fusion。 对于发布的延迟以及尽管我以为我链接到了系统中其他地方的文件但最终我得到了内置于该项目的本地副本这一事实,我深表歉意。你们中的一些人可能会喜欢这个。我不太清楚。但正如我在其他地方提到的,KDS 和我之间存在分歧…… 此致, Mike <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 全部, 将附件放入 SDK_2.0_FRDM-KL25Z/boards/frdmkl25z_virtual_shield/issdk_examples/algorithms/sensorfusion/baremetal_sensor_fusion。 对于发布的延迟以及尽管我以为我链接到了系统中其他地方的文件但最终我得到了内置于该项目的本地副本这一事实,我深表歉意。你们中的一些人可能会喜欢这个。我不太清楚。但正如我在其他地方提到的,KDS 和我之间存在分歧…… 此致, Mike 传感器融合
View full article
How to create a new LPC project using LPCOpen and LPCXpresso This document describes how to create a new LPC project using LPCOpen v2.xx, LPCXpresso v8.2.2 and LPC11U24 LPCXpresso board. In addition describes how to create 2 simple example codes. Blinking LED. Set the LED using a push bottom.  LPCOpen LPCOpen is an extensive collection of free software libraries (drivers and middleware) and example programs that enable developers to create multifunctional products based on LPC microcontrollers. After install LPCXpresso, the LPCOpen packages for supported board(s)/device(s) can be found at the path: \ lpcxpresso\Examples\LPCOpen > This directory contains a number of LPCOpen software bundles for use with the LPCXpresso IDE and a variety of development boards. Note that LPCOpen bundles are periodically updated, and additional bundles are released. Thus we would always recommend checking the LPCOpen pages to ensure that you are using the latest versions. This example was created using the LPC11U24 LPCXpresso board in this case the drivers selected is lpcopen_v2_00a_lpcxpresso_nxp_lpcxpresso_11u14.zip Importing libraries In order to create a new project, it is necessary to first import the LPCOpen Chip Library for the device used and optionally the LPCOpen Board Library Project. For do that it is necessary to follow these steps: 1. Click on Import project(s). 2. Select the examples archive file to import. In this case, the projects imported are contained within archives .zip.  3. For this example the LPC11U14 LPCXpresso board is selected. Click Open. Then click Next 4. Select only the LPCOpen Chip Library and LPCOpen Board Library Project. Click Finish. The same steps are required for any LPC device and board you are used. Creating a new LPC project.   The steps to create a new LPC project are described below: 1. In Quickstar Panel, click "New project"   2. Choose a wizard for your MCU. In this case LPC1100/LPC1200 -> LPC11Uxx -> LPCOpen-C Project This option will link the C project to LPCOpen. Then click Next. 3. Select the Project name and click Next.   4. Select the device used (LPC11U24 for this case) and click Next.   5. Select the LPCOpen Chip Library and LPCOpen Board Library, these projects must be present in the workspace.   6. You can set the following option as default clicking Next, then click Finish.   7. At this point, a new project was created. This project has a src (source) folder, the src folder contains: cr_startup_lpc11uxx.c: This is the LPC11Uxx Microcontroller Startup code for use with LPCXpresso IDE. crp.c: Source file to create CRP word expected by LPCXpresso IDE linker. sysinit.c: Common SystemInit function for LPC11xx chips. my_first_example: This file contains the main code.   8. LPCXpresso creates a simple C project where it is reading the clock settings and update the system core clock variable, initialized the board and set the LED to the state of "On". 9. At this point you should be able to build and debug this project. Writing my first project using LPCXpresso, LPCOpen and LPC11U24.   This section describes how to create 2 simple example codes. Blinking LED. Set the LED using a push bottom. The LPCOpen Chip Library (in this case lpc_chip_11uxx_lib) contains the drivers for some LPC peripherals. For these examples, we will use the GPIO Driver. The LPCOpen Board Library Project (in this case nxp_lpcxpresso_11u14_board_lib) contains files with software API functions that provide some simple abstracted functions used across multiple LPCOpen board examples. The board_api.h contains common board definitions that are shared across boards and devices. All of these functions do not need to be implemented for a specific board, but if they are implemented, they should use this API standard.   After create a new project using LPCXpresso and LPCOpen, it is created a simple C project where it is initialized the board and set the LED to the state of "On" using the Board_LED_Set function.   int main(void) {   #if defined (__USE_LPCOPEN)     // Read clock settings and update SystemCoreClock variable     SystemCoreClockUpdate(); #if !defined(NO_BOARD_LIB)     // Set up and initialize all required blocks and     // functions related to the board hardware     Board_Init();     // Set the LED to the state of "On"     Board_LED_Set(0, true); #endif #endif       // TODO: insert code here       // Force the counter to be placed into memory     volatile static int i = 0 ;     // Enter an infinite loop, just incrementing a counter     while(1) {         i++ ;     }     return 0 ; }     a. Blinking LED. In board_api.h file there is an API function that toggle the LED void Board_LED_Toggle(uint8_t LEDNumber);  LEDNumber parameter is the LED number to change the state. The number of the LED for the LPCXpresso LPC11U24 is 0. It is easy to create a delay function using FOR loops. For example: void Delay (unsigned int ms) {         volatile static int x,y;           while (ms)         {                 for (x=0; x<=140; x++)                 {                         y++;                 }                 ms--;         } } In order to have the LED blinking, it is necessary to call these functions in an infinite loop. while(1) {                 Board_LED_Toggle(0);                 Delay (10000);         } Complete code (Blinking LED). int main(void) { #if defined (__USE_LPCOPEN)         // Read clock settings and update SystemCoreClock variable         SystemCoreClockUpdate(); #if !defined(NO_BOARD_LIB)         // Set up and initialize all required blocks and         // functions related to the board hardware         Board_Init();         // Set the LED to the state of "On"         Board_LED_Set(0, true); #endif #endif          while(1) {                 Board_LED_Toggle(0);                 Delay (10000);         }         return 0 ; }  void Delay (unsigned int ms) {         volatile static int x,y;         while (ms)         {                 for (x=0; x<=140; x++)                 {                         y++;                 }                 ms--;         } }      b. Set the LED using a push bottom. For this example it is necessary to configure a pin as input.  The gpio_11xx_1.h file contains all the function definitions for the GPIO Driver. The example uses the pin 16 of port 0 to connect the push bottom. The function Chip_GPIO_SetPinDIRInput(LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin) sets the GPIO direction for a single GPIO pin to an input. In order to configure the Port 0, pin 16 as input we can use this function: Chip_GPIO_SetPinDIRInput(LPC_GPIO, 0, 16); Then, it is necessary to check the status of this pin to turn-on/turn-off the LED. The function Chip_GPIO_GetPinState(LPC_GPIO_T *pGPIO, uint8_t port, uint8_t pin) gets a GPIO pin state via the GPIO byte register. This function returns true if the GPIO is high, false if low. State_Input=  Chip_GPIO_GetPinState (LPC_GPIO, 0, 16);   Complete code (Set the LED using a push bottom). int main(void) {         bool State_Input;   #if defined (__USE_LPCOPEN)     // Read clock settings and update SystemCoreClock variable     SystemCoreClockUpdate(); #if !defined(NO_BOARD_LIB)     // Set up and initialize all required blocks and     // functions related to the board hardware     Board_Init();     Chip_GPIO_SetPinDIRInput(LPC_GPIO, 0, 16);     // Set the LED to the state of "On"     Board_LED_Set(0, false);  #endif  #endif      while(1) {           State_Input=  Chip_GPIO_GetPinState (LPC_GPIO, 0, 16);              if (State_Input==0){                 Board_LED_Set(0, true);             }             else {                 Board_LED_Set(0, false);             }     }     return 0 ; } I hope this helps!! Regards Soledad General LPC11xx LPCOpen Peripherals User Content Re: How to create a new LPC project using LPCOpen and LPCXpresso Hi, Soledad After step 9. I got this error: ============= END SCRIPT ===================================== Probe Firmware: LPC-LINK2 CMSIS-DAP V5.173 (NXP Semiconductors) Serial Number: ESAVAQKQ VID:PID: 1FC9:0090 USB Path: /dev/hidraw0 connection failed - Ee(36). Could not connect to core. - retrying Failed on connect: Ee(36). Could not connect to core. Connected&Reset. Was: NotConnected. DpID: 00000000. CpuID: 00000000. Info: Last stub error 0: OK Last sticky error: 0x0 AIndex: 0 No debug bus (MemAp) selected DAP Speed test unexecuted or failed Debug protocol: SWD. RTCK: Disabled. Vector catch: Enabled. (100) Target Connection Failed I am using LPC1549 and try to create my first project, but i could not debug the project.   How can I fix the " not connected to core" problem? Best, Snoo Re: How to create a new LPC project using LPCOpen and LPCXpresso Hello Marco, There is support for LPC11xx and LPC8xx devices you can download the LPCOpen  Software for these devices at the following links: LPCOpen Software for LPC11XX|NXP  LPCOpen Software for LPC8XX|NXP  Regards Soledad Re: How to create a new LPC project using LPCOpen and LPCXpresso Hello, Soledad First of all, congratulations for this post. It is very helpful for beginners at LPC like me. I'm just getting familiar to LPC MCU's. I know there is a lot of material available, and I heard that LPCOpen is a great starting point to get a kit running and a good starting point to learn about those MCU's. I took a look at LPCXpresso LPCOpen folder and noticed that it does not support some families like LPC11xx and LPC 8xx. Is there a alternative and solution similar to LPCOpen for those families? Thanks and best regards! Marco Coelho
View full article
DES-N1843 NXP Yocto 各架构层支持及商用软件交付 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将介绍 NXP Yocto 层的结构和软件交付机制。可以支持各种架构(ARM ® v7、ARM ® v8 和 PPC),不同的产品(i.MX 和 QorIQ 处理器)可以通过统一的 NXP Yocto 层共享通用软件组件,该层管理免费软件并由 Yocto 社区维护。商业软件可以通过分层交付,QorIQ LS2 SDK 使用商业软件交付机制,例如nsp、openflow、ssp 和 tcpoffload。会议还介绍了如何创建 Yocto 层以进行定制更改和商业产品。 观看视频演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将介绍 NXP Yocto 层的结构和软件交付机制。可以支持各种架构(ARM ® v7、ARM ® v8 和 PPC),不同的产品(i.MX 和 QorIQ 处理器)可以通过统一的 NXP Yocto 层共享通用软件组件,该层管理免费软件并由 Yocto 社区维护。商业软件可以通过分层交付,QorIQ LS2 SDK 使用商业软件交付机制,例如nsp、openflow、ssp 和 tcpoffload。会议还介绍了如何创建 Yocto 层以进行定制更改和商业产品。 观看视频演示 设计 | 软件与服务
View full article
AUT-N1781 NFC 车联网 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NFC支持汽车领域(如打开车门和启动,车辆个性化,快速方便的连接和安全支付)中的新接口和用例。 本次培训中,我们将介绍NFC的工作原理,NFC支持的用例(如智能手机开车门和安全的简单配对),以及NFC在汽车应用中的挑战。 将演示基于NFC的汽车开门工作原理。 观看视频演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> NFC支持汽车领域(如打开车门和启动,车辆个性化,快速方便的连接和安全支付)中的新接口和用例。 本次培训中,我们将介绍NFC的工作原理,NFC支持的用例(如智能手机开车门和安全的简单配对),以及NFC在汽车应用中的挑战。 将演示基于NFC的汽车开门工作原理。 观看视频演示 安全互联汽车和自动化汽车
View full article
AUT-N1891 实践研讨会:不到 10 分钟即可完成 NXP eXtreme 交换机的编程 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在本课程中,我们将回顾如何使用适用于 12V eXtreme Switch 设备的新型模拟 Freedom 板 FRDM-12XSF,这得益于模拟 Processor Expert 软件和 Kinetis Design Studio 组件。该培训将从硬件(MCU + 模拟)、软件(MCU 无关)角度涵盖完整的系统支持,并演示如何快速驱动不同类型的负载(电阻、电感和电容)。由于其处理器 eXpert 组件,MCU、传感器和我们的设备之间的交互将变得容易,该培训将涵盖不同的练习,以使受训者充分发挥作用。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 在本课程中,我们将回顾如何使用适用于 12V eXtreme Switch 设备的新型模拟 Freedom 板 FRDM-12XSF,这得益于模拟 Processor Expert 软件和 Kinetis Design Studio 组件。该培训将从硬件(MCU + 模拟)、软件(MCU 无关)角度涵盖完整的系统支持,并演示如何快速驱动不同类型的负载(电阻、电感和电容)。由于其处理器 eXpert 组件,MCU、传感器和我们的设备之间的交互将变得容易,该培训将涵盖不同的练习,以使受训者充分发挥作用。 安全互联汽车和自动化汽车
View full article