Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
制作和下载Kinetis设备的安全图像 制作和下载Kinetis设备的安全图像   简介 KINETIS 设备具有 Flash 基础引导加载程序或 ROM 引导加载程序。它们具有相同的结构和相同的下载工具。MCUBOOT显示支持的设备。引导加载程序不仅支持纯文本图像,还支持通过 AES 加密的加密图像。这可以保护用户的应用程序代码免遭未经授权的使用。 由于内部 Flash 结构不同,每个 Kinetis 设备的安全映像制作、密钥下载和映像下载流程略有不同。本实践将介绍 Flash 基引导程序和 ROM 基引导程序安全映像的制作和下载。   2 安全映像到 Flash 引导加载程序 许多 NXP Kinetis 设备 SDK 都集成了引导加载程序。以FRDM-K64F为例,引导加载程序项目位于 SDK_2.8.0_FRDM-K64F\boards\frdmk64f\bootloader_examples\freedom_bootloader 引导加载程序默认支持安全格式映像。用户可以通过UART和USB接口下载安全格式的图像。 在 K64 引导加载程序中,密钥存储在 0xb000。但是应用程序代码从0xa000开始。这意味着每次应用程序升级时,都需要重新下载密钥文件。   2.1 生成密钥 elftosb工具可以生成密钥。但当然,您可以将任何字符串作为键。   2.2 图像加密 使用密钥加密应用程序映像。这是 bd 文件。 选项 { flags = 0x4; // 0x8 加密+签名,0x4 加密 构建编号 = 0x1; 产品版本 = “1.00.00”; 组件版本 = “1.00.00”; 键数=1; } 来源 { 输入文件 = 外部(0); sbkey = 外部(1); } 第 (0) 节 {  erase 0xa000..0xF6000; load inputFile > 0xa000; }   2.3 下载密钥和镜像 连接FRDM-K64F openSDA usb端口。然后下载密钥和图像。   2.4 使用 KinetisFlashTool 下载密钥 用键盘输入键确实很烦人。有一个名为 KinetisFlashTool 的 GUI 工具,它可以下载与 blhost.exe 相同的图像。为了通过该工具下载加密的图像,我们可以先制作一个 sb 文件来下载密钥。这是 bd 文件。   来源 { } 第 (0) 节 {        erase 0xb000..0xc000;        load {{E0BAA2C8231283CAF1D327CEDB82AFF9}} > 0xb000; }   使用 elftosb 生成 sb 文件。elftosb 命令行如下 \>Elftosb -V -c 程序密钥.bd -o 程序密钥.sb   首先应该下载这个sb文件,然后下载加密的应用程序映像。当客户想要通过 USB MSC 或 HID 下载安全图像时,这是下载密钥的唯一方法。版本低于或等于 v2.7.0 的引导加载程序存在限制。MSC功能和HID功能不能同时启用。否则,将加密的 sb 文件复制到 MSC 磁盘时引导加载程序将失败。   2.5 关于密钥 但密钥文件总是与加密文件一起出现,这确实很奇怪。将密钥保存在安全的状态是合理的,例如,闪存中未被触及的地方。K64 有一个一次编程字段,位于程序闪存 IFR 中。这是一个与主空间不同的独立空间。它的地址是从0x3C0到0x3FF。MCU 内核可以通过特殊的闪存命令读取或写入该区域。我们可以将 AES 密钥放在这里。再次,我们可以使用 sb 文件来下载此密钥。 来源 { } 第 (0) 节 {        load ifr 0xE0BAA2C8 > 0x3c0; 加载 ifr 0x231283CA > 0x3c1; 加载 ifr 0xF1D327CE > 0x3c2; 加载 ifr 0xDB82AFF9 > 0x3c3; } 然后,我们应该修改sbloader.c 中的sbloader_init() 函数。源代码只能从 0xb000 读取密钥。我们应该让它从 IFR 读取密钥。   ROM 引导加载程序的安全映像 一些 Kinetis 设备有 ROM 引导加载程序。它们与闪存基础引导加载程序不同。本文档以 FRDM-K32L2A 为例。   3.1 生成AES密钥并下载密钥 密钥可以设置为0x112233445566778899aabbccddeeff00。除了sb文件外,还可以通过blhost命令将其编程为IFR。 \>blhost -p COM9 – 闪存编程一次 0x30 4 11223344 msb \>blhost -p COM9 – 闪存编程一次 0x31 4 55667788 msb \>blhost -p COM9 – 闪存编程一次 0x32 4 99aabbcc msb \>blhost -p COM9 – 闪存编程一次 0x33 4 ddeeff00 msb 如果您没有向 IFR 写入任何内容,ROM 引导加载程序将使用全零密钥。这里我使用全零键。   3.2 加密算法 ROM 引导加载程序没有加密算法。应用程序应包括算法代码并将地址分配给引导加载程序,或将 BCA 表和 MMCAU 代码预编程到闪存中。 您可以找到 MMCAU 代码(mmcau_cm0p.bin)和BCA(BCA_mmcau_cm0p.bin)MCUBoot2.0.0包中的表。 在将这些代码编程到闪存之前,必须先将新地址写入其中。例如,我们将MMCAU代码放入0x7f800,那么我们应该修改BCA表如下   然后根据这个新的地址,修改mmcau_cm0p.bin中的MMCAU_function_info结构。 之后,将 BCA 下载到 0x3c0,将 mmcau_cm0p.bin 下载到 0x7f800。 为了避免在生产中使用手动操作,可以将上述步骤集成到一个 sb 文件中。   3.3 加密镜像并下载 K64示例中的bd文件可以重复使用,只需要将图像地址改为0x00即可。 按下重置按钮,5秒后,LED将闪烁。   参考资料: Kinetis Bootloader v2.0.0参考手册 Kinetis Elftosb 用户指南 Kinetis Bootloader QuadSPI 用户指南 Kinetis blhost用户指南 Freedom开发平台
查看全文
示例 MPC5602D FMPLL GHS614 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 应用程序执行基本初始化,将 PLL 设置为最大允许频率 (48MHz) * 设置 SIU,并演示频率调制。 * ------------------------------------------------------------------------------ * 测试硬件:XPC560B 64LQFP,XPC56XX EVB MOTHEBOARD Rev.C * 微控制器: SPC5602D * Cut:               1M18Y * 系统频率:48 MHz * Debugger:     Lauterbach Trace32 * 目标:internal_FLASH * EVB clkout 引脚:端口 J7 - 引脚 0 * ******************************************************************************** <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 应用程序执行基本初始化,将 PLL 设置为最大允许频率 (48MHz) * 设置 SIU,并演示频率调制。 * ------------------------------------------------------------------------------ * 测试硬件:XPC560B 64LQFP,XPC56XX EVB MOTHEBOARD Rev.C * 微控制器: SPC5602D * Cut:               1M18Y * 系统频率:48 MHz * Debugger:     Lauterbach Trace32 * 目标:internal_FLASH * EVB clkout 引脚:端口 J7 - 引脚 0 * ******************************************************************************** 概述
查看全文
S32K148 MCAL ENET EBERR発行 こんにちは。問題が発生しました。 説明はこちら 現在、S32K148-MCAL の Eth モジュールを構成中です。 port中配置好pin脚 ethの設定 コードを生成したら、 まずeth_initを呼び出す Eth_Init(&Eth_Config_VS_0); 次にコントローラーを有効にします Eth_SetControllerMode(EthConf_EthCtrlConfig_EthCtrlConfig_0, ETH_MODE_ACTIVE); その過程で     Base->ECR |= ((uint32)(0x2U) | (0x100U));     Base->ECR |= ((uint32)1U << (4U)); 通常ETHERENを1に設定することが可能です ただし、送受信を初期化しようとすると、BUS ERROR が発生します。 後続の送信はさらに不可能 調査を継続するにはどうすればいいでしょうか? Re: S32K148 MCAL ENET EBERR の問題 問題を解決してくれてありがとう 問題解決 ご返信ありがとうございます。問題は解決しました。原因は、MCALのRMモジュールが設定されていないため、MPUモジュールがENET関連のメモリアクセス許可の初期化に失敗していることです。 回复: S32K148 MCAL ENET EBERR 问题 Hi, 以下を確認できます。 - ユーザー バッファーとバッファー記述子が適切に位置合わせされ、キャッシュ不可能な領域に配置されていることを確認します。ENET_RDSR と ENET_TDSR は、バッファー記述子リングの先頭を指します。 - MPU が有効になっている場合は、ENET マスターがユーザー バッファーとバッファー ディスクリプターが配置されているメモリ領域にアクセスできることを確認してください。 一部のコメントは https://community.nxp.com/t5/S32-SDK/The-ENET-module-of-S32K148-chip-failed-to-initialize-and-the/td-p/1788630 でも見ることができます。 BR, Petr Re: S32K148 MCAL ENET EBERR の問題 更新:MPUのCESRレジスタをトレースしました。メモリ保護がuDMAによるメモリアクセスを検出し、ブロックしたようです。
查看全文
FRDM-MCXN947 LPTMR0 12MHz时钟问题 我正在使用带有 MCU expresso SDK 的 FRDM-MCXN947 板,并尝试让 LPTRM0 的时钟频率达到 12MHz。 我已经成功运行以 16KHz 运行的 lptmr_cm33_core0 演示项目。 我修改了示例如下: 1 - 将系统时钟更改为FRO12M时钟(我认为这不是必需的,但我想以12MHZ运行系统以节省电力)。 void BOARD_InitBootClocks(void) { // BOARD_BootClockPLL150M(); 主板启动时钟FRO12M(); } 2 - 添加行 lptmrConfig.prescalerClockSource= kLPTMR_PrescalerClock_0;选择12MHz时钟。根据手册中的表 463 LPTMR_GetDefaultConfig(&lptmrConfig); lptmrConfig.预分频器时钟源=kLPTMR_预分频器时钟_0; /*初始化LPTMR*/ LPTMR_Init(演示_LPTMR_基础,&lptmrConfig); 3 - 将 LPTMR_SOURCE_CLOCK 定义更改为 12000000,以保持示例时间相同 #定义LPTMR_SOURCE_CLOCK(12000000)//(16000) 然后我运行了该示例并希望它能够像以前一样运行,但使用 12MHz 时钟,不幸的是计时器似乎没有计数。我通过在调试器中打开寄存器视图并在 CNR 寄存器中输入一个值来确认这一点。在工作示例中,这导致 CNR 使用当前计数值进行更新,在 12MHz 版本中,CNR 值保持为 0。 寄存器看起来设置正确: 我认为我在某个地方遗漏了一步,但我已经通读了手册,在 syscon 寄存器或其他任何地方都看不到选择 LPTMR0 时钟所需的任何内容。 如果有人能告诉我我做错了什么,我将不胜感激。 时钟|计时器 开发板 MCXN 回复:FRDM-MCXN947 LPTMR0 12MHz时钟问题 创建者 阿列克谢·帕基特诺夫 1984年在苏联科学院, 俄罗斯方块 彻底改变了游戏业。这款以掉落的几何方块(“四格骨牌”)为特色的巧妙益智游戏成为冷战期间第一款沟通东西方关系的电子游戏。 回复:FRDM-MCXN947 LPTMR0 12MHz时钟问题 你好@Harry_Zhang , 谢谢,这就是答案,时钟现在正在运行。 最好的祝愿, Simon 回复:FRDM-MCXN947 LPTMR0 12MHz时钟问题 Hi @spgeorge2006  您可以使用配置工具将系统时钟设置为12MHz。 然后添加CLOCK_SetupClockCtrl(kCLOCK_FRO12MHZ_ENA); 你可以试试。 BR 哈利 回复:FRDM-MCXN947 LPTMR0 12MHz时钟问题 你好@Harry_Zhang , 谢谢您的回复,抱歉我没有早点回复,但我已经不在办公室了。 我可以将系统时钟设置为 12MHz,我遇到的问题是,当我将系统时钟设置为 12MHz 并将 LPTMR0 设置为使用 12MHz 时钟时,LPTMR 似乎不计数。您能否向我提供有关如何让系统和 LPTMR 以 12MHz 时钟运行的说明?或者根据我在原始帖子中提供的信息告诉我我做错了什么? 问候, Simon 回复:FRDM-MCXN947 LPTMR0 12MHz时钟问题 Hi @spgeorge2006  如果你想将系统时钟设置为12M, 您可以使用配置工具。 并且我测试了它。 它可以工作。 BR 哈利
查看全文
NXPマイクロコントローラ付きUSB <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はじめに ユニバーサルシリアルバス(USB)は、今日のパーソナルコンピューティングで最も成功したインターフェイスです。高速で信頼性が高く、使いやすいこのインターフェイスは、パーソナルコンピュータ、コンピュータ周辺機器、モニタ、モバイルデバイス、オーディオおよびビデオ機器、その他ほとんどの家電製品など、あらゆる場所で見つけることができます。   NXPは、Cortex-M4、Cortex-M3、Cortex-M0、ARM9、およびARM7マイクロコントローラに80以上のオプションを提供するUSB搭載ARMマイクロコントローラで市場をリードしています(以下の比較表と製品を参照)。NXPの高速およびフルスピードのデバイス/ホスト/OTG USB対応マイクロコントローラのポートフォリオは、特別なUSB機能(オンチップHS PHYおよびROMドライバなど)、フリーソフトウェア、および包括的なサポートを提供し、設計コンセプトから生産への迅速な移行を支援します。   TechOnLine Rapid USB development on Cortex-M microcontrollers ウェビナー (2011年9月7日) NXPの利点 NXPのマイクロコントローラポートフォリオは、フルスピードおよびハイスピードのUSB 2.0デバイス、ホスト、On-The-Go(OTG)機能など、最新のUSB技術を備えています。NXPは、制御、割り込み、バルク、特にストリーミングオーディオに必要なアイソクロナスの4つの転送タイプすべてをサポートしています。NXPのMCUは、設計者にさまざまな特別なUSB機能を提供し、全体的なパフォーマンスを向上させ、市場投入までの時間を短縮します。 完全認証済みUSB製品 オンチップROMドライバ ハイスピードおよび/またはフルスピードPHYを内蔵 無料のUSBホストおよびデバイスソフトウェア 追加のUSB機能 完全認証済みUSB製品 NXPは、USB仕様を維持し、USBコンプライアンスを検証する組織であるUSB-IFの主要メンバーです。NXPのUSB搭載ARM MCUは認証申請中であるため、設計者は、自社のシステムが最高の信頼性とプラグアンドプレイ動作を提供することを確信できます。2008年末の時点で、ホストおよびデバイス機能を備えたUSB 2.0ベースのプロセッサのほとんどが認定されています。OTG 機能は処理中です。準拠製品の完全なリストは、USB-IFのWebサイトに掲載されています。 www.usb.org. オンチップUSB ROMドライバ NXPのオンボードUSB ROMドライバは、USBスタック、USBクラス、および低レベルドライバ全体をマイクロコントローラのROMに詰め込むため、この複雑なソフトウェアを自分で開発およびデバッグする必要がなくなります。USBドライバをROMに配置すると、貴重なメモリスペースが解放され、アプリケーションに使用できます。これらのドライバは、NXPおよび外部のテストハウスによって徹底的にテストされており、USB-IFの厳格なテスト要件に合格した後、USBロゴ認証を取得するために使用されます。 ハイスピードおよび/またはフルスピードPHYを内蔵 フルスピードまたはハイスピードPHYはNXPのUSBマイクロコントローラに統合されており、インターフェースのデジタル部分と変調部分の間のブリッジを提供します。マイコンにPHYを統合することで、部品のコストが節約され、システム設計が簡素化されます。たとえば、LPC1800 および LPC4300 マイクロコントローラは、2 チャネルの High-Speed USB 2.0 Host/Device/OTG をサポートし、オンチップの High-Speed PHY を備えています。 無料のUSBホストおよびデバイスソフトウェア USB開発は、高価で難しいものである必要はありません。時間とコストを節約するために、NXPは、複数のツールチェーンですぐに使用できるホストモードとデバイスモード用の完全なUSBサンプルアプリケーションを提供しています。NXP独自の無料USBパッケージに加えて、NXPは主要なソフトウェア会社と提携して、最先端のUSBファームウェアを提供しています。USBソフトウェアオプションの完全なリストについては、このページ のサポートセクションを参照してください 。 追加のUSB機能 NXPのその他のUSB機能には、次のものがあります。 ホストコントローラはOHCI/EHCIに準拠しています。 専用のDMAにより、USBインターフェースは最小限のCPU介入で動作できます。 SoftConnect™は、ソフトウェアを使用して、USBデバイスがバスに接続するタイミングを決定します。 GoodLink™は、USBデバイスがバス上で列挙および設定されたことを示すためにLEDを使用します。(電力を節約するため、サスペンド中はLEDが消灯します。 ダブルバッファリングは、バルクエンドポイントとアイソクロナスエンドポイントのスループットを最大化します。 複数の USB ポートを使用すると、デバイスをホスト、デバイス、またはその両方として構成できます。 USBデータバッファは、エンドポイントのFIFOサイズを柔軟に構成できます。 製品 NXPは、Cortex-M0、Cortex-M3、Cortex-M4、ARM9、およびARM7マイクロコントローラ向けに80を超えるUSB MCUオプションを提供しています(以下の比較表と製品を参照)。NXP MCUの特別なUSB機能には、次のものがあります。 比較表 コア 製品 オンチップコントローラ いいえ。Cntrlsの いいえ。ポート数 オンチップPHY 折り紙付き デバイス ホスト OTG ARM7TDMI-S LPC2141 FS - - 1 1 デバイス FS LPC2142 FS - - 1 1 デバイス FS LPC2144 FS - - 1 1 デバイス - LPC2146 FS - - 1 1 デバイス - LPC2148 FS - - 1 1 デバイス FS LPC2158 FS - - 1 1 デバイス - LPC2361 FS FS FS 1 1 デバイス、ホスト FS LPC2362 FS FS FS 1 1 デバイス、ホスト FS LPC2364 FS - - 1 1 デバイス FS LPC2366 FS - - 1 1 デバイス FS LPC2368 FS - - 1 1 デバイス FS LPC2378 FS - - 1 1 デバイス FS LPC2387 FS FS FS 1 1 デバイス、ホスト FS LPC2388 FS FS FS 1 2 デバイス、ホスト FS LPC2420 FS FS FS 1 2 デバイス、ホスト - LPC2458 FS FS FS 1 2 デバイス、ホスト - LPC2460 FS FS FS 1 2 デバイス、ホスト - LPC2468 FS FS FS 1 2 デバイス、ホスト FS LPC2470 FS FS FS 1 2 デバイス、ホスト - LPC2478 FS FS FS 1 2 デバイス、ホスト - LPC2880 HS - - 1 1 デバイス HS LPC2888 HS - - 1 1 デバイス HS ARM720T LH79524 FS - - 1 1 デバイス - LH79525 FS - - 1 1 デバイス - ARM922T LH7A404 FS FS - 1 3 (2 ホスト) デバイス、ホスト - LH7A400 FS - - 1 1 デバイス - ARM968の LPC2921 FS - - 1 1 デバイス - LPC2923 FS - - 1 1 デバイス - LPC2925 FS - - 1 1 デバイス - LPC2926 FS FS 1 1 デバイス LPC2927 FS - FS 1 1 デバイス - LPC2929 FS - FS 1 1 デバイス FS LPC2930 FS FS FS 1 2 デバイス、ホスト - LPC2939 FS FS FS 1 2 デバイス、ホスト - ARM926EJ-S LPC3180/01 FS FS FS 1 1 - - LPC3220 FS FS FS 1 1 - - LPC3230 FS FS FS 1 1 - - LPC3240 FS FS FS 1 1 - - LPC3250 FS FS FS 1 1 - - LPC3130 HS HS HS 1 1 デバイス、ホスト、OTG - LPC3131 HS HS HS 1 1 デバイス、ホスト、OTG HS LPC3151 HS HS HS 1 1 デバイス、ホスト、OTG - LPC3152 HS HS HS 1 1 デバイス、ホスト、OTG HS LPC3153 HS HS HS 1 1 デバイス、ホスト、OTG - LPC3154 HS HS HS 1 1 デバイス、ホスト、OTG - コーテックス-M3 LPC1342 FS - - 1 1 デバイス FS LPC1343 FS - - 1 1 デバイス FS LPC1345 FS - - 1 1 デバイス - LPC1346 FS - - 1 1 デバイス - LPC1347 FS - - 1 1 デバイス - LPC1547 FS - - 1 1 デバイス - LPC1548 FS - - 1 1 デバイス - LPC1549 FS - - 1 1 デバイス FS LPC1751 FS - - 1 1 デバイス FS LPC1752 FS - - 1 1 デバイス - LPC1754 FS FS FS 1 1 デバイス、ホスト - LPC1756 FS FS FS 1 1 デバイス、ホスト - LPC1758 FS FS FS 1 1 デバイス、ホスト - LPC1759 FS FS FS 1 1 デバイス、ホスト - LPC1764 FS - - 1 1 デバイス - LPC1765 FS FS FS 1 1 デバイス、ホスト - LPC1766 FS FS FS 1 1 デバイス、ホスト - LPC1768 FS FS FS 1 1 デバイス、ホスト FS LPC1769 FS FS FS 1 1 デバイス、ホスト - LPC1774 FS - - 1 1 デバイス - LPC1776 FS FS FS 1 1 デバイス、ホスト - LPC1777 FS FS FS 1 1 デバイス、ホスト - LPC1778 FS FS FS 1 1 デバイス、ホスト - LPC1785 FS FS FS 1 1 デバイス、ホスト - LPC1786 FS FS FS 1 1 デバイス、ホスト - LPC1787 FS FS FS 1 1 デバイス、ホスト - LPC1788 FS FS FS 1 1 デバイス、ホスト - LPC1820 HS HS HS 1 1 デバイス、ホスト - LPC1822 HS HS HS 1 1 デバイス、ホスト - LPC1823 HS HS HS 1 1 デバイス、ホスト - LPC1825 HS HS HS 1 1 デバイス、ホスト - LPC1827 HS HS HS 1 1 デバイス、ホスト - LPC1830 HS HS HS 2 2 デバイス、ホスト - LPC1833 HS HS HS 2 2 デバイス、ホスト - LPC1837 HS HS HS 2 2 デバイス、ホスト FS LPC1850 HS HS HS 2 2 デバイス、ホスト FS LPC1853 HS HS HS 2 2 デバイス、ホスト FS LPC1857 HS HS HS 2 2 デバイス、ホスト FS Cortex-M4 LPC4072 FS FS FS 1 2 デバイス、ホスト、OTG - LPC4074 FS FS FS 1 2 デバイス、ホスト、OTG - LPC4076 FS FS FS 1 2 デバイス、ホスト、OTG - LPC4078 FS FS FS 1 2 デバイス、ホスト、OTG - LPC4088 FS FS FS 1 2 デバイス、ホスト、OTG - LPC4320 HS HS HS 1 1 デバイス、ホスト、OTG - LPC4320 HS HS HS 1 1 デバイス、ホスト、OTG LPC4322 HS HS HS 1 1 デバイス、ホスト、OTG - LPC4323 HS HS HS 1 1 デバイス、ホスト、OTG - LPC4325 HS HS HS 1 1 デバイス、ホスト、OTG - LPC4327 HS HS HS 1 1 デバイス、ホスト、OTG - LPC4330 HS HS HS 2 2 デバイス、ホスト、OTG - LPC4333 HS HS HS 2 2 デバイス、ホスト、OTG - LPC4337 HS HS HS 2 2 デバイス、ホスト、OTG - LPC4350 HS HS HS 2 2 デバイス、ホスト、OTG - LPC4353 HS HS HS 2 2 デバイス、ホスト、OTG - LPC4357 HS HS HS 2 2 デバイス、ホスト、OTG - コーテックス-M0 LPC11U12 FS - - 1 1 デバイス - LPC11U13 FS - - 1 1 デバイス - LPC11U14 FS - - 1 1 デバイス FS LPC11U23 FS - - 1 1 デバイス - LPC11U24 FS - - 1 1 デバイス LS, FS LPC11U34 FS - - 1 1 デバイス - LPC11U35 FS - - 1 1 デバイス - LPC11U36 FS - - 1 1 デバイス - LPC11U37 FS - - 1 1 デバイス FS LPC11U37H FS - - 1 1 デバイス - Cortex-M0+ LPC11U67 FS - - 1 1 デバイス - LPC11U68 FS - - 1 1 デバイス LS, FS サポート ソフトウェア CMX-USBデバイススタック(CMX Systems製) CMX-USBホストスタック(CMX Systems製) emUSBデバイススタック(SEGGER製) EUSBD(Embedded USB Device)スタック(HCC-Embedded製) EUSBH(組み込みUSBホスト)スタック(HCC-Embeddedによる) I2S - USBオーディオデモ (2007年10月19日)   OT-USB USBデバイス/ホスト/OTGスタック(OnChip Technologies製) smxUSBD デバイススタック (Micro Digital 製) smxUSBHホストスタック(Micro Digital製) smxUSBO OTGソフトウェア(Micro Digital製) μC/USBデバイススタック(Micrium製) μC/USBホストスタック(Micrium製) LPC214x用USBオーディオデバイス例(Keilによる) (2006年2月6日) LPC23xx/LPC24xx の USB オーディオ デバイスの例 (by Keil) (2007年6月19日) USBデバイススタック(Thesycon製) USBホストスタック(Thesycon製) LPC214x用USBヒューマンインタフェースデバイス(HID)の例(IARシステムズ製) (2005年8月11日) LPC214xのUSBヒューマンインターフェースデバイス(HID)の例(Keilによる)( 2006年2月6日) LPC23xx/LPC24xx の USB ヒューマン インターフェイス デバイス (HID) の例 (by Keil) (2007年6月19日) LPC214x用USBマスストレージデバイス例(Keil著) (2006年2月6日) LPC23xx/LPC24xx用USBマスストレージデバイス例(Keil著) (2007年6月19日)   NXP LH7A404 用 Windows Embedded CE BSP (Adeneo) Windows Embedded CE BSP for NXP LPC3180 (Adeneo) NXP LPC32x0 用 Windows Embedded CE BSP (Adeneo) アプリケーション・ノート AN10703 NXP USBホストライト V1 (2008年7月14日) 記事 ARM7 μCs の真のフルスピード USB 機能 (電子製品) (2005 年 8 月) Cortex-M0ベースのMCUは柔軟なUSBポートを備えています(電子製品) (2011年4月11日) リンク     株式会社USBインプリメンターズフォーラム
查看全文
示例 XPC564AKIT PinToggleStationery CW210 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 应用程序执行基本初始化,将 PLL 设置为最大允许频率, * 初始化中断,通过中断闪烁一个 LED,通过软件闪烁第二个 LED * 循环,初始化并通过 UART 终端显示通知,然后通过终端 ECHO 显示通知。 * 该示例将设备配置为实现最佳性能(OPTIMIZATIONS_ON)。 * 对于 XPC564AKIT324S,它会初始化已安装的外部 SRAM 的 EBI。 * 其目的是提供除 CW 文具之外的高级启动代码。 * ------------------------------------------------------------------------------ * 测试硬件:XPC564AKIT208S 和 XPC564AKIT324S * MCU:SPC5644AMMG1,0M14X 和 SPC5644AMVZ1,0M14X *系统频率:150/132/120/12 MHz * Debugger:       Lauterbach Trace32 *                 PeMicro USB-ML-PPCNEXUS * 目标:RAM、internal_FLASH * 终端:19200-8-无奇偶校验-1 停止位-eSCI_A 上无流量控制 * EVB连接:默认 * ********************************************************************************   注意:它不能与 MPC5642A 设备一起使用,只能与 MPC5644A 和 MPC5643A 一起使用!   对于 MPC5642A 设备,请使用以下项目代替附加项目: 示例 XPC5642AKIT PinToggleStationery CW10.6 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 详细说明: * 应用程序执行基本初始化,将 PLL 设置为最大允许频率, * 初始化中断,通过中断闪烁一个 LED,通过软件闪烁第二个 LED * 循环,初始化并通过 UART 终端显示通知,然后通过终端 ECHO 显示通知。 * 该示例将设备配置为实现最佳性能(OPTIMIZATIONS_ON)。 * 对于 XPC564AKIT324S,它会初始化已安装的外部 SRAM 的 EBI。 * 其目的是提供除 CW 文具之外的高级启动代码。 * ------------------------------------------------------------------------------ * 测试硬件:XPC564AKIT208S 和 XPC564AKIT324S * MCU:SPC5644AMMG1,0M14X 和 SPC5644AMVZ1,0M14X *系统频率:150/132/120/12 MHz * Debugger:       Lauterbach Trace32 *                 PeMicro USB-ML-PPCNEXUS * 目标:RAM、internal_FLASH * 终端:19200-8-无奇偶校验-1 停止位-eSCI_A 上无流量控制 * EVB连接:默认 * ********************************************************************************   注意:它不能与 MPC5642A 设备一起使用,只能与 MPC5644A 和 MPC5643A 一起使用!   对于 MPC5642A 设备,请使用以下项目代替附加项目: 示例 XPC5642AKIT PinToggleStationery CW10.6 概述 回复:示例 XPC564AKIT PinToggleStationery CW210 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> CW10.6 现已涉及附加的 ZIP 文件。 回复:示例 XPC564AKIT PinToggleStationery CW210 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi David, 谢谢你的代码。我想在 CW 10.6 下运行这个项目。我计划为 MPC5644A 创建一个项目,剥离其内容并导入相应的文件(.c、.h、您的项目的 .lcf 文件,因为导入器无法处理目标配置。 有什么理由不这么做吗? 此致, Martin
查看全文
[LPC43xx] LPC43xx系列(深度)掉电唤醒注意事项 目录 1.问题描述 2.原因分析 3.解决方案 3.1 SRAM掉电问题解决方案 3.2 闹钟定时器中断使能问题解决方案 3.3 减计数器寄存器写入问题解决方案 4. 验证注意事项 1.问题描述 LPC43xx系列运行LPCOpen低功耗演示“misc_pmc_states”时,掉电和深度掉电两种模式无法通过Alarm Timer成功唤醒。本文对这一系列问题进行了分析并提出了相应的解决方案。通过 RTC 唤醒也存在同样的问题和解决方案。 2.原因分析 唤醒失败的原因包括以下三个方面。 - SRAM 掉电问题: LPC43xx系列在掉电模式下,只有8K SRAM不掉电,其他SRAM均掉电。从掉电模式唤醒后,程序继续向后执行,不会复位。因此,应确保进入掉电模式时,数据在不掉电的8K SRAM中,这样唤醒后才能继续运行。 - 闹钟定时器中断启用问题: LPC43xx 闹钟定时器中断启用需要一段时间才能生效。如果在进入低功耗模式之前未成功启用,则无法从低功耗模式唤醒。 - Downcounter寄存器问题:在LPC43xx系列中,为了保证在指定的时间唤醒,需要判断设定值是否成功写入Downcounter寄存器。 掉电和深度掉电模式下唤醒失败的原因总结如下表: 3.解决方案 对于掉电唤醒失败,需要根据三个问题来解决。 深度断电唤醒不存在数据丢失问题。因为从深度掉电模式唤醒后,程序又复位并重新执行,不需要之前的数据。因此解决方案跳过了第一个,只需要 3.2 和 3.3。 3.1 SRAM掉电问题解决方案 如手册所示,LPC43xx系列掉电模式下,只有8kB本地SRAM不会掉电。 注意:带有和不带有内部闪存的芯片具有不同的 8K SRAM 地址范围。 对于不带内部闪存的 LPC4330/LPC4350/LPC4370 系列产品,8K SRAM 地址范围为 0x10090000– 0x10092000 (8KB)。LPC4337/LPC4367等带有内部闪存的芯片的地址范围是0x10088000 – 0x1008A000(8KB)。   将数据放置在这个8K SRAM区域可以解决数据丢失的问题。 以LPC4350为例,MCUXpressoIDE中的设置方法如下: 根据Project\Properties\C\C++ Build\MCU设置路径找到如下界面,单独定义这块8K SRAM,地址为0x10090000,大小设置为0x2000。 至此,SRAM区域的掉电问题设置完成。 3.2 闹钟定时器中断使能问题解决方案 为了确保闹钟定时器中断已启用,在其后添加一个while循环轮询,直到成功启用为止。进入src\pmc_states.c中的函数小路。 并添加 while((LPC_ATIMER->ENABLE& 0x01) != 0x01){} 在相应case模式下的Chip_ATIMER_IntEnable(LPC_ATIMER);函数语句之后。 3.3 减计数器寄存器写入问题解决方案 该问题的解决方法与3.2类似。仍然用src\pmc_states.c进入函数路径,并在对应模式的情况下找到LPC_ATIMER->DOWNCOUNTER= RTC_ALARM_TIME*1000(与3.2位置一致)。 在其后添加一个 while 语句: 而(LPC_ATIMER->DOWNCOUNTER!=RTC_ALARM_TIME*1000); 如下图所示。 4. 验证注意事项 当没有内部flash的开发板进行测试时(例如:LPC4370,LPC4350…),比如Hitex LPC4350评估板,需要将启动配置为外部flash启动。参考图如下。 启动时需要将引脚P2_9、P2_8、P1_2、P1-1设置为低、低、高的形式,以SPIFI的形式启动。跳线设置如图所示。
查看全文
适用于 MCX C 系列的 MCUXpresso 安全配置工具 在适用于 Windows 的 MCU Xpresso Secure Provisioning Tool V9.0.1 中,我没有看到任何适用于 MCX C 系列的选项。 该工具可以支持MCXC系列MCU吗? MCXC 回复:适用于 MCX C 系列的 MCUXpresso 安全配置工具 Hi @hermus  抱歉,我误解了您之前的信息。此工具目前不支持 MCXC 系列。 BR 悬挂 回复:适用于 MCX C 系列的 MCUXpresso 安全配置工具 你好@Harry_Zhang 该图表似乎显示了对 MCX N 系列和 MCX A 系列的支持。 这是否意味着从这两个系列中选择任何处理器也可以支持 MCX C04x/14x/24x/44x 型号? 回复:适用于 MCX C 系列的 MCUXpresso 安全配置工具 Hi @hermus  该工具支持MCXC系列MCU。 BR 悬挂
查看全文
新しい CodeWarrior for MCU V10.7 リリース <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> あいさつ CodeWarrior for MCU V10.7 は、nxp.com からダウンロードできます。 マイクロコントローラ用CodeWarrior-Eclipse IDE|NXPの   主な特長 以前の CodeWarrior for MCU V10.6.x をすべて統合ダウンロードを 1 つのダウンロードとインストーラーに Windows 8 および 10 のサポート S12ZおよびS08デバイスのサポートを追加 P&EおよびSeggerのデバッグライブラリを更新しました さまざまな機能強化とバグ修正 詳細については、添付のリリースノートを参照してください。   「オフライン」バージョンと「オンライン」バージョンがあります。 オフラインパッケージには、サポートされているすべてのアーキテクチャ(ColdFire、ColdFire +、S08、RS08、S12、S12/XGATE、S12Z、DSC、Qorivva、Kinetis)が含まれていますが、オンラインセットアップ実行ファイルには共通の部分が含まれており、選択したアーキテクチャはオンデマンドでダウンロードされます。 このセットアップでは、30日間の一時的なプロフェッショナルライセンスがインストールされ、その後はデフォルトで「スペシャル」エディション(コードサイズ制限)モードになります。CodeWarrior for MCU V10.7はV10.6と互換性があり、既存のプロフェッショナルV10.6ライセンスはV10.7で使用できます。V10.7は既存のCodeArriorバージョンと並行してインストールできるため、以前のCodeWarriorバージョンをアンインストールする必要はありません。     NXP CodeWarriorチーム 全般 Re:MCU V10.7用の新しいCodeWarriorが利用可能になりました <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> hi  このソフトウェアはMPC5748G開発をサポートしていますか? Re:MCU V10.7用の新しいCodeWarriorが利用可能になりました <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ご返信よろしくお願いします。 Re:MCU V10.7用の新しいCodeWarriorが利用可能になりました <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello, はい、オフラインパッケージには、最後のスクリーンショットに示されているすべてのアーキテクチャが含まれています。したがって、S12Zをサポートし、前のスクリーンショットで表示している通常のS12はサポートしません。 S12を使用する場合は、Codewarrior(Eclipseベースではなくクラシック)5.xを使用する必要があります。はい、USBDMはそのインストールには含まれていませんが、追加できると思います(これについてはUSBDMページを参照してください)。 お役に立てば幸いです。 Erich Re:MCU V10.7用の新しいCodeWarriorが利用可能になりました <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちはErich Styger、このオフラインパッケージには、サポートされているすべてのアーキテクチャ(ColdFire、ColdFire +、S08、RS08、S12、S12 / XGATE、S12Z、DSC、Qorivva、Kinetis)が含まれていますか? 同じ S12 派生物 (MC9S12G48 など) を追加したいです。どうすればよいですか? USBDMを使用する必要がありますが、CodeWarrior5.1 / 5.2はサポートしていません。
查看全文
HOWTO: S32 デバッガと S32R41 EVB 用 S32 デバッグプローブを使用した JTAG フラッシュプログラミング S32プラットフォームIDE向けS32 Design Studioに付属するS32デバッガを利用すると、S32 Debug Probeのフラッシュ・プログラミング機能にアクセスできます。 注:現在はQSPIフラッシュのみがサポートされています。 準備 S32 Design Studio IDEのインストール デバッグするデバイスの開発パッケージをインストールします。この場合は、S32R41 開発パッケージです。S32 デバッガー サポート コンポーネントには、コアの初期化に必要なデバイス固有の Python スクリプトが含まれているため、このパッケージは重要です。 フラッシュイメージの生成元となるアプリケーションプロジェクトを開きます。 「HOWTO: S-Record/Intel HEX/Binary ファイルを生成する」の手順に従って、「Raw Binary」オプションを選択してください。 プロジェクトをビルドし、バイナリ実行可能ファイルを生成します。これがIVTツールへのアプリケーションバイナリ入力になります。IVTツールを使用して、フラッシュメモリデバイスにプログラムし、BootROMによってRAMにロードできるBLOBイメージを生成する必要があります。 「方法: IVT ツールを使用して BLOB イメージを作成する S32R41」の手順に従います。結果の BLOB イメージ ファイルは、デバイスにフラッシュできるファイルです。 手順 デバッグ構成メニューを開く 「S32 Debugger Flash Programmer」を選択し、右クリックして「新規」を選択します. 新しい構成の名前を入力し、[ 追加... ] をクリックします。をクリックして、フラッシュするファイルを追加します。 「参照...」をクリックして、アプリケーション・バイナリが配置されているワークスペースからプロジェクトを選択します プロジェクトを選択し、 わかりました デフォルトでは、ELF ファイルが見つかります。「 プロジェクト内を検索 」をクリックして、バイナリ・ファイルを選択します。 .binを選択しますファイルをクリックし、 わかりました 次に、ベースアドレスを入力する必要があります。通常、これは 0 ですが、他の要件がある場合もあります。[OK] をクリックします。 これで、デバッガーの接続設定を構成する準備が整いました。「デバッガ」タブをクリックします。 上から始めて下に向かって、 Select deviceをクリックします。 デバイスを選択し、 わかりました 正しい初期化スクリプトが自動的に設定されます。「デバッグ・プローブ接続」の設定を、セットアップに合わせて設定します。完了したら、申し込む フラッシュを開始するには、[デバッグ] をクリックします 点滅の進行状況が表示されます。 完了すると、Debug パースペクティブは終了したスレッドに表示されます。 GDBでフラッシュをご活用ください! このアプリケーションは続いてBootROMによって起動されるため、デバッグするには注意が必要です。 [Debug Configurations] メニューの [Debugger] タブの [Initialization script] フィールドで 's32r41_attach.py' を使用します。 「デバッグ構成」メニュー内の「起動」タブで次の調整を行います。 「画像を読み込む」のチェックを外します 「Set program counter at:」にチェックを入れ、「Reset_Handler」を入力します。
查看全文
ISRから転送が開始されたときにDMA割り込みがトリガーされない こんにちは i.MXRT1024 EvkとMCUxpressoをプログラミングに使用しています。GPIOがローになるたびに、LPSPIからメモリに数バイトを転送する必要があります。受信したバイトの処理は、DMA チャネルのメジャー ループ割り込みで行う必要があります。プロセッサは FreeRTOS で実行されています。転送を開始できず、GPIO ISR から DMA チャネル割り込みを発生させることができません。私がこれまでに発見したことを以下で見つけてください。 1)タスクからDMA転送を開始するとき、すべて問題ありません。DMA 転送が開始され、DMA 割り込みが発生しました。LPSPI_MasterTransferEDMALite(LPSPI3, &g_m_edma_handle, &eDMA_masterXfer); 関数を使用しています 2) LPSPI_MasterTransferEDMALite (LPSPI3, &g_m_edma_handle, &eDMA_masterXfer) を使用して GPIO 割り込みで DMA 転送を開始しているとき、転送も割り込みも行われません 3)以下のコードを使用している場合、タスク内ではすべて(転送+完了割り込み)抽出は問題ありませんが、GPIO割り込み内では問題ありません。転送は開始されますが、メジャー ループ割り込みは開始されません DMA0->TCD[0]です。DADDR = 0x81E00000;DADDR がメモリの先頭にリセットされる EDMA_StartTransfer(g_m_edma_handle.edmaTxDataToTxRegHandle); EDMA_StartTransfer(g_m_edma_handle.edmaRxRegToRxDataHandle); LPSPI_EnableDMA(LPSPI3, (uint32_t)kLPSPI_RxDmaEnable | (uint32_t)kLPSPI_TxDmaEnable); 割り込みISR内でDMA転送を開始するのを手伝ってもらえますか? 転送後に DMA チャネルのメジャー ループ割り込みを生成します。よろしくお願いいたします。 Best regards, Jérémy Re: ISR から転送が開始されたときに DMA 割り込みがトリガーされない ありがとうございます Re: ISR から転送が開始されたときに DMA 割り込みがトリガーされない 親愛なるメイリウ 私はついに問題が何であるかを見つけました。それは、ブロッキングSPI転送とDMA転送を混在させていたという事実から来ました。私のプログラムは現在完全に正常に動作しており、ブロッキングとDMA転送を問題なくオンザフライで切り替えることができます。 私の問題を解決するための希望を見させてくれてありがとう。 Best regards, Jérémy Re: ISR から転送が開始されたときに DMA 割り込みがトリガーされない 私の前の投稿を参照してください、私はそれがうまくいくと確信しています。 私が行ったことを理解できたら、コードをプロジェクトにマージできます。 ぜひお試しください。 ありがとうございます Re: ISR から転送が開始されたときに DMA 割り込みがトリガーされない 親愛なるメイリュー 迅速な返信をいただき、誠にありがとうございます。残念ながら、私のプログラムでは機能しません。lwip_ipv4_ipv6_echoの例から始めました。私が発見したのは、別のタスクから転送を開始しても、割り込みもトリガーされないということです。clock の spi が正しいバイト数 (私のプログラムでは 28) に切り替わっているのがわかりますが、TCD の DONE ビットは設定されていないため、割り込みは発生しません。各ピン割り込みでDMAMUX、DMA、およびDMAチャネル(以下の抜粋)の初期化全体を行う場合も同じことが起こります。FREERTOSの実行が問題の原因であるかどうかはわかりません。万が一、それが役立つ場合に備えて、メインのCファイルとADS1299_HALファイルを添付しました。 DMA転送の開始は、ADS1299_HAL.cの機能ActivateDMA(ligne 490)で行われます。 ピン割り込みは、同じファイル内の関数void GPIO1_Combined_16_31_IRQHandler(void)ligne 565で処理されます。NeedActivateDMA = 1 を発生させます。フラグを使用して、ActivateDMA() を呼び出すように別のタスクにシグナルを送ります。 ご協力いただきありがとうございます。 Best regards, Jérémy これが ActivateDMA() のフォントです DMAMUX_Init(DMAMUX); DMAMUX_SetSource(DMAMUX, LPSPI_MASTER_DMA_RX_CHANNEL, kDmaRequestMuxLPSPI3Rx); DMAMUX_EnableChannel(DMAMUX、LPSPI_MASTER_DMA_RX_CHANNEL); DMAMUX_SetSource(DMAMUX, LPSPI_MASTER_DMA_TX_CHANNEL, kDmaRequestMuxLPSPI3Tx); DMAMUX_EnableChannel(DMAMUX、LPSPI_MASTER_DMA_TX_CHANNEL); /* EDMA init*/ EDMA_GetDefaultConfig(&userConfig); userConfig.enableDebugMode = true; EDMA_Init(DMA0, &userConfig); /* lpspi マスターの設定*/ memset(&(lpspiEdmaMasterRxRegToRxDataHandle), 0, sizeof(lpspiEdmaMasterRxRegToRxDataHandle)); memset(&(lpspiEdmaMasterTxDataToTxRegHandle), 0, sizeof(lpspiEdmaMasterTxDataToTxRegHandle)); EDMA_CreateHandle(&(lpspiEdmaMasterRxRegToRxDataHandle), DMA0, LPSPI_MASTER_DMA_RX_CHANNEL); EDMA_CreateHandle(&(lpspiEdmaMasterTxDataToTxRegHandle), DMA0, LPSPI_MASTER_DMA_TX_CHANNEL); LPSPI_MasterTransferCreateHandleEDMA(LPSPI3, &g_m_edma_handle, LPSPI_MasterUserCallback, NULL, &lpspiEdmaMasterRxRegToRxDataHandle, &lpspiEdmaMasterTxDataToTxRegHandle); LPSPI_MasterTransferPrepareEDMALite(LPSPI3、&g_m_edma_handle、 kLPSPI_MasterPcs0); /* マスター転送を開始し、スレーブからデータを受け取る */ eDMA_masterXfer.txData = NULL; eDMA_masterXfer.rxData = eDMA_masterRxData; eDMA_masterXfer。データサイズ = 28; CS1Low(); isTransferCompleted = false; spiレベルで転送を生成しない修飾子 LPSPI_MasterTransferEDMALite(LPSPI3, &g_m_edma_handle, &eDMA_masterXfer); LPSPI_EnableDMA(LPSPI3, (uint32_t)kLPSPI_RxDmaEnable | (uint32_t)kLPSPI_TxDmaEnable); Re: ISR から転送が開始されたときに DMA 割り込みがトリガーされない Hi @jterrien , 私たちの製品に興味を持ち、コミュニティをご利用いただき、誠にありがとうございます。 私はあなたのためにテストをしました、私は割り込みISR内でDMA転送を開始し、転送後にDMAチャネルメジャーループ割り込みを生成することができます。 SDKデモ「evkmimxrt1024_igpio_input_interrupt」と「evkmimxrt1024_lpspi_edma_b2b_transfer_master」をマージします。MIMXRT1024-EVKボードを使用しています。 SW4ボタンを押すと、このGPIO IRQハンドラーでLPSPI_MasterTransferEDMALite関数を呼び出すと、プログラムがコールバック関数に入ることができることがわかりますLPSPI_MasterUserCallback。  それがあなたの助けになることを願っています。 それでもご不明な点がございましたら、お気軽にお知らせください。 良い一日をお過ごしください! よろしくお願いいたします メイリュウ
查看全文
Kinetis SDKおよびFRDM-K64F <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Kinetis SDKは、フリースケールが提供するKinetisマイクロコントローラ向けの新しい無償ソフトウェアです。Kinetisソフトウェア開発キット(SDK)は、Kinetisマイクロコントローラでのアプリケーション開発を簡素化および加速するように設計された、堅牢なペリフェラル・ドライバ、スタック、ミドルウェア、サンプル・アプリケーションの広範なスイートを提供します。ソフトウェアとボードのサポート構成にProcessor Expertテクノロジーを追加することで、比類のない使いやすさと柔軟性が実現します。Kinetis SDKには、すべてのハードウェア抽象化ソフトウェアとペリフェラル・ドライバ・ソフトウェアに対する寛容なオープンソース・ライセンスの下で、完全なソース・コードが含まれています。   KinetisSDKは、次の場所からダウンロードできます http://freescale.com/ksdk   このドキュメントでは、Kinetis SDKの使用を開始するための基本事項と、一般的なトラブルシューティングのヒントについて説明します。   Kinetis SDKとFRDM-K64F入門 FRDM-K64Fは、120MHz Cortex M4ベースのKinetis K64 MCUを搭載したフル機能のFreescale Freedomボードです。このボードは、Arduinoハードウェア互換性、加速度計と磁力計(Freescaleの FXOS8700CQ)、プッシュボタン/LED、さらにイーサネットポート、microSDポート、デバッグ用のOpenSDAv2も備えています。   まず、Kinetis SDKの最新リリースを http://freescale.com/ksdk からダウンロードしてインストール します   次に、Kinetis SDKがサポートする5つのIDEのいずれかを選択します。 Kinetisデザインスタジオ2.0 ARM用IAR Embedded Workbench 7.20.2 MDK-ARMマイコン開発キット (Keil) 5.11 ARM GCC 4.8.3 ARM 5.2 用 Atollic TrueSTUDIO Kinetis Design StudioとARM GCCはコードサイズに制限なく、Linuxでも実行できます。   次に、/docフォルダ内のドキュメント、 特にリリース・ノートとKinetis SDK入門(KSDK) のドキュメントを参照してください。リリース・ノートには、Kinetis SDKの概要、サポートされているデバイス、ディレクトリ構造の詳細、既知の問題が記載されています。   また、基本的なKinetis SDKディレクトリ構造にも注意してください。詳細については、リリースノートを参照してください。 demos – SDK の例とデモ boards –ボード固有のファイル lib – コンパイルされた SDK ライブラリが存在する場所 platform - SDK ドライバと HAL のソースコード、リンカ ファイル、スタートアップ コード     すべての例は demos フォルダにあるため、 \demos\hello_world\ \frdmk64f\hello_world.eww にある "hello_world" プロジェクトをチェックして、単純な hello world タイプのアプリを探してください。 特定のIDEのデモをコンパイルして実行する方法の詳細については、 KSDK入門ガイド を使用してください。   また、Kinetis SDKがサポートする他のボード、MQX RTOSおよびその他のRTOSサポート、KSDKによるUSBサポートなどについては、 Kinetis SDK FAQ をご覧ください。   FRDM-K64FでのKinetis SDKのデバッグ: 通常、デバッグはFRDM-K64Fボードに組み込まれた OpenSDAv2 回路を介して行われます。イーサネットポートの左側にあるUSBコネクタJ26を必ず使用してください。デフォルトでは、FRDM-K64FはデバッグプロトコルとしてCMSIS-DAP / mbedインターフェイスを使用します。ただし、代わりに P&E Micro または Segger JLink デバッグ インターフェイスをボードで使用することもできます。   CMSIS-DAP/mbed インターフェイスを使用したデバッグ: FRDM-K64F ボードは、OpenSDAv2 を使用しているため、デフォルトで CMSIS-DAP/mbed インターフェイスを使用します。KSDK 1.1 デモ プロジェクトは、FRDM-K64F プロジェクトに対してデフォルトで CMSIS-DAP デバッグ インターフェイスを使用するように設定する必要があります。   P&E Micro Interfaceによるデバッグ: P&E Microインターフェースを使用してデバッグするには、P&E Micro OpenSDAv2アプリをOpenSDAv2回路にロードする必要があります。このアプリの読み込みと使用の手順については、 KSDK入門ガイドの付録Cを参照してください。DEBUG_K64F_MBED_PEMICRO_V108を使用します 。 Kinetis SDK zipファイルに含まれているBINファイル。 元のCMSIS-DAP/mbedインターフェースに戻したい場合は、FRDM-K64F mbedページでOpenSDAv2ブートローダーにドラッグアンドドロップするバイナリアプリを見つけることができます。ファームウェア FRDM K64F - ハンドブック |MBEDの   トラブルシューティング: IAR で CMSIS-DAP/mbed デバッグ インターフェイスを使用していますが、ボードに接続できなくなり、「致命的なエラー : プローブが見つかりません。セッションが中止されました!": Kinets SDK リリースノートに記載されているように、OpenSDAv2 で CMSIS-DAP インターフェースを使用するときにコードが main() 関数を終了できると、デバッガーが応答しなくなる可能性があるという問題があります。   ボードを回復するには、いくつかのオプションがあります。 P&E MicroインターフェースアプリをOpenSDAv2にロードし、正常なプログラムをフラッシュします ボードは引き続き大容量記憶装置として列挙され、既知の正常なプログラムをボードにドラッグアンドドロップできます。ただし、適切に列挙するためにリセットボタンを数回押す必要がある場合があります。この投稿には、既知の良好なhello_worldプログラムが添付されています。   これは、CMSIS-DAP/mbed インターフェイス アプリの将来のバージョンで修正される予定です。それまでの間、main() を終了する前に、コードに while(1) ループを入れてください。また、Eclipse上のMCUに関するこの問題に関するブログエントリもご覧ください   シリアルポートは以下を列挙していません。 デフォルトの CMSIS-DAP/mbed インターフェイスを使用している場合、Windows 上で正しく列挙するには、 まず mbed Windows シリアル ポート ドライバー をインストールする必要があります。ドライバーなしでMacOSおよびLinuxで動作するはずです。   デバッグを開始すると、"Undected.USBケーブルを抜き差しします。[リストの更新] をクリックします。 考えられる問題は、FRDM-K64F にデフォルトの CMSIS-DAP/mbed ファームウェアがあり、プロジェクトが P&E Micro または JLink インターフェイスを使用しようとしていることです。IDEのデバッグ・インタフェースを変更して、CMSIS-DAPを使用します。または、OpenSDAv2 回路のファームウェアを、Getting Started with KSDK ドキュメントの付録 C で説明されている適切なファームウェアに変更します。   Kinetis SDKプラットフォーム・ライブラリをIAR 7.10.xでコンパイルすると、次のエラーメッセージが表示されました:Error[Pm056]:すべてのif、else ifコンストラクトに最終的なelse句を含める必要があります(MISRA C 2004ルール14.10): これは、MISRA C 2004 のルール違反が原因です。ベータ版のKinetis SDKはIAR 6.70を使用して構築されていましたが、IARが7.10.xに移行した際にMISRA Cチェックが変更されましたこれがIAR 7.10.xで発生する理由です。   このエラーは、プロジェクト設定でMISRA Cチェックを無効にすることで修正できます。   platform_lib プロジェクトを右クリックし、[General Options] カテゴリで (右側の矢印キーを使用して) [MISRA-C-2004] タブまでスクロールし、[Enable MISRA-C] のチェックを外します。   P&E Micro OpenSDAv2 アプリでデバッグすると、「OpenSDA ハードウェアからのデータの読み取り中にエラーが発生しました。E17925」 これは調査中で、IAR 7.10.xに影響を与えるようですおよびCW10ですが、IARの以前のバージョンはありません。それまでの間は、代わりにCMSIS-DAP/mbedインターフェースアプリを使用してください。 全般 Re:Kinetis SDKおよびFRDM-K64F <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Eclipse Lunaを使用してFRDM K64Fのプロジェクトを成功裏に構築し、ARM組み込みプロセッサ用のGNUツールを使用して新しいKSDK 1.2.0をビルドすることができました。私はそれをすべて設定する方法についてのブログを作成しました。お役に立てば幸いです: ツールチェーン:KSDK 1.2.0とEclipse 4.4(Luna)およびGNU ARMプラグイン |ケンタウリアン Re:Kinetis SDKおよびFRDM-K64F <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Erich Stygerのチュートリアルは、彼のブログ「 Constructing a Classroom IDE with Eclipse for ARM |Eclipse上のMCU Re:Kinetis SDKおよびFRDM-K64F <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> evalバージョンを使用している場合は、IARプロジェクト設定でMISRAチェックをオフにすることができます。 KSDKは、IAR、Keil、Kinetis Design Studio、GCCをサポートしています。これらのツールチェーンの説明は、『KInetis SDK K64 User's Guide』の\docフォルダにあります。 ユーザーガイドドキュメントに記載されているGCC/MinGWソリューションを使用してビルドとデバッグを行うことができました。cygwinを使ったことがある人もいると思いますが、エドが言ったように、彼は問題を抱えていました。cygwinでも「make」ではなく「mingw32-make」を使用する必要があります。 Re:Kinetis SDKおよびFRDM-K64F <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 個人的には、私はこのためにIARを購入しませんでした。ただし、上記の私の投稿からわかるように、GCCを使用してSDKを直接構築することも成功しませんでした。必要なものを引っ張り出して、自分のビルドを作成しました(gcc / makeを使用)。それほど悪くはありませんでした。しかし、GCCのものが箱から出してすぐに機能するのを見るのは良かったでしょう。 Re:Kinetis SDKおよびFRDM-K64F <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 誰かがgccツールを使用してSDKの下でアプリを構築したことがありますか? 私はSDKからコードを抽出し、自分で何かを構築することができました。しかし、私はさまざまなアプリの下でmakefileを直接使用して正常にビルドすることができませんでした。私の環境は、cygwinとcodesourceryのクロスコンパイラを備えたW7です。詳細については、 FRDM-K64Fの起動の問題 を参照してください。
查看全文
MPC5777c etpu_set.h环境 你好,我正在使用 MPC5777c。 我有问题和困难。 我用过etpu_set.h对于“PWMM”和“AS” 现在我正在尝试使用 etpu_set.h对于“PWMM” 、 “AS”和“RESOLVER” 所以我从 http://www.nxp.com/webapp/etpu_cw/ 制作了 eTPU函数 使用 etpu_set.h 有很多不同之处和新的 etpu_set.h。 新生成的代码与etpu_code和etpu_global中现有的代码有许多不同之处。 并且有这样的注释“警告:此文件是自动生成的。请勿编辑它!” 我附加了“existing_etpu_set.h”这意味着使用 etpu_set.h和“new_etpu_set.h” 如果我应用新创建的 etpu_set.h用 etpu 函数选择器的文件添加到现有代码中以添加 RESOLVER 函数,现有代码是否可以正常工作? 如果没有的话我该怎么办? 请告诉我如何解决这个问题。 MPC5777C eTPU  回复:MPC5777c etpu_set.h环境 您必须替换 eTPU 函数选择器提供的所有新生成的文件。然后它就可以正常工作了。
查看全文
Kinetis/LPC/i.MXRT部品番号のSTEP 3Dモデルの抽出 Kinetis/LPC/i.MXRT 部品番号のフットプリントは、次のリンクにある Microcontroller Symbols, Footprints and Models Library ホームページを使用して非常に簡単に取得できます。 https://www.nxp.com/design/software/models/microcontroller-symbols-footprints-and-models:MCUCAD?tid=vanMCUCAD 一部のユーザーは気づいていないかもしれませんが、NXP Kinetis/LPC/i.MXRTの部品番号で利用可能なBXLファイルには、アプリケーションの工業デザインに取り組むときにしばしば必要となるパッケージの3Dモデルも含まれています。 以下の手順で、モデルライブラリのホームページのリンクからダウンロードできるUltra Librarianソフトウェアを使用して、パッケージの3DモデルをSTEP(Standard for the Exchange of Product Data)形式でエクスポートすることができます。STEP(.step,stp)ファイルには、モデルがASCII形式で保存されます。この形式は、3Dソリッドでの作業を可能にする多くのCADスイートにインポートできます。 まず、関心のある部品番号の BXL ファイルを取得します。この例では、MIMXRT1052CVL5B.blx. 次に、Ultra Librarianプロジェクトを開き、「Load Data」ボタンを使用してこのファイルをロードし、Select Toolsオプションから「3Dステップモデル」チェックボックスを選択します。最後に、[Select Toolsにエクスポート]オプションを選択します。 エクスポートプロセスが完了すると、ステップファイルはUltraLibrarian/Library/Exportedのパスで使用できるようになります。 STEP(.stp)ファイルは、オープンソースのFreeCADなど、ソリッド3DオブジェクトをサポートするCADスイートで開くことができます。 i.MXRT 105倍
查看全文
例 XPC5643LKIT PinToggleStationery LSM CW210 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 詳細説明: *アプリケーションは基本的な初期化を実行し、PLLを最大許容周波数に設定します。 *割り込みを初期化し、割り込みごとに1つのLEDを点滅させ、ソフトウェアで2番目のLEDを点滅させます *ループ、UART端末、次に端末ECHOを介して通知を初期化および表示します。 * この例では、最大のパフォーマンス (OPTIMIZATIONS_ON) にデバイスを構成します * 命令キャッシュの初期化と分岐予測の有効化による。 ※例:MCUがLSM(ロックステップモード)に設定されているとします。 * その意図は、CWステーショナリーに追加の高度なスタートアップコードを提供することです。 * * ------------------------------------------------------------------------------ *テストHW:xPC564xLKIT、PPC5643L Cut3シリコン *対象:internal_FLASH、RAM * Fsys:120 MHz PLL0 * Debugger:        Lauterbach Trace32 *                  PeMicro USB-ML-PPCNEXUS *端末:19200-8-パリティなし-1ストップビット-LINFlex0によるフロー制御なし * EVB接続:デフォルト * ******************************************************************************** <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ******************************************************************************** * 詳細説明: *アプリケーションは基本的な初期化を実行し、PLLを最大許容周波数に設定します。 *割り込みを初期化し、割り込みごとに1つのLEDを点滅させ、ソフトウェアで2番目のLEDを点滅させます *ループ、UART端末、次に端末ECHOを介して通知を初期化および表示します。 * この例では、最大のパフォーマンス (OPTIMIZATIONS_ON) にデバイスを構成します * 命令キャッシュの初期化と分岐予測の有効化による。 ※例:MCUがLSM(ロックステップモード)に設定されているとします。 * その意図は、CWステーショナリーに追加の高度なスタートアップコードを提供することです。 * * ------------------------------------------------------------------------------ *テストHW:xPC564xLKIT、PPC5643L Cut3シリコン *対象:internal_FLASH、RAM * Fsys:120 MHz PLL0 * Debugger:        Lauterbach Trace32 *                  PeMicro USB-ML-PPCNEXUS *端末:19200-8-パリティなし-1ストップビット-LINFlex0によるフロー制御なし * EVB接続:デフォルト * ******************************************************************************** 全般
查看全文
i.MX31マルチメディア・アプリケーション・プロセッサ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Freescale.com に関する製品情報 評価/開発ボードおよびシステム 組込みソフトウェアとツール パートナー/第三者開発ツール 関連リソース i.MX31マルチメディア・アプリケーション・プロセッサは、幅広い産業、民生、車載アプリケーション向けに設計されています。ARM1136JF-S™コアをベースとするi.MX31プロセッサとi.MX31Lプロセッサは、消費電力を最小限に抑えながら強力なパフォーマンスを提供するように設計されています。i.MX31プロセッサの豊富な機能セットは、ポータブル・メディア・プレーヤ、ポータブル・ナビゲーション・デバイス、医療/産業用モニタリング・システム、車載インフォテインメント・システム、および多くの一般的な組み込みアプリケーションに最適です。 i.MX ファミリーの比較 Freescale.com に関する製品情報 i.MX31マルチメディア・アプリケーション・プロセッサ 評価/開発ボードおよびシステム IMX31PDK:i.MX31 製品開発キット はじめに i.MX31PDK Board入門 点滅 i.MX31 PDKボード I.MX31 RedBootを使用したPDKボード その他のチュートリアル U-Boot を使用した iMX31PDK LED の点滅 i.MX31 RNGAハードウェアのテスト方法 i.MX31 TvOutをi.MX31PDKでテストする方法 i.MX31で退勤記録を使用する方法 Micronの78nm mDDRとインターフェースする際の問題 IMX31ADS はじめに i.MX31ADS ボードの使用を開始する 点滅 I.MX31 ADSボード その他のチュートリアル i.MX31ADS での NAND フラッシュからの Linux の起動 Linuxカーネルのメインラインからi.MX31ADSへのコンパイル Micronの78nm mDDRとインターフェースする際の問題 組込みソフトウェアとツール i.MXアプリケーション・プロセッサ向けAndroid OS パートナー/第三者開発ツール スターターキット STKa31 (Technology in Quality) 関連リソース i.MX31 ADSの i.MX31 PDK i.MX31 PDKボード アルファブレンディング i.MX31 PDKボードDirectFB i.MX31 PDKボードV4Lテスト i.MX31 PDKの内容 i.MX31 PDK設定ボタンとジャンパ i.MX31 Liteキット
查看全文
Freescale i.MX6 DRAM端口应用指南-DDR3 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该论文的中文版已于7月份在《中国集成电路》杂志上发表。 请通过以下链接查看中文版本。 飞思卡尔i.MX6平台DRAM接口高阶应用指导-DDR3篇 i.MX6_全部
查看全文
测试 GStreamer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 标题 1 标题 2 视频渲染 gst-启动 videotestsrc!mfw_v4lsink 音频渲染 gst-启动audiotestsrc!阿尔萨斯克 WAV 音频渲染 gst-启动文件 rc 位置=test.wav!wavparse!阿尔萨斯克 视频渲染选择上限 gst-启动 videotestsrc!capsfilter 名称='video/x-raw-yuv,format=(fourcc)I420'!mfw_v4lsink gst-启动 videotestsrc!'视频/x-raw-yuv,格式=(fourcc)I420'!mfw_v4lsink 图形与显示 Linux 多媒体 回复:测试 GStreamer <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, Leonardo 如何使用 gstreamer 解码不同的图像格式? 我想解码并显示 bmp 和 tiff。
查看全文
FXOS8700 分线板 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 飞思卡尔FXOS8700CQ 6轴传感器在小型3 x 3 x 1.2 mm QFN塑料封装中结合了业界领先的加速度传感器和磁力传感器。 这款产品将14位加速度传感器和16位磁力计与高性能ASIC结合在一起构建电子罗盘解决方案,​典型的方向分辨率为0.1度,罗盘方位精度误差小于5度,可满足大部分应用。 具体应用包括电子罗盘、增强型用户界面、增强现实和位置服务应用(静态方位指引)。 目标产品包括智能手机、平板电脑、个人导航设备、智能电视的遥控器、手表、游戏控制器、机器人和无人机(UAV)。 以下是从 OSH Park 下载的FXOS8700分线板的渲染图: 这是该板的布局设计图: 在附件部分,您可以找到此分线板的原理图源文件 (.SCH)、原理图 PDF 文件、布局源文件 (BRD)、Gerber 文件 (GTL、GBL、GTS、GBS、GTO、GBO、GKO、XLN) 和 BOM。 如果您对其他传感器的更多类似分线板的设计感兴趣,请前往飞思卡尔传感器分线板设计 - 主页 磁力传感器 传感平台 回复:FXOS8700分线板 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 拥有一个简单的分线板来做一些原型设计真是太好了。我专注于 i2c 的实现,因此创建了带有和不带有范围扩展器的 i2c 版本。 这是带扩展器的版本: OSH Park ~ FXOS8700 带扩展器 这是不带扩展器的版本: OSH Park ~ FXOS8700 without Extender 以下是 GitHub 的链接,我在这里找到了这些主板的 EAGLE 文件: chipmc/FXOS8700-i2c-Breakout-CAD-Files · GitHub 谢谢,Chip 回复:FXOS8700分线板 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 得到正式认可的, 雷耶斯
查看全文
GStreamer 杂项 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 将管道元素转储到图像文件中 # 按照目标运行管道 $ export GST_DEBUG_DUMP_DOT_DIR= $ gst-launch playbin2 uri=file:// ${avi} $ # 移动 .dot文件到主机(scp 等) # 在主机上 dot -Tpng -o out.png # dot 命令是 graphviz 包的一部分 查询 gst-launch 命令中正在使用哪些元素 GST_DEBUG=GST_ELEMENT_FACTORY:3 gst-launch playbin2 uri=file://`pwd`/ 中断后台运行的 gst-launch 进程 杀死-INT $PID # 其中 $PID 是进程 ID 仅使用 SW 编解码器 # 备份并删除 $ 查找 /usr/lib/gstreamer-0.10 -name "libmfw*" | grep -v 接收器 | xargs tar cvf /libmfw_gst.tar $ find /usr/lib/gstreamer-0.10 -name“libmfw*”| grep -v sink | xargs rm # 运行你的管道。这次使用了 SW 编解码器 $ gst-launch playbin2 uri=file://`pwd`/media_file # 要再次“安装”FSL插件,只需解压文件 $ cd / && tar xvf libmfw_gst.tar && cd - # 然后运行你的管道。这次使用了硬件编解码器 $ gst-launch playbin2 uri=file://`pwd`/media_file i.MX6_全部 多媒体 回复:GStreamer 杂项 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 我已经更新了食谱!谢谢! Leo 回复:GStreamer 杂项 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 好的,我删除了所有 libmfw_*,除了 libmfw_gst_isink.so 和 libmfw_gst_v4lsink.so,这样就可以了。谢谢。 回复:GStreamer 杂项 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 实际上,您可能需要飞思卡尔视频接收器,因此请不要移动/删除它们。如果有效请告诉我。 Leo 回复:GStreamer 杂项 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 请尝试以下步骤: rm .gstreamer-0.10/registry.arm.bin # 这样做是为了强制插件重新加载 gst-inspect | grep ff # 检查 ffmpeg 插件是否存在 gst-启动 playbin2 .... 回复:GStreamer 杂项 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> “仅使用 SW 编解码器”的说明对我来说不起作用。我有一块带有 i.MX6Q CPU 和 4.0.0 版本的 Linux SDK 的 SabreSD 板,其中安装了修补的 ffmpeg 插件。这是我的输出: root@freescale ~$ gst-launch playbin2 uri=file:///root/RecordedTs-coreel-720p5994.ts 将管道设置为暂停状态... 将管道设置为PREROLLING... 警告:来自元素/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0:没有可用于类型“video/mpegts、systemstream=(boolean)true、packetize=(int)188”的解码器。 附加调试信息: gsturidecodebin.c(867): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0 错误:来自元素/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20:您的 GStreamer 安装缺少一个插件。 附加调试信息: gstdecodebin2.c(3233): gst_decode_bin_expose():/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20: 未找到合适的插件 错误:管道不想预卷。 将管道设置为 NULL ... 释放管道... root@freescale ~$ gst-launch playbin2 uri=file:///root/sample_mpeg4.mp4 将管道设置为暂停状态... 将管道设置为PREROLLING... 警告:来自元素/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0:没有可用于类型“audio/mpeg、mpegversion=(int)4、framed=(boolean)true、stream-format=(string)raw、level=(string)2、base-profile=(string)lc、profile=(string)lc、codec_data=(buffer)1290、rate=(int)32000、channels=(int)2”的解码器。 附加调试信息: gsturidecodebin.c(867): unknown_type_cb (): /GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0 错误:来自元素/GstPlayBin2:playbin20/GstPlaySink:playsink0:autovideosink 元素不起作用。 附加调试信息: gstplaysink.c(1353):gen_video_chain():/GstPlayBin2:playbin20/GstPlaySink:playsink0 错误:管道不想预卷。 将管道设置为 NULL ... 释放管道...
查看全文