Multi Source Translation Content

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

Multi Source Translation Content

ディスカッション

ソート順:
Variscite introduces a Freescale i.MX6 1GHz Cortex-A9 System-on-Module at only 42USD   The VAR-SOM-SOLO small form factor System-on-Module carries an advanced feature-set and broad connectivity options, making it an ideal solution for customers and products in the embedded market.   Staying on-trend with the market’s shift towards a cost-effective highly integrated off-the-shelf solution, the VAR-SOM-SOLO from Variscite levels the playing ground for a broad spectrum of embedded products. Bringing all the benefits of the widely successful VAR-SOM-MX6, the VAR-SOM-SOLO from Variscite carries much smaller dimensions and a slim lined price-point.  Features include Freescale’s i.MX6 1GHz Cortex-A9, SLC NAND, eMMC, dual band Wi-Fi/BT with MIMO, USB, Gigabit Ethernet, A/V interfaces and industrial operating temperatures. The VAR-SOM-SOLO utilizes a standard SO-DIMM 200pins interface to the carrier board, fully pin-to-pin compatible with the VAR-SOM-MX6.   Ohad Yaniv, Variscite’s CEO, explains the strategy behind the new System-on-Module: “In today’s market, we believe the compact VAR-SOM-SOLO presents a true synergy between an impressive feature set and an affordable price-point. We feel the newly introduced SoM reflects a constantly evolving embedded application concept that requires advanced multimedia features, in a compact and cost efficient solution.”   Key features include:   - Freescale i.MX6 1000MHz single Cortex-A9   - Up to 1GB DDR3, 512MB SLC NAND and 64GB eMMC   - Certified Wi-Fi 802.11 a/b/g/n 2.4/5GHz with optional 2x2 MIMO   - Bluetooth 4.0/BLE   - Full 1080p video encode/decode capability   - Vivante GPU 2D/3D graphics accelerator   - Display: 2x LVDS, HDMI1.4, MIPI DSI   - 10/100/1000 Mbps Ethernet   - USB 2.0: Host, OTG   - PCIe   - Audio In/Out   - Camera inputs: MIPI CSI, parallel   - Dual CAN, UART, I2C, SPI   - Industrial temperature -40 to 85°C   - Dimensions: 33mm x 68mm x 4mm   - OS: Linux Yocto & Ubuntu, Android, WEC 7 & 2013   Availability and Pricing: The VAR-SOM-SOLO is available now. Pricing starts at 42USD. Contact sales@variscite.com or +972 9 9562910 for more information.   About Variscite: Variscite is a leading System on Modules (SoM) and Single-Board-Computer (SBC) design and manufacture company. A trusted provider of development and production services for a variety of embedded platforms, Variscite transforms clients’ visions into successful products.   Learn more about Variscite, visit www.variscite.com    
記事全体を表示
MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 此MQX演示重新使用标准 MQX web_hvac 演示,使用 GT202 Wi-Fi 模块,设置为 SoftAP 模式。此示例展示了 MQX RTCS、DHCP 服务器和 Web 服务器在Kinetis MCU中运行,并采用 Atheros 驱动程序。客户端将能够连接到软接入点 (SoftAP),获取 IP 地址,然后使用 Web 浏览器查看 web_hvac 网页。用户指南包含在 ZIP 文件中。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 此MQX演示重新使用标准 MQX web_hvac 演示,使用 GT202 Wi-Fi 模块,设置为 SoftAP 模式。此示例展示了 MQX RTCS、DHCP 服务器和 Web 服务器在Kinetis MCU中运行,并采用 Atheros 驱动程序。客户端将能够连接到软接入点 (SoftAP),获取 IP 地址,然后使用 Web 浏览器查看 web_hvac 网页。用户指南包含在 ZIP 文件中。 通信基础设施 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我遇到了同样的问题:这取决于您安装哪个“补丁”......您没有带有 FRDMK22 补丁的文件(FSLMQX4.1_PATCH_GT202_3.0.2CS.exe 和 Setup_MQX4.1_GT202_3.0.2CS.exe)但我有这个带有 QCA4004.MQX.exe 补丁的文件)。 如果有人能分享所需的确切补丁(名称和链接)以及应用它们的顺序,那就太完美了! 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 对我来说,目前还没有,即使经过了很多小时(几天......) 该演示与 IAR 和 FRDM K22 完美兼容,甚至与 .bin 兼容重建(throughput_demo)。 但之后,FRDM K64、MQX4.1 和 CW10.6 就没有任何进展了…… 如果有人有更好的结果,请分享:smileywink: 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 大家好, 你们中有人成功地使用带有 FRDM-K64F 板和 Kinetis Studio 环境的 GT-202 使这个示例工作吗? 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 你好,克里夫 我想在我的项目中包含一个 GT202 模块,但是遇到了问题。我正在使用 FRDMK64F 板和 MQX 4.1。我使用开发环境Kinetis Design Studio 3.0。您的移民运气好吗?你能在这个过程中帮助我吗? 谢谢克里夫 凯文·卡塞尔 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,托马斯 您是否按照用户指南中的步骤添加了 Qualcomm Wi-Fi 模块所需的 MQX 补丁? 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,克里夫, 你自己有取得什么进步吗?我发现自己也处于类似的境地。令人沮丧的是,直接与 Kinetis 开发板接口、运行 Freescale 操作系统的开发板尚未移植到 Kinetis Development Studio 中使用。 Larry 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,chinniwhites, 抱歉,我不清楚在哪里可以找到 web_hvac。web_hvac 演示是 MQX v4.1.1 及更早版本中包含的标准 MQX 演示。它位于 \demo\web_hvac。按照安装 GT202 PDK 的说明进行操作时,一步是安装 MQX v4.1.0。完成该步骤后,web_hvac demo 将包含在安装中。 当您安装 GT202 PDK 时,它不会修改 web_hvac 演示。它仍然是MQX安装中提供的原始演示。之前我解释过,此页面上的 SoftAP 演示基于 web_hvac 演示,然后进行了修改以使用 GT202 模块和 SoftAP 功能。如果您想查看 GT202 的更新 web_hvac,您可以使用此 SoftAP 演示作为示例。 由于此页面位于 DemoLab 社区空间,因此 MQX 支持团队不会注意到此处发布的评论。如果您对此 SoftAP 演示有任何疑问,请告诉我。如果您有其他有关 MQX 的问题,最好在https://community.freescale.com/community/mqx中创建新的讨论 谢谢! 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,克里夫, 看起来您指的是KSDK v1.1.0<>以下。Kinetis 软件开发套件 (KSDK) 是一个驱动程序、堆栈和 RTOS(如 MQX)库。Kinetis Design Studio (KDS)<> 是我们用于构建 Kinetis 应用程序的工具链。下面引用的示例位置是 KSDK 的一部分。 web_hvac 示例来自 MQX 与 KSDK 集成之前的 MQX 安装。目前是 MQX v4.1.1 或更早版本。当您按照 GT202 PDK 的安装说明进行操作时,您会发现 web_hvac 演示安装在 \Freescale_MQX_4_1\demo\web_hvac。我相信有计划将 web_hvac 演示移植到 KSDK 的 MQX,但它并不包含在最新的 KSDK v1.1.0 中。 然而,您应该知道GT202驱动程序尚未移植到KSDK。GT202 驱动程序和 PDK 是使用 MQX v4.1.0 开发的。如果您选择将 GT202 与 KSDK 一起使用,则需要移植驱动程序并使用 KSDK SPI 和 GPIO 外设驱动程序。或者,如果您使用 MQX v4.1,GT202 驱动程序已经为您移植。 谢谢! 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,克里夫, 是的,这个 SoftAP 演示项目使用 IAR,因为 GT202 MQX 示例项目使用 IAR。我不知道其他工具链的 GT202 MQX 示例项目。 但如您所知,MQX 包含一个用于 KDS 的 FRDM-K64F BSP 项目。您可以修改该项目并将 Atheros 驱动程序添加到 GT202 的 BSP。您可以使用 FRDM-K22F 的 GT202 示例 BSP 作为参考。为了集成驱动程序,还需要对提供的 BSP 文件进行一些更改。与 MQX 安装中的原始 FRDM-K22F BSP 文件相比,您可以找到对 GT202 FRDM-K22F BSP 文件所做的更改。然后在您的 K64 BSP 中进行类似的更改。 SoftAP 应用程序示例基于 MQX 中包含的 web_hvac 演示。该演示还包含针对 FRDM-K64F 的 KDS 项目。因此,您的应用程序可以从该演示项目开始,然后从 SoftAP 演示中复制源文件。使用 BSP 中的 GT202 驱动程序,您可以构建此 SoftAP 应用程序。 希望有帮助。谢谢 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 嗨,chinniwhites, 在 MQX 中,您可以在 BSP 中启用多个 ENET 设备。但我不知道有哪个例子可以证明 GT202 和有线以太网的兼容性。 我建议您在 MQX Space 中发布一个新问题,以便 MQX 支持人员能够了解并做出回应。 https://community.freescale.com/community/mqx 谢谢! 回复:MQX Wi-Fi SoftAP 演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 这确实很合适。我希望尽快在 IoTT 上线它!iot.freescale.com
記事全体を表示
MQX Wi-Fi SoftAP Demo This MQX demo re-uses the standard MQX web_hvac demo with the GT202 Wi-Fi module setup in SoftAP mode. This example shows MQX RTCS, DHCP server, and web server running in the Kinetis MCU with the Atheros drivers. The client will be able to connect to the Soft Access Point, receive an IP address, and then use a web browser to view the web_hvac web pages.  The User Guide is included in the ZIP file. This MQX demo re-uses the standard MQX web_hvac demo with the GT202 Wi-Fi module setup in SoftAP mode. This example shows MQX RTCS, DHCP server, and web server running in the Kinetis MCU with the Atheros drivers. The client will be able to connect to the Soft Access Point, receive an IP address, and then use a web browser to view the web_hvac web pages.  The User Guide is included in the ZIP file. Communications Infrastructure Re: MQX Wi-Fi SoftAP Demo I had the same problem :it depends on which "patch" you install.... You don't have this file with the patch for FRDMK22 (FSLMQX4.1_PATCH_GT202_3.0.2CS.exe and then  Setup_MQX4.1_GT202_3.0.2CS.exe) but I had this file with the QCA4004.MQX.exe patch). If somebody should share the exact patches which are needed (names and link) and the ordrer to appy them, it will be perfect ! Re: MQX Wi-Fi SoftAP Demo Not for the moment for me, even after a lot of hours (days...) The demo is perfect with IAR and the FRDM K22, even with .bin rebuilding (throughput_demo). But after, nothing with FRDM K64, MQX4.1 and CW10.6.... If somebody have beter results, please share Re: MQX Wi-Fi SoftAP Demo Luis, R38 from Arduino shield. And then, solder a wire from J2-4 to the R38 pin which is near the silkscreen "L3". J2 is the bigger connector (J2 silkscreen on the bottom). Re: MQX Wi-Fi SoftAP Demo Hi RBORB​, I'm trying to use GT202 with K64F and MQX 4.1.1 and KDS. Can you provide more details on how this integration could be done? Re: MQX Wi-Fi SoftAP Demo Hi Everyone, Any of you succeed to make this example work using the GT-202 with FRDM-K64F board and Kinetis Studio environment? Re: MQX Wi-Fi SoftAP Demo Hi RBORB​, The step 2a from your document GT202A_MQX4.1_CW10.6_K64.docx  require to remove the R38 resistor. Is this resistor in the FRDM-K64F board or GT-202 (arduino) shield? Re: MQX Wi-Fi SoftAP Demo Hello Ronen , I am a bit confused with document content. Which patch should I apply ? On the website listed these 2 : * GT202 Support Patch for NXP MQX RTOS 4.1 (with FRDM - K22F ) ( v3.0.2 ) * GT202 Support Patch for NXP MQX RTOS 4.1 (with FRDM - K22F ) ( v3.3 ) But I think you're missing something . In docx, you quote the cust_spi_hcd.c file, but did not find the file. Could you be kind enough to help me with more details ? Grateful! Orlando Re: MQX Wi-Fi SoftAP Demo Hello, So this is a year too late,  but see attached documents on how to use the GT202A softap project on a K64 using CW10.6 and MQX4.1. SoftAP web_hvac User Guide.pdf GT202A_MQX4.1_CW10.6_K64.docx  This document goes through changes made to the Atheros BSP driver for CW10.6 gt202a_softap_web_hvac.zip Modified softap webhvac for CW10.6 Cheers, Ronen Re: MQX Wi-Fi SoftAP Demo Hi Cliff I want to include a GT202 module in my proyect, but I´m having problems. I'm using a FRDMK64F board and MQX 4.1. I use the development environment Kinetis Design Studio 3.0. Did you have lucky whit your migration? Can you help me in the process? Thanks Cliff Kevin Carcel Re: MQX Wi-Fi SoftAP Demo Hi Derek, I am using IAR 7.40.3 1- I have installed all necessary as said in "Quick Start, Installation and Configuration Guide" 2- After doing this, i have done as said in "SoftAP web_hvac User Guide" Demo instruccion 3- Then I have changed BSP constants as said in "Changes to BSP" 4- Then I have built the demo and finally downloaded it. 5- I configure my terminal program as said in Using SoftAP Demo, point 1 When i run the demo what i see in the terminal program is the following screen capture instead of what it is shown in Using SoftAP Demo, point 2: Please, what may i be doing wrong??? I have just seen that in "eninit.c" in the line where /* Initialize the MAC.*/ it goes  through the else therefore in the RTCS.c gets stucked in the followiing while1 Any help will be appreciated Thanks and best regards. Re: MQX Wi-Fi SoftAP Demo Hi Thomas It sounds like the error you see when building the USB Device library is related to the changes made in the TWR-K21F120M BSP. Since the issue is not specific to the Soft AP demo shared here, I suggest you create a new post in the MQX Community space. That way, the MQX support team will see it as an unanswered question. They won't see the comments added to this page in their support queue. Here's the link to that space. Thanks https://community.freescale.com/community/mqx Derek Snell - sent from my mobile phone Freescale Semiconductor Work: (317) 252-5297<> Cell: (317) 966-3562<> derek.snell@freescale.com Re: MQX Wi-Fi SoftAP Demo Hi Derek, thanks for your response. I have moved a step further and a step back, because my original approach is to port your application to a solution with the tower system in conjunction with the SX-ULPAN-EVK from silex plus the TWR-K21F120m from Freescale, so a little bit different from the original HW design. I have rebuild the RTOS for the TWR-K21F120m with all added Atheros Wifi files at the right place. In the bsp build part everyhing works fine, but for the usbd build part I'm getting the error message: "Error [Pe020]:identifier"_enet_address" is undefined" (5x) with the result, that no usbd.a file is generated, which causes a lot of linker error messages popping up. Any idea or advice? The compiler build process of your softap_web_hvac demo goes through without any error messages. What is your general opininion: Is the way I'm going with my described hardware a good way or will I stuck in the dessert? The SX-ULPAN is a nice and very small WiFi- module for 2.4 GHz and 5 GHz, that's the reason I like it. Thanks again for a response and an opinion on my approach. Best Thomas Re: MQX Wi-Fi SoftAP Demo Hi Thomas Did you follow the steps in the user guide to add the MQX patches needed for the Qualcomm Wi-Fi module? Re: MQX Wi-Fi SoftAP Demo Hi, I've downloaded the above softap_web_hvac.zip-file and extracted it to my MQX 4.1.0 folder, opened IAR workbench 7.4, opened the softap_web_hvac_frdmk22f120m- IAR IDE Workspace (MQX 4.1.0 is rebuild completely) and hit the "Make"- button. Result: Total number of errors: 21!! ooouups!? 😞 Before I start to work manually on the preprocessor contents, did I mad something completely wrong? Thanks for any answer or help or good idea!! Best Thomas Re: MQX Wi-Fi SoftAP Demo Hi Cliff, Did you make any progress on your own? I find myself in a similar situation. It's kind of frustrating that a board that interfaces directly with a Kinetis development board, running a Freescale OS hasn't been ported for use with the Kinetis Development Studio. Larry Re: MQX Wi-Fi SoftAP Demo Hi chinniwhites, Sorry if I wasn’t clear regarding where to find web_hvac. The web_hvac demo is a standard MQX demo included in MQX v4.1.1 and earlier. It is located in \demo\web_hvac. When the instructions for installing the GT202 PDK are followed, one step is installing MQX v4.1.0. After that step, web_hvac demo will now be included in the installation. When you install the GT202 PDK, it does not modify the web_hvac demo. It is still the original demo provided in the MQX installation. Earlier I was explaining that the SoftAP demo on this page was based of the web_hvac demo, and then modified to use the GT202 module and SoftAP feature. If you would like to see an updated web_hvac for the GT202, you can use this SoftAP demo as an example. Since this page is in the DemoLab Community space, comments posted here will not be noticed by the MQX support team. If you have any questions specific to this SoftAP demo, let me know. If you have other MQX questions, it’s better if you create a new discussion in https://community.freescale.com/community/mqx Thanks Re: MQX Wi-Fi SoftAP Demo Hello Derek, 1. I want to take some baby steps. As you can see if all this is integrated in the KSDK it would be much eaiser. 2. The DEMO application I am trying to build on the FRDM-K64 with the GT202 shield attached is the httpsrv. The web_hvac is more complex. 3. I down loaded the the Freescale_MQX_4_0_AR4100P. In the directory Freescale_MQX_4_0_AR4100P/rtcs/demo/atheros_wifi/examples/httpsrv. It contains web_pages, cgi, config, httpsrv, and trfs_data. This is a simple example  I could work with this web demo example for my application. 4. Also in Freescale_MQX_4_0_AR4100P/rtcs/demo/atheros_wifi/source/atheros_wifi contains comman_src(dir), custom_src(dir),include(dir), atheros_stack_offload, atheros_wifi, atheros_wifi_api, and atheros_atheros_internal. Are these the AR4100P drivers the same for the GT202 which uses a QCA4002 chip set? 5. To use the GT202 with the FRDM-K64F it appears that you need to use the SPI0 interface: on the K64F board use J2-12[PTD1](SPI0_CLK), J2-10[PTD3](SPI0_SIN), J2-08[PTD2](SPI0_SOUT), and J2-6[PTD0](SPI0_PCS0). 6. Please advise for next steps? Thanks, Cliff Re: MQX Wi-Fi SoftAP Demo Derek, I have CW10.6 and I am using MQX4.1 and was creator of this post. I installed the GT202 MQX driver and I cannot find an updated web_hvac demo in location you described.  I believe it instead to be located under FRDMK22 specific folder that I have yet to locate. I am using a K60 with MQX4.1 and wish to do what I described in original post. Can you clearly detail the steps to take to port the atheros drivers for GT202 into my current K60 project? Re: MQX Wi-Fi SoftAP Demo Hi Cliff, It looks like you are referring to KSDK v1.1.0<> below. The Kinetis Software Development Kit (KSDK) is a library of drivers, stacks, and RTOS like MQX. Kinetis Design Studio (KDS)<> is our toolchain for building Kinetis applications. The example locations you reference below are part of KSDK. The web_hvac example comes from the MQX installation before MQX was integrated with KSDK. Currently that is MQX v4.1.1 or earlier. When you follow the installation instructions for the GT202 PDK, you will find web_hvac demo installed at \Freescale_MQX_4_1\demo\web_hvac. I believe there are plans to port the web_hvac demo to MQX for KSDK, but it is not included as of the latest KSDK v1.1.0. However, you should be aware that the GT202 driver has not been ported to KSDK yet. The GT202 driver and PDK were developed with MQX v4.1.0. If you choose to use GT202 with KSDK, you’ll need to port the driver and use the KSDK SPI and GPIO peripheral drivers. Or if you use MQX v4.1, the GT202 driver has already been ported for you. Thanks Re: MQX Wi-Fi SoftAP Demo Hello Derek, 1. I could not located the MUX web_hvac DEMO project in for KDS_1.1.0. 2. If I go to directory c:\Freescale\KDS_1.1.0\tcpip\rtcs\examples, I find only the httpsrv demo in KDS. It does not use BSP files. 3. If I go to directory c:\FreescaleKDS_1.1.0\rtos\mqx\examples, There is no web_havc demo in KDS. 4. Where do I find this web_hvac  FRDM-K64F BSP project for KDS? Best Regards, Cliff Re: MQX Wi-Fi SoftAP Demo Hi Cliff, Yes, this SoftAP demo project uses IAR because the GT202 MQX example projects use IAR. I’m not aware of GT202 MQX example projects for other toolchains. But as you know, MQX includes a FRDM-K64F BSP project for KDS. You can modify that project and add the Atheros driver to the BSP for the GT202. You can use the GT202 example BSP for the FRDM-K22F as a reference. There are also some changes to the provided BSP files needed to integrate the driver. You can find the changes made to the GT202 FRDM-K22F BSP files, compared to the original FRDM-K22F BSP files in the MQX installation. Then make similar changes in your K64 BSP. The SoftAP application example is based on the web_hvac demo included in MQX. That demo also has a KDS project for the FRDM-K64F. So your application can start with that demo project, and then copy over the source files from the SoftAP demo. With the GT202 driver in your BSP, you can then build this SoftAP application. Hope that helps. Thanks Re: MQX Wi-Fi SoftAP Demo Hello Derek, 1. I went through the gt202mqx.....configuration.pdf. Down load the needed files. This is for a IAR compiler. 2. I do not have an IAR compiler 3. I am using the  KDS_2.0.0 for develpment 4. What are the steps to the steps to convert from IAR to KDS build, compile, and run on a FRDM-K64F board 5. Has anyone had success with item #4. 6. I have compiled and ran successfully the httpserv demo on the KDS with the FRDM-K64F board. I even added my on web pages. Thanks Re: MQX Wi-Fi SoftAP Demo Hi Cliff, Yes, the project builds and runs with IAR. The iwcfg.h file is included with the MQX installation. And the other Atheros files you mention come from the patches needed for the GT202 driver. Please refer to the GT202 PDK Quick Start Guide which has the installation steps for the GT202 PDK. After following these steps, you should have all of these files. http://download.siliconexpert.com/pdfs/2014/10/14/1/56/46/774/shenet_/manual/gt202mqxpdkquickstartandinstallationconfiguration.pdf Thanks Re: MQX Wi-Fi SoftAP Demo Hi, 1. I downloaded the soft_web_havc.zip file 2. When I opened opened the driver_plugins, there were files missing like: a. atheros_wifi_api.h b. atheros_wifi.h c. iwcfg.h d. maybe some others 3. Was this project built and successfully compiled with IAR and working with out errors? 4. My goal is to port this project to the FRDM-K64F using KDS with GT202 shield module Re: MQX Wi-Fi SoftAP Demo Hi chinniwhites, In MQX, you can have multiple ENET devices enabled in the BSP. But I’m not aware of an example that shows that with the GT202 and wired Ethernet. I suggest you post a new question in the MQX Space so the MQX support staff will be aware of it and can respond. https://community.freescale.com/community/mqx Thanks Re: MQX Wi-Fi SoftAP Demo Has anyone made a similar port of this program in order to use instead with K60 and CW10.6?  I have a GT202 and Ethernet on my custom K60 board.  I wish to use the same webpages used to fuel the Ethernet jack via tfs to also fuel the GT202.  My HTTP_task is ported from some freescale example.  If anyone has any pointers how to get the GT202 to work as just another Ethernet interface that can be used with following code, please let me know. void HTTP_task(uint32_t initial_data) {     int32                               error;     uint32                              server[BSP_ENET_DEVICE_COUNT];     extern const HTTPSRV_CGI_LINK_STRUCT cgi_lnk_tbl[];     extern const TFS_DIR_ENTRY           tfs_data[];     HTTPSRV_PARAM_STRUCT                 params[BSP_ENET_DEVICE_COUNT];     uint32                              ip_addr[BSP_ENET_DEVICE_COUNT];        uint32                              i = 0;     char*                                indexes[BSP_ENET_DEVICE_COUNT];     uint8                                  n_devices = BSP_ENET_DEVICE_COUNT;         #if !HTTP_USE_ONE_SERVER     uint_8 n_servers = BSP_ENET_DEVICE_COUNT;     #else     uint8 n_servers = 1;     #endif         /* Install ramdisk - MFS init */     //Ram_disk_start();     /* RTCS init */     rtcs_init();     ip_addr[0] = ENET_IPADDR;         /* Start HTTP server on each interface */        for (i = 0; (i < n_devices) && (n_devices != 0); i++)        {            indexes[i] = (char*) _mem_alloc_zero(sizeof("\\index_x.html"));            if (indexes[i] == NULL)            {                printf("\n Failed to allocate memory.");                _task_block();            }        }               /* Install trivial file system. HTTP server pages are stored there. */        error = _io_tfs_install("tfs:", tfs_data);               /* Start HTTP server on each interface */        for (i = 0; i < n_servers; i++)        {            _mem_zero(&params[i], sizeof(HTTPSRV_PARAM_STRUCT));            params[i].af = HTTP_INET_AF;  //IPv4, IPv6 or from config.h            #if RTCSCFG_ENABLE_IP6            /* Set interface number here. Zero is any. */            params[i].ipv6_scope_id = HTTP_SCOPE_ID;            #endif            sprintf(indexes[i], "\\index.html", i);            params[i].root_dir = "tfs:";            params[i].index_page = indexes[i];            params[i].auth_table = auth_realms;            printf("Starting http server No.%d on IP", i);            /*            ** If there is only one server listen on any IP address            ** so address can change in runtime (DHCP etc.).            ** Otherwise we will use static IP for server.            */            if (HTTP_INET_AF & AF_INET)            {                #if RTCSCFG_ENABLE_IP4                if ((i == 0) && (n_servers == 1))                {                    params[i].ipv4_address.s_addr = INADDR_ANY;                }                else                {                    params[i].ipv4_address.s_addr = ip_addr[i];                }                /* Print active IPv4 address */                printf(" %d.%d.%d.%d", IPBYTES(ip_addr[i]));                #endif            }            if (HTTP_INET_AF & AF_INET6)            {                #if RTCSCFG_ENABLE_IP6                IPCFG6_GET_ADDR_DATA data;                char prn_addr6[sizeof("ffff:ffff:ffff:ffff:ffff:ffff:255.255.255.255")];                               ipcfg6_get_addr_info_n(0, 0, &data);                if(inet_ntop(AF_INET6, &(data.ip_addr), prn_addr6, sizeof(prn_addr6)))                {                    /* Print active IPv6 address */                    printf("%s %s", (HTTP_INET_AF & AF_INET) ? " and" : "", prn_addr6);                }                #endif            }            /*            ** Maximum default number of available sockets in RTCS is six.            ** Maximum of two are used for HTTP server as listening sockets (one for IPv4 and one for IPv6).            ** So we take two of sockets and use them for sessions.            */            params[i].max_ses = 2;            params[i].cgi_lnk_tbl = (HTTPSRV_CGI_LINK_STRUCT*) cgi_lnk_tbl;            /* There are a lot of static data in CGIs so we have to set large enough stack for script handler */            params[i].script_stack = 2000;            server[i] = HTTPSRV_init(&params[i]);                       printf("...");            if (server[i] == RTCS_ERROR)            {                printf("[FAIL]\n");            }            else            {                printf("[OK]\n");            }        }      /*******************************    *    * START YOUR CODING HERE    *    ********************************/               for (;;)     {        //_task_destroy(t1);        //_sched_yield();        _task_block();               /*        for(;;){                }        */    } } Re: MQX Wi-Fi SoftAP Demo This is really appropriate. I want to get this live on the IoTT asap! Iot.freescale.com
記事全体を表示
Landzo: SpiderMan Show and Solution Briefing Presented by Lan Zhou from Landzo Presented at DwF Kinetis MCUs Based on ARM® Technology Shenzhen - January 27, 2015 Presented by Lan Zhou from Landzo Presented at DwF Kinetis MCUs Based on ARM® Technology Shenzhen - January 27, 2015
記事全体を表示
RD3PHASEPMSMVCQE: 3-phase PMSM Vector Control Reference Design based on Kinetis® K40 MCUs Overview Features Block Diagram Design Resources Overview The 3-phase PMSM Vector Control using Quadrature Encoder on based on Kinetis® K40 MCUs reference design demonstrates the ability of the Kinetis K40 Arm® Cortex®-M4 MCU to drive the advanced motor control application. Targeted at the NXP® Tower® rapid prototyping system as a hardware development platform. Together with available embedded source code, you can quickly build own industrial drive application. For the successful execution of the vector control algorithm, the information on the motor shaft position is critical. The quadrature encoder position information is known in the entire motor speed range, allowing the motor start with full torque at zero speed. Features Vector control of the PMSM using the quadrature encoder as a position sensor Targeted at the Tower ®  rapid prototyping system (K40 tower board, Tower 3-phase low voltage power stage) Vector control with a speed closed loop Rotation in both directions Application speed range from 0% to 100% of nominal speed (no field weakening) Operation via the user buttons on the Kinetis ®  K40 Tower board or via FreeMASTER software Block Diagram Design Resources Legacy Designs
記事全体を表示
Periodic 32 kHz XTAL calibration in QN908x Many applications make use of 32 kHz clocks to keep tracking of real-time or to have a low power time reference for the system. Most of the systems might use a 32.768 kHz XTAL for this purpose. However, there might be some exceptions in which the application requires compensate the frequency of this clock due to temperature changes, aging, or just because the clock provides from a source which frequency is close to the ideal 32.768 kHz, but it presents some variations. QN908x devices require a 32 kHz clock source for some applications like running the BLE stack in low power. 32.768 kHz XTALs are more accurate so they are used to generate a 32 kHz source by compensating for the ppm difference. This provides us with tools to compensate for any external 32 kHz source by first obtaining the ppm difference from the ideal frequency. The solution consists in determining how off is the external clock input frequency from the ideal 32 kHz by making a comparison with a trusted clock in the system, typically the 32 MHz / 16 MHz XTAL. This process is executed in the background in an interrupt-based system so the application can initialize or run other processes in the meantime. Then, the results of the ppm calculation are reported to the main application to compensate for the changes and provide for a more accurate clock source. This example makes use of the following peripherals in the QN908x RTC Seconds Timer CTIMER DMA The RTC Seconds Timer uses the 32 kHz clock source as a reference. It contains an internal 32000 cycles counter that increases each 32 kHz clock period. On overflow, it rises the SEC_INT flag to indicate that one second has elapsed. The CTIMER makes use of the APB clock which derives from the 32 MHz / 16 MHz clock. This timer is used in free-running mode with a Prescaler value of 1 to count the number of APB pulses. The algorithm consists of counting the amount of APB pulses (trusted clock reference) elapsed by the time the RTC SEC_INT flag is set. Ideally, if both clocks are in the right frequency, the number of APB pulses must be equal to the reference clock frequency. For example, if the APB clock is 16 MHz, by the time the SEC_INT flag sets, the CTIMER counter must have a value of 16 x 10 6 counts. Assuming our reference clock is ideal, the difference between the CTIMER counter value and 16 x 10 6 can be used to obtain the ppm difference given the following formula. Where f 0 is the ideal APB frequency (16 MHz) and f 1 is the real measured frequency (CTIMER counter value). Since the pulses counted using the CTIMER correspond to the time it took to the RTC Seconds Timer to count one second, we can extrapolate the obtained ppm value as a difference in the 32 kHz clock source from the ideal 32 kHz. To prevent from any application or task servicing latency, the algorithm makes use of the DMA to automatically capture the CTIMER Counter value when the SEC_INT flag is set. The program flow is described in the diagram below. As a way of demonstrating this algorithm, two APIs were implemented to calculate the ppm value and apply the compensation to the system. Both APIs are included in the file fsl_osc_32k_cal .c and .h files. OSC_32K_CAL_GetPpm (osc_32k_cal_callback_t pCallbackFnc): Initializes the required timers and DMA and starts with the CTIMER capture. A callback is passed so it can be executed once the ppm calculation sequence completes. OSC_32_CAL_ApplyPpm (int32_t ppmMeasurement): Uses the previously calculated ppm passed as an input parameter to compensate the RTC and the BLE timer used during sleep mode. OSC_32K_CAL_GetPpm is called every time the ppm value of the 32 kHz source clock needs to be calculated. It takes around one second to complete (depending on how off the 32 kHz source clock is from the ideal frequency) and the application cannot enter into low power state during this time. The registered callback function is executed once the calculation is complete. The ppm calculation is performed into the DMA callback. It consists of obtaining the CTIMER counter difference and use it as f 1 in the formula shown before. The ppm values are calculated using floating point unit. /* Calculate PPMs */ ppmResult = (float)((float)1-((float)ApbClockFreq/(float)ApbCountDiff)); ppmResult *= (float)1048576;‍‍‍‍‍‍ Then OSC_32_CAL_ApplyPpm must be called using the ppm value obtained after calling OSC_32K_CAL_GetPpm. This API programs the necessary values in the RTCàCAL register and the BLE Sleep timer registers to compensate for the differences in the 32 kHz source clock. Finally, the user must account for all those other APIs that make use of the 32 kHz clock frequency and update the values accordingly. For the particular case of the NXP BLE Stack, there are two APIs that need to be updated to return the clock frequency after the calibration has been applied. uint32_t PWRLib_LPTMR_GetInputFrequency(void) { uint32_t result = 32000; int32_t ppm = 0; if ( RTC->CTRL & RTC_CTRL_CAL_EN_MASK) /* is calibration enabled ? */ { /* Get the current calibration value */ if (RTC->CAL & RTC_CAL_DIR_MASK) { /* Backward calibration */ ppm -= (int32_t) (RTC->CAL & RTC_CAL_PPM_MASK); } else { /* Forward calibration */ ppm += (int32_t) (RTC->CAL & RTC_CAL_PPM_MASK); } /* Obtain the uncalibrated clock frequency using the formula * fUncal = 32000 - (ppm*0.03125) where 0.03125 is the number * of Hz per PPM digit obtained from (768 Hz/0x6000 PPM) */ result -= (float) ppm * (float) 0.03125; } else { #if (defined(BOARD_XTAL1_CLK_HZ) && (BOARD_XTAL1_CLK_HZ == CLK_XTAL_32KHZ)) result = CLOCK_GetFreq(kCLOCK_32KClk); /* 32,768Khz crystal is used */ #else result = CLOCK_GetFreq(kCLOCK_32KClk); /* 32,000Khz internal RCO is used */ #endif } return result; }‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ uint32_t StackTimer_GetInputFrequency(void) { uint32_t prescaller = 0; uint32_t refClk = 0; uint32_t result = 0; #if FSL_FEATURE_SOC_FTM_COUNT refClk = BOARD_GetFtmClock(gStackTimerInstance_c); prescaller = mFtmConfig.prescale; result = refClk / (1 << prescaller); #elif FSL_FEATURE_RTC_HAS_FRC int32_t ppm = 0; (void)prescaller; /* unused variables */ (void)refClk; /* suppress warnings */ result = 32000; if ( RTC->CTRL & RTC_CTRL_CAL_EN_MASK) /* is calibration enabled ? */ { /* Get the current calibration value */ if (RTC->CAL & RTC_CAL_DIR_MASK) { /* Backward calibration */ ppm -= (int32_t) (RTC->CAL & RTC_CAL_PPM_MASK); } else { /* Forward calibration */ ppm += (int32_t) (RTC->CAL & RTC_CAL_PPM_MASK); } /* Obtain the uncalibrated clock frequency using the formula * fUncal = 32000 - (ppm*0.03125) where 0.03125 is the number * of Hz per PPM digit obtained from (768 Hz/0x6000 PPM) */ result -= (float) ppm * (float) 0.03125; } else { #if (defined(BOARD_XTAL1_CLK_HZ) && (BOARD_XTAL1_CLK_HZ == CLK_XTAL_32KHZ)) result = CLOCK_GetFreq(kCLOCK_32KClk); /* 32,768Khz crystal is used */ #else result = CLOCK_GetFreq(kCLOCK_32KClk); /* 32,000Khz internal RCO is used */ #endif } #elif FSL_FEATURE_SOC_CTIMER_COUNT refClk = BOARD_GetCtimerClock(mCtimerBase[gStackTimerInstance_c]); prescaller = mCtimerConfig[gStackTimerInstance_c].prescale; result = refClk / (prescaller + 1); #else refClk = BOARD_GetTpmClock(gStackTimerInstance_c); prescaller = mTpmConfig.prescale; result = refClk / (1 << prescaller); #endif return result; }‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ BLE Software QN
記事全体を表示
Low Power Application Using the SDK Hello Kinetis users!   I thought this would be the best place to share this code.  Attached is an example of how to use the power manager in the 1.0.0 release of the Kinetis SDK.  It is essentially the legacy low power demo ported to the SDK.  Now, the SDK doesn't provide functions to de-initialize the pins so some of it is a little messy, but it should still help to show you how to use the power manager and how to get in and out of low power modes.    The supported platforms are:   FRDM-K22F FRDM-K64F TWR-K22F120M TWR-K64F120M TWR-KV31F120M   To install the demo, simply unzip the file to the "demos" folder of your SDK installation.  All of the links in the demo are relative so you shouldn't have any trouble.  However, if you do experience any issues, please let me know so that I can correct the issues.    To run the demo, simply build and download the application (a guide of how to do this is provided in the device specific User's Guide in your SDK installation).  Then perform a power-on reset (you always want to do that when working with low power applications) and connect a terminal utility with the following settings:   - 19200 baud rate - 8 data bits - No parity - 1 stop bit - No flow control   Then follow the on-screen instructions.    As a reminder to those wishing to understand low power operations and the Kinetis devices a little more, we do have an Application Note out there to help explain low power operations:  AN4503 Power Management for Kinetis and ColdFire+ MCUs.  This Application Note is in the process of being updated with Kinetis SDK information and is scheduled to be re-published sometime this year.    Enjoy! Chris Hello Kinetis users!   I thought this would be the best place to share this code.  Attached is an example of how to use the power manager in the 1.0.0 release of the Kinetis SDK.  It is essentially the legacy low power demo ported to the SDK.  Now, the SDK doesn't provide functions to de-initialize the pins so some of it is a little messy, but it should still help to show you how to use the power manager and how to get in and out of low power modes.    The supported platforms are:   FRDM-K22F FRDM-K64F TWR-K22F120M TWR-K64F120M TWR-KV31F120M   To install the demo, simply unzip the file to the "demos" folder of your SDK installation.  All of the links in the demo are relative so you shouldn't have any trouble.  However, if you do experience any issues, please let me know so that I can correct the issues.    To run the demo, simply build and download the application (a guide of how to do this is provided in the device specific User's Guide in your SDK installation).  Then perform a power-on reset (you always want to do that when working with low power applications) and connect a terminal utility with the following settings:   - 19200 baud rate - 8 data bits - No parity - 1 stop bit - No flow control   Then follow the on-screen instructions.    As a reminder to those wishing to understand low power operations and the Kinetis devices a little more, we do have an Application Note out there to help explain low power operations:  AN4503 Power Management for Kinetis and ColdFire+ MCUs.  This Application Note is in the process of being updated with Kinetis SDK information and is scheduled to be re-published sometime this year.    Enjoy! Chris General
記事全体を表示
RT1015 APP BEE encryption operation method RT1015 APP BEE encryption operation method 1 Introduction    NXP RT product BEE encryption can use the master key(the fixed OTPMK SNVS key) or the User Key method. The Master key method is the fixed key, and the user can’t modify it, in the practical usage, a lot of customers need to define their own key, in this situation, customer can use the use key method. This document will take the NXP RT1015 as an example, use the flexible user key method to realize the BEE encryption without the HAB certification.     The BEE encryption test will on the MIMXRT1015-EVK board, mainly three ways to realize it: MCUBootUtility tool , the Commander line method with MFGTool and the MCUXPresso Secure Provisioning tool to download the BEE encryption code.   2 Preparation 2.1  Tool preparation    MCUBootUtility download link:     https://github.com/JayHeng/NXP-MCUBootUtility/archive/v2.3.0.zip    image_enc2.zip download link: https://www.cnblogs.com/henjay724/p/10189602.html After unzip the image_enc2.zip, will get the image_enc.exe, put it under the MCUBootUtility tool folder: NXP-MCUBootUtility-2.3.0\tools\image_enc2\win RT1015 SDK download link: https://mcuxpresso.nxp.com/ 2.2 app file preparation    This document will use the iled_blinky MCUXpresso IDE project in the SDK_2.8.0_EVK-MIMXRT1015 as an example, to generate the app without the XIP boot header. Generate evkmimxrt1015_igpio_led_output.s19 will be used later. Fig 1 3 MCUbootUtility BEE encryption with user key   This chapter will use MCUBootUtility tool to realize the app BEE encryption with the user key, no HAB certification. 3.1 MIMXRT1015-EVK original fuse map    Before doing the BEE encryption, readout the original fuse map, it will be used to compare with the fuse map after the BEE encryption operation. Use the MCUbootUtility tool effuse operation utility page can read out all the fuse map. Fig 2 3.2 MCUbootutility BEE encryption configuration Fig 3 This document just use the BEE encryption, without the HAB certificate, so in the “Enable Certificate for HAB(BEE/OTFAD) encryption”, select: No.    Check Fig4, Select the”Key storage region” as flexible user keys, the protect region 0 start from 0X60001000, length is 0x2000, didn’t encrypt all the app region, just used to compare the original app with the BEE encrypted app code, we can find from 0X60003000, the code will be the plaintext code. But from 0X60001000 to 0X60002FFF will be the BEE encrypted code. After the configuration, Click the button”all in one action”, burn the code to the external QSPI flash. Fig 4 Fig 5 SW_GP2 region in the fuse can be burned separated, click the button”burn DEK data” is OK. Fig 6 Then read out all the fuse map again, we can find in the cfg1, BEE_KEY0_SEL is SW-GP2, it defines the BEE key is using the flexible use key method, not the fixed master key. Fig 7 Then, readout the BEE burned code from the flash with the normal burned code from the flash, and compare with it, the detail situation is: Fig 8 Fig 9 Fig 10 Fig 11 Fig 12    We can find, after the BEE encryption, 0X60001000 to 0X60002FFF is the encrypted code, 0X6000400 area add the EKIB0 data, 0X6000480 area add the EPRDB0 data. Because we just select the BEE engine 0, no BEE engine 1, then we can find 0X60000800 EKIB1 and EPRDB1 are all 0, not the valid data. From 0X60003000, we can find the app data is the plaintext data, the same result with our expected BEE configuration app encrypted range.    Until now, we already realize the MCUBootUtility tool BEE encryption. Exit the serial download mode, configure the MIMXRT10150-EVK on board SW8 as: 1-ON, 2-OFF, 3-ON, 4-OFF, reset the board, we can find the on board user LED is blinking, the BEE encrypted code is working. 4 BEE encryption with the Commander line mode    In practical usage, a lot of customers also need to use the commander line mode to realize the BEE encryption operation, and choose MFGTool download method. So this document will also give the way how to use the SDK SDK_2.8.0_EVK-MIMXRT1015\middleware\mcu-boot\bin\Tools and image_enc tool to realize the BEE commander line method encryption operation, then use the MFGTool download the BEE encrypted code to the RT1015 external QSPI flash.     Because from SDK2.8.0, blhost, elftosb related tools will not be packed in the SDK middleware directly, the customer need to download it from this link: www.nxp.com/mcuboot 4.1 Commander line file preparation     Prepare one folder, put elftosb.exe, image_enc.exe,app file evkmimxrt1015_iled_blinky_0x60002000.s19,RemoveBinaryBytes.exe to that folder. RemoveBinaryBytes.exe is used to modify the bin file, it can be downloaded from this link: https://community.nxp.com/pwmxy87654/attachments/pwmxy87654/imxrt/8733/2/Test.zip (https://community.nxp.com/t5/i-MX-RT/RT1015-BEE-XIP-Step-Confirm/m-p/1070076/page/2)    Then prepare the following files: imx-flexspinor-normal-unsigned.bd imxrt1015_app_flash_sb_gen.bd burn_fuse.bd 4.1.1 imx-flexspinor-normal-unsigned.bd imx-flexspinor-normal-unsigned.bd files is used to generate the app file evkmimxrt1015_iled_blinky_0x60002000.s19 related boot .bin file, which is include the IVT header code: ivt_evkmimxrt1015_iled_blinky_0x60002000.bin ivt_evkmimxrt1015_iled_blinky_0x60002000_nopadding.bin bd file content is /*********************file start****************************/ options {     flags = 0x00;     startAddress = 0x60000000;     ivtOffset = 0x1000;     initialLoadSize = 0x2000;     //DCDFilePath = "dcd.bin";     # Note: This is required if the default entrypoint is not the Reset_Handler     #       Please set the entryPointAddress to Reset_Handler address     // entryPointAddress = 0x60002000; }   sources {     elfFile = extern(0); }   section (0) { } /*********************file end****************************/‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍   4.1.2 imxrt1015_app_flash_sb_gen.bd    This file is used to configure the external QSPI flash, and realize the program function, normally use this .bd file to generate the .sb file, then use the MFGtool select this .sb file and download the code to the external flash. /*********************file start****************************/ sources {     myBinFile = extern (0); }   section (0) {     load 0xc0000007 > 0x20202000;     load 0x0 > 0x20202004;     enable flexspinor 0x20202000;     erase  0x60000000..0x60005000;     load 0xf000000f > 0x20203000;     enable flexspinor 0x20203000;     load  myBinFile > 0x60000400; } /*********************file end****************************/‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 4.1.3 burn_fuse.bd     BEE encryption operation need to burn the fuse map, but the fuse data is the one time operation from 0 to 1, here will separate the burn fuse operation, only do the burn fuse operation during the first time which the RT chip still didn’t be modified the fuse map. Otherwise, in the next operation, just modify the app code, don’t need to burn the fuse. Burn_fuse.bd is mainly used to configure the fuse data which need to burn the related fuse map, then generate the .sb file, and use the MFGTool burn it with the app together. /*********************file start****************************/ # The source block assign file name to identifiers sources { }   constants { }   #                !!!!!!!!!!!! WARNING !!!!!!!!!!!! # The section block specifies the sequence of boot commands to be written to the SB file # Note: this is just a template, please update it to actual values in users' project section (0) {     # program SW_GP2     load fuse 0x76543210 > 0x29;     load fuse 0xfedcba98 > 0x2a;     load fuse 0x89abcdef > 0x2b;     load fuse 0x01234567 > 0x2c;         # Program BEE_KEY0_SEL     load fuse 0x00003000 > 0x6;     } /*********************file end****************************/‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ 4.2 BEE commander line operation steps  Create the rt1015_bee_userkey_gp2.bat file, the content is: elftosb.exe -f imx -V -c imx-flexspinor-normal-unsigned.bd -o ivt_evkmimxrt1015_iled_blinky_0x60002000.bin evkmimxrt1015_iled_blinky_0x60002000.s19 image_enc.exe hw_eng=bee ifile=ivt_evkmimxrt1015_iled_blinky_0x60002000.bin ofile=evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted.bin base_addr=0x60000000 region0_key=0123456789abcdeffedcba9876543210 region0_arg=1,[0x60001000,0x2000,0] region0_lock=0 use_zero_key=1 is_boot_image=1 RemoveBinaryBytes.exe evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted.bin evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted_remove1K.bin 1024 elftosb.exe -f kinetis -V -c program_imxrt1015_qspi_encrypt_sw_gp2.bd -o boot_image_encrypt.sb evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted_remove1K.bin elftosb.exe -f kinetis -V -c burn_fuse.bd -o burn_fuse.sb pause‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ Fig 13 Fig 14 it mainly has 5 steps: 4.2.1 elftosb generate app file with IVT header elftosb.exe -f imx -V -c imx-flexspinor-normal-unsigned.bd -o ivt_evkmimxrt1015_iled_blinky_0x60002000.bin evkmimxrt1015_iled_blinky_0x60002000.s19 After this commander, will generate two files with the IVT header: ivt_evkmimxrt1015_iled_blinky_0x60002000.bin,ivt_evkmimxrt1015_iled_blinky_0x60002000_nopadding.bin Here, we will use the ivt_evkmimxrt1015_iled_blinky_0x60002000.bin 4.2.2 image_enc generate the app related BEE encrypted code image_enc.exe hw_eng=bee ifile=ivt_evkmimxrt1015_iled_blinky_0x60002000.bin ofile=evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted.bin base_addr=0x60000000 region0_key=0123456789abcdeffedcba9876543210 region0_arg=1,[0x60001000,0x2000,0] region0_lock=0 use_zero_key=1 is_boot_image=1 About the keyword meaning in the image_enc, we can run the image_enc directly to find it. Fig 15 This commander line run result will be the same as the MCUBootUtility configuration. The encryption area from 0X60001000, the length is 0x2000, more details, can refer to Fig 4. After the operation, we can get this file: evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted.bin 4.2.3 RemoveBinaryBytes remove the BEE encrypted file above 1024 bytes RemoveBinaryBytes.exe evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted.bin evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted_remove1K.bin 1024 This commaner will used to remove the BEE encrypted file, the above 0X400 length data, after the modification, the encrypted file will start from EKIB0 directly. After running it, will get this file: evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted_remove1K.bin   4.2.4 elftosb generate BEE encrypted app related sb file elftosb.exe -f kinetis -V -c program_imxrt1015_qspi_encrypt_sw_gp2.bd -o boot_image_encrypt.sb evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted_remove1K.bin This commander will use evkmimxrt1015_iled_blinky_0x60002000_bee_encrypted_remove1K.bin and program_imxrt1015_qspi_encrypt_sw_gp2.bd to generate the sb file which can use the MFGTool download the code to the external flash After running it, we can get this file: boot_image_encrypt.sb 4.2.5 elftosb generate the burn fuse related sb file elftosb.exe -f kinetis -V -c burn_fuse.bd -o burn_fuse.sb This commander is used to generate the BEE code related fuse bits sb file, this sb file will be burned together with the boot_image_encrypt.sb in the MFGTool. But after the fuse is burned, the next app modify operation don’t need to add the burn fuse operation, can download the add directly. After running it, can get this file: burn_fuse.sb   4.3 MFGTool downloading   MIMXRT1015-EVK board enter the serial downloader mode, find two USB cable, plug it in J41 and J9 to the PC. MFGTool can be found in folder: SDK_2.8.0_EVK-MIMXRT1015\middleware\mcu-boot\bin\Tools\mfgtools-rel   If need to burn the burn_fuse.sb, need to modify the ucl2.xml, folder path: \SDK_2.8.0_EVK-MIMXRT1015\middleware\mcu-boot\bin\Tools\mfgtools-rel\Profiles\MXRT1015\OS Firmware    Add the following list to realize it.         Loading Flashloader.     Jumping to Flashloader.       Get Property 1.     Program Boot Image.     Reset.        Get Property 1.     Program Boot Image.     Done ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍   If already have burned the Fuse bits, just need to update the app, then we can use MIMXRT1015-DevBoot         Loading Flashloader.     Jumping to Flashloader.        Get Property 1.     Program Boot Image.     Done ‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ Which detail list is select, it is determined by the cfg.ini name item [profiles] chip = MXRT1015 [platform] board = [LIST] name = MXRT1015-DevBoot‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍ Because my side do the MCUbootUtility operation at first, then the fuse is burned, so in the commander line, I just use MXRT1015-DevBoot download the app.sb Fig 16 We can find, it is burned successfully, click stop button, Configure the MIMXRT1015-EVK on board SW8 as 1-ON,2-OFF,3-ON,4-OFF, reset the board, we can find the on board LED is blinking, it means the commander line also can finish the BEE encryption successfully. 5  MCUXpresso Secure Provisioning BEE unsigned operation      This part will use the MCUXPresso Secure Provisioning tool to finish the BEE unsigned image downloading BEE unsigned image is just use the BEE, no certification. 5.1 Tool downloading MCUXPresso Secure Provisioning download link is: https://www.nxp.com/design/software/development-software/mcuxpresso-software-and-tools-/mcuxpresso-secure-provisioning-tool:MCUXPRESSO-SECURE-PROVISIONING Download it and install it, it’s better to read the tool document at first: C:\nxp\MCUX_Provi_v2.1\MCUXpresso Secure Provisioning Tool.pdf 5.2 Operation Steps Step1: Create the new tool workspace File->New Workspace, select the workspace path. Fig 17 Step2: Chip boot related configuration Fig 18 Here, please note, the boot type need to select as XIP Encrypted(BEE User Keys) unsigned, which is not added the HAB certification function. Step3: USB connection Connect Select USB, it will use the USB HID to connect the board in serial download mode, so the MIMXRT1015-EVK board need insert the USB port to the J9, and the board need to enter the serial download mode: SW8:1-ON,2-OFF,3-OFF,4-ON Connect Test Connection Button, the connection result is: Fig 19 We can see the connection is OK, due to this board has done the BEE operation in the previous time, so the related BEE fuse is burned, then we can find the BEE key and the key source SW-GP2 fuse already has data. Step4: image selection Just like the previous content, prepare one app image. Step 5: XIP Encryption(BEE user keys) configuration Fig 20 Here, it will need to select which engine, we select Engine0, BEE engine KEY use zero key, key source use the SW-GP2, then the detail user key data: 0123456789abcdeffedcba9876543210 Will be wrote to the swGp2 fuse area. Because my board already do that fuse operation, so here it won’t burn the fuse again. Step 6: build image Fig 21 Here, we will find, after this operation, the tool will generate 5 files: 1) evkmimxrt1015_iled_blinky_0x60002000.bin 2) evkmimxrt1015_iled_blinky_0x60002000_bootable.bin 3) evkmimxrt1015_iled_blinky_0x60002000_bootable_nopadding.bin 4) evkmimxrt1015_iled_blinky_0x60002000_nopadding.bin 5) evkmimxrt1015_iled_blinky_0x60002000_nopadding_ehdr0.bin 1), 2), 3) is the plaintext file, 1) and 2) are totally the same, this file maps the data from base 0, from 0x1000 it is IVT+BD+DCD, from 0X2000 is app, so these files are the whole image, just except the FlexSPI Configuration block data, which should put from base address 0. 3) it is the 2) image just delete the first 0X1000 data, and just from IVT+BD+DCD+app. 4) ,5) is the BEE encrypted image, 4) is related to 3), just the BEE encrypted image, 5) is the EKIB0, EPRDB0 data, which should be put in the real address from 0X60000400, it is the BEE Encrypted Key Info Block 0 and Encrypted Protection Region Descriptor Block 0 data, as we just use the engine0, so just have the engin0 data. In fact, the BEE whole image contains : FlexSPI Configuration block data +IVT+BD+DCD+APP FlexSPI Configuration block data is the plaintext, but from 0X60001000 to 0X60002fff is the encrypted image. Step 7: burn the encrypted image Fig 22 Click the Write Image button, to finish the BEE image program. Here, just open the bee_user_key0.bin, we will find, it is just the user key data which is defined in Fig 20, which also should be written to the swGp2 fuse. Check the log, we will find it mainly these process: Erase image from 0x60000000, length is 0x5000. Generate the flexSPI Configuration block data, and download from 0x60000000 Burn evkmimxrt1015_iled_blinky_0x60002000_nopadding_ehdr0.bin to 0X60000400 Burn evkmimxrt1015_iled_blinky_0x60002000_nopadding.bin to 0x60001000 Modify the MIMXRT1015-EVK SW8:1-ON,2-OFF,3-ON,4-OFF, reset or repower on the board, we will find the on board led is blinking, it means the bee encrypted image already runs OK. Please note: SW8_1 is the Encrypted XIP pin, it must be enable, otherwise, even the BEE encrypted image is downloaded to the external flash, but the boot will be failed, as the ROM will use normal boot not the BEE encrypted boot. So, SW8_1 should be ON.    Following pictures are the BEE encrypted image readout file to compare with the tool generated files. Fig 23 Fig 24 Fig 25 Fig 26 Fig 27 About the MCUBootUtility lack the BEE tool image_enc.exe, we also can use the MCUXPresso Secure Provisioning’s image_enc.exe: Copy: C:\nxp\MCUX_Provi_v2.1\bin\tools\image_enc\win\ image_enc.exe To the MCUbootUtility folder: NXP-MCUBootUtility-3.2.0\tools\image_enc2\win Attachment also contains the video about this tool usage operation. i.MXRT 101x
記事全体を表示
RDAC56F84789: 3in1 Air-Conditioner Outdoor Unit Overview Features Block Diagram Board Design Resources Overview This reference design is based on 32-bit DSC MC56F84789, to demo a 3in1 Air-Conditioner Outdoor Unit. This reference design jump-starts your ability to leverage the NXP ®  DSCs' advanced feature sets via complete software, tools and hardware platform. High performance, low cost all DC VF air-conditioner outdoor unit control system Three control objectives (interleaved single-phase PFC converter, fan and compressor) with one MCU device Input voltage range of 85 – 265VAC/40 – 70H Single-phase two channels interleaved PFC converter compatible with global mains input, 99.9% power factor, 8% input current THDi Sensorless FOC algorithm for both compressor and fan Anti-typhoon startup for fan, and on-line load torque compensation control for compressor to reduce system vibration and noise Reliable startup performance under full load and input voltage range Extreme low/high speed (from 1Hz to 150Hz) performance with extended flux observer Over-/under-voltage, over-current, over-temperature, over-input power protection and lock of rotor detection FreeMASTER GUI for easy debugging Features MC56F84789 3in1 Air-Conditioner Outdoor Unit Block Diagram Board Design Resources Legacy Designs
記事全体を表示
RD56F801XACIM: Design of an ACIM Vector Control Drive Reference Design using the 56F801X Overview Features General: General Benefits: Performance: Communications: Visual Interface: Block Diagram Board Design Resources Overview This drive application allows vector control of an AC Induction Motor (ACIM) running in a closed-speed loop without a speed/position sensor at a low cost and serves as an example of AC induction vector control drive design using an NXP ®  56F8013 with Processor Expert ®  software support. ACIM is ideal for appliance and industrial applications This design uses sensorless FOC to control an ACIM using the 56F8013 device, which can accommodate the sensorless FOC algorithm The motor control system is flexible enough to implement complex motion protocols while it drives a variable load. The system illustrates the features of the 56F8013 in motor control Features General: The motor control algorithm employs Stator-Flux-Oriented Control (SFOC) Power stage switches are controlled by Space Vector Pulse Width Modulation (SVPWM) No position information devices or stator flux measurement are used, a sensorless speed method is employed The motor is capable of forward and reverse rotation and has a speed range from 50rpm to 3000rpm The user controls motion profiles, rotation direction, and speed. The RS-232 communication supports further R&D by enabling the easy tuning of control parameters The motor drive system is designed to create minimal acoustic noise Active power factor correction which reduces the negative effects of the load on the power grid in conducted noise and imaginary power Design is low cost General Benefits: Improved End System Performance Energy savings Quieter operation Improved EMI performance System Cost savings Enhanced Reliability Performance: Input voltage: 85 ~265VAC Input frequency: 45 ~65HZ Rating bus voltage: 350V Rating output power: 500W Switch frequency of PFC switch: 100KHZ Switch frequency of inverter: 10KHZ Power factor: >95% Efficiency: >90% Communications: RS232 port for communication with optoisolation Visual Interface: Multi-segment LED indicators Block Diagram Board Design Resources Legacy Designs
記事全体を表示
包括的なイネーブルメント - Kinetis Design Studio IDE デモオーナーのクラーク・ジャービス   次のデモでは、ソフトウェアでの包括的な有効化を示します。次世代のKinetis Kシリーズ・マイクロコントローラ、新しいFRDM-K64F開発プラットフォーム、ソフトウェア開発キット*、Kinetis Design Studio IDE*を、Processor Expertソフトウェア、MQX RTOS、PEGグラフィックス・スタジオと組み合わせることで、強力で迅速なプロトタイピングを実現します。 *現在ベータ版リリース中     特長 包括的なオールインワン開発ソフトウェア 注目のNXP製品 製品 リンク Kinetis® K64、K63、K24マイクロコントローラ向けFreedom開発プラットフォーム FRDM-K64Fプラットフォーム|フリーダム開発委員会|Kinetisマイクロコントローラ |NXPの  サポートハードウェア ダイアログ自動シールド Arduinoディスプレイ インダストリアル
記事全体を表示
全面支持 - Kinetis Design Studio IDE 演示所有者克拉克·贾维斯   以下演示将展示软件中的全面支持。下一代 Kinetis K 系列 MCU、全新 FRDM-K64F 开发平台、软件开发套件*和 Kinetis Design Studio IDE*,搭配 Processor Expert 软件、MQX RTOS 和 PEG 图形工作室,提供强大而快速的原型设计。 *目前处于测试阶段     特性 全面的一体化开发软件 特色恩智浦产品 产品 链接 适用于 Kinetis ® K64、K63 和 K24 MCU 的 Freedom 开发平台 FRDM-K64F 平台|Freedom 开发板|Kinetis MCU | NXP 支持硬件 对话框自动屏蔽 Arduino显示器 工业控制
記事全体を表示
Comprehensive Enablement - Kinetis Design Studio IDE Demo Owner Clark Jarvis   The following demo will show a comprehensive enablement in software. Next-gen Kinetis K series MCUs, new FRDM-K64F development platform, software development kit* and Kinetis Design Studio IDE*, paired with Processor Expert software, MQX RTOS and PEG graphics studio to provide powerful and rapid prototyping. *In beta release now     Features Comprehensive, all in one development software Featured NXP Products Product Link Freedom Development Platform for Kinetis® K64, K63, and K24 MCUs FRDM-K64F Platform|Freedom Development Board|Kinetis MCUs | NXP  Supporting Hardware Dialog Auto Shield Arduino Display Industrial
記事全体を表示
RDDSP56F8BLDCAZC: 3-Phase BLDC w/Sensorless Back-EMF ADC Zero Crossing Sensor for 56F80X or 56F8300 Overview Features Block Diagram Design Resources Overview This reference design describes the design of a 3-phase sensorless brushless DC (BLDC) motor control with back-EMF (electromotive force) zero-crossing sensing using an AD converter for the NXP® 56F80X and 56F83XX Digital Signal Controller (DSCs) dedicated for motor control applications. It can also be adapted to Our 56F81XX Digital Signal Controllers The system is designed as a motor drive for three-phase BLDC motors and is targeted for applications in both industrial and appliance fields (e.g. compressors, air conditioning units, pumps or simple industrial drives) The reference design incorporates both hardware and software parts of the system including hardware schematic Features BLDC sensorless motor 115 or 230V AC Supply Targeted for 56F80x, 56F83XX, and 56F81XX Digital Signal Controllers Running on 3-phase BLDC Motor EVM at 12V, 3-Phase BLDC Low-Voltage Power Stage Speed control loop Motor mode in both direction of rotation Manual interface (RUN/STOP switch, UP/DOWN push buttons control, LED indication) Overvoltage, undervoltage, overcurrent and overheating fault protection PC remote control interface (speed set-up) FreeMASTER software remote monitor Block Diagram Design Resources Legacy Designs
記事全体を表示
Get GPS Coordinates and send them through Sigfox About the demo components Video Limitations: Useful Links Required Items: Hardware Diagram: Step-by-Step Guide Results: About the demo components For this demo, we are using the Sigfox kit, which includes the FRDM-KL43Z and the OM2385 board. Sigfox is an inexpensive, reliable, low-power solution to connect sensors and devices.  With our dedicated radio-based network, we are committed to giving a voice to the physical world and making the Internet of Things truly happen.  The Sigfox protocol focuses on:  Autonomy. Extremely low energy consumption allows years of battery life. Simplicity. No configuration, connection request or signaling. Your device is up and running within minutes! Cost efficiency. From the hardware used in the devices on our network, we optimized every step to be as cost-effective as possible. Small messages. there are no large assets or media allowed on the network.  Only small notifications up to 12 bytes are allowed. Complementarity. Thanks to its low cost and ease of configuration, you can also use Sigfox as a secondary solution to any other type of network, e.g.: Wi-Fi, Bluetooth, GPRS, etc. You can read more about Sigfox in What is Sigfox? | Sigfox build. The OM2385/SF001 is a development platform dedicated to SIGFOX Wide Area Networking applications. It includes an OL2385 wireless sub-GHz transceiver running the preprogrammed SIGFOX library and is mounted on an FRDM-KL43Z development platform that serves as a host processor for the user's application. The FRDM-KL43Z is an ultra-low-cost development platform for Kinetis L families KL43, KL33, KL27, KL17, and KL13 MCUs built on Arm Cortex-M0+ processor running at 48 MHz.   Video   (view in My Videos)   Limitations: Sigfox is only able to send a small amount of data every day for free, so if your application requires more data to be sent, you need to get a connectivity plan from Sigfox Buy .   Useful Links FRDM-KL43Z and NXP Sigfox OL2385 Board : OM2385/SF001 - SIGFOX Development Kit | NXP  Sigfox Backend Account: Sigfox Buy  Download MCUXpresso: MCUXpresso IDE|Eclipse-based Integrated Development Environment (IDE) | NXP  Download SDK: https://mcuxpresso.nxp.com/en/builder  NXP Product Link FRDM-KL43Z and NXP Sigfox OL2385 Board OM2385/SF001 - SIGFOX Development Kit | NXP  Sigfox Backend Account Sigfox Buy  Download MCUXpresso MCUXpresso IDE|Eclipse-based Integrated Development Environment (IDE) | NXP  Download SDK https://mcuxpresso.nxp.com/en/builder    Required Items: OL2385 Arduino Shield Board FRDM-KL43Z hardware USB A-to-MiniB cable Sub-GHz Antenna GPS UART module Hardware Diagram:    SPI OL2585 KL43Z FRDM UART GPS MOSI ---------- MISO ---------- SCK ----------- ACK ----------- CS ------------- PTD07 PTD06 PTD05 PTD02 PTD04 PTE23 PTE22 ----------- TX ----------- RX       This picture shows the board connections made for the project     Step-by-Step Guide After we get the Required items, we need to activate the Sigfox account and register our board: Sigfox Buy  If you are having trouble registering your Sigfox device, don't hesitate to write your question in our NXP community. We register the board in our backend account, and we should see the device on our device list. When we have our board registered, we will start building the application on MCUXpresso. Download the project attached at the end of this document and import it into MCUXpresso IDE.  In the video, how to import the sigfox_console example from the SDK is shown, and a brief explanation of the modifications is given. If you want to download the SDK example to start your project from scratch, you need to add the Sigfox software component to the SDK. After importing the project to our workspace, the only thing left is to make the respective hardware connections and flash the device. Then try your new project in a building-clear area. To be sure your new project will function properly, you should avoid tall buildings to get a stronger signal. The data sent should be seen in your Sigfox backend session. Teraterm console prints the data obtained from the GPS module for your viewing purposes.   Results:   This is the data sent from the Sigfox transceiver to the user backend account. The sent frames are floating-point coordinates converted to four byte-hexadecimal strings.     After the attached project is flashed to the KL43Z, this should be the results seen in the Teraterm console. Smart City
記事全体を表示
K-70およびK-24コネクティビティ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
記事全体を表示
使用 S08RN60 MCU 控制带有触摸电极的直流电机。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该示例应用程序实现了触摸感应电极,用于控制直流电机的启用、速度和方向。RN60 还控制八个多路复用 7 段显示器来指示速度百分比。 该代码是在针对 Freescale HCS08 系列微控制器的 CodeWarrior for Microcontrollers v10.6 和 Processor Expert 10.3 上生成和编译的。 (在 “我的视频” 中查看) 概述 回复:使用 S08RN60 MCU 控制带有触摸电极的直流电机。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> CodeWarrior v10.6 项目可通过以下链接获取: 使用 S08RN60 MCU 控制带有触摸电极的直流电机。
記事全体を表示
在带有ARM Ubuntu的i.MX8QXP上的Docker [中文翻译版] 见附件   原文链接: https://community.nxp.com/docs/DOC-344474  i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus
記事全体を表示
How to install KL03 SDK support in KDS 1.1.1 and KDS 2.0.0 This article describe procedure how to properly install support for KL03 derivative in KDS (Kinetis Design Studio) 1.1.1  (KDS 2.0.0) and also additional steps to update GCC compiler and debug firmware on the FRDM-KL03Z board. KDS 1.1.1 (KDS 2.0.0) installation If you don’t have KDS 1.1.1 (KDS 2.0.0), please get the installation package (for Windows and Linux) on Freescale website. Go to the page Kinetis Design Studio Integrated Development Environment (IDE), select the build and install it. Kinetis SDK installation The KL03Z derivative support is distributed as a service pack KSDK 1.0.0 for KL03Z. Download the Freescale Kinetis SDK_1.0.0 for the FRDM-KL03Z Windows or Linux installer and install it. After the KSDK 1.0.0 for KL03Z is installed you need also install the PEx service pack for KL03. In the KDS main menu select Help > Install new software… , click on Add.. button , click on Archive and select KL03Z-1.0.0-GA-SA-RC2-for-Eclipse.zip in the SDK subfolder (e.g. c:\Freescale\KSDK_1.0.0-KL03Z\tools\eclipse_update\KL03Z-1.0.0-GA-SA-RC2-for-Eclipse.zip): Additional Steps Next step is to install the updated GCC compiler. This is due to C standard library footprint issue in the GCC version that is distributed in KDS 1.1.1 (KDS 2.0.0). The KL03Z derivatives contain small amount of RAM memory and therefore this step is also strongly recommended. Detailed instructions, how to update the GCC, are provided in the KSDK user guide located in the KSDK 1.0.0 for KL03Z installation folder in KSDK_1.0.0-KL03Z\doc\Kinetis SDK Freescale Freedom FRDM-KL03Z Platform User’s Guide.pdf – chapter Appendix B: Kinetis Design Studio environment variable fix and swap tool chain. Please note that when you update the GCC you must change the linker flags for every new project with GCC to “-specs=nano.specs -specs=nosys.specs” as described in the document. (otherwise the default setting of linker flags will cause an error of GCC linker). If you haven’t done that yet,  update firmware of the FRDM-KL03Z board to allow application flashing and debugging. It is described in the same document in the chapter Appendix C: OpenSDA J-Link firmware updated. You can start creating a new application for the KL03 now. For example see Low power demo application on FRDM-KL03Z board.
記事全体を表示
移植实时Linux方案Xenomai到i.MX ARMv7平台 (Enable real-time Linux Xenomai on i.MX ARMv7 Platform)     Xenomai is real-time framework, which can run seamlessly side-by-side Linux as a co-kernel system, or natively over mainline Linux kernels (with or without PREEMPT-RT patch). The dual kernel nicknamed Cobalt, is a significant rework of the Xenomai 2.x system. Cobalt implements the RTDM specification for interfacing with real-time device drivers. The native linux version, an enhanced implementation of the experimental Xenomai/SOLO work, is called Mercury. In this environment, only a standalone implementation of the RTDM specification in a kernel module is required, for interfacing the RTDM-compliant device drivers with the native kernel. You can get more detailed information from Home · Wiki · xenomai / xenomai · GitLab       I have ported xenomai 3.1 to i.MX Yocto 4.19.35-1.1.0, and currently support ARMv7 and tested on imx6ulevk/imx6ull14x14evk/imx6qpsabresd/imx6dlsabresd/imx6sxsabresdimx6slevk boards. I also did stress test by tool stress-ng on some boards.      You need to git clone https://gitee.com/zxd2021-imx/xenomai-arm.git, and git checkout Linux-4.19.35-1.1.0. (which inlcudes all patches and bb file) and add the following variable in conf/local.conf before build xenomai by command bitake xenomai.  XENOMAI_KERNEL_MODE = "cobalt"  PREFERRED_VERSION_linux-imx = "4.19-${XENOMAI_KERNEL_MODE}" IMAGE_INSTALL_append += " xenomai" DISTRO_FEATURES_remove = "optee" or XENOMAI_KERNEL_MODE = "mercury" PREFERRED_VERSION_linux-imx = "4.19-${XENOMAI_KERNEL_MODE}" IMAGE_INSTALL_append += " xenomai" DISTRO_FEATURES_remove = "optee" If XENOMAI_KERNEL_MODE = "cobalt", you can build dual kernel version. And If XENOMAI_KERNEL_MODE = "mercury", it is single kernel with PREEMPT-RT patch. The following is test result by the command (/usr/xenomai/demo/cyclictest -p 50 -t 5 -m -n -i 1000 😞 //Mecury on 6ULL with stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 128M --metrics-brief policy: fifo: loadavg: 6.08 2.17 0.81 8/101 534 T: 0 (  530) P:99 I:1000 C:  74474 Min:     23 Act:  235 Avg:   77 Max:    8278 T: 1 (  531) P:99 I:1500 C:  49482 Min:     24 Act:   32 Avg:   56 Max:    8277 T: 2 (  532) P:99 I:2000 C:  36805 Min:     24 Act:   38 Avg:   79 Max:    8170 T: 3 (  533) P:99 I:2500 C:  29333 Min:     25 Act:   41 Avg:   54 Max:    7069 T: 4 (  534) P:99 I:3000 C:  24344 Min:     24 Act:   51 Avg:   60 Max:    7193 //Cobalt on 6ULL with stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 128M --metrics-brief policy: fifo: loadavg: 7.02 6.50 4.01 8/100 660 T: 0 (  652) P:50 I:1000 C: 560348 Min:      1 Act:   10 Avg:   15 Max:      71 T: 1 (  653) P:50 I:1500 C: 373556 Min:      1 Act:    9 Avg:   17 Max:      78 T: 2 (  654) P:50 I:2000 C: 280157 Min:      2 Act:   14 Avg:   20 Max:      64 T: 3 (  655) P:50 I:2500 C: 224120 Min:      1 Act:   12 Avg:   15 Max:      57 T: 4 (  656) P:50 I:3000 C: 186765 Min:      1 Act:   31 Avg:   19 Max:      53 //Cobalt on 6qp with stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 512M --metrics-brief policy: fifo: loadavg: 8.11 7.44 4.45 8/156 1057 T: 0 (  917) P:50 I:1000 C: 686106 Min:      0 Act:    3 Avg:    5 Max:      53 T: 1 (  918) P:50 I:1500 C: 457395 Min:      0 Act:    3 Avg:    5 Max:      49 T: 2 (  919) P:50 I:2000 C: 342866 Min:      0 Act:    2 Avg:    4 Max:      43 T: 3 (  920) P:50 I:2500 C: 274425 Min:      0 Act:    3 Avg:    5 Max:      58 T: 4 (  921) P:50 I:3000 C: 228682 Min:      0 Act:    2 Avg:    6 Max:      46 //Cobalt on 6dl with stress-ng --cpu 2 --io 2 --vm 1 --vm-bytes 256M --metrics-brief policy: fifo: loadavg: 3.35 4.15 2.47 1/122 850 T: 0 (  729) P:50 I:1000 C: 608088 Min:      0 Act:    1 Avg:    3 Max:      34 T: 1 (  730) P:50 I:1500 C: 405389 Min:      0 Act:    0 Avg:    4 Max:      38 T: 2 (  731) P:50 I:2000 C: 304039 Min:      0 Act:    1 Avg:    4 Max:      45 T: 3 (  732) P:50 I:2500 C: 243225 Min:      0 Act:    0 Avg:    4 Max:      49 T: 4 (  733) P:50 I:3000 C: 202683 Min:      0 Act:    0 Avg:    5 Max:      38 //Cobalt on 6SX stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 512M  --metrics-brief policy: fifo: loadavg: 7.51 7.19 6.66 8/123 670 T: 0 (  598) P:50 I:1000 C:2314339 Min:      0 Act:    3 Avg:    8 Max:      60 T: 1 (  599) P:50 I:1500 C:1542873 Min:      0 Act:   15 Avg:    8 Max:      72 T: 2 (  600) P:50 I:2000 C:1157152 Min:      0 Act:    4 Avg:    9 Max:      55 T: 3 (  601) P:50 I:2500 C: 925721 Min:      0 Act:    5 Avg:    9 Max:      57 T: 4 (  602) P:50 I:3000 C: 771434 Min:      0 Act:    6 Avg:    6 Max:      41 //Cobalt on 6Solo lite stress-ng --cpu 4 --io 2 --vm 1 --vm-bytes 512M  --metrics-brief policy: fifo: loadavg: 7.01 7.04 6.93 8/104 598 T: 0 (  571) P:50 I:1000 C:3639967 Min:      0 Act:    9 Avg:    7 Max:      60 T: 1 (  572) P:50 I:1500 C:2426642 Min:      0 Act:    9 Avg:   11 Max:      66 T: 2 (  573) P:50 I:2000 C:1819980 Min:      0 Act:   11 Avg:   10 Max:      57 T: 3 (  574) P:50 I:2500 C:1455983 Min:      0 Act:   12 Avg:   10 Max:      56 T: 4 (  575) P:50 I:3000 C:1213316 Min:      0 Act:    7 Avg:    9 Max:      43 //Cobalt on 7d with stress-ng --cpu 2 --io 2 --vm 1 --vm-bytes 256M --metrics-brief policy: fifo: loadavg: 5.03 5.11 5.15 6/107 683 T: 0 (  626) P:50 I:1000 C:6842938 Min:      0 Act:    1 Avg:    2 Max:      63 T: 1 (  627) P:50 I:1500 C:4561953 Min:      0 Act:    4 Avg:    2 Max:      66 T: 2 (  628) P:50 I:2000 C:3421461 Min:      0 Act:    0 Avg:    2 Max:      69 T: 3 (  629) P:50 I:2500 C:2737166 Min:      0 Act:    3 Avg:    2 Max:      71 T: 4 (  630) P:50 I:3000 C:2280969 Min:      0 Act:    2 Avg:    1 Max:      33 //////////////////////////////////////// Update for Yocto L5.10.52 2.1.0  /////////////////////////////////////////////////////////// New release for Yocto release L5.10.52 2.1.0. You need to git clone https://gitee.com/zxd2021-imx/xenomai-arm and git checkout xenomai-5.10.52-2.1.0. Updating: 1, Upgrade Xenomai to v3.2 2, Enable Dovetail instead of ipipe. Copy xenomai-arm to /sources/meta-imx/meta-bsp/recipes-kernel, and add the following variable in conf/local.conf before build Image with xenomai enable by command bitake imx-image-multimedia. XENOMAI_KERNEL_MODE = "cobalt" IMAGE_INSTALL_append += " xenomai" or XENOMAI_KERNEL_MODE = "mercury" IMAGE_INSTALL_append += " xenomai" Notice: If XENOMAI_KERNEL_MODE = "cobalt", you can build dual kernel version. And If XENOMAI_KERNEL_MODE = "mercury", it is single kernel with PREEMPT-RT patch. //////////////////////////////////////// Update for Yocto L5.15.71 2.2.0  /////////////////////////////////////////////////////////// New release for Yocto release L5.15.71 2.2.0. You need to git clone https://gitee.com/zxd2021-imx/xenomai-arm and git checkout xenomai-5.15.71-2.2.0. Updating: 1, Upgrade Xenomai to v3.2.2 Copy xenomai-arm to /sources/meta-imx/meta-bsp/recipes-kernel, and add the following variable in conf/local.conf before build Image with xenomai enable by command bitake imx-image-multimedia. XENOMAI_KERNEL_MODE = "cobalt" IMAGE_INSTALL:append += " xenomai" or XENOMAI_KERNEL_MODE = "mercury" IMAGE_INSTALL:append += " xenomai" Notice: If XENOMAI_KERNEL_MODE = "cobalt", you can build dual kernel version. And If XENOMAI_KERNEL_MODE = "mercury", it is single kernel with PREEMPT-RT patch. ///////// Later update for Later Yocto release, please refer to the following community post //////////// 移植实时Linux方案Xenomai到i.MX ARM64平台 (Enable real-time Linux Xenomai on i.MX ARM64 Platform)  i.MX6DL i.MX6Dual i.MX6Quad i.MX6S i.MX6SL i.MX6SoloX i.MX6UL Linux Yocto Project
記事全体を表示