Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
Contactless Reader Module Overview Block Diagram Products Overview Near Field Communication (NFC) is used for real-time precision marketing based on time, local inventory and the individual when embedded in product displays or the products themselves. NFC is also becoming the preferred method for payment either in smartphones or smart payment cards. In this particular deployment , the overall system consists of Backend Servers, Top Up station and Household Meter. The Backend Server roles are to activate the new installed meter, to collect meter usage data and behaviors, to implement new tariff based on user behaviors, and to allocate energy usage in effective way. Top Up Stations are NFC Reader with SAM and they are connected to local Computer, Tablet or Mobile phone. They are located at retailers near by household to ease the user to buy the credits. Besides that, Top Up Station is also help to upload and download settings or parameter from the Backend Server Household Meters are those Contctless Prepaid Meter has been installed at end user Block Diagram Products Category MCU Product URL KM3x: 50–75 MHz Precision Metrology MCUs with Segment LCDs based on Arm® Cortex®-M0+  Product Description The KM3x MCU family enables single-chip one-, two-, and three-phase electricity meters, as well as flow meters and other precision measurement applications. Category NFC Fronted Product URL CLRC663 plus family: High-performance NFC frontends  Product Description If you need high NFC performance or the lowest power consumption, use this remarkably efficient yet highly flexible frontend family to push your design further. Category RTC Product URL PCF8563: Real-time clock/calendar  Product Description The PCF8563 is a CMOS Real-Time Clock (RTC) and calendar optimized for low power consumption. Category Secure Element Product URL A71CH: Plug and Trust - The fast, easy way to deploy secure IoT connections  Product Description A71CH is a ready-to-use secure element for IoT devices providing a root of trust at the IC level and delivers, chip-to-cloud security right out of the box, so you can safely connect to IoT clouds and services, including AWS, IBM Watson IoT™ Platform, and Google Cloud™ IoT Core without writing security code or exposing keys. Category Power Management Product URL TEA1721BDB1065: TEA1721 Universal Mains White Goods Flyback SMPS Demo Board  Product Description This reference design demonstrates the TEA1721 as a -12 V and -3.3 V AC/DC SMPS converter that can provide 5 W into a load. Category Smart Card Product URL 1 MIFARE® DESFire® EV3: High-Security IC for Contactless Smart City Services  Product Description 1 The features of the MIFARE DESFire EV3 IC reflect NXP’s continued commitment to secure, connected and convenient contactless Smart City services. Product URL 2 MIFARE Plus® EV2: Secure IC for Contactless Smart City Services  Product Description 2 As the next generation of NXP’s MIFARE Plus product family, the MIFARE Plus EV2 IC is designed to be both a gateway for new Smart City applications and a compelling upgrade, in terms of security and connectivity, for existing deployments. Block Diagrams Smart City
查看全文
MATLAB EXPO 2021 - Speed up development time with NXP Model-Based Design Toolboxes Speed up development time with NXP Model-Based Design Toolboxes which seamlessly work with #MATLAB and #Simulink! Join Daniel Scurtu, Engineering Manager for Automotive System Tools on May 4th at #MatLabExpo to learn how to simulate, test, and program applications for NXP processors: https://eventsonline.mathworks.com/series/matlab-expo-2021/overview  (view in My Videos) Speed up development time with NXP Model-Based Design Toolboxes
查看全文
Proximity indicator using RSSI with automatic role switching in QN9080 Introduction The goal of this example is to demonstrate automatic role switching between Central and Peripheral of BLE QN9080 SIP and indicate the proximity of another BLE module using RSSI value. The automatic Role Switching feature can be used for continuously scan the presence of other BLE device and also to advertise so that other BLE device can scan it. The use case is to maintain social distancing and trigger a warning if the two devices are closer than a threshold distance. RSSI stands for Received Signal Strength Indicator which shows the power of received radio signal. Bare metal ‘Wireless_UART’ example is used from ‘SDK_2.x_QN908xCDK’ version 2.2.2 Timer Configuration As the device needs to switch its role after every particular time interval, so a timer is required to be initialized as it can be seen in below screenshot. Next step is to allocate Timer ID to the declared variable and start the timer. In this case, the timer shall go to callback function after the time(seconds) defined by the macro 'gSwitchTime'. This is done in 'BleApp_Config' function. After the specified time interval, timer stops and enters the callback function where switching of roles takes place. The main point that needs to be highlighted here is that while going into scanning mode, advertising mode should be stopped and vice versa. In advertising, the LED will be turned off. In scanning, the LED glows based on the RSSI. Central Configuration While in Central mode, device scans the presence of other bluetooth devices. Here, we need to check the RSSI value of received signals from those devices. There is a register available in QN9080 where the RSSI can be read after a received signal. RSSI is always negative, so the register stores the 2's compliment of the actual value. Below formula can be used to get the actual value of RSSI:- Actual RSSI = NOT(RSSI) + 1; This formula will give the positive value which is inversely proportional to Signal strength. In the callback function of scanning 'BleApp_ScanningCallback', filtering is applied and following decisions are taken based on filtered value:- Red LED will glow if the filtered value is lesser than a threshold value. Green LED will glow if the filtered value is greater than a threshold value. Hysteresis of 6 counts is taken to nullify the effect of fluctuation. As there is no need to make connections with the available devices, so the function requesting to make connection with the scanned device will be deleted. Peripheral Configuration Advertising interval can be changed as per requirement by making changes in the following macros:- To advertise at a fixed interval, value of minimum and maximum interval should be same. Test Setup Flash the code in two BLE EVK's. Power ON the EVK's. Red LED blinks if the EVK's are closer than a certain distance. Green LED blinks if the distance between the EVK's is greater than a threshold value. During blinking, When the LED is off, it means that the EVK is in advertising mode and when LED is ON(Red/Green), it means that EVK is in scanning mode. Note:- RSSI varies with environment, surrounding etc., so the threshold value of distance may vary with variation in testing condition. Demo code is attached for out of the box testing. BLE Software QN Re: Proximity indicator using RSSI with automatic role switching in QN9080 hi Sir, thanks for your sharing. It is very helpful! Re: Proximity indicator using RSSI with automatic role switching in QN9080 Hi, Sorry, I may have missed the notification for your query. Please refer : https://www.researchgate.net/file.PostFileLoader.html?id=55df0dd85cd9e3ee388b45d7&assetKey=AS:273840... I hope this will serve your purpose. Thanks!! Re: Proximity indicator using RSSI with automatic role switching in QN9080 hi All, Could anyone tell me how to calculate RX power basing on the RSSI value, what's the formular looks like? Thanks!
查看全文
FXLS8471 Breakout Board The FXLS8471Q Freescale accelerometer is highly versatile for industrial and consumer high-performance low-g applications that offer noise density, board mount offset, temperature performance and sensitivity. Integrated motion detection features include tilt, shake and tap detection with a new vector magnitude output that simplifies implementation and reduces power consumption. This new FXLS8471Q accelerometer has a SPI interface that is pin-compatible with Freescale’s industry-leading I2C accelerometer portfolio. Here is a Render of the FXLS8471 Breakout- Board downloaded from OSH Park: And here is an image of the Layout Design for this board: In the Attachments section, you can find the Schematic Source File (.SCH), Schematic PDF File, Layout Source File (BRD), Gerber Files (GTL, GBL, GTS, GBS, GTO, GBO, GKO, XLN) and BOM for this Breakout-board. If you are interested in more designs like this breakout board for other sensors, please go to Freescale Sensors Breakout Boards Designs – HOME Re: FXLS8471 Breakout Board Can NXP provide the latest breakout board schematic and board files for the BRKOUT-FXLN8372Q? All the files above are older versions. They do not match the board which I received yesterday . Re: FXLS8471 Breakout Board Approved Reyes
查看全文
Enabling a Connected EV Management System with NXP GoldBox and GreenBox Platforms Two key automotive transformation areas are connected and electric vehicles (EV) which will bring opportunities for new vehicle services and efficiencies that improve user experience and increase the efficiency of EVs to extend range. NXP has brought together our technologies and expertise in both of these areas, in collaboration with Amazon Web Services (AWS), to provide a vehicle-to-cloud solution to monitor and improve EVs. In this session, we will provide insights into the implementation of the Connected EV Management System based on the NXP GoldBox based on the S32G vehicle network processor for service-oriented gateways and the GreenBox based on the S32S for propulsion domain control, along with the key software and cloud technologies from AWS, and how they all work together to provide value propositions for connected EVs. Presenters: Brian Carlson, Director, Global Product and Solutions Marketing, Vehicle Control and Networking Solutions, NXP Curt Hillier, Systems and Applications Engineer, NXP Arm® Processors
查看全文
The Growing Impact of Wearable Technology in Health and Wellbeing Applications Wearables are expanding beyond the common activity tracking and fitness use cases that already claim almost 1-billion connected devices today. The evolution of wearable technology can be attributed to improving processor performance, sensors, wireless connectivity and tracking capabilities, contactless payment/access, extended battery life and the demand for richer user experiences. All of this creates the ideal foundation for new health and wellbeing use cases. NXP’s broad portfolio of MCUs, applications processors, WiFi/BLE/NFC/UWB-enabled devices, as well as power management ICs are driving new wearable applications within the IoT, including SOS emergency calling, safe zone alerts, contact tracing/social distancing and vitals reporting (HR, SPO2, Body Temp, Sleep Patterns, etc.) for elderly, cognitively impaired and high-risk patients. Join this session to learn about this ever-expanding market and NXP solutions that help address this space. Presenter: Eduardo Montanez, Marketing Manager, Wearables & Personal Devices, NXP Arm® Processors Interface & Connectivity
查看全文
ウォーターポンププラットフォームV0.2.xlsx <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
查看全文
水泵平台V0.2.xlsx <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
查看全文
Model-Based Design Toolbox for S12ZVMx Automotive Microprocessors Version 1.4.0       Product Release Announcement Automotive Processing   NXP Model-Based Design Toolbox   for S12ZVMx – version 1.4.0     Austin, Texas, USA September 9, 2020 The Automotive Processing, Model-Based Design Tools Team at NXP Semiconductors, is pleased to announce the release of the Model-Based Design Toolbox for S12ZVMx version 1.4.0. This release supports automatic code generation for S12ZVM peripherals and applications prototyping from MATLAB/Simulink for NXP S12ZVMx Automotive Microprocessors. This new release adds extended MATLAB version support (R2015a-R2020a), integrates with AMMCLib v1.1.21, is compatible with MathWorks Automotive Advisory Board checks, adds over 50 new examples and more. FlexNet Location: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=MCTB-EX   Activation link: https://www.nxp.com/webapp/swlicensing/sso/downloadSoftware.sp?catid=MCTB-EX Technical Support: NXP Model-Based Design Toolbox for S12ZVMx issues are tracked through NXP Model-Based Design Tools Community space. https://community.nxp.com/community/mbdt   Release Content Automatic C code generation from MATLAB® for NXP S12ZVMx derivatives: S12ZVM 32/L31/16: MC9S12ZVM16 MC9S12ZVML31 MC9S12ZVM32 S12ZVML/C 128/64/32: MC9S12ZVML32 MC9S12ZVML64 MC9S12ZVMC64 MC9S12ZVML128 MC9S12ZVMC128 S12ZVMC256: MC9S12ZVMC256 Integrates the Automotive Math and Motor Control Library release 1.1.21: All functions in the Automotive Math and Motor Control Functions Library v1.1.21 are supported as blocks for simulation and embedded target code generation for: Bit Accurate Model for 16-bit fixed-point implementation Bit Accurate Model for 32-bit fixed-point implementation Bit Accurate Model for floating-point single precision implementation             Extended support for MATLAB versions We extended support for our toolbox to cover a wider range of MATLAB releases – starting from R2015a and going up to R2020a. This way we want to avoid locking out users that have constraints regarding MATLAB versions. Motor control examples We have added new motor control examples – BLDC (closed loop) and PMSM (closed loop, sensorless):   MAAB Checks (MathWorks Automotive Advisory Board) The toolbox is compatible with MathWorks Automotive Advisory Board checks – reports can be generated from Model Advisor:   Updated examples: We have added over 50 new examples, including: Motor control (both BLDC and PMSM) AMMCLib GDU (Gate Drive Unit) Profiler For more details, features and how to use the new functionalities, please refer to the Release Notes document attached.   MATLAB® Integration The NXP Model-Based Design Toolbox extends the MATLAB® and Simulink® experience by allowing customers to evaluate and use NXP’s S12ZVMx MCUs and evaluation boards solutions out-of-the-box with: NXP Support Package for S12ZVMx  Online Installer Guide Add-on allows users to install NXP solution directly from the Mathwork’s website or directly from MATLAB IDE. The Support Package provide a step-by-step guide for installation and verification. NXP Model-Based Design Toolbox for S12ZVM version 1.4.0 is fully integrated with MATLAB® environment in terms of installation: Target Audience This release (1.4.0) is intended for technology demonstration, evaluation purposes and prototyping S12ZVMx MCUs and Evaluation Boards.   Useful Resources Examples, Trainings and Support: https://community.nxp.com/community/mbdt                                              
查看全文
LPC55xx Erased Memory State, 0 or 1? Previously, I wrote two articles about LPC55xx AHB read ( How to fix AHB Read HardFault Error) and LPC55xx FLASH alignment (Why FLASH Program cannot Success? ). In this article, we will go on investigating LPC55xx erased memory state. For most of NXP MCU, the erased FLASH state is 0xFF. Writing action is to change 1 to 0. However for LPC55, when we perform mass erase or section erase, we see the related memory turns to all 0 in MCUXpresso IDE debugger Memory view. This all-0-erased-status confuses many LPC55 beginners. Is this real memory state? The answer is yes, IDE debugger display is correct. LPC55xx FLASH uses 0x00 as erased value, which is opposite to most of the other FLASH devices which use 0xFF as erased value) There is no way to verify the erased FLASH state with code in runtime. NXP enhanced LPC55xx FLASH with ECC added. This means that there is now a functional block between the read entity (for example the CPU) and the FLASH itself. When erasing, both the erased FLASH and its ECC are set as 0. The reading can’t be successful if the erased memory and its ECC don’t match. Thus we can’t read memory in erased state. AHB read hardfault error is produced if do so.  Because of ECC mechanism, you can't read FLASH until you have written to it. see  How to fix AHB Read HardFault Error The User's Manual mentions the reading and writing operation in UM11126 chapter 5.7.13: When writing, parity is automatically computed and stored alongside user data. When reading, data and parity are used to reconstruct correct data, even in the case of a 1-bit error. When reading an erased location, an uncorrectable error is flagged. Use the “blank check” command to test for successful erase. The LinkServer debug in MCUXpresso IDE takes some precautions to avoid this problem while programming the FLASH before starting a debug session. That’s the reason we can see erased memory state in debugger memory view window, Admittedly, this is something not really pre-eminent in the documentation. The only reference we could spot is in UM11126. See below: “ The selected pages are checked for the erased condition (all 0 including parity)” Thanks for the valuable comment from Radu Theodor Lazarescu. LPC55xx
查看全文
LittlevGL 在I.MXRT上的移植说明 Littlevgl is a very good lightweight GUI software, which is convenient to use in MCU environment. This document describes how to port in I.MXRT environment, and how to modify LCD resolution and memory size in current SDK. Industrial
查看全文
How to port yaffs2 for MQX The document describes how to port yaffs2 file system for MQX. The detailed porting user guide can refer to the attached doc which use TWR-K70F120M as example. The reference code can be found in the attached source code package. Now, the yaffs2 for MQX can support NFC and non-NFC at the same time, the only difference is NAND driver. For NFC, you should use NFC driver and for non-NFC, you should use softnand driver. In yaffs2 porting package, include the files which should be modified in MQX release package. user_config.h should be placed at \config\platform name\ init_nandflash.c should be placed at \mqx\source\bsp\platform name\ \nandflash is the NAND driver, should be at \mqx\source\io\ \yaffs2 is the yaffs2 porting codes should be at the root directory of MQX release package softnand2K.c is the NAND driver for non-NFC(simulated by flexbus).
查看全文
Adeneo Embedded - Optimizing ARM Cortex-A9 Support.pdf A discussion of random hangs and other issues using Windows Embedded Compact on Freescale i.MX6 application processor and how they were solved. This white paper is about the investigation and shares some of our discoveries. All information in this document applies to Windows Embedded Compact 7 and 2013 as well as all variants of the i.MX6.     A discussion of random hangs and other issues using Windows Embedded Compact on Freescale i.MX6 application processor and how they were solved. This white paper is about the investigation and shares some of our discoveries. All information in this document applies to Windows Embedded Compact 7 and 2013 as well as all variants of the i.MX6.    
查看全文
Baremetal code examples using FRDM-K64F For those of you interested in starting up designs with K64 and KDS here you will find basic baremetal examples with detailed step by step guides explaining which registers to configure, they also include Reference Manual extracts to make it easier to understand and learn how to do so for those unfamiliar with Kinetis devices.   The rar files include document and code example. I hope all  you find them useful.     K64F-GPIO K64F-Interurpt K64F-UART K64F-ADC K64F-PWM General Re: Baremetal code examples using FRDM-K64F I am new to the Bare metal programming.. i have TWR K60 board with me,IAR setup  done in my pc how to talk to board,what drivers i need to install, help me how to start,develop the code.. kindly please help me. Re: Baremetal code examples using FRDM-K64F can i do mutithreaded  progaramming in K60 programming. Re: Baremetal code examples using FRDM-K64F nothing in any app note on how to get flash writes to ACTUALLY WORK.  NOTHING in the documentation to tell me why my flash writes FAIL with ACCERR.  Cannot write, CANNOT erase but can do both with the debugger. Re: Baremetal code examples using FRDM-K64F I am having real problems loading these examples using KDS 3.2.0. on SuSE Linux leap 42.1 I can download and run all the KDSK projects no problem, but when I try to import these (specifically the interrupt one) into a blank workspace all goes well until I try to debug using openOcd cmsis-dap, which I was using in the KDSK examples.  It tells me the program is missing.,  Yes, it does not appear in the debug configurations listing. Anybody have any idea how to rectify this?  It is the only way I have of debugging, no P&E or segger debug tools. cheers, Nigel Re: Baremetal code examples using FRDM-K64F Hi David, Thanks for your help. Actually I don't really any specific example. I just need one "bare metal" that is working with KDS 3.2.0. Perhaps you know where I can find one? Anyway I'll try to build something form scratch. Regards, Olivier Re: Baremetal code examples using FRDM-K64F Hi olivier, Just did quick test. The GPIO demo is standalone (not dependent on KSDK) and was build and compiled using the KDS_2.0.  If you have the "old" KDS_2.0 it will compile cleanly. I don't know if author is going to update these to most recent KDS or not. Regards, David Re: Baremetal code examples using FRDM-K64F I've tried to clean/rebuild the GPIO example in KDS with SDK 1.2.0 and I get an error: Building target: FRDMK64F GPIO.elf Invoking: Cross ARM C++ Linker arm-none-eabi-g++ -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections  -g3 -T "MK64FN1M0xxx12_flash.ld" -Xlinker --gc-sections -L"C:/Dev/TKS/NXP/GPIO/FRDMK64F GPIO/Project_Settings/Linker_Files" -Wl,-Map,"FRDMK64F GPIO.map" --specs=nano.specs -o "FRDMK64F GPIO.elf"  ./Sources/main.o  ./Project_Settings/Startup_Code/startup_MK64F12.o ./Project_Settings/Startup_Code/system_MK64F12.o   c:/freescale/kds_v3/toolchain/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi/lib/armv7e-m/fpu\libg_s.a(lib_a-exit.o): In function `exit': exit.c:(.text.exit+0x1a): undefined reference to `_exit' collect2.exe: error: ld returned 1 exit status makefile:52: recipe for target 'FRDMK64F GPIO.elf' failed make: *** [FRDMK64F GPIO.elf] Error 1 Can you help me with this, please? (I've changed th G++ linker option from -nanolibc to --specs=nano.specs) Thanks Re: Baremetal code examples using FRDM-K64F Hi Sanjeev, Attached above in original post is KDS/KSDK PE baremetal project for frdm-k64f that uses two PWM channels (test_frdm-k64f_pe_ftm3_ch3.zip). One PWM is connected to Green LED and other to a pin on J2-pin 10.  They are inverse of one another and ramp from 0-100 % duty cycle. Regards, David Re: Baremetal code examples using FRDM-K64F Hi...please excuse me. Full on youngling here about this board...using it for a project of mine in Uni. So far, I have used this board to switch between the RGB LED when the interrupt switch is pressed, I understand how this works and what needs to be done to create this project....what gpio to include and also to include the interrupt and setup the different modules. My next step is to use PWM to increase/decrease the brightness of the on-board Blue LED. I have gone through your FRDM-K64F PWM file, with the pdf doc and also opened the project in KDS...Now, I kinda understand whats going on, but how do I integrate your idea/code/project into mine to use PWM to increase/decrease the brightness of the on-board blue LED ? I'm just drawing a blank... Can someone help me please? Thank you in advance for taking the time to help me.... Re: Baremetal code examples using FRDM-K64F Excellent !!! Thanks for this information. Best regards from Panama. Miguel Re: Baremetal code examples using FRDM-K64F the problem clear. i must fill the name of processor. once more question pedro, can u give me an example the uart to sending a value variable from ADC. unfornatelly, i can't find "put(...)" for variable data at FRDMK64F ADC.zip Re: Baremetal code examples using FRDM-K64F hiii pedro, i was debug the .elf with KDS2 using segger k64F, but can't done. it was appeared "problem occured, 'launching FRDMK64F debug' has encountered a problem. error in  services launch sequence. regards, Re: Baremetal code examples using FRDM-K64F Hello Pedro, 1. Is it possible to have a PWM frequency of 5KHz or Greater and have a variable PWM output of 0-100% duty with a resolution of greater than 12bits 2. Using your example, how would implement it? 3. If not possible in item# 1 please advise steps to implement it. Thanks, Cliff Re: Baremetal code examples using FRDM-K64F Very interesting. I am using FRDM_K64F. Where can I find same examples created with KDS, Processor Expert and KSDK bean (fsl_...).?? I am searching for an example instancing interruption with PE. Re: Baremetal code examples using FRDM-K64F GREAT!  Do You have a code example for I2C ?
查看全文
Adeneo Embedded - ARM Cortex-A9 Support.pdfの最適化 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> フリースケール i.MX6 アプリケーション プロセッサ上の Windows Embedded Compact を使用した場合のランダム ハングやその他の問題とその解決方法について説明します。 このホワイトペーパーは、調査についてであり、私たちの発見の一部を共有しています。このドキュメントのすべての情報は、Windows Embedded Compact 7 と 2013、および i.MX6 のすべてのバリエーションに適用されます。     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> フリースケール i.MX6 アプリケーション プロセッサ上の Windows Embedded Compact を使用した場合のランダム ハングやその他の問題とその解決方法について説明します。 このホワイトペーパーは、調査についてであり、私たちの発見の一部を共有しています。このドキュメントのすべての情報は、Windows Embedded Compact 7 と 2013、および i.MX6 のすべてのバリエーションに適用されます。    
查看全文
BCM Freescale I.MX6 SMARC 模块开发套件,包括 SMARC 模块、载板、电缆和电源适配器,并在板载 eMMC 上预装了操作系统 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 产品特点: 预装 Yocto OS 的 SMARC 开发套件 套件包括: (1)。REV-SA01 SMARC 评估载板,3.5 英寸 SBC 尺寸 (2)。SMA-IMX6QI 四核 SMARC 模块 (3)。电源适配器: 交流输入:100-240V 直流输出:5.0V (4)。电源线 (5)。Mini-USB 线缆 (6)。板载 eMMC 上预装操作系统 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 产品特点: 预装 Yocto OS 的 SMARC 开发套件 套件包括: (1)。REV-SA01 SMARC 评估载板,3.5 英寸 SBC 尺寸 (2)。SMA-IMX6QI 四核 SMARC 模块 (3)。电源适配器: 交流输入:100-240V 直流输出:5.0V (4)。电源线 (5)。Mini-USB 线缆 (6)。板载 eMMC 上预装操作系统 概述
查看全文
I.MX53 DDR3 Script Aid This is a tool can generate a DDR3 script easily for i.MX53 and only need input several parameters based on using DDR datasheet and system architecture. Please find i.Mx6DQSDL DDR3 Script Aid through below link. i.Mx6DQSDL DDR3 Script Aid Please find i.Mx6DQSDL LPDDR2 Script Aid through below link. i.Mx6DQSDL LPDDR2 Script Aid Please find i.Mx6SL LPDDR2 Script Aid through below link. i.Mx6SL LPDDR2 Script Aid Any questions are welcome! Re: I.MX53 DDR3 Script Aid As a convenience, I updated the document to add a tab for generating a script compatible with Lauterbach's TRACE32 software. As I don't seem to be able to attach it here, please feel free to contact me if you're interested. The changes are actually fairly simple: mem set 0x021b080c 32 0x00000000 # MPWLDECTRL0 PHY0 becomes: Data.Set 0x021b080c %Long 0x00000000 ; MPWLDECTRL0 PHY0 Comments are ';', use "Data.Set" to write to memory, 32-bit values are preceeded by %Long, 16-bit by %Short. (I also added comments to the MPWLDECTRLn registers in the script) Re: I.MX53 DDR3 Script Aid Hi LinWnag, Thank you for creating the link. It helps us. Best Regards, Satoshi Shimoda Re: I.MX53 DDR3 Script Aid An old DDR calibration tool can be found through following link. https://community.freescale.com/servlet/JiveServlet/download/322206-258321/DDR_Stress_Tester_V0.042.zip Re: I.MX53 DDR3 Script Aid Sorry, I am not the owner. As I know we don;t have such plan. Re: I.MX53 DDR3 Script Aid Hi  LinWang, Could you update DDR stress test tool for i.MX53 same as i.MX6? Best Regards, Satoshi Shimoda
查看全文
使用 SDK 1.6 映像从 SD/MMC 卡启动系统 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本应用说明介绍了如何使用非 PBL 平台的引导格式应用程序在 SD/MMC 卡中写入 u-boot。 使用 QorIQ 配置套件 (QCS) PBL 工具为 Corenet 平台 SD 启动生成 PBL 映像。 部署 Rootfs 文件系统以从 SD/MMC 卡启动内核和文件系统。 回复:使用 SDK 1.6 映像从 SD/MMC 卡启动系统 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我对 T1040RDB 的第 8 步感到好奇。在文档中您说: 对于 T4240/T2080/T1040 SoC: 更改偏移量 0xfd000 浏览到文件: u-boot-spl.bin 我的 T1040RDB_SDCARD 目录中只有以下文件: -rwxr-xr-x 1 jaket jaket 532652 Jan 23 11:45 u-boot.bin -rwxr-xr-x 1 jaket jaket 532652 Jan 23 11:45 u-boot-sd.bin -rw-r--r-- 1 jaket jaket 794796 1月23日 11:45 u-boot-with-spl.bin -rw-r--r-- 1 jaket jaket 794796 1月23日 11:45 u-boot-with-spl-pbl.bin 您的文档是否使用了旧版本的 SDK(我使用的是 V1.6.20140619)?或者我遗漏了其他步骤?
查看全文
Kinetis Design Studioによる拡張インライン・アセンブリ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> KDSユーザーの皆さん、こんにちは!   今日では、組み込みシステムではアセンブリ言語が根絶されつつあり、C/C++ などの他の代替手段が広く使用されています。   しかし、 C プロジェクトからでもMCUの「 骨子 」に到達し、そのレジスタとステータスフラグを直接操作する必要が生じることを私たちは知っています。いくつかのユースケースは次のとおりです。   - スタートアップコード - ブートローダー - タイムクリティカルなルーチン -ベンチマーク   アセンブリコードは "__asm()" スタイルを使用してインクルードするのが一般的です。しかし、アセンブリコードでC変数を使用したい場合はどうすればよいですか?または、Cプロジェクトからアセンブリサブルーチンを呼び出したい場合は?これは、GCCツールがプリインストールされているKinetis Design Studioで実行できます。   添付のドキュメントは、この拡張アセンブリ機能の概要と説明です。また、KDS v1.1.1で開発された2つのサンプルプロジェクトを含めています。KL25Z128およびK60DN512デバイス用。   これを手伝ってくれた Abigail Inzunza Lopezに感謝します。   これがお役に立てば幸いです! 全般 Re:Kinetis Design Studioによる拡張インライン・アセンブリ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、イーライ・ヒューズ: これらは確かに良いリソースです。共有してくれてありがとう!
查看全文
Optimizing ARM Cortex-A9 Support in Windows Embedded Compact by Adeneo Embedded Optimizing ARM Cortex-A9 support in Windows Embedded Compact     A Discussion of random hangs and other issues using Windows Embedded Compact on Freescale i.MX6 Application Processor and how they were solved By Adeneo Embedded Engineering Team Rev 1.0, November 2014 Summary Over the last year Adeneo Embedded has been confronted with reports of random processor deadlocks and operating system crashes from customers using our Freescale i.MX6 Windows Embedded Compact Board Support Package.   The random hangs and other issues surfaced while testing the devices comprehensively, i.e., regular CTK test passes did not bring out the failures to occur.   A dedicated team of senior engineers in Adeneo worked with a number of our key customers to analyze and solve the issues across the board. With the latest version of the Adeneo i.MX6 Windows Embedded Compact (7 and 2013) BSPs we are confident this has been achieved.   This white paper is about the investigation and shares some of our discoveries. All information in this document applies to Windows Embedded Compact 7 and 2013 as well as all variants of the i.MX6. Format of the investigation   Based on the problem reports from the field it was complex to identify a single component in a system as the culprit, so we decided to use a formal and broad process to investigate the situation.   A formal code review was done for the BSP code, Microsoft kernel code and customer application code; Lauterbach JTAG hardware debuggers were used to capture all available processor data at the time of crashes; Microsoft’s kernel team assisted with all questions around the Windows CE kernel; Customer’s engineering teams with their specific knowledge of their application developed test applications to replicate the problem more easily Freescale support engineers assisted with all questions around the silicon. Adeneo engineers redesigned the BSP from the ground and optimized it for i.MX6 and Cortex-A9 architecture    In summary, the collaboration of multiple companies, and more important, a diverse group of dedicated individuals with unique value add provided the comprehensive technical coverage to develop the solution to this complex problem History of the i.MX6 BSP   Starting point for the i.MX6 Windows Embedded Compact BSP were earlier BSPs for other application processors from Freescale like i.MX5x series and back to i.MX2x series. On the OS side the history goes back to Windows CE 5.   The good thing with Freescale application processors is that they share peripheral IP blocks across a range of processors, so developers can share and reuse a lot of code. This was very helpful in the beginning to get a BSP working on the new i.MX6 SoC and get projects started. However, the i.MX6 with its multi-core Cortex-A9 architecture which made is challenging to reuse the code designed for single core Cortex A8 or ARM9 CPUs.   In particular, cache management, multi-core support and memory configuration were the areas where existing Cortex-A8 and ARM9 code first was able to get enablement possible, but then failed in long-term stability tests. Cortex-A9 Architecture   The Freescale i.MX6 Application Processor is an implementation of the ARM Cortex-A9 and ARMv7 Instruction Set architecture. This powerful architecture provides a number of features to improve the processing performance, but requires special attention when developing system software.   The i.MX6 provides up to four cores in a symmetric multi-processing configuration under Windows Embedded Compact.   Some of the stability affecting features addressed during the investigation are:   Speculative load and execution Speculative table walks Branch prediction Out-of-order execution and instruction reordering Parallel internal busses Multiple internal buffers and caches Multi-core coherency L1/L2 cache operations Abort handling As part of our code review we identified shortcomings in existing code to correctly configure these features and take proper advantage of them. All code was verified with the ARM architecture documentation and updated to follow the latest recommendations by ARM. Freescale engineers helped to understand implementation details where ARM documentation is vague as it leaves some freedom to silicon vendors how to implement a feature.  All errata documents from Freescale, ARM and other IP vendors were reviewed, and we made sure all applicable fixes or workarounds got implemented in BSP or kernel code.   In discussion with customers we decided on a good working configuration for the i.MX6 processor that focuses on stability without compromising performance.   In multi-core configurations we updated the code to operate all available cores in the same configuration at all times. A critical area was power management code to reapply the same settings when coming back from low power states. Memory Configuration   Cortex-A9 provides a powerful memory management unit that allows it to implement a virtual memory system that operates the device in multiple modes, isolates application processes from each other and provides layers of protection and security.   Looking at the memory space, we have several types of memory with this architecture. We focused on:   Normal memory Device memory ARM architecture has a flat unified memory address space as compared to x86 architecture where we have a memory address space and an I/O address space. This means all our peripheral registers and other I/O addresses are mapped into the same address space together with RAM and ROM (memory-mapped I/O). By default, this is nothing new and not a bad design as it makes things easier for software and hardware developers. In previous versions of Windows CE and other OS all addresses where treated a normal memory and the only difference between RAM and I/O was to set the non-cache flag in the memory properties for I/O. For architectures up to Cortex-A8 this was enough to ensure a stable operation of a system.  In particular with Cortex-A9 speculative engines the legacy approach causes problems. While some speculative features of the cores can be disabled, speculative table walks (which implicitly do speculative loads) can’t be disabled – for Normal Memory. So with Cortex-A9 it is necessary to use the extended access permission features of the architecture and configure all I/O memory as device memory. Device memory amongst others has the no-execute flag set in its properties (XN flag), and the processor doesn’t touch it during speculative operations. Under heavy load and stress this becomes an issue as the processor does more speculative operations per time and the chance to touch I/Os grows. It was one of the main reasons for crashes and deadlocks.   For Windows CE, Microsoft introduced a new way for OEMs to report available memory to the kernel with Compact 7. However, since the issue described above is not an issue on x86 and older ARM architectures, the i.MX6 BSP inherited the old reporting style from its ancestors.   With the legacy memory reporting the OEM fills a memory mapping table with the information about available memory and provides that to the CE kernel during startup. The kernel then creates the initial MMU page table with a cached and a non-cached entry per memory block from the OEM. For the MMU everything is normal memory.   The new WEC7 model works with two tables, the old one for RAM and ROM, and a new one for I/Os (device table). All blocks in the device table are configured as device memory in the MMU and are protected then.   This sounds straight forward, but the devil is in the details. The new model changes the way BSP code can use address translation during the early boot phase. Functionality in the startup code and the KITL component had to be updated in order to work with the new model and allow parameter transfer from boot loader code to OAL code. It is also not well documented and required kernel code reviews and discussions with Microsoft kernel engineers to fine tune this part of the code and optimize it for i.MX6. Another issue was that internal SRAM of the i.MX6, which in the first place appears as part of the processor’s I/O space, and so ended up in the device table. However, the internal RAM is used in low power modes to run power-management code while external RAM is in self-refresh, so it has to be mapped as normal memory without the XN flag set. After all, it wasn’t a trivial piece of work. Synchronization Barriers   Due to the above listed enhancements in Cortex-A9 it is necessary to set synchronization points in the flow of operation at which the processor and all memory has a known state and is in sync. This is especially important when updating processor configuration or during context switches in the OS.   Through code reviews of OAL and kernel code and in discussions with Microsoft we updated the BSP to meet all ARM requirements and fine tune the interfaces between kernel and OAL to provide optimal performance. Errata   During the investigation we spent time on errata for the i.MX6 and its various IP blocks. BSP and kernel code where intensively reviewed for each erratum, if they are affected and a fix or workaround is necessary to be implemented.   As part of this we also looked at the all software implemented BSP for i.MX6 (by Freescale) and its change log to double-check that we didn’t miss anything.   Several critical errata were identified as missing in the code and implemented during the investigation. Three of the necessary code changes were in Microsoft kernel code and required a kernel update. Adeneo Embedded implemented these modifications in the kernel, tested the updated kernel in our test lab as well as with selected customers in the field, and then submitted the kernel change requests to Microsoft to formally release the update through the Windows Embedded Update mechanism. Cache Management   The i.MX6 implements the Cortex-A9 architecture with an internal L1 data and instruction cache and an external L2 unified cache. Internal L1 means the L1 RAM array is located inside the ARM MPCore IP block, and each Cortex-A9 core in the MP cluster has its own L1 cache. External L2 means the L2 RAM array is located outside the ARM MPCore IP block but inside the SoC and connected to the internal AXI bus. Both RAM arrays are not accessible through processor load/store instructions.   Cache memory allows the system to keep often used data in memory with faster access but this requires to synchronize cache memory and external SDRAM so that observers outside the processor-cache block can see data changes.   When configured as SMP cluster some of the necessary L1 maintenance is done by the hardware cache controller. Since we may have up to 4 cores each with its own L1 cache, and a multi-tasking operating system which may assign the same execution thread to different cores due to context switches, it is necessary that all cores have the same synchronized view of the memory. This is done in hardware through the coherency unit in the MPCore as long as single addresses are affected. If the L1 needs maintenance as a whole software has to handle it.   Software also has to handle all L2 cache maintenance operations.   Cache maintenance gets invoked by the kernel normally, but there are a few situations where device drivers or even application software has to request cache maintenance. In any case, the OAL gets these requests and executes them. All cache related code in the OAL was updated and redesigned to meet the ARM architecture requirements and collaborate with the kernel in an optimized way. Shortcomings Cortex-A9 support in the cache maintenance code and maintenance requests from drivers were another major source of instability in the initial BSP.   Some of the complications in this area are:     Optimize L1 code to take advantage of the available hardware support Maintenance requests that include L1 and L2 require a specific procedure to make sure all levels of memory are in sync Maintenance requests can come from multiple threads and CPUs in parallel – L2 code has to be reentrant and multi-core safe DMA controllers work with physical addresses and do not know about caches; when DMA operations are used drivers have to make sure to request the necessary cache maintenance. Some instability with USB, SD and video operations were related to bugs in this area.    Build and Testing   As we learned at the beginning of this investigation that the CTK BSP testing failed to identify these issues we also reviewed our testing approach and implemented improved procedures. A new component in our testing is the stability lab, where we provide a dedicated set of hardware together with IT infrastructure to automate tasks and log results. With approval from our key customers we transferred customer test applications and applications that helped reproducing the issues into more generic test applications and added them to our portfolio.   Another lesson learned is that knowledge of customer use cases is important. We restructured our testing to be closer to real world scenarios and integrate feedback from customers directly.   A number of times during the investigation concerns were raised that the build process or the tools may be the root cause for some issues. Test teams reported different results based on where and how an OS image was built. We analyzed the tool installation and update process and the process to install OS bug fixes from Microsoft, but conclusion was that these observations were red herrings. But we used the knowledge gained from this part of the investigation to improve the build lab in Adeneo Embedded. We enhanced our infrastructure and upgraded tools so that it is easier for us to switch between versions and QFE levels of Windows Embedded Compact and our BSPs. Commitment   This investigation was done over a period of about 8 months, and Adeneo Embedded put a committed effort into it to solve the problems. A core team of engineers worked fulltime on it while an extended group of engineers was available to support where needed (test, build, debugging, applications,..). The problems we had to solve here were not trivial; at times it was like a wild roller coaster ride.   But as a result we have a Freescale i.MX6 Windows Embedded Compact board support package by Adeneo Embedded with significantly improved quality and optimized for this system-on-chip. This brings out the benefits to all customers running Windows Embedded Compact i.MX6 and future CPU architectures on similar ARM cores on WEC7 and WEC2013. For more information email the Adeneo Embedded Support Team at [email protected] or visit our website at http://www.adeneo-embedded.com/ General
查看全文