Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
初めてのMQXLiteアプリケーションの作成 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 投稿者:ルイス・ガラビト アプリケーションエンジニア TICS, メキシコ 新しい環境で初めてアプリケーションを開発するために費やす時間は、かなりのものになる可能性があります。環境がどのように機能するかを理解し、この環境のアプリケーションを生成できるようにする必要があります。 このアプリケーション・ノートの目的は、開発者がフリースケールMQXLite RTOSで初めてのアプリケーションの開発を迅速かつ容易に開始できるようにするための知識を提供することです。 このドキュメントでは、開発者が基本的なフリースケールMQXLiteアプリケーションを作成するために理解しておく必要のある基礎を提供します。 このアプリケーション・ノートは、 Kinetis KL2 USBマイクロコントローラ ・ファミリ、特にKL25Z128VLK4マイクロコントローラに基づいています。この例では、Freescale Freedom開発プラットフォーム・ボード(FRDM-KL25Z) も使用されます。 アプリケーションノートの全文は添付されています。
查看全文
如何真正实现PT60的中断嵌套 最近在支持几个PT60的家电项目,遇到一个共同的问题,就是程序运行的时候,显示数码管会有不规律的闪烁。 几个项目都是以触摸TSI为核心的,对方工程师反应,如果把TSI的中断关闭就不会有闪烁现象。数码管的扫描程序是在MTIM的中断中完成的,经初步分析推测,应该中断时序错乱导致的问题。 因此我们想着这个应该用中断嵌套的方式可以解决。 中断嵌套的定义简单来说,就是当MCU正在处理一个低优先级的中断的时候,来了一个高优先级的中断,系统此时就会放下低优先级转向去执行高优先级的,完了之后继续回来执行低优先级的。 按照这个逻辑,我们应该只要将各个中断的优先级预先设好就没有问题了。项目一共用了四个中断TSI,RTC(这两个中断组合完成TSI扫描按键,是基于sam之前写的的算法),MTIM(数码管扫描),KBI(用作低功耗唤醒)。 因此,我们把MTIM的优先级设成最高,就应该不会再出现闪烁的现象了,但改完之后,结果依旧失败。   经过不断讨论以及查找数据手册,最终实现了,但不得不说PT60实现中断嵌套还是挺麻烦的。 我们一步一步来:   1.首先我们来看CPU是执行中断的顺序。其余步骤没有什么特别,关键就在于第2步。 2.我们来看这个I位的作用。当进入某个中断之后,这个I位就会被自动置位,也就是系统将整个interrupts都给关掉了,这么做的原因也就是为了让系统在执行某个中断的时候,不会被其他的中断给干扰打断。 那么这就是为什么我们会中断嵌套失败的根本原因! 3.因此,如果我们需要使用中断嵌套的话,那么就需要在每个中断程序里面添加这个清楚CCR寄存器I位的指令,asm cli。 4.因为中断嵌套被启用了,有潜在的风险会导致进中断前一些堆栈数据出错或者中断优先级出问题等,那么在中断程序的最后,我们再加一句话,让一切恢复正常就可以了 IPC_SC_PULIPM = 1;   经过以上步骤,中断嵌套就能够实现了。     但在这个过程中,遇到了几个问题,也和大家分享下 1.PT60的中断会自己嵌套自己: 手册中有提到,高优先级和同级中断都是可以抢占低优先级的。 我举个例子来说明: 现在有两个中断,1号中断--低优先级0级,2号中断--高优先级1级。 1号中断正在执行的过程中,此时2号中断过来打断了他,系统必然要先把2号中断执行完。之后再回去执行1号中断剩下的部分。但很不巧,此时新的1号中断又来了,就是说上一次的1号中断还没跑完,又被新的1号抢占了,也就是自己嵌套了自己,最后必然导致全部中断的时序都出现了问题。 这是一种潜在的隐患,我们的解决方法就是:让0级的1号中断一开始执行中断程序之后,让其把自身的中断等级提高一级,中断结束的时候在加上上面提到的恢复语句又变回0级。这样的话,我旧的1号中断(1级)还没执行完,新的一号中断(0级)即使来了,也无法抢占,必须乖乖的等着让旧的先执行完。下面这几条语句就是提高中断等级的,我们实验的时候让中断只有0和1级。   2.在执行asm cli指令之前必须要清除中断标志位: 接上,如果不清楚标志位的话就打开asm cli的话,那么系统就一直不断地让这个中断再进,也就是中断自己不断地在嵌套自己,最终把堆栈给压爆了,程序也就跑飞了。   东西很简单,但是确实值得注意。 附件是测试的程序,有需要的可以参考。  General
查看全文
P2020-MSC8156AMCRD: P2020-MSC8156 AdvancedMC™ Reference Design Block Diagram Features Block Diagram Board Design Resources Block Diagram The NXP® P2020-MSC8156 AdvancedMC™ (AMC) reference design is a multi-standard baseband development platform for the next generation of wireless standards such as LTE, WiMAX, WCDMA and TD-SCDMA. This AMC platform integrates the QorIQ® P2020 processor with its MSC8156 DSP A P2020 and MSC8156 mezzanine card provide the system building blocks to enable rapid prototyping systems Ideal for developing solutions for the next generation of wireless standards Features Key P2020-MSC8156 AMC Reference Design Features: Single width, full height AMC form factor QorIQ ®  P2020 processor Dual e500v2 cores at 1.2 GHz 1 GB of DDR2 (SOCDIMM) TCP/IP acceleration eSDHC USB MSC8156 DSP Six SC3850 cores, built on StarCore ®  technology, at 1 GHz each Multi Accelerator Platform Engine for Baseband (MAPLE-B) Programmable Turbo and Viterbi decoder Two banks of 512 MB 64-bit DDR3-800 Block Diagram Board Design Resources Legacy Designs
查看全文
BAN-N1928 MIFARE Beyond Access - 智能校园一体化解决方案 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> MIFARE ®在门禁领域占有 50% 的市场份额,但它的功能远不止于此。除了向员工和学生授予物理和逻辑访问权限外,MIFARE 还可以成为您的小额支付和忠诚度解决方案 - 集所有功能于一身。通过 NFC 功能,您的应用程序甚至可以读取数据并将新数据存储到 MIFARE 卡中。整体用户体验——只需轻轻一点。 观看视频演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> MIFARE ®在门禁领域占有 50% 的市场份额,但它的功能远不止于此。除了向员工和学生授予物理和逻辑访问权限外,MIFARE 还可以成为您的小额支付和忠诚度解决方案 - 集所有功能于一身。通过 NFC 功能,您的应用程序甚至可以读取数据并将新数据存储到 MIFARE 卡中。整体用户体验——只需轻轻一点。 观看视频演示 智能银行和智能零售
查看全文
LPCXpresso IDE - Latest Release : v8.2.2 To download installers for all platforms, please visit: http://www.nxp.com/lpcxpresso   For installation and migration hints and tips, please visit: Migrating to a new version of LPCXpresso IDE   Current release: LPCXpresso 8.2.2 (build 650) September 2016   Changes in this release include: Upgraded GNU tools to ARM launchpad GCC 5 update 2 Fixed issues with debugging FreeRTOS applications Fixed issue with startup code generated by the New Project Wizard for LPC177x_8x family Latest LP18xx/43xx LPCOpen packages included in Examples : https://community.nxp.com/community/lpc/blog/2016/09/02/lpc43xx-lpcopen-updates-are-here  New LPC8xx series "code bundles" added to Examples : LPC8xx family code example bundles  Previous releases: LPCXpresso 8.2.0 (build 647) July 2016   Changes in this release include: Upgraded GNU tools to ARM launchpad GCC 5 update 1 Updated supported C/C++ dialects in IDE preferences and wizards Fixed issue with optimization level of CM4/HardABI Redlib C library build Fixed issue with Redlib strncasecmp() function incorrectly matching for some input strings Corrected size of third RAM bank from 32KB to 16KB on LPC1820, LPC1810 and LPC18S10 Fixed issue causing some peripheral registers not to be displayed debugging LPC5411x MCUs Target CPU automatically selected if possible when debugging multicore MCUs, based on project's CPU settings New "Resume all" and "Pause all" buttons for multicore debug sessions Enabled disassembly view to show opcodes by making GDB alway return opcodes when CDT requests disassembly information. Fixed backtrace issue when debugging inside interrupt handlers Fixed issue with IDE failing to use selected GDB when debug launch configuration modified to use different executable Resolved Mac OS X specific issue with USB reenumeration which could cause a Linkserver crash Fixed issue where flash driver could start with incorrect XPSR and improved error reporting Added support for additional devices in SPIFI flash drivers Added SPIFI flash driver for use with LPC40xx family (see FAQ: LPC40xx SPIFI Flash Driver ) Updated LPC-Link2 CMSIS-DAP firmware to allow SWO Trace and power measurement to run at the same time. Also to provide an alternative firmware variant that provides higher priority for serial-VCOM data Fixed issue with SWO Trace which could trigger IDE crash if trace collected for long period of time Improved SWO Performance Counters view Fixed a Power measurement buffering issue which could result in upto 20 samples per 3k being overwritten with newer data.   LPCXpresso 8.1.4 (build 606) Mid March 2016   Changes in this release include: Fixed issue with some debugger writes to memory silently failing LPCXpresso 8.1.2 (build 603) March 2016   Changes in this release include: Fixed issue with IDE failing to boot debug Linkserver on certain non-English Windows variants Fixed issue triggering GDB to occasionally crash when debugging interrupt handlers Upgraded Eclipse to Mars SR2 (4.5.2) and CDT 8.8.1   LPCXpresso 8.1.0 (build 597) February 2016   Changes in this release include: Upgraded GNU tools to ARM launchpad GCC 5 Added support for LPC5411x devices Updated LPC-Link2 CMSIS-DAP firmware, providing probe serial number support and additional power measurement functionality Support for debugging via multiple LPC-Link2 probes concurrently using the latest CMSIS-DAP probe firmware All Cortex-M debug connections are now made via Redlink LinkServer Project wizard mechanism updated to add -fno-common compiler option and -print-memory-usage linker option to new projects IDE no longer compares Freemarker linker script with a linker script created by the pre-LPCXpresso IDE v7.90 linker script generator Makefile projects now correctly save MCU settings, including memory configuration and flash drivers (required for debugging) "Average Power" view added to compliment existing "Power Measurement Tool" view (for use with latest CMSIS-DAP firmware on LPCXpressoV3 boards) Fixed issue with GUI / command-line flash programmer when programming images with certain complex layouts Fixed issue when connecting in attach mode to LPC18xx/LPC43xx projects that use the Generic SPIFI flash driver Old SPIFI flash drivers for LPC18xx/LPC43xx removed and replaced by copies of the Generic SPIFI driver Documentation restructured, splitting the old User Guide up into several manuals Resolved issues with LPC-Link1 booting on Mac OS X 10.11 El Capitan.The use of Mac OS X 10.11.3 or later is recommended LPC-Link2 Redlink firmware is no longer provided or supported. Use the default CMSIS-DAP firmware instead "Red Trace" (SWO Trace via Red Probe+) is no longer supported. Use SWO Trace via LPC-Link2 instead   LPCXpresso 8.0.0 (build 526) November 2015   Changes in this release include: Upgraded Eclipse to Mars SR1 / CDT 8.8 (plus Java 1.8) Upgraded GNU tools to ARM launchpad GCC 4.9 update 3 Support for multiple flash drivers within a single project Generic SPIFI flash driver source project debug build fixed so that it will execute on parts with internal flash (and less RAM) SWO ITM Trace Console View added to provide printf support via ITM Stimulus Port 0 Fixed an issue triggering error dialogs when the "Terminate All" option was used for non-multicore debug sessions Updated Redlink server/CMSIS-DAP LPC-Link2 firmware to support ISP reset of target MCU (requires target hardware support) Restart button now enabled on Mac OS X by default Note: Restart workaround on Mac OS X (due to an issue with GDB) may leave an unknown "thread" in the debug view - hit terminate again to remove this. Last release to support LPC-Link2 Redlink firmware. Use the default CMSIS-DAP firmware instead Last release to support "Red Trace" (SWO Trace via Red Probe+). Use SWO Trace via LPC-Link2 instead   LPCXpresso 7.9.2 (build 493) September 2015   Changes in this release include: Various fixes and improvements for  Freemarker linker script templates: Fixed link templates for LPC29xx and LPC3xxx Added '__base...' symbols for each memory region Fixed reporting of template errors in headless builds Corrected base address of SRAM2 block for LPC1517/47 Fixed issue with multicore symbols being defined by the IDE for non-multicore parts in some circumstances Improved handling of debug termination to allow target to clean up Instruction trace and SWO trace updated to avoid conflicts when both are trying to use DWT comparators SCT code generation updated to support latest LPCOpen register names Fixed rare issue with creating activation serial number on Linux hosts The use of LPC-Link2 Redlink firmware is now deprecated, and support will be removed in a future LPCXpresso IDE release. Use the (now default) CMSIS-DAP firmware instead The use of "Red Trace" (SWO Trace via Red Probe+) is now deprecated, and support will be removed in a future LPCXpresso IDE release. Use SWO Trace via LPC-Link2 instead   LPCXpresso 7.9.0 (build 455) July 2015   Changes in this release include: Initial support for Windows 10 Upgraded GNU tools to ARM launchpad GCC 4.9 update 2 New Generic SPIFI flash driver mechanism, which will autoconfigure based on SPIFI device detected in target system Enhanced managed linker script template mechanism Known as Freemarker linker script templates Simplifies projects which relocate code from Flash to RAM Support for generating LPC MCU vector table checksums directly in the image, using the startup file and linker script "Active Config" is now the default for the indexer Fixes to Multicore projects Fixed data sections placement Slave image now has bss and noinit sections removed, as they are not required Fixed an issue that was preventing MTB trace with LPC82x parts Extended CMSIS-DAP JTAG support (for Cortex-M parts) to include Keil ULINK2/ULINK-ME probes   LPCXpresso 7.8.0 (build 426) June 2015   Changes in this release include: New SWO Interrupt Trace Graph and Table views (Pro Edition only) LPC-Link2 will now soft-boot with CMSIS-DAP rather than Redlink firmware by default Improved selection of JTAG vs SWD connections - requires launch configurations to be recreated Fixed an issue with flash programming occasionally failing to initialize or complete Fixed an issue with debugging of LPC11A parts through LPC-Link2 Fixed a problem with semihosting output for C++ projects Fixed an issue with reading and displaying unaligned data from the target Fixed an issue with making an attach-only debug connection Fixed an IDE hang if resuming a debug session mid-way through editing a peripheral register Performance improvements when displaying registers Optimized display of Peripherals when editing fields or registers It is now possible to add miscellaneous command-line options to the GUI flash programming dialog Fixed an issue with the reset target option not working when flash programming an AXF file Added path when disambiguating Launch Configurations Wizards now generate liblinks.xml 'smart update' file in library projects, which will still work after a project is renamed Code generated by LPCOpen project wizards now calls SystemCoreClockUpdate() in all cases, not just when linking to a board library For multicore-capable systems an LPCOpen project wizard-generated main.c now only calls Board_Init() for a master core and not for slaves. LPC43xx wizards now generate code using new-style multicore defines Fixed an issue with SymbolViewer not being able to display source for C++ symbols De-cluttered the toolbar by removing the duplicate quickstart toolbar (this can be re-enabled using the User Interface Enablement preferences)   LPCXpresso 7.7.2 (build 379) March 2015   Changes in this release include: Added support for LPC18Sxx and LPC43Sxx parts Upgraded Eclipse to Luna SR2 (4.4.2) and CDT 8.6 Added Technology Preview of SWO Trace support with LPC-Link2 (Redlink) Further major improvements to Flash Download performance Added "Terminate, Build and Debug" Quickstart button SPIFI flash drivers now check for recognised parts CMSIS-DAP support extended to allow multi-core and JTAG debug connections (where supported by probe implementation) Fixed issue with managed linker script for multi-core projects which caused misalignment of slave data section Added support for M4 multi-core projects to use HardABI floating point variant Redlib realloc() fixed to handle heap memory becoming exhausted The LPCXpresso54102 board Power measurement tool is now included   LPCXpresso 7.6.2 (build 326) February 2015   Changes in this release include: Fixed managed linker scripts for GCC 4.9 NewlibNano library names Stopped tracking project selection in Symbol Viewer Added toolbar button for hide/show Red Trace views. Note that a restart of LPCXpresso is required after showing these views before Red Trace can be used. Fixed problem with MCU settings not being saved if changed by using the Quickstart Panel's Edit project settings button Display target chip and core type alongside executable name in Debug View   LPCXpresso 7.6.0 (build 321) January 2015   Changes in this release include: Upgraded GNU tools to ARM launchpad GCC 4.9 Significantly improved flash programming performance across all Cortex-M targets and debug probes Support for additional SPIFI flash parts based on latest LPCSPIFI Library v1.03 Added new Symbol Viewer feature to display the symbols in an object/library/executable Redlink firmware enhanced to improve performance and provide bridging capabilities similar to latest CMSIS-DAP Managed linker scripts now contain start and end symbols for all data and bss sections Improved highlighting of changed registers when single stepping Change colors of stub console messages - dark yellow for warnings and green for information Added support for m0 small-multiplier Redlib now implements single precision fmodf() in math.h Redlib free() will now coalesce with any consecutive free blocks Fixed problem with assembler -D option when selecting No library headers Fixed issue with Memory Configuration Editor when merging memory blocks during import Fixed issue with semihosting SEEK operation (affecting Redlib and Newlib fseek()) always resetting to the start of the file Fixed linker script generation for Internal builder Fixed display of second core index for LPC5410x part (from 16->1) Fixed Build All Projects if no project selected Fixed target connection sequence to avoid timeout when downloading very large applications   LPCXpresso 7.5.0 (build 254) November 2014   Changes in this release include: Upgraded Eclipse to 4.4.1 ('Luna SR1') and CDT to v8.5.0. Upgraded GNU tools to ARM launchpad GCC 4.8 update 3. Added support for LPC5410x devices. Default optimisation level reverted to -O0 (rather than -Og) for Debug builds. LPC18/43 project wizards now provide access to Memory Configuration Editor. Add ability to Merge memory configurations and join contiguous memory blocks in Memory Configuration Editor. Enhanced link-time-optimisation (LTO) options. Disable "Set library type" on projects where it is not applicable. Added a default workspace location for Linux. Redlib string.h functions extended to include implementations of (non-ANSI-standard) strcasecmp() and strncasecmp(). Fixed very rare cause of hard fault in Redlib malloc(). Prevented changing Peripheral registers while target is running. Fixed a problem preventing debug display of arrays within a structure within a union. Fixed issue with viewing of byte-sized peripheral registers, such as CM3/CM4 NVIC priority registers. Fixed issue with writing to byte-sized variables/registers. LPCXpresso 7.4.0 (build 229) September 2014   Changes in this release include: Support for LPC82x family. Upgraded to latest Eclipse release (4.4 'Luna') and CDT 8.4. This fixes a number of display problems with complex datastructure variables. Several improvements have been made to the Opcode display in the disassembly view. Opcodes can be displayed by right-clicking in the disassembly view margin and selecting 'Show Opcodes'. Eclipse Luna requires Java 7, which is installed on all platforms in the 'jre' subdirectory. This is independent of the 'System' Java installation, which is not affected. Disabled inline editing of the Pre/Post build steps and forced editing via a dialog. Peripherals displayed in Memory View now display hexadecimal, decimal, and binary in hover for 'numeric' values. Tidied up the toolbar to remove little-used buttons (which are still available in the Quickstart panel). Added new preprocessor defines for multicore projects. LPCOpen Project wizards will now prepopulate the chip library name where possible. Cleaned up inconsistencies in various Redlib header files. Redlib memcpy and related functions now avoid use of unaligned LDR/STR instructions on Cortex-M3/M4. Fixed various single-precision Redlib math.h functions. Fixed a peripheral problem with LPC11U6x/11E6x GPIO word registers. LPCOpen code bundles are now shipped inside the Examples subdirectory, though users are recommended to check LPCware.com for the latest versions. Absolute rather than relative paths are now used in the debugger for breakpoints by default for new workspaces. The default make command is now 'make -r', which should reduce build times, particularly on Windows. Added new Quick Settings menu for changing a project's FP type. Fixed a flash programming issue for LPC15x7 parts. Fixed a flash programming issue for certain LPC21xx/22xx parts. Updated SPIFI flash drivers based on LPCOpen 'LPCSPIFI' library to use v0.07, adding drivers for more SPIFI devices Improved support for the 'Dark' Theme. Now possible to modify the start address of the heap without modifying linker scripts/templates Mac OS X 10.7 (Lion) is no longer an officially supported platform. LPCXpresso may continue to work on Mac OS X 10.7, but this can no longer be guaranteed. LPCXpresso is no longer tested on Mac OS X 10.7.   LPCXpresso 7.3.0 (build 186) July 2014   Changes in this release include: Upgraded GNU tools to ARM launchpad GCC 4.8 update 2 Run->Debug As... now works correctly for MCU targets Fix problem that caused CMSIS-DAP to not be available for some targets Correctly terminate Redlink Server after using the Flash Utility Updated LPC15xx startup code generated by new project wizards to match interrupt handler names used by LPCOpen. LPC43xx M0 startup code no longer references systick (which is only implemented on M4 cpu in LPC43xx MCUs, not M0 cpus). Fixed issue with LPC43xx (Cortex-M0 basic) wizards failing to create startup file. Quickstart Debug button now respects the build setting in the launch configuration Additional LPC18/43 SPIFI flash drivers supplied, based on LPCOpen lpcspifilib. C Library memory allocator no longer checks new heap end against current stack pointer. New "boot_link1" and "boot_link2" scripts available on all platforms for downloading probe firmware from command line. Peripheral rendering "Refresh" option now forces re-read from target. Peripheral register fix for LPC15xx GPIO port word pin registers.   LPCXpresso 7.2.0 (build 153) May 2014   Changes in this release include: Improvements to reliability of Redlink server connections Add __MULTICORE_type pre-processor symbol to compiler for multicore projects Project wizards now place default main() into projname.c rather than main.c On Mac OS X, prevent occasional hang during Debug Probe discovery On Windows, the debug drivers are now built with Visual Studio 2013 to increase compatibility with latest version of Windows. Remove crt_directory.xml to build parts database dynamically at runtime     LPCXpresso 7.1.1 (build 125) April 2014   This is a bug fix release that solves a problem found in the initial release of v7.1.0. Fixed in this release are: Fix problem affecting LPC-Link2 debug connections to Cortex-M0+ cores Fix regression preventing debugging with CMSIS-DAP Fix for a Red State UI regression which prevented users from graphically adding an output pin to a signal     LPCXpresso 7.1.0 (build 122) April 2014   Changes in this release include: Upgraded IDE to Kepler SR2 and CDT 8.3 Upgraded GNU tools to ARM launchpad GCC 4.8 update 1 Fixed problem with C/C++ indexer being disabled on startup Further reliability improvements with LPC-Link2 connections Default optimisation level is now -Og for Debug builds Improvements to Create Binary option to allow multiple commands (for example checksum the created binary) Improved NVIC/SCB peripheral displays Added preference to display peripheral registers with leading zeroes Added preference for the array "chunk" size in variable and expression views Fixed issue with instruction trace when restart carried out Redlib limits.h updated for when compiler configured to treat unspecified chars as signed (instead of default of unsigned) Redlib now implements integer only version of vprintf() as well as floating point compatible version The wrench overlay icon is now correctly displayed on a file/folder with local build settings Prevent a Redlink Server debug session on a target that is already being debugged Updated RAMFUNC definitions provided by cr_section_macros.h Note: Due to the imminent discontinuation of support by Microsoft, Windows XP is no longer an officially supported platform. LPCXpresso may continue to work on Windows XP but this can no longer be guaranteed. LPCXpresso is no longer tested on Windows XP.   LPCXpresso 7.0.2 (build 102) March 2014   Note - there is a know issue with the indexer in v7.0.2. This can be fixed by a simple change to a configuration file. For details see here.   Changes in this release include: Fixed problem with setting breakpoints on Windows with source paths containing spaces Fixed problem with Memory Configuration editor losing changes Debugging of LPC12xx and LPC11A02/LPC11A04 are now supported with LPC-Link2 mproved reliability of LPC-Link2 when downloading large images SCT code generator version updated to 2.6: switched from using register names that are undocumented on some parts, e.g. CAP_L[0] to CAP[0].L. Users should regenerate their SCT code Managed linker script support for placing specific functions into RAM Fixed display of memory if first displayed when target is executing   LPCXpresso 7.0.0 (build 92) February 2014   Major new release with features including: Support for latest NXP MCUs (including LPC1500) New release of the GNU compilers – v4.8.3. Includes new ‘general’ optimization level, -Og. This new optimization level, aims at providing fast compilation, a superior debugging experience and reasonable runtime performance. Adds Link Time Optimization (LTO). This allows all the different compilation units that make up a single executable to be optimized as a single module (not suitable for debugging). Inclusion of a new small-footprint variant of the Newlib C and C++ library, known as NewlibNano. Use of this library can result in significantly smaller code size, especially of C++ applications. Note that further details on the use of these new options can be found in the compiler documentation that is provided in the IDE help system.] New release of the base Eclipse IDE – Kepler (v4.3). The Managed Linker script mechanism has been extended to support the features of new GNU compiler. 'New project' wizards can now invoke import wizards directly to allow importing of library projects required in creating of new project. gdbserver debug connections enabled -> Enables use of Segger J-Link.   LPCXpresso 6.1.4 (build 194) January 2014 Changes in this release include: Added support for LPC11U6x. Fixed profile and interrupt trace on LPC13xx (12-bit ADC) parts Fixed regression introduced in 6.1.2 where a wizard-generated dual-core slave startup file failed to compile Removed display of CRP option in the wizard for creating dual-core slave apps Fixed various file resource leaks in the IDE; ensure temporary files are cleaned up on exit Fixed linker script generation for LPC1102/1104 Startup files fixed for various parts to prevent name mangling issues in C++ projects Corrected flash driver references for certain LPC11A, LPC11E, LPC11xxLV parts Redlink connections now display correct debug protocol in debug log In project wizards, LPCOpen wizards are listed first if available LPCOpen project wizards for LPC13xx, LPC175x_6x, LPC177x_8x, LPC407x_8x now provided LPCOpen packages can now be browsed from the Import Project page CGU related updates to LPC18/43 CMSIS driver libraries (Windows) Rebuilt version of make provided (Linux) Added new udev rules for CMSIS-DAP probes   LPCXpresso 6.1.2 (build 177) December 2013 Changes in this release include: Added support for LPC11x37H parts including support for IOHandler. Added LPCOpen V2 project wizards for LPC18 and LPC43 families Fixed issue where not all slaves were displayed in the linker properties of a MultiCore project Added missing breakpoint/watchpoint menu items while debugging in the Develop perspective Fixed issue where Watchpoints not trapping with Redlink Fixed issue where Hard fault not trapped / VectPC updated with Redlink Fixed issue with Cycle count registers broken on LPC43xx using an LPC-Link2 Fixed failure of LPC12 project wizards to set "__DISABLE_WATCHDOG" symbol On Windows 8, use the LPC-Link1 WinUSB driver instead of HID   LPCXpresso 6.1.0 (build 164) Late October 2013 Changes in this release include: Introduced Red Trace SWV support for Red Probe+ Fixed issue connecting to a third core when debugging LPC4370 Extended range of prebuilt LPC18/43 SPIFI flash drivers Fixed problem with Watchpoints not being cleared Corrected debug startup with Red Probe+ when more than one FTDI-based device is present Fixed possible null pointer exception after editing memory configuration Fixed lost highlight when using keyboard to scroll through MCU selection Windows) Updated dfu-util/libusb to support additional USB3 hubs   LPCXpresso 6.0.4 (build 159) Early October 2013 Changes in this release include: Added support for ULink-2 CMSIS-DAP interface Fixed display of C++ global variables in Expression view Prevents use of JTAG for CMSIS-DAP connections (it is not currently supported) Added missing launch shortcut preventing display of correct launch config in Run/Debug Settings dialog Stopped display of debug probes when deleting JTAG configuration Fixed display of multiple debug probes reported by Redlink Server "Quickstart->Build all" now works when no projects are selected Fixed problem with memory configurations not being stored correctly Fixed Redlib problem with free() of null pointer Added c++0x and gnu++0x C++ compiler dialect options   LPCXpresso 6.0.2 (build 151) September 2013 LPCXpresso Forum
查看全文
DES-N1849 多核 ARM ® v8 QorIQ 处理器中的异常处理 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 了解ARM®v8异常水平处理(ELO至EL3),以及基于最新的QorIQ LS系列处理器的通用中断控制器v3 (GICv3)逻辑在预封装的Linux SDK环境之外使用具有挑战性。 本次演示将介绍如何配置分发器(GICD)、再分发器(GICR)、CPU接口(ICC_*_EL*)和ARM内核,以处理专有外设中断(PPI)和软件触发的中断(SGI)。 它将用于嵌入式开发人员编写异常处理程序,以及被缩略词弄糊涂的任何人。 CodeWarrior将用于显示异常处理项目示例。 观看视频演示 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 了解ARM®v8异常水平处理(ELO至EL3),以及基于最新的QorIQ LS系列处理器的通用中断控制器v3 (GICv3)逻辑在预封装的Linux SDK环境之外使用具有挑战性。 本次演示将介绍如何配置分发器(GICD)、再分发器(GICR)、CPU接口(ICC_*_EL*)和ARM内核,以处理专有外设中断(PPI)和软件触发的中断(SGI)。 它将用于嵌入式开发人员编写异常处理程序,以及被缩略词弄糊涂的任何人。 CodeWarrior将用于显示异常处理项目示例。 观看视频演示 设计 | 软件与服务
查看全文
FTF-ACC-F1276.pdf This session will explain how Freescale can enable customers to develop 76-81 GHz short and long range radar applications using the MPC577xK MCU, it will explain the concepts of the radar algorithms, including practical aspects such as SDADC or MIPI CSI sampling, Chirp Generation, Data Compression, R,V FFT, Detection and Tracking algorithms, and the benefits of the new Freescale IP that can allow them to improve their system resolution and accuracy. In this session customers will take away a detailed understanding of how to develop fast modulation radar systems using the MPC577xK MCU including the BOM cost advantages it also brings. This session will explain how Freescale can enable customers to develop 76-81 GHz short and long range radar applications using the MPC577xK MCU, it will explain the concepts of the radar algorithms, including practical aspects such as SDADC or MIPI CSI sampling, Chirp Generation, Data Compression, R,V FFT, Detection and Tracking algorithms, and the benefits of the new Freescale IP that can allow them to improve their system resolution and accuracy. In this session customers will take away a detailed understanding of how to develop fast modulation radar systems using the MPC577xK MCU including the BOM cost advantages it also brings.
查看全文
An Overview on QorIQ Trust Features for Securing Embedded Systems EUF-NET-T1742 - This session provides an overview on the security technologies NXP offers to secure a system through two complementary technologies: 1) the Trust Architecture already present in QorIQ P- and T-series including Secure Boot and 2) the TrustZone® technology introduced in the ARM®-based QorIQ LS series processors. We will outline the motivations for offering these technologies in embedded processors and show how they can be complementary for making a final system “Trustable” in the sense it does what its users and suppliers expect it to do. EUF-NET-T1742 - This session provides an overview on the security technologies NXP offers to secure a system through two complementary technologies: 1) the Trust Architecture already present in QorIQ P- and T-series including Secure Boot and 2) the TrustZone® technology introduced in the ARM®-based QorIQ LS series processors. We will outline the motivations for offering these technologies in embedded processors and show how they can be complementary for making a final system “Trustable” in the sense it does what its users and suppliers expect it to do.
查看全文
FTF-IND-F1348 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本课程基于 FRDM-K22F 开发板和多功能新型 Arduino 兼容 Shield,讨论如何实现:使用 Kinetis K2 和 LS Research 预认证的 Wi-Fi(TiWi-CW)和 BLE(SaBLE-x)无线模块的物联网应用。使用 TiWiConnect LIFT 软件协议流式传输到云端(大大简化了软件开发)。使用与 Freescale Freedom 板连接的第三方 Pmod 兼容(I2C 和 SPI)板进行传感器和 I/O 扩展。使用加速软件开发和预认证无线模块,加快您的物联网产品的上市时间。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本课程基于 FRDM-K22F 开发板和多功能新型 Arduino 兼容 Shield,讨论如何实现:使用 Kinetis K2 和 LS Research 预认证的 Wi-Fi(TiWi-CW)和 BLE(SaBLE-x)无线模块的物联网应用。使用 TiWiConnect LIFT 软件协议流式传输到云端(大大简化了软件开发)。使用与 Freescale Freedom 板连接的第三方 Pmod 兼容(I2C 和 SPI)板进行传感器和 I/O 扩展。使用加速软件开发和预认证无线模块,加快您的物联网产品的上市时间。
查看全文
MQX FlashXドライバー – FlexNVMの書き方は? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 1. FlexNVMとFlashXに関する基本的な質問と回答をいくつか紹介します。 1.1 FlexNVMとは何ですか? FlexNVMは、データフラッシュとして、エミュレートされたEEPROMの不揮発性ストレージとして、または両方のオプションの組み合わせとして使用できるフラッシュメモリの追加の個別のブロックです。このドキュメントでは、最初のオプションであるFlexNVMが単にデータフラッシュとして機能することに焦点を当てます。 FlexNVMは、部品番号の専用箇所に「X」を含むMCU部品に含まれています。例えば: MK64FX512VMD12 には、1 ブロック (512 KB) のプログラムフラッシュと 1 ブロック (128 KB) の FlexNVM が含まれています。 MK64FN1M0VMD12 には、2 ブロック (各 512 KB) のプログラムフラッシュのみが含まれています。 FlexNVMとフラッシュブロックの詳細については、MCUリファレンスマニュアルを参照してください。たとえば、「フラッシュメモリサイズ」の章です。 1.2 FlashXとは何ですか? MQX FlashXドライバは、内部フラッシュへの書き込みと内部フラッシュからの読み出し機能を提供します。残念ながら、FlexNVM メモリはデフォルト ステートでは部分的にしかサポートされておらず、一部の BSP ではエミュレートされた EEPROM の設定と機能が実装されています (flexnvm サンプル コード)。詳細については、c:\Freescale\Freescale_MQX_4_2\doc\mqx フォルダの MQX_IO_User_Guide.pdf を確認してください。 1.3 FlexNVMを搭載したマイコンを搭載した自分のボードで、FlexNVMのないマイコン用BSPを使用できますか? お勧めしません。ただし、この BSP を独自のボード BSP のベースとして使用することができます。MQX_BSP_Cloning_Wizard_Getting_Started.pdfご確認ください。ドキュメントをC:\Freescale\Freescale_MQX_4_2\docフォルダにMQX_BSP_Porting_Guide.pdfおよびMQX_BSP_Porting_Example_User_Guide.pdfします。 1.4 KSDKプロジェクトでFlashXを使用できますか? 残念ながら、FlashXドライバはKSDKに実装されていませんでした。KSDKには、C90TFS/FTFxフラッシュファミリ用の独自の標準ソフトウェアドライバ(SSD)が含まれていますが、これはFlashXドライバの場合のような高レベルの抽象化レイヤーがない低レベルのドライバです。 2. FlexNVMをサポートするためのMQX FlashXドライバーのアップデート手順。 2.1これらのファイルをバックアップしてください: user_config.h、 .h 、init_flashx.c、flash_ftfl.c と flash_ftfe.cファイル。注: user_config.h、 .h および init_flashx.cBSPコードの一部です。 2.2 user_config.h で FlashX を有効にする定義によるファイル: #define BSPCFG_ENABLE_FLASHX 1 2.3 .h の更新ファイル: 2.3.1 MCUリファレンスマニュアルを確認し、必要に応じてBSP_INTERNAL_FLASH_BASE、BSP_INTERNAL_FLASH_SIZE、BSP_INTERNAL_FLASH_SECTOR_SIZEを更新してください。通常、FlexNVMのないBSPが自身のBSPのベースとして使用された場合は、BSP_INTERNAL_FLASH_SIZEを減らす必要があります。 2.3.2メモリマップでFlexNVMを定義する新しいマクロを追加します。例えば: #define BSP_INTERNAL_FLEXNVM_BASE 0x10000000 #define BSP_FLEXNVM_SECTOR_SIZE 0x400 #define BSP_INTERNAL_FLEXNVM_SIZE 0x00008000 2.4 BSPフォルダの init_flashx.c を更新します。 2.4.1 FlexNVMファイルブロックを_bsp_flashx_file_blocks[]テーブルに追加します。例えば:     データフラッシュファイルブロック { "dflash", BSP_INTERNAL_FLEXNVM_BASE, (uint32_t) (BSP_INTERNAL_FLEXNVM_BASE+ BSP_INTERNAL_FLEXNVM_SIZE - 1) }, パラメータは{ファイルブロック名、開始アドレス、終了アドレス}です。 注:これは純粋なソフトウェアインターフェースです。アドレスの範囲は、物理フラッシュ ブロック パラメーターに合わせる必要はありません。必要に応じてファイルブロックを整理できます。 2.4.2FlexNVM BSP をベースとして非 FlexNVM BSP を使用していた場合は、KinetisX デバイスの HW ブロック マップを変更する必要があります。_bsp_flashx_init構造で_flashx_kinetisN_block_mapを_flashx_kinetisX_block_mapに変更してください。 2.5 flash_ftfl.c または flash_ftfe.c を更新するファイル: 2.5.1 お使いのMCUにFTFLまたはFTFEフラッシュメモリモジュールがあるかどうかをMCUリファレンスマニュアルを参照し、編集する適切なファイルを選択してください。 2.5.2FlexNVMメモリブロックを_flashx_kinetisX_block_map[]テーブルに追加します。例えば: { BSP_INTERNAL_FLEXNVM_SIZE / BSP_FLEXNVM_SECTOR_SIZE, (_mem_size) BSP_INTERNAL_FLEXNVM_BASE, BSP_FLEXNVM_SECTOR_SIZE }, // FlexNVMブロック パラメータは{number of sectors, start address, sector size}です。 注:これは、物理ハードウェアメモリブロックの説明です。アドレスの範囲は、物理フラッシュ ブロック パラメーターに適合する必要があります。 2.5.3次に、FlexNVMアドレスの問題を修正する必要があります。プログラムフラッシュとFlexNVMフラッシュはFTFE_FCCOBn FTFL_FCCOBnどちらも、FCCOB1..FCCOB3には、24ビット形式のアドレスが含まれています。したがって、FlexNVMアドレスを直接操作することはできません - FlexNVMベース0x10000000のため、24ビットに収まりません。 FTFL/FTFE モジュールでは、24 ビット アドレスの最上位ビット (ビット 23) がプログラム フラッシュと FlexNVM フラッシュの区別に使用されるように指定されています。たとえば、次のようなコードを使用できます。 FlexNVMフラッシュアドレスのときに23ビットを設定 IF(write_addr & BSP_INTERNAL_FLEXNVM_BASE)     { write_addr = write_addr |(1<<23);     }   そして、このコードを必要な関数に追加してから、command_array[]に書き込みます( command_array[] の内容はFTFL_FCCOBn/FTFE_FCCOBnレジスタの埋めに使用されます)。 FlashXサンプルコードの基本的な作業には、少なくともftfl_flash_erase_sector()/ftfe_flash_erase_sector()およびftfl_flash_write_sector()/ftfe_flash_write_sector()関数を更新する必要があります。 2.6.これらの変更後、flash_demo.c で FlashX のサンプルコードを使用してみてくださいデフォルトのプログラムフラッシュファイルブロックの代わりにFlexNVMファイルブロックを開くだけです。例えば: #define FLASH_NAME 「flashx:bank0」 #define FLASH_NAME「flashx:dflash」 添付ファイルには、MQX4.2.0およびMK20DX72 MCUの変更例があります。 3.フラッシュの書き換え方法 - 一般的な注意事項: フラッシュ・データは、プログラミングされる前に消去済みの状態にある必要があります。 ビットの累積的なプログラミング(より多くのゼロの追加)は許可されません。 FTFLモジュールとFTFEモジュールの両方の場合、整列されたフレーズ(通常は64ビット)でフラッシュをプログラムします。より小さなチャンク(バイト単位など)でプログラムが必要な場合、FTFLモジュールでは、推奨されていなくてもこのフレーズに書き込むことができます。ただし、FTFEモジュールは、同じフレーズに2回目の書き込みを行うとバス障害を引き起こします。したがって、すでに書き込まれたFTFEフレーズのデータを変更する方法を保存する方法は、セクター全体を消去してデータを書き換え直すだけです。そのため、FTFEモジュールにはioctlコマンドFLASH_IOCTL_ENABLE_SECTOR_CACHEを使用してください。セクタ キャッシュの割り当ては、フル セクタ書き込みと、デスティネーション領域 (フレーズに揃えられた) が空白の部分的なセクタ上書きの場合には必要ありません。 Re:MQX FlashXドライバ - FlexNVMの書き方は? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちはシュリダール、 FlexNVM の場合: flash_ftfl.cの_flashx_kinetisX_block_map[]テーブルも編集する必要がありますファイルを作成し、FlexNVMブロックの説明を追加します。 FlexRAM の場合: 電源を切る前にフラッシュ/クローズ機能を使用しましたか? FlexRAMの使用例については、c:\Freescale\Freescale_MQX_4_2\mqx\examples\flexnvmを参照してください。 EEPROM エミュレーションを有効にするまで、ターゲットの FlexRAM メモリ範囲は「標準」RAM のように機能します。 もちろん、FlexNVMメモリをデータフラッシュとして使用するか、エミュレートされたEEPROMとして使用するか、FlexNVMメモリを2つのセクションに分割して両方のオプションを使用するかを選択する必要があります(その場合、メモリ範囲はそれに応じて更新する必要があります)。 いずれにせよ、空のMCUをデフォルト設定のFlexNVMメモリはデータフラッシュとして、FlexRAMは「標準」RAMとして使用できます。エミュレートされたEEPROM(FlexRAM)を使用する場合は、FlexNVMメモリを設定する必要があります(Program PartitionコマンドおよびSet FlexRAM Functionコマンド)。flexnvm サンプルコードを参照してください...
查看全文
KSDK发布的内容 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Kinetis SDK v2 现已推出! Kinetis SDK v2 简介 KSDK 的第一步 如何开始使用 KSDK * 已发布示例列表: KSDK示例列表* 已发布文件清单: KSDK 文件清单* *以上所有源代码仅供示例使用。恩智浦不对用户应用程序中使用这些代码承担任何责任。 概述
查看全文
FreeRTOS 与 MQX RTOS 的快速概述 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> FreeRTOS 与 MQX RTOS 的快速概述 MQX实时操作系统是专为单处理器、多处理器和分布式处理器嵌入式实时系统设计的。飞思卡尔半导体公司在其微处理器中采用了该软件平台。这包括 Kinetis、Coldfire、PowerPC、ARC、ARM、StrongARM、xscale CPU。MQX RTOS 的主要特点是可扩展的大小、面向组件的架构和易于使用。 FreeRTOS 是一种流行的嵌入式设备实时操作系统内核,已移植到 35 种架构。它在 GPL 下分发,但有一个可选例外。FreeRTOS 占用空间非常小,开销很低,执行速度非常快。内核本身仅由三或四个 C 文件组成。最少 4-8k 字节闪存。 类似功能:[待完成] 任务、事件、信号量、互斥量、消息队列、空闲省电                                                                  Freertos 的独特功能: 1 任务通知:每个 RTOS 任务都有一个 32 位通知值,该值在创建 RTOS 任务时初始化为零。RTOS 任务通知是直接发送给任务的事件,可以解除对接收任务的阻塞,并可选择更新接收任务的通知值。 2 递归互斥锁:递归使用的互斥锁可以被所有者反复“获取”。直到所有者为每次成功的 xSemaphoreTakeRecursive() 请求调用 xSemaphoreGiveRecursive() 之后,互斥锁才会再次可用。例如,如果某个任务成功“获取”同一个互斥锁 5 次,则该互斥锁将无法供任何其他任务使用,直到该任务也将互斥锁“归还”5 次为止。 3 堆栈溢出钩子/通知:每个任务维护自己的堆栈。任务堆栈使用的内存在任务创建时自动分配,并由传递给 xTaskCreate() API 函数的参数确定大小。堆栈溢出是导致应用程序不稳定的一个常见原因。因此,FreeRTOS 提供了两种可选机制,可用于协助检测和纠正此类事件 4 延迟中断处理:从应用程序中断服务程序中使用,将功能的执行延迟到 RTOS 守护进程任务。提供了一种机制,允许中断直接返回到随后将执行挂起功能的任务。这使得回调函数能够与中断连续执行 - 就像回调在中断本身中执行一样 5 多个对象上的阻塞:队列集是 FreeRTOS 的一项功能,它使 RTOS 任务能够在同时从多个队列和/或信号量接收时阻塞(挂起)。队列和信号量被分组为集合,然后,任务不再阻塞在单个队列或信号量上,而是阻塞在集合上。 MQX 的独特功能: 1 基于所有权的资源破坏:[待完成] 2 名称服务:任务可以将一个 32 位数字与一个字符串或符号名称关联起来。MQX RTOS 将这种关联存储在名称数据库中,该数据库中的所有任务 处理器可以使用。数据库避免使用全局变量。 3 处理器间通信:应用程序可以在多个处理器上同时运行,每个处理器上都有一个 MQX RTOS 的可执行映像。图像使用由内存或通过处理器间通信的通信链路传输的消息进行通信和协作。每个图像中的应用任务不必相同,而且实际上通常是不同的。 4 看门狗:看门狗是可选组件,可让用户检测任务级别的任务饥饿和死锁情况。 5 任务队列调度:您可以使用任务队列来显式调度任务,或创建更复杂的同步机制。由于任务队列提供的功能很少,因此速度很快。应用程序可以在创建任务队列时指定先进先出 (FIFO) 或循环 (Round Robin) 调度策略。
查看全文
DAC PDB DMA Vybrid The attached project shows a configuration for the DAC and its functionality is explained in the below points: The PDB triggers the next DAC conversion. The DAC features an internal buffer (DAC_DATx) that contains that data to be converted. The DAC data to be converted is determined by  an internal pointer. This internal pointer increases or moves to the next element in the buffer on every PDB trigger The DAC uses the Data Buffer as normal mode. This means that the buffer works as a circular buffer. When the internal pointer reaches some point in the internal buffer, the DMA is triggered and it transfers the new data from an iRAM buffer to the DAC internal buffer. In this specific example the DMA treats the source as a circular buffer, because the source buffer size is 512 bytes but the destination (DAC_DATx) buffer is 8 bytes. The below figure represents the configuration of the example: The frequency of each output sample is determined by the source frequency of the PDB and the DACINT value. Sample_Output_Frequency =  Source_Frequency/ [(PDB_MULT * PDB_PRESCALER) * (DACINT + 1)] In the attached example the Bus Clock = 66MHz., PDB_MULT = 1 ,  PDB_PRESCALER = 128, DACINT = 63 For the 256 elements to convert the frequency of the output signal is 31.47Hz. (Sine Wave) VF6xx
查看全文
调试 Flash 脚本覆盖“保护内部闪存区域”设置 您好, 我们目前正在测试FRDM-S32K344上从App1到App2的应用程序跳转。 我们的应用程序布局如下: 应用程序1起始地址: 0x00400000 应用程序2起始地址: 0x00500000 为了进行调试,我们使用了启用闪存保护的独立调试配置。 调试App1时,内存保护范围配置如下: 0x00500000 到 0x005FFFFF(用于保护 App2) 调试App2时,内存保护范围配置如下: 0x00400000 到 0x004FFFFF(用于保护 App1) 然而,在通过调试配置进行编程时,我们发现即使已经配置了内存保护范围,受保护的闪存区域仍然会被擦除。 请问有人能解释一下以下问题吗? Flash Programmer 在擦除/编程操作期间是否应遵守配置的内存保护范围? 是否需要进行任何额外的配置来防止受保护的闪存区域被擦除? 有没有人成功地使用内存保护功能,在 FRDM-S32K344 上只编写一个应用程序的同时,保留另一个应用程序? 日志文件和 LD 文件已附上,供您参考。 我们正在使用板上 PE 调试器 任何指导或建议都将不胜感激。 谢谢! Re: Debug Flash Script Overriding "Protect Internal Flash Memory Area" Settings 你好@Avinpat123 我在相同版本的 S32 Design Studio 中进行了快速测试,以确保它能够正常工作。我使用了相同的设置——一个应用程序被强制使用 0x40_0000 地址,而 0x50_0000 地址区域配置为保留;第二个应用程序被强制使用 0x50_0000 地址,而 0x40_0000 地址区域配置为保留: 以下日志显示此配置已被应用: 而且我可以看到内存中的内容确实被保留了下来,所以它运行正常。 我从你的截图中看到你配置了地址范围,但是“保留此范围”复选框没有启用。问题不就出在这里吗? 此致, Lukas Re: Debug Flash Script Overriding "Protect Internal Flash Memory Area" Settings 你好 @lukaszadrapa 谢谢回复,是的,正如您所说,复选框确实是问题所在,现在一切正常了。
查看全文
为什么模型大小限制为 1 MB? 我在 MIMRT700(NPU 模型)上运行了 tflm_cifar10 示例中的模型。在构建程序时,我可以看到模型的大小及其对应的区域大小。  在许多情况下,该区域的大小为 1 MB。据我所知,该模型的大小上限为 1 MB。是这样吗? 我不明白这一点。以下是关于 MIMRT700 EVK 的信息。 我不知道模型在 MIMRT700 EVK 上保存在哪里。那么,区域大小的 1 MB 在哪里呢?这是模型大小的实际限制吗?或者,我们可以采用某些方法来扩大模型规模。 你对这个问题有什么看法吗?因为我试图部署一个更大的模型> 1 MB。我确实在等待您的回复。谢谢。 Re: Why model size is limited at 1 MB? @mayliu1  非常感谢。现在我明白了,我们可以通过设置区域大小来扩大模型的规模。 或者如果我想在外部存储器上运行更大的模型,我可以关注这个文档 https://docs.nxp.com/bundle/AN14700/page/topics/external_memory.html Re: Why model size is limited at 1 MB? 你好@nnxxpp, 非常感谢您关注我们的产品并使用我们的社区。 问:我不知道模型在 MIMRT700 EVK 上保存在哪里。那么,区域大小的 1 MB 在哪里呢?这是模型大小的实际限制吗?或者,我们可以采用某些方法来扩大模型规模。 你对这个问题有什么看法吗? 因为我试图部署一个比> 1 MB 更大的模型。 答:modeldata 显示的 1 MB 并非 RT700 的硬件限制。 这只是示例项目中使用的默认链接器分配。 对于较大型号,可在项目设置中调整此分配,若需要更多存储空间,也可使用外部 XSPI 闪存。 如需更多详细信息,请参阅此 AN14700 文档。 https://docs.nxp.com/bundle/AN14700/page/topics/introduction.html 因此,RT700 并非天生就仅限于 1 MB 型号。要支持更大的 NPU 模型,可以通过增加模型数据内存分配,或者使用相应的转换选项将模型放置在外部 XSPI 闪存中来实现。  希望对您有所帮助 顺祝商祺! 刘梅 Re: Why model size is limited at 1 MB? @mayliu1  我想重新讨论这个话题。现在我正尝试在RT700上部署更大的模型。下图是在用小型模型构建程序时捕获的。 我看到有 4 个内存区域: - QSPI_flash:外部存储器 - SRAM:我问过 chatgpt,它是用来存储程序运行时的数据的(例如 .data、.bss 等)。栈,堆)。是这样吗? - NCACHE_REGION:与 ktensorArena 相同(用于输入、中间输出和输出) - modeldata:用于保存模型权重 我在导入 SDK 示例时看到了内存配置信息。这意味着 SRAM、NCACHE_REGION 和来自 SRAM 的模型数据(7.5 MB)。 NCACHE_REGION 和 modeldata应该位于 0x2000_0000至0x2058_0000 ( 5.5 MB ) 可获得最佳性能(NPU 可访问的 SRAM 区域) 但 SRAM(名为 SRAM)的位置是0x20080000 (在第二张图片中) ==> 它也在0x2000_0000到0x2058_0000 的范围内。默认值约为 2.5 MB。这意味着NCACHE_REGION + modeldata应该小于 (5.5 - 2.5) = 3 MB。 我的模型大小约为 3.5 MB。除了可以将模型放在外部存储器上(这会导致推理时间更长)之外,我该如何配置内存,才能让我的模型(3.5 MB)仍然位于 NPU 可以访问的内存区域? 我很好奇我们是否可以缩小“SRAM”区域(在图像 1、2 中),或者我是否可以将其移动到 RAM 的另一个区域(7.5 - 5.5 = 2 MB - 图像 3 中的最后一个区域)? 我该如何估算“SRAM”区域的大小?在下面的图片中,它是 15560 字节。 不好意思,我的问题有点长。 Re: Why model size is limited at 1 MB? @mayliu1  早上好。 或许你错过了我上面提出的新问题。 Re: Why model size is limited at 1 MB? 嗨@nnxxpp , 很抱歉回复晚了。 如果您不介意的话,能否请您为您的新问题创建一个新的案例? 感谢您的理解与合作。 顺祝商祺! 5月 Re: Why model size is limited at 1 MB? 很高兴得知您的问题已经解决。 很抱歉回复晚了,感谢您的理解。 Re: Why model size is limited at 1 MB? @mayliu1  我的问题已经解决了。我们可以从 5.5 MB 区域中为 NPU 找到 SRAM。我将 modeldata 和 kTensorArena 放在 5.5 MB 的区域中,并且成功了。推理时间不错。 但如果你没有错过我的问题,我就可以尽快完成我的任务了。谢谢。 Re: Why model size is limited at 1 MB? 是的。祝您今天愉快。 Re: Why model size is limited at 1 MB? @mayliu1 好的。我来创建一个新问题。谢谢。
查看全文
S32DS | S32k144 RTD DIO 引脚项目错误 你好 我正在尝试在装有 S32DS 3.6.7 的 S32K144 LQFP100 上使用 RTD AUTOSAR (MCAL) 设置一个基本的 LED 闪烁示例。我在 Pins 工具(.mex 文件)中将 PTC11 配置为 GPIO 输出,并在外围设备/MCAL 视图中添加了 Dio 和端口组件。 但是,当我点击 "更新代码 "时,代码生成失败,并出现以下错误: - [CODEGEN] 生成文件 'Port_Ci_Port_Ip_PBcfg.c' 失败 - TypeError:PinMode.match 不是函数 at GetPDO_IP (:187) - [CODEGEN] 生成文件 'Port_PBcfg.c' 失败 在 GetPDO(port_utils.js:235) 我的设置: -主板:S32K144 LQFP100 -S32DS 版本:3.6.7 -RTD/PlatformSDK_S32K1_S32M24 -引脚:PTC11 配置为 portC: port_11、输出、GPIO-添加了 MCAL 元器件:Dio + 端口(均在 AUTOSAR 模式下) 在端口 MCAL 配置中,PortPin_0 的 "PortPin Direction(端口引脚方向)"和 "PortPin Mode(端口引脚模式)"字段显示为灰色,并显示数值 (0) 而不是字符串。我怀疑代码生成器期望引脚模式的字符串值是 "ALT1",但收到的却是一个数字。 有人遇到过这个问题吗?PortPin 配置是否应该完全由 .mex 自动生成?还是需要手动配置?如能得到任何指导,将不胜感激。 此外,由于我是 RTD AUTOSAR 的新手,我想知道是否有从头开始学习堆栈的推荐资源 - 教程、示例项目、视频或学习 MCAL 模块(端口、Dio、Adc、Pwm、Can...)的任何建议顺序。我有裸机嵌入式 C 语言的经验,但对 AUTOSAR 却一无所知。 如能得到任何指导,将不胜感激。 谢谢! Re: S32DS | S32k144 RTD DIO PIN PROJECT ERROR 我还在努力。我从驱动程序中删除了端口库,但仍然无法正常工作。 PortPinMode 设置为 0,而在你发给我的示例和代码中,它被设置为 GPIO。我不知道如何改变这种状况。 我对工作流程也有些困惑。据我所知 首先,在针脚选择器工具中选择针脚。 然后,在端口模块中配置引脚(底层配置)。 最后,按照 AUTOSAR 原则,使用 DIO 作为封装器/接口,这样应用程序就不会直接依赖于微控制器。 Re: S32DS | S32k144 RTD DIO PIN PROJECT ERROR 你好@antonio_esal 在打开你创建的示例程序时,我确实发现了一些错误。随函附上我创建的示例程序供你参考。 在您的项目中,无需同时在 MCAL 和 Drivers 中添加"Port" 模块。 Re: S32DS | S32k144 RTD DIO PIN PROJECT ERROR 是的,我正在这样做,演示示例运行得很好,但当我尝试从一个新项目中做同样的事情时,我做不到。 Re: S32DS | S32k144 RTD DIO PIN PROJECT ERROR 你好@antonio_esal 您可以参考 RTD 驱动程序包中包含的示例代码开始学习。
查看全文
i.MX95 EVKまたはi.MX8QM上でAndroidとLinuxの両方をDomUとして実行する Xenハイパーバイザー上でAndroid オートモーティブとLinuxゲストOSの両方を実行できるかどうか、その適用可能性を検証しています。 リリースノートとユーザーガイドの間には、矛盾する情報がいくつかあります。Android オートモーティブのリリースノートでは、i.MX8QMとi.MX95の両方で仮想化 Android に「N」が付いていますが、ユーザーガイドではXen上でAndroidを実行する方法が明確に説明されています。 サポートされているかどうかという質問に答えたいのですが、異なるドキュメントに基づいて正確に判断することができません。古いドキュメントではi.MX8QMでもサポートされていると書かれていますが、新しいドキュメントではサポートされていないと書かれています。 ユーザーガイドには、LinuxゲストまたはAndroid Automotiveゲストを実行できると記載されていますが、それらが同時に共存できるかどうか(2つのDomU)については記載されていません。i.MX95、i.MX8QM、あるいはその両方でこれが可能かどうか教えてください。 質問1で述べたように、i.MX 8QuadMaxについては、古いドキュメントにXen上でAndroid VMを実行できると記載されていましたが、それはAndroid 9またはAndroid 10の場合でした。最近のドキュメントでは、Xen 上の Android VM では「N」と記載されており、ユーザーガイドには i.mx 95 の手順しか記載されていません。新しいバージョンの Android を実行できない理由は何でしょうか? Android i.MX 8ファミリ | i.MX 8QuadMax (8QM) | 8QuadPlus Linux Re: Running both Android + Linux as DomU's on i.MX95 EVK or i.MX8QM こんにちは、 1> 以前のバージョンの Android では、デモ/リファレンスとして i.MX8 XEN のサポートがありましたが、新しい Android リリースではサポートされなくなりました。一方、i.MX95については、最新リリースでサポートされています。 2> 上記のように、古いリリースでは i.MX8 で可能かもしれませんが、i.MX95 は公式にはサポートされていませんが、カスタム統合により技術的には可能です。 3> これは、1) i.MX8 用の公式 XEN がデモ/リファレンスとしてリリースされたことに関連しており、新しい Android リリースへの変更により、焦点は新しい i.MX95 に移されました。 よろしくお願いいたします。 アルド。 Re: Running both Android + Linux as DomU's on i.MX95 EVK or i.MX8QM こんにちは、迅速なご対応ありがとうございます! i.MX95の場合、公式にサポートされているのはDom0(Linux、ドキュメントを見る限りシンクライアントではないようです)とDomU(Android)のみです。Dom0にディスプレイを1つ、DomUにもう1つのディスプレイを接続することは可能ですか? i.MX95でFUTURE的に2つのDomUをサポートする予定はありますか? Re: Running both Android + Linux as DomU's on i.MX95 EVK or i.MX8QM こんにちは、アルドさん。 私の質問について何か進展はありますか?
查看全文
LX2160 定制板上模块的掉电 在我们基于 LX2160 的定制主板中,没有 SPDT 开关可用于通过软件控制电源轨。 不过,我们的目标是降低 USB、WiFi、BT、PoE 和蜂窝模块的功耗。 我方提出了当前的意见和做法: 1.WiFi、BT 和蜂窝模块通过 PCIe 连接。 我们观察到,这些功能可以通过 SerDes 配置禁用。 通过将 SerDes 协议配置为 S2 = 9,所有相应的通道都被配置为 SGMII,而不是 PCIe,从而有效禁用 PCIe 连接的模块。 2.USB 模块似乎没有类似的基于 SerDes 的禁用选项。 对于 USB,我们目前正在尝试使用以下方法基于 GPIO 禁用: USB1_MUX_EN USB2_MUX_EN RCW 配置已经过验证,相应引脚已确认配置为 GPIO。 然而,即使驱动这些 GPIO 进行禁用操作,也无法观察到预期的功耗降低。 3.PoE 模块(AQR113c 用于以太网) 请就可能需要修改的其他文件或配置提出意见/建议,以便完全禁用和降低功耗。 Re: Power down of modules on LX2160 custom board 闲置时是否可以对 USB、WiFi、BT、PoE 和蜂窝模块掉电?还是产品的配置不同,这些接口根本不会被使用?   请注意,即使接口未使用,仍需为其电源轨供电。LX2160A 不支持从其轨道上拔下电源。 如果断开接口设备的电源,则需要确保 LX2160A I/O 不会发生泄漏   你能做什么? 1) 内核消耗最大功率。SDK 支持在不使用 CPU 时降低其频率,以节省功耗。 Refer 电源管理单元 - [Layerscape Software Development Kit User Guide | NXP 半导体|https://docs.nxp.com/bundle/GUID-487B2E69-BB19-42CB-AC38-7EF18C0FE3AE/page/GUID-2E8E375E-7DCD-4671-B0CF-D4713D8BB9EB.html] 2) 未使用的 IP 可通过 DEVDISR 进行时钟门控。不过,一旦禁用,就无法再启用。 3) 如果 SerDes 通道未使用,可将其断电。参见第 26.10.2 节LX2160A 参考手册中未使用的车道 4) 当通过 RCW 设置选择 SerDes 协议时,它还会根据协议要求配置与该协议相关的寄存器。因此,重新配置车道并不是正确的方法。 5) 从原理图片段来看,您已将 SerDes#2 配置为 SRDS_PRTCL_S2 =3,但只使用了单通道。 你可以使用 SRDS_PRTCL_S2=11 并按照 (4) 对未使用的通道进行掉电。类似的机制也可应用于其他 SerDes。 6) 如果 PCIe 未使用 Gen3,则 PLLF 可以断电。同样,未使用的 PLL 也可以断电 谢谢! Re: Power down of modules on LX2160 custom board 如何测量耗电量? 请注意,对于 SerDes 通道,您需要检查为 SerDes I/O 供电的 0.9V 和 1.8V 电源通道。 对于 DFS,请检查 VDD(0.8V)电源的功耗。 既然这是你的定制电路板,你有电源轨的功率测量电路吗? 如果你在自定义主板的输入上进行衡量,我不确定你会看到多大的差异。这还取决于测量的最小计数。 为进行检查,可在较低配置下运行核心/平台。查看设计检查表,其中有 VDD 轨功耗图表。 Re: Power down of modules on LX2160 custom board 你好, 感谢您的及时回复。我附上了我对您分享的有关功率优化建议的观察和测试结果。请查看它们,并与我们联系是否建议进行其他检查或配置。 要点 说明 CPU 热插拔/频率缩放观测 我们使用以下方法测试了 CPU 热插拔、CPU 频率缩放和不同的 CPU 模式: lscpu | grep line 观察结果: On-line CPU(s): 9 Off-line CPU(s): 0-8,10-15 不过,在这些情况下都没有观察到明显的功耗降低。 通过 DEVDISR 进行未使用的 IP 时钟门控 我们知道未使用的 IP 可以通过 devDisr 进行时钟门控。但是,由于禁用这些区块如果不重置就不可逆转,我们认为这种方法风险很高,因此不建议在我们当前的测试中使用这种方法。 未使用的 SerDes 通道掉电 寄存器写入成功。 不过,迄今为止还没有观察到明显的功耗降低。 SerDes 协议配置优化 PLL 掉电未使用的 Gen3 PCIe 应用配置: SRDS_REFCLKF_DIS_S2 = 1 SRDS_PRTCL_S2 = 11 SRDS_INTRA_REF_CLK_S2 = 0 SRDS_PLL_PD_PLL3 = 1 Re: Power down of modules on LX2160 custom board 你好, 我们正在使用这些连接到 BMC 的电流传感器来测量功耗,其中 VCC_12V 感应定制板的输入,而 VCC_0V8 正在感应恩智浦 (LX2160A) 芯片组的输入。 同样 在闪存时(这些以 VCC_12V 即总功耗测量)-使用 CodeWarrior(可能会下降约 10W)和 -使用 (echo mem > /sys/power /state & echo freeze > /state sys/power/state)(可能会下降约 6W)(但在此之下,由于不存在用户交互,因此不建议将其用于我们的测试), Re: Power down of modules on LX2160 custom board 与内部团队讨论,我们我们已经回答了 您的与配置相关的问题。 在 12V 输入电压下,10 瓦的功耗在我们看来是相当合理的。 我们对于 LX2160A 而言,这是很合理的。 请 请分享您的目标,您的 示意图和配置、日志和应用。我们将检查还能实现哪些功能。
查看全文
ENEDC(S32K3)に関する質問 こんにちはチーム K3のENEDCについてお伺いしてもよろしいでしょうか? 顧客は RTD 付きの MCAL を使用します。 しかし、ENEDC に関する RTD の情報は見つかりませんでした。 MSCM からは、ISR コア割り当て構成のみが表示されます。 RTD(MCAL) を使用して ENEDC を有効にする方法を教えてください。 ありがとう。 SAFETY_SW 出典: 直接顧客 出典: NXP社内 Re: Question about ENEDC(S32K3) ご説明ありがとうございます! Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 RM の説明から私が理解したところによると、ガスケットから FCCU へのレポート パスをアクティブにしたい場合は、これらのビットを有効にする必要があります。 このため、sCheck はこれらのビットを有効にします。そうしないと、レポート パスをテストできなくなります。 これは必須の設定であること、そしておそらく多くの K3 お客様がこの設定に気付いていない (関連する FCCU チャネルを有効にするだけで、これらのビットは有効にしない) ことには同意します。 敬具、 ラドスラフ Re: Question about ENEDC(S32K3) こんにちは@RadoslavB ご説明ありがとうございます。しかし、ENEDC の提案についてはよく分かりません。 私の理解を確認していただけますか? ENEDC では「TEST」のみを使用する必要がありますか? または セーフティアプリケーションを有効にする必要はありますか?(たとえば、ユーザーが eDMA 読み取りのチェックを使用したい場合は、ENEDC のビット 2 を FCCU 構成で手動で「設定」します。) ありがとう。 Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 SAF で MSCM ペリフェラルレジスタを構成する要求はありません。 sCheck テストは、関連する EDC ガスケットの潜在的な障害をテストするときにこれらのレジスタを内部的に有効にしますが、アプリケーションに対してこれらのビットを有効にすることはどの NXP SW でもカバーされていません。 したがって、お客様はこれらのレジスタを手動で有効にする必要があります。 S32K5 の場合、これらのレジスタをイネーブルメントの sBoot チェックが定義されていますが、繰り返しますが、私の知る限り、構成はどの NXP SW の範囲にも含まれていません。 敬具、 ラドスラフ Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 セーフティドライバーに関連する問題はサポートしていません。彼らにサポートを依頼するには、投稿で「RTD」ラベルを削除し、「Safety_SW」ラベルのみを残す必要があります。または、Safety_SW のみに新しい投稿を作成することもできます。 よろしくお願いいたします。 ダン Re: Question about ENEDC(S32K3) こんにちは@DanNguyenDuy 更新情報をありがとうございます。 セーフティドライブも確認しましたが、どれがENEDCに関係するのかわかりませんでした... どうやって確認すればいいのでしょうか? よろしくお願いします。 Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 RTD ドライバーは ENEDC の構成ではサポートされていません。私の観点からすると、このレジスタは FCCU に関連しているため、セーフティドライバのモジュールでこの機能を確認する必要があります。 よろしくお願いいたします。 ダン Re: Question about ENEDC(S32K3) K3 HW セーフティマニュアルからの抜粋を追加します: したがって、現時点ではこの AoU に従うかどうかはお客様の責任です。構成とチェックは現時点では NXP ではサポートされていません。 敬具、 ラドスラフ Re: Question about ENEDC(S32K3) こんにちは@Luke_Chun 、 INTM ペリフェラルの構成がサポートされており、RTD プラットフォーム プラグイン - 割り込みモニターで見つけることができます。 SAF 側では、sCheck は INTM 潜在的障害テストを備えていますが、sBoot は INTM 構成レジスタをチェックしません。私の意見では、割り込みがセーフティ関連の障害の検出/反応メカニズムである場合、SM1.INT_MON はアクティブである必要があり、顧客は SM4.INT_CHK を満たす必要があり、sBoot はそのような構成を再確認する必要があります。 敬具、 ラドスラフ Re: Question about ENEDC(S32K3) こんにちは@RadoslavB もう1つ質問してもよろしいでしょうか? INTM_MMはどうでしょうか? これは ENEDC でも同じですか? (RTD または SAF は INTM_MM 有効構成をサポートしていません。ユーザーはユーザー コードによって INTM_MM の構成を行う必要があります。 ありがとう。  
查看全文
Cortex-M33 上的 i.mx93 LPSPI + eDMA 问题 我使用的是 Tria i.MX9332(B1 硅)SMARC 模块,并尝试在 Cortex-M33 上使用带有 eDMA 的 LPSPI6,但无法正常工作。 开发环境 VS 代码 1.109.0 用于 VS 代码扩展的 MCUXpresso 26.1.56 SDK 25.09.00 硬件 在定制载板上试用 SM2S-IMX93 通过 SPI(LPSPI6)连接带有ILI9341控制器的 LCD 现状 使用不带 DMA 的 LPSPI6 时,显示正常。 我试图切换到LPSPI6 + eDMA以提高吞吐量,但无法收到完成通知。 问题 基于 DMA 的传输似乎开始了,但我从未在传输结束时收到 LPSPI DMA 完成回调。 详细信息和相关代码/配置见附件。 有人能指出我可能遗漏了什么,或者为什么没有触发信号吗? Re: i.mx93 LPSPI + eDMA problem on Cortex-M33 感谢您提供的示例代码。回顾范例让我明白了这一点。 Re: i.mx93 LPSPI + eDMA problem on Cortex-M33 你好@albi84 请参考附件中的补丁文件配置 LPDPI 与 EDMA B.R Re: i.mx93 LPSPI + eDMA problem on Cortex-M33 你好 能否请您分享带有 eDMA 的 LPSPI 的骨架? 谢谢。 Re: i.mx93 LPSPI + eDMA problem on Cortex-M33 这不是一个骨架,而是我使用的实际代码。这有帮助吗?
查看全文