Multi Source Translation Content

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

Multi Source Translation Content

讨论

排序依据:
ビデオ - クラウド開発チュートリアル 6/6: リモート構成サポートの追加 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> MQX用iDigiコネクタのチュートリアル6/6: リモート設定サポートの追加(6/6) - iDigi Device Cloud 詳細と無料ダウンロードは http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KINETIS_IDIGI_M2M
查看全文
LS2088ARDB - 如何在 QSPI NOR 闪存中部署 TF-A 二进制文件 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Cortex-A 可信固件 (TF-A) 是 EL3 安全固件的一个实现。TF-A 在安全固件中取代了 PPA 的角色。 在 LS2088ARDB 中,无法使用命令在并行 NOR 启动和 QSPI NOR 启动之间切换启动选项。可以通过调整参考设计板上的 DIP 开关设置和跳线设置来完成启动选项的切换。有关详细信息,请参阅Layerscape 软件开发套件用户指南。 要从 原有启动流程(含 PPA)迁移到 TF-A 启动流程,您需要编译 TF-A 二进制文件 bl2_. pbl 和 fip.bin ,然后将这些二进制文件烧录至开发板上的特定启动介质上。 对于 QSPI NOR 闪存启动,您需要编译以下 TF-A 二进制文件。 TF-A 二进制名称 组件 bl2_qspi.pbl BL2 二进制:平台初始化二进制 用于 QSPI NOR 闪存的 RCW 二进制文件 fip.bin BL31:安全运行时固件 BL32:可信操作系统,例如OPTEE(可选) BL33:U-Boot/UEFI 镜像 按照以下步骤编译和部署 TF-A 二进制文件( bl2_qspi.pbl 和 QSPI NOR 闪存中的 文件 (.fip.bin) 是 用于将文件复制到 QSPI NOR 闪存的程序包中 编译 RCW 二进制文件 编译 U-Boot 二进制文件 [可选] 编译 OPTEE 二进制文件 编译 TF-A 二进制文件 ( bl2_qspi.pbl和fip.bin)用于 QSPI NOR 闪存 将 TF-A 二进制文件编程到 QSPI NOR 闪存 步骤 1:编译 RCW 二进制文件 您需要编译rcw_2000_qspi.bin 用于构建bl2_qspi.pbl 的二进制文件二进制。 克隆rcw存储库并编译 PBL 二进制文件。  $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/rcw $ cd rcw $ git checkout -b 。 例如, $ git checkout -b LSDK-19.09 LSDK-19.09 $ cd ls2088ardb 如果需要,请对 rcw 文件进行更改。 $ make LS2088ARDB 上 QSPI NOR 闪存的已编译 PBL 二进制文件rcw_2000_qspi.bin可在rcw/ls2088ardb/FFFFFFFF_PP_HH_0x2a_0x41中找到 有关包含 RCW 源文件和二进制文件的目录的命名约定的说明,请参阅rcw/ls2088ardb/README文件。 步骤 2:编译 U-Boot 二进制文件 你需要编译u-boot.bin构建fip.bin 的二进制文件二进制。 克隆u-boot 存储库并为 TF-A 编译 U-Boot 二进制文件。 $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/u-boot.git $ cd u-boot $ git checkout -b LSDK-. 例如, $ git checkout -b LSDK-19.09 LSDK-19.09 $ 导出ARCH=arm64 $ 导出 CROSS_COMPILE= aarch64-linux-gnu- $ make distclean $ make ls2088ardb_tfa_defconfig $ make 如果make命令显示错误 “*** 您的 GCC 版本早于 6.0 且不受支持” ,请确保您使用 Ubuntu 18.04 64 位版本来构建 LSDK 18.12 及更高版本的 U-Boot 二进制文件。 已编译的 U-Boot 映像u-boot .bin可在以下位置获取 u-boot / 。 步骤 3:[可选]编译 OP-TEE 二进制文件 您需要编译 tee.bin 二进制文件,以构建含 OPTEE 的fip.bin 。然而,OPTEE 是可选组件,您可以跳过编译 OPTEE 的步骤,如果您希望构建不包含 OPTEE 的 FIP 二进制文件。 克隆 optee_os 代码库并构建 OPTEE 二进制文件。 $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/optee_os $ cd optee_os $ git checkout -b LSDK- 。 例如, $ git checkout -b LSDK-19.09 LSDK-19.09 $ export ARCH=arm $ export CROSS_COMPILE=aarch64-linux-gnu- $ make CFG_ARM64_core=y 平台=ls-ls2088ardb $ aarch64-linux-gnu-objcopy -v -O binary out/arm-plat-ls/core/tee.elf out/arm-plat-ls/core/tee.bin 编译生成的 OPTEE 镜像 tee.bin,位于optee_os/out/arm-plat-ls/core/。 步骤 4:为 QSPI NOR 闪存编译 TF-A 二进制文件 克隆 atf 存储库并编译 TF-A 二进制 文件 bl2_qspi.pbl 和 fip.bin 。 $ git clone https://source.codeaurora.org/external/qoriq/qoriq-components/atf $ cd atf $ git checkout -b LSDK-. 例如, $ git checkout -b LSDK-19.09 LSDK-19.09 $ export ARCH=arm64 $ export CROSS_COMPILE=aarch64-linux-gnu- Build BL2 binary with OPTEE. $ make PLAT=ls2088ardb bl2 SPD=opteed BOOT_MODE=qspi BL32= / tee.bin pbl RCW= /rcw_2000_qspi.bin 已编译的 BL2 二进制文件bl2.bin和bl2_qspi.pbl可在atf/build/ls2088ardb/release/处找到。 对于 BL2 源代码或 RCW 二进制文件的任何更新,都需要重新编译bl2_qspi.pbl二进制文件。 在没有OPTEE的情况下编译BL2二进制文件: make PLAT=ls2088ardb bl2 BOOT_MODE=qspi pbl RCW= /rcw_2000_qspi.bin               使用OPTEE构建FIP二进制文件 ,无需可信板启动。 $ make PLAT=ls2088ardb fip BL33= / u-boot.bin SPD=opteed BL32= / tee.bin 已编译的 BL31 和 FIP 二进制文件bl31.bin 、 fip .bin可在atf/build/ls2088ardb/release/处找到。 对于 BL31、BL32 或 BL33 二进制文件的任何更新,需要重新编译 fip.bin二进制文件。 要编译不包含OPTEE且不依赖可信板启动的FIP 二进制文件: make PLAT=ls2088ardb fip BOOT_MODE=sd BL33= /u-boot.bin 要使用可信板启动编译 FIP 二进制文件,请参阅 readme /plat/nxp/README.TRUSTED_BOOT 步骤 5:将 TF-A 二进制文件编程到 QSPI NOR 闪存 引导 LS2088ARDB从 QSPI 启动。确保已设置开关和跳线,以便从 QSPI 启动开发板。 QSPI: SW5[1:8] = 1111 1111 SW3[1:8] = 0011 0001 SW4[1:8] = 0011 1111 SW6[1:8] = 1111 1111 SW7[1:8] = 0100 1010 SW9[1:8] = 0100 0100 SW8[1:8] = 0111 1111 除了上述开关设置之外,还要确保以下跳线设置正确(适用于 RDB Rev E 及更高版本)。 J8 = 1-2 用于 QSPI 启动,通过板载 QSPI 闪存 J8 = 2-3 用于 QSPI 启动,通过 QSPI 仿真器 J14 = 2-3,用于 QSPI 启动 对于 LS2088ARDB,在启动日志中,您将看到: 主板:LS2088AE Rev1.1-RDB,主板架构:V0,主板版本:A,从 vBank 启动:0 TF-A 二进制文件可以从 TFTP 服务器或大容量存储设备(SD、USB 或 SATA)加载到 LS2088ARDB。 选项 1:从 TFTP 服务器加载 TF-A 二进制文件 设置以太网连接 主板启动后,U-Boot 会打印出已启用的以太网接口列表。 DPMAC1@xgmii, DPMAC2@xgmii, DPMAC3@xgmii, DPMAC4@xgmii, DPMAC5@xgmii, DPMAC6@xgmii, DPMAC7@xgmii, DPMAC8@xgmii 将服务器 IP 地址设置为您已配置 TFTP 服务器的主机的 IP 地址。 => setenv serverip 将ethact和ethprime设置为连接到 TFTP 服务器的以太网接口。 看 LS2088ARDB以太网端口映射 用于将机箱前面板上显示的以太网端口名称与 U-Boot 和 Linux 中的端口名称进行映射。 => setenv ethprime 例如: => setenv ethprime DPMAC3@xgmii => setenv ethact 例如: => setenv ethact DPMAC3@xgmii 设置板子的IP地址。您可以设置静态 IP 地址,或者,如果主板可以连接到 DHCP 服务器,则可以使用 DHCP 命令。 静态 IP 地址分配: => setenv ipaddr => setenv netmask => setenv gatewayip 动态 IP 地址分配: => dhcp 保存设置。 =>  saveenv 检查电路板与 TFTP 服务器之间的连接。 => ping $serverip 使用DPMAC3@xgmii设备 主机 192.168.1.1 是活跃的。 从TFTP服务器加载TF-A二进制文件 有关 TF-A 二进制文件的闪存映像布局的详细信息,请参阅TF-A 启动流程的 LSDK 内存布局。 编程 QSPI NOR 闪存: => sf 探针 0:0 Flash bl2_qspi.pbl: => tftp 0xa0000000 bl2_qspi.pbl => sf 擦除 0x0 +$filesize && sf 写入 0xa0000000 0x0 $filesize  Flash fip.bin: => tftp 0xa0000000 fip.bin => sf 擦除 0x100000 +$filesize && sf 写入 0xa0000000 0x100000 $filesize 从QSPI NOR 闪存启动: =>重置 LS2088ARDB 将使用 TF-A 启动。在启动日志中,您将看到: => NOTICE: UDIMM 18ASF1G72AZ-2G3B1 注意:16 GB DDR4,64 位,CL=15,ECC 开启,256B,CS0+CS1 注意:UDIMM 18ASF1G72AZ-2G3B1 注意:4 GB DDR4,32 位,CL=11,ECC 开启,CS0+CS1 注意:BL2:v1.5(发布):LSDK-19.09 通知:BL2:建造时间:2019年11月11日 15:19:13 注意:BL31:v1.5(发布):LSDK-19.09 通知:BL31:建造时间:2019年11月11日 15:21:14 通知:欢迎来到 LS2088 BL31 阶段 U-Boot 2019.04(2019年11月11日 - 15:12:53 +0530) SoC:LS2088AE Rev1.1(0x87090011) 时钟配置: CPU0(A72):2000 MHz CPU1(A72):2000 MHz CPU2(A72):2000 MHz CPU3(A72):2000 MHz CPU4(A72):2000 MHz CPU5(A72):2000 MHz CPU6(A72):2000 MHz CPU7(A72):2000 MHz 总线:800 MHz DDR:2133.333 MT/s DP-DDR:1600 MT/s 复位配置字(RCW): 00000000: 503040c0 50500050 00000000 00000000 00000010: 00000000 00000000 00a00000 00000000 00000020: 01e01180 00002581 00000000 00000000 00000030: 00400c0b 00000000 00000000 00000000 00000040: 00000000 00000000 00000000 00000000 00000050: 00000000 00000000 00000000 00000000 00000060: 00000000 00000000 00027000 00000000 00000070: 412a0000 00040000 型号:Freescale Layerscape 2080a RDB Board 主板:LS2088AE Rev1.1-RDB,主板架构:V0,主板版本:A,从 vBank 启动:0 选项二:从大容量存储设备(SD 卡、USB 设备或 SATA 硬盘)的分区加载图像 选择要使用的大容量存储设备。 => mmc rescan => mmc 信息 或者 => usb start => usb info 或者 => scsi scan => scsi info 可选 – 列出存储设备上的文件 => ls mmc 例如: => ls mmc 0:2 或者 => ls usb 例如: => ls usb 0:1 或者 => ls scsi 例如: => ls scsi 0:2 如果 ls 命令运行失败,请在 U-Boot 提示符下输入 ls,检查 QSPI NOR 闪存中的 U-Boot 是否支持该命令: => ls ls - 列出目录中的文件(默认) 用法: ls [ [目录]] - 列出设备类型 [interface] 和实例 [dev] 上分区 [part] 的目录 [directory] 中的文件。 如果 U-Boot 不支持此命令,则更新 QSPI NOR 闪存中的复合固件映像。 有关更新 QSPI NOR 闪存中的复合固件映像的步骤,请参阅 Layerscape 软件开发套件用户指南 。 如果使用 LSDK flex-installer 命令格式化/创建 SD 卡,请使用以下命令: => 加载 [ [ [ [字节数 [位置]]]]] 例如: =>加载 mmc 0:2 $load_addr bl2_qspi.pbl 如果 SD 卡是在 Windows PC 上格式化/创建的,请使用以下命令: => fatload [ [ [ [字节数 [位置]]]]] 例如: =>胖加载 mmc 0:2 $load_addr bl2_qspi.pbl 如果 SD 卡是在 Linux PC 上格式化/创建的,请使用以下命令: => ext2load [ [ [ [字节数 [位置]]]]] 例如: => ext2load mmc 0:2 $load_addr bl2_qspi.pbl 还要注意,LSDK flex-installer 命令将图像放在 IInd 分区上,因此在加载命令中使用 0:2。如果 SD 卡在 Windows PC 或 Linux PC 上仅格式化为单个分区,则在 fatload/ext2load 命令中应使用 0 而不是 0:2。 加载 bl2_qspi.pbl来自存储设备的图像 => load mmc 0:2 0xa0000000  => 打印文件大小 例如: => load mmc 0:2 0xa0000000 bl2_qspi.pbl => 打印文件大小 文件大小=14379 或者 => load usb 0:2 0xa0000000  => 打印文件大小 或者 => load scsi 0:2 0xa0000000  => 打印文件大小 程序 bl2_qspi.pbl 到 QSPI NOR 闪存: => sf 擦除 0x0 +$filesize && sf 写入 0xa0000000 0x0 $filesize  加载fip.bin 来自存储设备的图像 => load mmc 0:2 0xa0000000  => 打印文件大小 例如: => load mmc 0:2 0xa0000000 fip.bin => 打印文件大小 文件大小=131510 或者 => load usb 0:2 0xa0000000 => 打印文件大小 或者 => load scsi 0:2 0xa0000000  => 打印文件大小 程序 fip.bin到QSPI NOR 闪存: => sf 擦除 0x100000 +$filesize && sf 写入 0xa0000000 0x100000 $filesize 从QSPI NOR 闪存启动: => 重置 LS2088ARDB 将使用 TF-A 启动。 QorIQ LS1设备
查看全文
MAC57D5xxに基づく車載インストルメントクラスターソリューション <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 最新のデュアルコアARMベースのインストルメントクラスターソリューションの機能を見て、WVGA TFTディスプレイにプレミアム品質のグラフィックスを備えたハイエンドクラスターを表示します。     顔立ち デュアルコアのARMベースのインストルメントクラスターソリューションで、WVGA TFTディスプレイにプレミアム品質のグラフィックスを備えたハイエンドクラスターを表示します。 GPU搭載インストルメントクラスタ制御32ビットマイコン、2Dグラフィックスプロセッシングユニット(ラスタ演算、ベクタ演算付) リンク MAC57D5xx:インストルメントクラスタ用車載DISマイコン ブロック図   オートモーティブ
查看全文
i.MX 8QM MEK - IMX-AUD-IO - Audio out <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 关于在 i.MX 8QuadMax MEK 开发板上使用 4.19.35-1.1.0 进行音频测试的简要说明BSP。 硬件: - 将 MCIMX8QM-CPU 连接到 MCIMX8-8X-BB。 - 将 IMX-AUD-IO 连接到MCIMX8-8X-BB 上的音频插槽 1。 - MCIMX8-8X -BB上的 J47 上的 2 和 3 短路 - 将外部有源扬声器连接到IMX-AUD-IO上的 RCA 连接器 Audio OUT FR 和/或 Audio OUT FL - 可选地,将耳机连接到 MCIMX8QM-CPU 上的 J15 测试: 给板上电。 aplay -l 显示可用的音频接口。 root@imx8qmmek:~# aplay -l **** 播放硬件设备列表 **** 卡 0:cs42888audio [cs42888-audio],设备 0:HiFi cs42888-0 [] 子设备:1/1 子设备#0:子设备#0 卡 0:cs42888audio [cs42888-audio],设备 1:HiFi-ASRC-FE (*) [] 子设备:1/1 子设备#0:子设备#0 卡 1:wm8960audio [wm8960-audio],设备 0:HiFi wm8960-hifi-0 [] 子设备:1/1 子设备#0:子设备#0 卡 2:imxaudmix [imx-audmix],设备 0:HiFi-AUDMIX-FE (*) [] 子设备:1/1 子设备#0:子设备#0 卡 2:imxaudmix [imx-audmix],设备 1:HiFi-AUDMIX-FE (*) [] 子设备:1/1 子设备#0:子设备#0 通过 cs42888 在有源扬声器上播放文件: root@imx8qmmek:~# aplay -Dhw:0,0 test.wav 播放WAVE‘test.wav ’:有符号 16 位 Little Endian,速率 48000 Hz,立体声 通过wm8960在耳机上播放文件: root@imx8qmmek:~# aplay -Dhw:1,0 test.wav i.MX 8 系列 | i.MX 8QuadMax (8QM) | 8QuadPlus
查看全文
i.MX27 ADSボードの点滅 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> このチュートリアルでは、ATK を使用してブートローダーをフラッシュする方法を説明します。 ATK(アドバンスドツールキット) ATK(Advanced Toolkit)は、i.MX ボードのフラッシュメモリをプログラミングするためのWindowsソフトウェアです。 ATKの使い方 このセクションでは、フラッシュメモリを消去し、ブートローダをプログラムする手順について説明します。 1 - PCと i.MX ボードをシリアルケーブルで接続します。 2 - 一部のハードウェア構成 (スイッチ) は、ボードをフラッシュするために行う必要があります。 S18スイッチを次のように設定します:スイッチS18->111100 3 - [スタート] - [プログラム] > - > AdvancedToolKit - > AdvancedToolKit] をクリックして ATK を実行します。 次のオプションを設定します。    デバイスメモリ-> DDR;カスタム初期ファイル -> (マークを外したままにする)    通信チャネル -> シリアルポート(通常はCOM1) 4 - [Flash Tools]をクリックしてフラッシュメモリを消去、プログラム、またはダンプし、[GO]をクリックします。 フラッシュプログラミング 次のステップは、以下の手順に従って、ブートローダーイメージをボードのフラッシュにプログラムすることです。 1 - 次の図に示すようにパラメータを選択し、[プログラム]を押します。 ブートローダのバイナリイメージファイルは、ボードサポートパッケージセットプログラム、NORスパン、Biスワップに含まれています 2 - 画像ファイルフィールドに追加し、プログラムを押します。 3 - ATKを閉じ、ボードの電源を切り、下の写真に示すようにスイッチを戻します。 LinuxへのATKのインストール ATKをダウンロード: ダウンロード。 ATKの抽出: # unzip ATK_1_41_STD_installer.zip デフォルトのインストールプロセスを実行します。 #ワインSETUP.EXE Windowsマシン(C:\ Windows \ System32)からmfc42.dllとmsvcp60.dllを取得し、wine system32(/ root / .wine / drive_c / windows / system32)にコピーします。 ATKを実行します。 #ワインADSToolkit_std.exe i.MX2x
查看全文
AD/ADAS Overview <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将介绍高级驾驶辅助系统 (ADAS) 和自动驾驶背后的市场和技术趋势,并介绍恩智浦提供的一些解决方案,使未来的汽车能够感知、思考和行动。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 本次会议将介绍高级驾驶辅助系统 (ADAS) 和自动驾驶背后的市场和技术趋势,并介绍恩智浦提供的一些解决方案,使未来的汽车能够感知、思考和行动。
查看全文
增强功能-5G + ARM 边缘服务器 图表 恩智浦产品 Overview   5G时代将给无线行业带来变革,也为最终用户带来新的利益。其中一个变化是对网络基础设施功能进行新的划分,将曾经单一的基站分为三个部分:无线电单元(RU)、分布式单元(DU)和集中式单元(CU)。DU 与一个或多个 RU 关联,执行上层 PHY 和媒体访问功能。它兼具标准 Linux 计算机和实时系统的特点,可以在现场部署。 NXP 在 2020 年消费电子展上展示了一个可运行的 5G 系统,其中包括一个 DU,重点介绍了 Layerscape LX2160A 处理器如何满足这些要求。这款 16 核设备集成了多个高速 PCI Express 接口和运行速度高达 100Gbps 的以太网端口,在节能的封装内提供所需的计算性能和 I/O。NXP 还展示了其 Layerscape Access 可编程基带处理器如何帮助实现客户端、小型基站、中继器、家庭无线链路和 CU 系统加速器的固定无线接入设计。这些可编程设备可帮助移动运营商快速部署开放无线接入网络。NXP 拥有从天线到处理器的解决方案。 图表   恩智浦产品 产品名称 QorIQ LX2160A开发板 | 恩智浦 QorIQ ® LS2088A开发板 | 恩智浦 通信基础设施 工业控制
查看全文
QorIQ L2-7 SDN 交换机 - 将 OpenFlow 扩展至第 7 层处理 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 该演示基于 Centec Networks 屡获殊荣的 V350 架顶式 (ToR) SDN 白盒交换机,该交换机配备 QorIQ 主机处理器。该主机处理器的作用超越了 OpenFlow v1.3 代理,以支持 OpenFlow 可编程范例内的 L4-7 处理。     特征 L2-7 SDN 交换机 - 将 OpenFlow ™扩展至第 7 层处理 基于 QorIQ 平台的 OpenFlow Agent + L4-7 处理 Centec 网络支持 Open vSwitch (OVS) 卸载到架顶式交换机 机架顶部 OVS 卸载提供更好的可扩展性、效率和可靠性 特色恩智浦产品 P1010 T2081 链接 SDN     通信基础设施
查看全文
S32K时钟机制与配置 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 首先让我们看一下时钟树: 核心时钟高达112M,总线时钟高达56M,Flash时钟高达28M。 时钟来源:系统OSC、慢速IRC、快速IRC和系统PLL 1. OSC SCG_SOSCCFG 2. PLL配置 公式: SPLL_CLK = (VCO_CLK)/2 VCO_CLK = SOSC_CLK/(PREDIV + 1) *(MULT + 16) 3. SCG_SPLLCSR 无效SystemClockInit(无效) { SCG->SOSCCFG = 0x3C; SCG->SOSCCSR |= 1<<0; /* SOSCEN=1 启用 SOSC 时钟 */ /*等待时钟激活*/ while((SCG->SOSCCSR & SCG_SOSCCSR_SOSCVLD_MASK) == 0); SCG->SPLLCSR &= ~(0x1<<0) ; /* SPLLEN=0: 禁用 PLL*/ SCG->SPLLCFG &= ~(0x7<<8); /* 预测=0: 1 */ SCG->SPLLCFG |= 0xCU<<16; /* MULT=12: 28 PLL VCO = 8/1*(12+16) = 224M */ SCG->SPLLCSR |= 0x1<<0; /* SPLLEN=1: 启用 PLL */ /*等待PLL激活*/ while((SCG->SPLLCSR & SCG_SPLLCSR_SPLLVLD_MASK) == 0); SCG->RCCR |= SCG_RCCR_DIVCORE(0); /* DIVCORE=0: 1,CORE/SYS_CLK 112MHz */ SCG->RCCR |= SCG_RCCR_DIVBUS(1); /* DIVBUS=1: 2, BUS_CLK 56MHz */ SCG->RCCR |= SCG_RCCR_DIVSLOW(3); /* DIVSLOW=2: 4 FLASH_CLK 为 28MHz */ SCG->RCCR &= 0xFEFFFFFF; /* 初始设置为 SIRC,以便 LSB 可以设置为“0” */ SCG->RCCR |= SCG_RCCR_SCS(6); /* SCS=6: 系统时钟系统 PLL */ }
查看全文
方法 : KDS で新しい MQX RTOS for KSDK プロジェクトを作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 皆さん、こんにちは。 KDS3.0およびKSDK1.2を使用して、このガイド の更新 バージョンを添付してください。MQXプロジェクト用の新規プロジェクトウィザードはないため、手動で作成する必要があります。これらのガイドでは、それを行うための2つの異なる方法について説明します。 以前のバージョンではご不便と混乱を招き、大変申し訳ございません。 RTOS(ベアボード)を使用しない新しいKSDKプロジェクトの作成については、次のドキュメントを参照してください。 初めてのKSDK1.2を書くKDS3.0 でのアプリケーション - Hello World と GPIO 割り込み付きトグル LED 従来のMQX RTOSプロジェクトをMQX RTOS for KSDKプロジェクトに移植する方法については、以下のドキュメントを参照してください。 http://www.freescale.com/files/soft_dev_tools/doc/support_info/MQXKSDKPUG.pdf?fsrch=1 MQX for KSDK1.2 での新規 C++ プロジェクトの作成については、以下を参照してください。以下のドキュメントをご覧ください。 MQX RTOS for KSDK1.2を使用したC++プロジェクトの作成方法 FreeRTOS と KSDK1.2 の使用開始方法については、次のドキュメントを参照してください。 方法: KSDS1.2 用の新しい FreeRTOS を作成するKDS3.0 のプロジェクト よろしくお願いいたします。 Carlos Musich テクニカルサポートエンジニア Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Carlos, ありがとうございました。最初の解決策は、何もないよりはましでした - 私のフラストレーションを示したことをお詫びします。時間があるときにウィザードと更新された提案を試してみます。私は近づいてきましたが、いずれにせよMQXについてもっと学ぶ必要があります。 私はできる限りの解決策を試しており、ここにバックアップして役立つものを投稿します。 よろしくお願いします Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Turboman, ここでは、プロジェクト生成ツールをダウンロードできます。まだベータ版であることに注意してください。 www.freescale.com/files/soft_dev_tools/software/app_software/application_development_framework/KSDK-Project-Generator.zip 次のドキュメントも興味深いかもしれません: KDS3.0 プロジェクトに lwIP を追加する方法 よろしくお願いします。 カルロス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> もどかしい!とても近いのに、まだ落とし穴があります。 新しいプロジェクトのpdfは、セクション2.8で「これで新しいプロジェクトは完全に自己依存し、実行する準備ができました」と書かれています。 悪い。 新しいプロジェクトは、元のプロジェクトと同じ ファイル を参照します。 仮想フォルダ (main.c) に新しい物理ファイルを作成できません。だから、私は半分修正されたデモ/サンプルコードで、どうにかして最初からやり直す必要があります。 KDS 用の新しい MQX プロジェクト・ウィザードはいつ利用可能になりますか? 私が新製品を作っていて、LWIP K64F pingデモで必要なものにかなり近いものを手に入れたと想像してみてください。デモを変更するだけですか?それとも、新しいプロジェクトを最初から作成しますか? Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 心配ありません Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私はそれを見逃しました。それは恥ずかしいことです。 どうもありがとうございます。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> A:ステップ3.5で、仮想フォルダ構造が手動で再作成されることを示しています。 ステップ3.6では、フォルダを削除する必要があるProject_Settingsが示されています。 最後に、プロジェクトはデモのコピーと同じように見える必要があります。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> ドキュメントのセクション 3 の手順に従ってプロジェクトを最初からビルドしようとすると、サンプル プロジェクトとは大幅に異なる結果が得られます。新しいプロジェクト ウィザードは、サンプル プロジェクトにないサブディレクトリ "Startup_Code" を持つディレクトリ "Project_Settings" を作成します。このディレクトリ内のファイルは、-nostartfiles リンカ・スイッチが設定されている場合でも、リンカ・コマンドに含まれます。その結果、ベクタ テーブルは MQX ライブラリからではなく、これらのファイルから入力され、プロジェクトは MQX を開始しません。 MQXプロジェクトをゼロから構築するための手順は廃止されていますか? デモからコピーするのではなく、ゼロからビルドされたサンプル プロジェクトはありますか? Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi, 万が一の参考までに、Kinetis SDKのMQX RTOSへの移植に関する詳細を掲載した新しいガイドをご用意しました。これには、RTCS ライブラリと MFS ライブラリをプロジェクトに追加するためのパスと設定が含まれています。 方法: MQX RTOS v4.x から MQX RTOS for KSDK v1.2 への移植 感謝 マック Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 追加の注意点: RTCSライブラリを追加し、そのディレクトリをインクルードした後、最初にPLATFORM_SDK_ENABLED=1をコンパイラプリプロセッサに追加する必要があることがわかりました(インクルードディレクトリとlibの場所も同様に。しかし、それについては後で詳しく説明します)。 その後、__aeabi_d2izが未定義で、libmにあるというエラーが発生しました。この投稿(__aeabi_d2iz )に基づいて、リンカライブラリでは、libmがlibgccにあるものを参照しているため、 gcc は mの後に配置する必要があることがわかりました。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> コメントありがとうございます、私はそれを修正します。見えない柱には気づきませんでした。 また、環境変数やその他のライブラリを追加するためのガイドラインも含めます。 スペースがない限り、パスに引用符を追加する必要はありません。 よろしくお願いします。 カルロス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> まずは朗報です。 この新しいガイドと新しいツールは機能します!いくつかの基本的なテストのプロジェクトでは、前のプロジェクトのような割り込み検出の問題なしに実行できます。また、問題なくコンパイルするために必要なすべてのインクルード、プリプロセッサ設定、およびリンカ コマンドもリストされています。 中途半端なニュース: ここにRTCS / MFS / ETCを含めることについてはまだ言及されていませんが、一般的な方法の概要を説明しているので、自分でそれを行うことができます。翌日か翌々日には、私が知っているコンポーネントを追加する方法を示すコメントをここに書くかもしれません。 また、相対パスの代わりに絶対パスを使用するという決定は、私のKSDKがC:/にインストールされていないため、少し面倒でした。しかし、KSDK 1.2 は KSDK_PATH 環境変数自体も書き込まないので、相対パスを適切に使用するために手動で書き出す必要がありました。 凶報: PDFのフォーマットは、コードの一部をコピーして貼り付けるのにひどいです。インクルードディレクトリには非表示の列があり、ディレクトリをコピーしてチャンクに貼り付け、一部の部分が繰り返されます。私はそれらの多くを自分で修正しなければなりませんでした。 他の人を助けるために、ここに固定フォーマットのものの一部を貼り付けます。注: また、「変数の構築」で定義されたPROJECT_KSDK_PATH変数を使用して相対パスに切り替えました。私はそれらをコードフォーマットで配置したかったのですが、新しいコミュニティサイト投稿ツールでオプションを見つけることができません。 3.9a 物理フォルダ "../BSP_Files" "../Config_Files" "../Config_Files/common」と入力します。 "../Debug_Console" "../KSDK_Files" "${PROJECT_KSDK_PATH}\rtos\mqx\mqx\source\include" 「${PROJECT_KSDK_PATH}\platform\devices\MK64F12\startup」 「${PROJECT_KSDK_PATH}\platform\devices\MK64F12\include」 「${PROJECT_KSDK_PATH}\platform」 「${PROJECT_KSDK_PATH}\platform\devices」 "${PROJECT_KSDK_PATH}\platform\CMSIS\Include" 「${PROJECT_KSDK_PATH}\platform\hal\inc」 "${PROJECT_KSDK_PATH}\platform\drivers\inc" 「${PROJECT_KSDK_PATH}\platform\drivers\src\mpu」 "${PROJECT_KSDK_PATH}\platform\drivers\src\uart" 「${PROJECT_KSDK_PATH}\platform\utilities\inc」 「${PROJECT_KSDK_PATH}\platform\osa\inc」 「${PROJECT_KSDK_PATH}\platform\system\inc」 「${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\config」 "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx_stdlib" 3.9b 仮想フォルダ "${PROJECT_KSDK_PATH}\rtos\mqx\config\mcu\MK64F12" "${PROJECT_KSDK_PATH}\rtos\mqx\config\board\frdmk64f" "${PROJECT_KSDK_PATH}\rtos\mqx\config\common" "${PROJECT_KSDK_PATH}\rtos\mqx\mqx\source\include" "${PROJECT_KSDK_PATH}\rtos\mqx\mqx\source\bsp" 「${PROJECT_KSDK_PATH}\platform\utilities\src」 「${PROJECT_KSDK_PATH}\platform\utilities\inc」 「${PROJECT_KSDK_PATH}\examples\frdmk64f」 「${PROJECT_KSDK_PATH}\platform\devices\MK64F12\startup」 「${PROJECT_KSDK_PATH}\platform\devices\MK64F12\include」 「${PROJECT_KSDK_PATH}\platform」 「${PROJECT_KSDK_PATH}\platform\devices」 "${PROJECT_KSDK_PATH}\platform\CMSIS\Include" 「${PROJECT_KSDK_PATH}\platform\hal\inc」 "${PROJECT_KSDK_PATH}\platform\drivers\inc" 「${PROJECT_KSDK_PATH}\platform\drivers\src\mpu」 "${PROJECT_KSDK_PATH}\platform\drivers\src\uart" 「${PROJECT_KSDK_PATH}\platform\utilities\inc」 「${PROJECT_KSDK_PATH}\platform\osa\inc」 「${PROJECT_KSDK_PATH}\platform\system\inc」 「${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\config」 "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx_stdlib" 3.11 リンクライブラリパス ksdk_platform_mqx _mqx_stdlib _mqx gcc c SUPC ++の m ノシス 「${PROJECT_KSDK_PATH}\lib\ksdk_mqx_lib\kds\K64F12\debug」 "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx_stdlib" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx" 3.12 ライブラリのフルパス "${PROJECT_KSDK_PATH}\lib\ksdk_mqx_lib\kds\K64F12\debug\libksdk_platform_mqx.a" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx_stdlib\lib_mqx_stdlib.a" "${PROJECT_KSDK_PATH}\rtos\mqx\lib\frdmk64f.kds\debug\mqx\lib_mqx.a" 3.18 -Xlinker -static -Xlinker -z -Xlinker muldefs -Xlinker --undefined=__isr_vector -Xlinker --defsym=__stack_size__=0x400 -Xlinker --defsym=__heap_size__=0x200 3.19 #include #include #include /* タスクID */ #define HELLO_TASK 5 #define WORLD_TASK 6 extern void hello_task(uint32_t); エクスターンボイドworld_task(uint32_t); 定数 TASK_TEMPLATE_STRUCT MQX_template_list[] = { /* タスクインデックス、関数、スタック、優先度、名前、属性、パラメータ、タイムスライス */   {WORLD_TASK, world_task, 700, 9, "world", MQX_AUTO_START_TASK, 0, 0},   {HELLO_TASK, hello_task, 700, 8, "hello", 0, 0, 0},   {0} }; /*タスク*-----------------------------------------------------* * タスク名 : world_task *コメント: ※このタスクでは、hello_taskを作成してから「ワールド」を印刷します。 * *END*-----------------------------------------------------*/ ボイドworld_task(uint32_t initial_data) {   _task_id hello_task_id; hello_task_id = _task_create(0, HELLO_TASK, 0); if(hello_task_id == MQX_NULL_TASK_ID)   { printf("\n hello_taskを作成できませんでした\n");   }   else   { printf(" ワールド \n");   } _task_block(); } /*タスク*-----------------------------------------------------* * タスク名 : hello_task *コメント: * このタスクは「Hello」を出力します。 * *END*-----------------------------------------------------*/ void hello_task(uint32_t initial_data) {   printf("\n Hello\n"); _task_block(); } /* EOF */ Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Sean, たぶん明日。しかし、確かに金曜日までです。 よろしくお願いします。 カルロス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 申し訳ありませんが、このガイドの新しいバージョンは、KSDK1.2に関連しています解放。ガイドの新しいバージョンはいつ利用可能になりますか? Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 現在入手可能です。 https://www.freescale.com/kds Kinetisソフトウェア開発キット マイクロコントローラ|フリースケール よろしくお願いします。 David Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちはカルロス、KSDK1.2の新しいバージョンがどれくらい離れているか知っていますかです。 ありがとうございます ショーン Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 皆さん、こんにちは このドキュメントを公開してからしばらくして、これらのエラーを見つけました。私は調査を続け、ゼロから作成された完全に機能するプロジェクトがあることを知っています。添付されています。 これを修正し、KSDK1.2とKDS3.0で新しいバージョンをすぐに公開します。 ご不便をおかけして申し訳ございません。 カルロス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> テストしていただきありがとうございます。 昨日、このプロジェクトの変更に数時間を費やしましたが、残念ながら成功しませんでした。 間違った動作の理由は明らかです:コンパイラ/リンカは、MQXライブラリからこれらのコンポーネントを選択するのではなく、SDKプロジェクトのスタートアップコードとベクトルテーブルをどういうわけか好みます。悪いことに、これまでMQXコードを実装するためにリンカーを「納得させる」方法が見つからなかったことです(例:boot.s)元のSDKの代わりに。 RadekS Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello RadekS, 短いバージョン: 変更をテストしましたが、問題は解決しませんでした。 「Hello World」は、常に端末に問題なく印刷されています。問題は、"Hello World" の実行が速すぎて問題が明らかにならないことです。テキストを長い文字列に置き換えると、実行が途中で停止することがわかります(SysTick_Handler()が呼び出されようとするときに賭ける5msのマークで)。または、printf ステートメントの 1 つに _time_delay(10) 呼び出しを追加します。 長いバージョン: これは、新しいプロジェクトと既存のサンプルプロジェクトとの紛らわしい違いの1つを説明するのに役立ちます:既存のサンプルには.aしかありませんでしたこのガイドで説明されているライブラリやライブラリディレクトリではなく、リンクされているファイル。サンプルプロジェクトには、入力をラップする -Xlinker --start-group ${INPUTS} -Xlinker --end-group もあり、これは上記のコマンドと同じことを行っているようです。また、RTCS/MFS を追加するときに必要だった -z muldefs オプションを追加する必要もなくなります。サンプルプロジェクトには muldefs オプションが追加されていますが、リンカーオプションは「 -Xlinker -static -Xlinker -z -Xlinker muldefs -Xlinker --undefined=__isr_vector」 に加えて「クロスリファレンス (-Xlinker --cref)」 が選択されています。ただし、コンパイルする必要はなさそうで、冗長なだけかもしれません。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私の視点から見ると、割り込みとSysTickの問題は副作用のように見えます。 KDSガイドの「 How To: Create a New MQX RTOS for KSDK Project 」を試してみました。 さらに、Cross Arm C Compiler ==> Preprocessorシンボルを追加します。 「CPU_MK64FN1M0VMD12=1」 "FSL_RTOS_MQX=1""" 「_AEABI_LC_CTYPE=C」 「__STRICT_ANSI__=1」 "_DEBUG=1" また、Cross Arm C Compiler ==> Optimization を "GNU ISO C99 (-std=gnu99)" として設定します。 しかし、ステップ3.15で止まりました。この手順でプロジェクトをビルドできましたが、それらがないと、ビルドがエラーを引き起こします(シリアルインターフェイスへの参照はありません)。ステップ 3.15 はステップ 3.13 と 3.14 を一緒に行う必要があるため、奇妙でした。 これにより、問題はコンパイラの依存関係にあることがわかります(Marianに感謝します)。 提案された解決策: Cross Arm C++ リンカのコマンドラインパターンに "-Wl,--start-group" と "-Wl,--end-group" の推奨行オプションを追加して変更してください。 ${COMMAND} ${cross_toolchain_flags} ${FLAGS} ${OUTPUT_FLAG} ${OUTPUT_PREFIX}${OUTPUT} -Wl,--start-group ${INPUTS} -Wl,--end-group これにより、 複数のライブラリ間の循環参照が解決されます。 これらの設定では、ステップ3.15は必要なく、コードは私の側で正しく機能します。ターミナルに「Hello World」と表示されます。 あなたの側でテストしていただけませんか? お役に立てれば幸いです。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私は何かを掴んだと思いました:ここで生成したプロジェクトとhttpsrv_frdmk64fプロジェクトを比較すると、いくつかの注目すべきリンカー設定が異なることに気づきました。 [プロパティ] -> [C/C++ ビルド] -[> 設定] -> [ツール設定] -> [クロス ARM C リンカー] -> [全般] で、次の操作を行います。 サンプルプロジェクトでは、「標準のスタートファイルを使用しない(-nostartfiles)」と「デフォルトのライブラリを使用しない(-nodefaultlibs)」がチェックされています。 このガイドで作成されたプロジェクトは そうではありません。ただし、それらを有効にすると、次のエラーが発生します。 "./Project_Settings/Startup_Code/startup_MK64F12.o:関数 '_irq_clear_end'内: D:\Development\13214-ELMU\trunk\ETCCode\ELMU_KDS_K64\ELMU_KDS_K64\Debug/../Project_Settings/Startup_Code/startup_MK64F12.S:349: '_start'への未定義の参照 したがって、startup_MK64F12で_startの定義が見つかりません。S ファイル。このファイルもサンプル プロジェクトに含まれており、エラーは発生しません。これは、この設定によって、必要な関数 (SysTick_Handler など) が正しく参照されていないことが明らかになっているだけである可能性があります。 [プロパティ] -> [C/C++ ビルド] -[> 設定] -> [ツール設定] -> [クロス ARM C リンカー] -[> その他] で、次の操作を行います。 サンプル プロジェクト Cross ARM Cリンカを使用 「クロスリファレンス (-Xlinker --cref)」 にチェックを入れました。 その他のリンカフラグには、"-Xlinker -static -Xlinker -z -Xlinker muldefs -Xlinker --undefined=__isr_vector " が含まれます。 その他のオブジェクトには、次の追加ファイルが含まれます。 ${eclipse_home}/../ツールチェーン/lib/gcc/arm-none-eabi/4.8.0/m4/fp/v4-sp-d16/libgcc.a ${eclipse_home}/../ツールチェーン/arm-none-eabi/lib/m4/fp/v4-sp-d16/libc.a ${eclipse_home}/../ツールチェーン/arm-none-eabi/lib/m4/fp/v4-sp-d16/libsupc++.a ${eclipse_home}/../ツールチェーン/arm-none-eabi/lib/m4/fp/v4-sp-d16/libm.a カスタムプロジェクト ARM C++ リンカを相互使用 「クロスリファレンス (-Xlinker --cref)」はチェックされていません。 他のリンカフラグには、 "-nanolibc -z muldefs" (複数の定義エラーを阻止するために私が追加した -z muldefs) が含まれています。 上記のarm-none-eabi libファイルは一切含まれていません。 ただし、これらの設定を一致させて変更しても問題は解決しません。次に、C ++リンカの代わりにCリンカを使用するように強制できるかどうかを見ていきます。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> クリス、私はあなたの問題を事前にはっきり読んでいなかったはずです。私はかなり長い間この問題に取り組んでおり、なぜ私のプロジェクトがランダムに停止するのかを理解しようとしています。私はこのコミュニティの投稿を始めて、多くのことを試しました(Re:Printfが印刷の途中で失敗し、ファームウェアの実行が停止しますか?その関数を追加した後、コードを適切に実行できるようになりました。 しかし、あなたと同じように、私はこれが決して安全な解決策だとは感じていません。ティックハートビートを無効にすることで、MQXが正常に機能しなくなるようです。MQXが任意のタイミングで内部的にティックを使用する場合(タスクの切り替えなど)そうすると、それらの機能が壊れる可能性があります。DavidSさん、これが事実かどうか、または機能させないために何が欠けている可能性があるか教えていただけますか?これは、プロジェクトの実行に5ms以上かかる人には起こるようで、この方法で有用なものをプログラムするのが難しくなります。 編集:私はちょうど恐ろしい考えを持っていました。この内部割り込みが正しくリンクされていない場合、他に何が見つからないかは誰にもわかりません。また、他の奇妙で微妙な障害を引き起こす可能性があります。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> また、そうした後、ライブラリヘッダーを含めるときに複数の定義エラーがポップアップし始めるなど、いくつかの問題に遭遇しました(Re:arm-none-eabiがmqxと競合する:stdio.hの複数の定義などがコンパイラの問題を引き起こしています)。これが理想的な解決策かどうかはわかりませんが、コンポーネントを追加してコンパイルすることができました。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私も全く同じことを考えています。また、回答をいただければ幸いです! Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello, Kris 私もMQX-SDKでこの問題を解決する方法を見つけるのに苦労しています。問題がSysTick_Handlerによって引き起こされる可能性があるとは思いもしませんでした。ヒントをありがとう。main.cに含めたときファイル、それは私にも働きました。しかし、この回避策が本当に問題を解決するのか、それとも単に問題を隠しているのかはわかりません。残念ながら、ソフトウェア開発中に、これによりバグがさらに発生する可能性があります。ですから、このコミュニティでIvaが提案した方法、 https://community.freescale.com/docs/DOC-104144 を使用する方が快適で安全だと感じています。 この方法では、既存のプロジェクトをmqx/examplesフォルダから同じフォルダにクローンして、プロジェクトの参照として使用できるようにします。エラーが発生しにくくなります。 あなたや他の誰かが問題を解決する方法を見つけた場合は、私に知らせてください。同じ問題に直面している人は多いのではないでしょうか。 ありがとうございます Marco Coelho Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> カルロスさん、ありがとうございました。 これは非常に役に立ちました、そしてあなたのガイドとこれらのコメントの間で、私は予想外の多くのステップと私がKSDKに含まれているMQXマニュアルのいずれにも文書化されていないステップの多くに従って新しいプロジェクトを実行することができました。そこで、私の質問にたどり着きました。 これを複製して、RTCS、MFS、またはその他のコンポーネントをプロジェクトに含めるには、どうすればよいですか。驚いたことに、RTCSのドキュメントには、プロジェクトに組み込む方法について何も言及されておらず、機能が何であるかについてのみ言及されています。「${PROJECT_KSDK_PATH}/tcpip/rtcs/lib/frdmk64f.kds/debug/rtcs」を含むディレクトリと関連するlib_rtcs.aファイルだけではできません。これにより、RTCS プロジェクトの特定の #defines が新しいプロジェクトで正しく読み取られず、コンパイルが停止します。また、rtcs_user_config.hをコピーするべきだという印象を受けています作成したConfig_filesディレクトリにファイルを作成しますが、これ以上コピーする必要があるかどうかはわかりません。 ありがとうございます ショーン Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> はい、MQX ライブラリはクリーン インストール後にデフォルト設定でコンパイルされ、プロジェクトにリンクされています。チュートリアルの指示に従いました。私が知る限り、MQXは2つの「hello」タスクと「world」タスクで正常に動作しています。 ハンドラの有無にかかわらず、コンパイルエラーや複数の定義エラーは発生しませんが、ハンドラを含めないと、SysTick割り込みが初めて発生したときにDefaultHandler()クラッシュが発生します。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hello Kris Simonsen: 実際には、SysTickハンドラの追加に関するあなたの解決策は奇妙です。MQXプロジェクトは期待どおりに機能していますか?タスクは1つ以上ありますか? ハンドラーは MQX ライブラリーの一部としてコンパイルされ、_boot で宣言されます 。S;Davidが述べたように、SysTickはMQXスケジューラのタイムベースとして使用されます。プロジェクトで定義すると、複数の定義エラーが表示されるはずで、何らかの理由でコンパイルされた場合は、MQX SysTickハンドラーをオーバーライドすることになります。mqxライブラリを追加しましたか(lib_mqx.a)あなたのプロジェクトに? また、上記のMyke Predkoによるコメントを読んでください、チュートリアルにはプリプロセッサのマクロ定義がいくつか欠けているようです。これについてはカルロスに知らせます。 敬具 ホルヘ・ゴンザレス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 私がまだ理解するのに苦労しているのは、このプロジェクトが、まったく同じMQX初期化コードとBSP設定ファイルを使用するデモプロジェクトとどのように異なるかということです。これらのプロジェクトにはSystick_Handlerがないため、割り込みを無効にしているに違いないと推測しますが、このチュートリアルでは割り込みがまだ発生し、ハンドラを追加する必要があります。 どう違いますか。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 良いデバッグKris.修正を共有してくれてありがとう。 Systickタイマーは、200Hzまたは5msごとのRTOS TICK(心拍)に使用されます。 よろしくお願いします。 David Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 更新: 割り込みは、欠落しているSystick_Handlerから発生していると判断されました。これをmain.cに追加すると、プログラムが実行されます。 ボイド SysTick_Handler(ボイド) {} なぜこの割り込みが有効になっているのか、MQXで必要なのかはわかりませんが、このプロジェクトを動作させるにはハンドラが必要でした。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> カルロス、私はこのチュートリアルに正確に従いました(それは非常によく書かれています)が、結果のプログラムはまだIRQベクトルに問題があるようです。 FRDM-K64Fボードを使用しています。 プロジェクトは警告なしに正常にコンパイルされ、正常にプログラムされて実行を開始しますが、プロジェクトを開始した直後にハードフォールト/未処理の割り込みが発生するようです。私はこの障害の原因を特定するために多くのことを試しましたが、無駄でした。このプロジェクトでは、他の何も実行できません。 エラー発生時のスタックトレースとレジスタを次に示します。 必要なすべてのライブラリは、デフォルト設定でコンパイルされています。フラグが設定されていないため、実際にはWDOG割り込みではないことを確認しました-また、WDOG_EWM_IRQのハンドラを含めると、それは起動せず、DefaultHandlerに行く他の未定義の割り込みの1つが代わりに逆アセンブル画面に表示されます。これはベクトルの問題またはMQXとのメモリ競合である可能性があるように思われますが、わかりません。 この手順は、使用可能なベースライン プロジェクトにはならないと思うので、確認してください。 これをまとめてくれてありがとう、うまくいけば誰かが問題が何であるかを整理することができます。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、カルロス・エンリケ: FRDM-KL25 はまだサポートされていません。これは、4月末または5月初旬に 予定されているKSDK v1.2 の次のリリースに付属しています。 敬具 ホルヘ・ゴンザレス Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Carlos Musich: このチュートリアルをボードFrdm-KL25Zで使用できますか?、ボードFrdm-K64Fしか表示されないため、 感謝 カルロス・エンリケ Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> これは、2つの問題のいずれかである可能性があります。最初に見ていくのは、「FRDM-K22FでMQX USBデモを実行する方法」でカバーされています。図書館の問題が議論されている場所。 ライブラリがファイル システムにある場合は、C/C++ ビルド リンカー セクションのプロジェクト プロパティを確認し、ライブラリが一覧表示されていること、およびライブラリへのパスが正しいことを確認します。 これがお役に立てば幸いです! Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Myke これを見つけていただきありがとうございます...。私もまったく同じエラーが発生したため、プリプロセッサの定義は 間違いなく必要であり、Carlosの命令には含まれていません。 このエラーの原因となっている可能性のあるアイデアはありますか? make: *** ターゲットを 'C:/Freescale/KSDK_1.1.0/lib/ksdk_mqx_lib/K22F51212/Debug/libksdk_platform_mqx.a' にするルールはありません。「xxxxxxxxxxx.elf」が必要です。止める。 みんなを解決しました......プロセッサ名の前に /kds フォルダがありませんでした。 私のプロジェクトの正しいパスを以下に示します。 `C:/Freescale/KSDK_1.1.0/lib/ksdk_mqx_lib/kds/K22F51212/Debug/libksdk_platform_mqx.a' Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、みんな。 ビルドすると、次のエラーが発生します。 < >が見つかりません 例と同じボードを選択したので、まったく同じことを行いました。 何か提案はありますか? どうぞよろしくお願いいたします。 Alberto Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Myke, 私はただ彼らのデモを実行させようとしていただけです。KDS/KSDK/PE/MQXの組み合わせが弱気であるという意見には同意します。この組み合わせを初めて知ったとき、「素晴らしいことだ」と思いましたが、フリースケールの道のりは長いことがわかりました。 私にとって、PEの側面は重要であり、あるデザインから別のデザインにプロジェクトを迅速に移行できる必要があります。しかし、ドキュメントがまばらですぐに古くなってしまうため、これはうまくいっていません。今のところは、このスレッドの冒頭で紹介した資料に基づいて構築することにしました。つまり、 FRDM-K22Fについては、Freescale MQX RTOS 4.1 の資料に戻り、必要に応じてコードの一部を「借用」します。(主な問題は、ダウンロードに KDS 用のものが含まれていないことです。そのため、移行する必要があります。また、PEをまったく使用していないようです-本当に残念です! その間、フリースケールがそれをまとめて、トータルパッケージを提供できることを願っています。それは製品ラインにとって本当の恩恵となるでしょう。 KSD/KSDK/PE/MQXの使用に基づいてこの記事が書き直されるのを見るのは素晴らしいことです。それはソフトウェアがすべきことをするでしょう:物事をセットアップする面倒なものを取り除き、私たちに仕事に取り掛からせてください! Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi David, デバイス モード、特に USB 双方向 HID の実装に興味があります。 上で引用した例では、例の.wsdを持ち込んでいましたかそれとも、自分でゼロからプロジェクトを作っていたのですか?私は定型アプリケーションが非常にうまく機能することがわかったので尋ねていますが、あなた自身のKDS / KSDK(MQX用)を考え出すのはクマです。 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> host_msd_fatfs_frdmk22f_mqx_frdmk22fでスループットテストを試すをご覧ください ホストモードとデバイスモードのどちらに興味があるかは述べられていませんが、デバイスモードのデモをFRDM-K22Fボードで動作させることができました。私はその数字にかなり感銘を受け、より一般的なアプリケーションで動作するように取り組んでいます。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Marco, プリプロセッサの設定がお役に立ててうれしいです。 フリースケールのエンジニアから、この点でKDS / KSDK(MQXを使用)を簡単に操作できるように取り組んでいると言われました-スタックのUSB部分を使用したい(これが私が 議論を始めた理由です https://community.freescale.com/thread/342700)これはうまくいけば、すぐにいくらかの牽引力を得るでしょう。 KDS/KSDKのUSBスタックに詳しい方がいらっしゃいましたら、ディスカッションにお答えください。 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Myke, あなたとまったく同じエラーがあります。貴重なご参加いただき、誠にありがとうございました!私がどれだけ一生懸命取り組んだか想像もつかないでしょう。 しかし、同時に、これらのシンボルがMQXヘッダーファイルとライブラリのリンクおよびコンパイル中に自動的に含まれるのではなく、なぜ「プリプロセッサ設定」に手動で含める必要があるのか、まだ疑問に思っています... KSDKチームのどなたか説明していただけますか? よろしくお願いいたします。 Marco Coelho Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Carlos, まず第一に、優れた記事です! 私は手順に従いましたが、FRDM-K22Fの場合、コンパイルするとエラーが発生します。 ===== 'ビルド ファイル: ../ソース/ユーティリティ/fsl_debug_console.c' 「呼び出し:Cross ARM C Compiler」 arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -D"CPU_MK22FN512VDC12" -I"../sources" -I"../ソース/ボード" -I"../sources/BSP_Files" -i"../sources/Config_Files" -i"../sources/Config_Files/common" -i"../sources/utilities" -I"C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk22f.kds/debug/mqx" -I"C:\Freescale\KSDK_1.1.0/rtos/mqx/mqx/source/bsp"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/include"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/lib/frdmk22f.kds/debug/config" -I"C:\フリースケール\KSDK_1.1.0/platform/hal/inc"-I"C:\Freescale\KSDK_1.1.0/platform/drivers/inc"-I"C:\Freescale\KSDK_1.1.0/platform/osa/inc"-I"C:\Freescale\KSDK_1.1.0/platform/system/inc"-I"../Project_Settings/Startup_Code" -I"../SDK/platform/CMSIS/Include" -I"../SDK/platform/CMSIS/Include/device" -I"../SDK/platform/CMSIS/Include/device/MK22F51212" -I"C:\Freescale\KSDK_1.1.0/platform/utilities/inc"-I"C:\フリースケール\KSDK_1.1.0/platform/utilities/src"-std=c99 -MMD -MP -MF"ソース/ユーティリティ/fsl_debug_console.d"-MT「ソース/ユーティリティ/fsl_debug_console.o」-c -o "ソース/ユーティリティ/fsl_debug_console.o""../sources/utilities/fsl_debug_console.c" arm-none-eabi-gcc:致命的なエラー: 入力ファイルがありません コンパイルが終了しました。 make: *** [ソース/ユーティリティ/fsl_debug_console.o]エラー 1 ==== このファイルは、ハードドライブとプロジェクトの両方のSources/Utilitiesフォルダにあります。だから、私の問題はプロジェクトが "../Sources/Utilities" これを確認する方法はありますか? Windowsエクスプローラでは、私のファイル構造は次のとおりです。 私が見落としていたものが見えますか?感謝。 うん、よく調べて見た。インクルードパスの引用符(")を忘れました。参照: "../Sources/BSP_Files" (下線に注意してください)。 この後、Myke Predko が行ったのと同じ問題に遭遇し、同じ方法でプリプロセッサ ディレクティブを編集して修正しました。 Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> さて、Help ==> Install New SoftwareからMQXプラグインを追加した後も、すべてが機能します... そして、上部に「MQX」ドロップダウンがあるので、すべてが順調だと思います。 カルロス(そして他の誰でも)、 プロジェクトのために他に何かする必要がありますか? ありがとう、 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 成功!(と思う)。 KSDK 1.1.0にある「hello_frdmk64f」プロジェクトのコンパイラのプロパティを見てみましたMQX の例では、Cross Arm C Compiler ==> プリプロセッサに次のものが含まれていることがわかりました。 CPU_MK64FN1M0VMD12=1 FSL_RTOS_MQX=1 _AEABI_LC_CTYPE=C __STRICT_ANSI__=1 _DEBUG=1 Carlosの指示から構築されたプロジェクトでは、次のものがあります。 「CPU_MK64FN1M0VMD12」 そこで、その行を残してから、サンプルアプリケーションから他の行をコピーして... ビルドして実行します。 さて、次のステップは、実行中に操作を確認できるように、タスク認識デバッガーを追加しようとしています。 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> もう少し掘り下げて、fsl_debug_console.hで、「setvbuf」と「IONBF」の問題の前に次の行を見つけました。 #if ((defined(__GNUC__)) && (!defined(FSL_RTOS_MQX))) && (!defined(__KSDK_STDLIB__)) 私は、*どこかで*「FLS_RTOS_MQX」フラグを設定するだろうと思っていました(これはこれがMQXプロジェクトであることを示していると私は推測します)-__KSDK_STDLIB__言うまでもありません。 これは私の問題でしょうか、もしそうなら、このフラグはどこで設定されますか? ありがとう、 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Carlos, プロジェクトの説明はここで非常によく見えますが、私はそれを機能させることができません。私は2台のPCで2回同じ結果でそれを行いました - それは標準のインクルードファイル(下記参照)にある情報を探しているようですが、これらのインクルードはソースから呼び出されず、インクルードファイルもこれらのインクルードファイルへのパスはビルドプロパティの一部ではありません。 私はFreescaleのWebサイトから最新バージョンのKDSとKSDKを使用しており、このスレッドの上部にあるドキュメントの指示に明示的に従っています。 13ページ(セクション3.15まで)の手順を実行すると、次の違いが見られました。 3.7 BSP_Files私が「はい」と言っているいくつかのパスステートメントを生成します。これらはセクション3.10で見ることができます 3.8 パスは「C:\Freescale\KSDK_1.1.0\rtos\mqx\config\board\ 」にすべきですか?オリジナルは一致していないようです。 3.12 PDFの指示の10ページのスクリーンショットの順序と一致するように、インクルードを再配置しました。注 : 手順 3.7 で生成されたインクルードは、これらのインクルードの後にあります。 3.15 PDFの指示の12ページのスクリーンショットの順序と一致するようにライブラリリストを再配置しました。 3.7で生成されている余分なパスステートメントが問題を引き起こしているとは思いませんか? 私がビルドすると、次のようになります。 17:08:34 **** プロジェクトK64_MQX_KSDK_Exampleの構成デバッグのビルド **** すべて作る 'ビルド ファイル: ../ソース/ユーティリティ/fsl_debug_console.c' 「呼び出し:Cross ARM C Compiler」 arm-none-eabi-gcc -mcpu=cortex-m4 -mthumb -mfloat-abi=hard -mfpu=fpv4-sp-d16 -O0 -fmessage-length=0 -fsigned-char -ffunction-sections -fdata-sections -g3 -D"CPU_MK64FN1M0VMD12" -I"../sources" -I"../ソース/ボード" -I"../sources/BSP_Files" -i"../sources/Config_Files" -i"../sources/Config_Files/common" -i"../sources/utilities" -I"C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx" -I"C:\Freescale\KSDK_1.1.0/rtos/mqx/mqx/source/bsp"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/include"-I"C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/config" -I"C:\フリースケール\KSDK_1.1.0/platform/hal/inc"-I"C:\Freescale\KSDK_1.1.0/platform/drivers/inc"-I"C:\Freescale\KSDK_1.1.0/platform/osa/inc"-I"C:\Freescale\KSDK_1.1.0/platform/system/inc"-I"../Project_Settings/Startup_Code" -I"../SDK/platform/CMSIS/Include" -I"../SDK/platform/CMSIS/Include/device" -I"../SDK/platform/CMSIS/Include/device/MK64F12" -I"C:\Freescale\KSDK_1.1.0/platform/utilities/inc"-I"C:\フリースケール\KSDK_1.1.0/platform/utilities/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_serial"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/string"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/config/common"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/core/M4"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx_stdlib/source/include"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/kernel"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/bsp"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_serial/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx_stdlib/source/strings"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_tty/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_dummy/src"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/cpu"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/fs"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx_stdlib/source/stdio"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/psp/cortex_m/compiler/gcc_arm"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_tty"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/nio/drivers/nio_dummy"-I"C:\フリースケール\KSDK_1.1.0/rtos/mqx/mqx/source/include"-std=c99 -MMD -MP -MF"ソース/ユーティリティ/fsl_debug_console.d"-MT「ソース/ユーティリティ/fsl_debug_console.o」-c -o "ソース/ユーティリティ/fsl_debug_console.o""../sources/utilities/fsl_debug_console.c" C:\Freescale\KSDK_1.1.0/rtos/mqx/mqx_stdlib/source/include/std_prv.h:30:0からインクルードされたファイルでは、 C:\ Freescale \ KSDK_1.1.0 / rtos / mqx / mqx_stdlib / source / include / stdio.h:32から、 差出人。。/ソース/ユーティリティ/fsl_debug_console.c:32: C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/nio.h:122:1:エラー: 不明なタイプ名 'ssize_t' ssize_t _nio_read(int fd, void *buf, size_t nbytes); ^ C:\Freescale\KSDK_1.1.0/rtos/mqx/lib/frdmk64f.kds/debug/mqx/nio.h:132:1:エラー: 不明なタイプ名 'ssize_t' ssize_t _nio_write(int fd, const void *buf, size_t nbytes); ^ ../sources/utilities/fsl_debug_console.c:関数 'DbgConsole_Init' では、次のようになります。 ../Sources/Utilities/fsl_debug_console.c:214:5:警告:関数 'setvbuf'の暗黙の宣言[-Wimplicit-function-declaration]      setvbuf(stdout, NULL, _IONBF, 0);      ^ ../Sources/Utilities/fsl_debug_console.c:214:27:エラー:'_IONBF'が宣言されていません(この関数で最初に使用      setvbuf(stdout, NULL, _IONBF, 0);                            ^ ../sources/utilities/fsl_debug_console.c:214:27: 注:宣言されていない各識別子は、それが出現する関数ごとに一度だけ報告されます make: *** [ソース/ユーティリティ/fsl_debug_console.o]エラー 1 17:08:34 ビルド完了 (479ms を要しました) 「ssize_t」で検索を行うことは、C:/Freescale/KDS_2.0.0/toolchain/arm-none-eabi/include/sys/types.hで定義されています。 「_IONBF」はC:/Freescale/KDS_2.0.0/toolchain/arm-none-eabi/include/stdlib.hで定義されています。 また、"setvbuf" は C:/Freescale/KDS_2.0.0/toolchain/arm-none-eabi/include/stdio.h で定義されています。 プロジェクト==>プロパティ==>C / C ++ビルド==>設定==>クロスARM Cコンパイラ==>出力を変更せずにインクルードのビルドパスに「C:/ Freescale / KDS_2 1.0.0 / toolchain / arm-none-eabi / include」を追加してみました(出力を変更せずにクロスARM Cコンパイラ==インクルード(インクルードファイルが見つからないエラーメッセージがあると思っていたので、これは驚きではありませんでした。 上記のエラーにインクルードファイルを追加しようとしますが、私が間違っていることについて何か提案はありますか? ありがとう、 myke Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi David, 最後に、私は引用に悩まされました。すべての引用符を書き直すと、アプリケーションが機能します。 ありがとうございました。 よろしくお願いします。 Daniel Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Hi Daniel, 「KDS.pdf での KSDK プロジェクト用の新しい MQX RTOS の作成」の手順に従っていましたか? 1.5 次のライブラリをビルドする必要があります: 1.5.1 MQX用プラットフォームライブラリ、'libksdk_platform_mqx.a' • このプロジェクトは、"$/lib/ksdk_mqx_lib/kds/ 1.5.2 MQX Library, 'lib_mqx.a' にあります。 • このプロジェクトは "$/rtos/mqx/mqx/build/kds/mqx_" 1.5.3 にあります。MQXスタンダードライブラリ「lib_mqx_stdlib.a」 • このプロジェクトは「$/rtos/mqx/mqx_stdlib/build/kds/mqx_stdlib_」にあります。 注意: KDSでのKSDKおよびMQXライブラリの構築については、MQX for KSDKのインストール・パスC:\Freescale\KSDK_1.1.0\rtos\mqx\doc\toolsにある「Getting Started with Freescale MQX™ RTOS for Kinetis SDK and Kinetis Design Studio IDE」の「3 MQ RTOSライブラリの構築」の章を参照してください。 よろしくお願いします。 David Re: How To: KDS で KSDK プロジェクト用の新しい MQX RTOS を作成する <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 親愛なるカルロス、 マニュアルをありがとう。私はそれに従うことを試みましたが、プロジェクトを構築したときに、このエラーが発生します。 make: *** ターゲットを 'C:/Freescale/KSDK_1.1.0/lib/ksdk_mqx_lib/K64F12/Debug/libksdk_platform_mqx.a' にするルールはありません。「Enrutadora.elf」が必要でした。止める。 そして、私はそれをどのように解決するのかわかりません。 よろしくお願いいたします。
查看全文
patch-ltib-ubuntu12.04.sh <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Ubuntu12.04のltibフォルダにパッチを適用するスクリプト。 手順: $ cp patch-ltib-ubuntu12.04.sh $ cd $ chmod +x patch-ltib-ubuntu12.04.sh $./patch-ltib-ubuntu12.04.sh <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Ubuntu12.04のltibフォルダにパッチを適用するスクリプト。 手順: $ cp patch-ltib-ubuntu12.04.sh $ cd $ chmod +x patch-ltib-ubuntu12.04.sh $./patch-ltib-ubuntu12.04.sh
查看全文
T_Box <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 描述 特性 结构框图 产品 工具 描述 随着当今世界新技术的发展,汽车行业现在能够实施新设备,让驾驶员能够更广泛地控制汽车。这些设备可以提供车辆监控、汽车安全、GPS 优化驾驶路径等远程诊断服务以及许多其他服务。 T-Box作为无线网关为车辆提供远程通信接口。 它可以提供: 交通数据采集 行驶轨迹记录 导航、新闻、天气等信息推送等资讯娱乐服务 车辆故障监测 车辆远程控制(开锁、空调控制、车窗控制、发射器扭矩限制、发动机启动和停止) 驾驶行为分析 4G无线热点共享等服务 特性 EMC控制器支持SDRAM CAN控制器(从2通道以上到3通道以上) 小型封装(从LQFP到BGA) 更多 I/O 引脚(更多 UART、SPI、I2C)。 低功耗(GPIO唤醒和RTC唤醒) 高性价比 结构框图 产品 类别名称1: MCU 产品网址 1 LPC1778FET208|Arm Cortex-M3|32-bit MCU | NXP  产品描述 1 LPC1778FET208 是一款低功耗、经济高效的 MCU,具有高达 512 KB 的闪存、96 KB 的 SRAM、4 KB 的 EEPROM 和各种连接外设,包括多达五个 UART、三个 SPI/SSP 和三个I²C。 产品网址 2 LPC540XX 系列微控制器 (MCU) | NXP 产品描述 2 LPC54S016 提供节能和独特的架构、先进的 HMI 和灵活的通信外设,为下一代物联网提供实时性能。 类别名称2: 收发器 产品网址 1 TJA1041A | 高速CAN收发器 | NXP 产品描述 1 TJA1041A主要用于车用高速CAN应用(最大1 Mbit/s)。 产品网址 2 TJA1043 | 高速CAN收发器 | 恩智浦 产品描述 2 TJA1043 收发器专为汽车行业的高速 CAN 应用而设计,为 CAN 协议控制器(带有微控制器)提供差分发送和接收能力。 产品网址 3 TJA1051 | 高速CAN收发器 | 恩智浦 产品描述 3 TJA1051 收发器专为汽车行业的高速 CAN 应用而设计,为 CAN 协议控制器(带有微控制器)提供差分发送和接收能力。 类别名称 3: 外设 产品网址 1 MC33972 | 带抑制唤醒功能的 MSDI | NXP 产品描述 1 具有抑制唤醒功能的 33972 多开关检测接口 (MSDI) 设计用于检测最多 22 个开关触点的闭合和打开。 该设备还具有 22 对 1 模拟多路复用器,用于读取 输入为模拟量。 产品网址 2 微型实时时钟/日历 | NXP 产品描述 2 PCF85063TP是一款CMOS实时时钟(RTC)和日历,最适合低功耗应用。 偏移寄存器允许对时钟进行精细调整。 产品网址 3 ±2g/±4g/±8g, Low g, 14-Bit Accelerometer | NXP  产品描述 3 FXLS8471Q加速度传感器的用途广泛,具有噪声密度低、板载偏移小、温度性能好和灵敏度高等特点,非常适合工业、消费电子和汽车领域的各种高性能低重力应用。 产品网址 4 高速CAN核心系统基础芯片 | NXP 产品描述 4 UJA1076A支持用于通过使用高速CAN作为主网络接口进行电源和传感器外设控制的网络应用。 工具 产品 链接 OM13001: EA LPC1788 评估板 EA LPC1788 评估板 | 恩智浦 LPC54S018M-EVK: LPCXpresso54S018M开发板 LPCXpresso54S018M开发板 | NXP OM11059A:I²C RTC PCF85063TP 和 PCF85063ATL 演示板 I²C RTC PCF85063TP 和 PCF85063ATL 演示板 | NXP 适用于 FXLS8471Q 三轴线性加速度计的传感器工具箱开发板 FXLS8471Q 3 轴加速度计开发板 | NXP 汽车电子 框图
查看全文
Enabling CLBlast on i.MX8MQ and i.MX8QM QXP for Yocto Project <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [Chinese translation] See attachment   Original link: https://community.nxp.com/docs/DOC-341473 i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus
查看全文
Patch to support BlueTooth on iMX6SL EVK board, Android JB4.3 GA1.1.0 BSP <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> For default Android JB4.3 GA1.1.0 BSP, iMX6SL EVK board doesn't support BlueTooth, attached is the patch for the BSP to support AR3002 bluetooth.   The hardware information can be found at: https://community.freescale.com/docs/DOC-95016   iMX6SL_EVK_BlueTooth_Patch_for_JB4.3_1.1.0.tar.gz: these are the patch files. iMX6SL_EVK_BlueTooth_Support_for_JB4.3_1.1.0.tar.gz: these are the patched source code files. Please select one of above to use. 日時:iMX6SL EVKボード、Android JB4.3 GA1.1.0でBluetoothをサポートするパッチBSPの <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> USB Bluetooth については、次のディスカッションを参照できます。 Re:BluedroidスタックのUSBサポート[imx6-Sololite用のAndroid 4.4.3] 日時:iMX6SL EVKボード、Android JB4.3 GA1.1.0でBluetoothをサポートするパッチBSPの <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> こんにちは、皆さん。 私のプラットフォームはIMX6SL、Android kitkat 4.4.3、Bluedroid、Bluetooth USBドライバーです。 GUIからkoを挿入していると、このエラーが発生します。 どうすればいいのか提案していただけますか??? ドライバーモジュール「/system/bin/bluetooth.ko」をアンロードできません:操作は許可されていません ブルートゥース.cinsmod は呼び出されます********** モジュールの読み込みに失敗しました: 不明なエラー -1 (-1)                                                   純粋に権限の問題だと思いますが、 ここでいくつか質問があります。 1. カーネルオブジェクトファイル(ko)を/system/bin/release/の上に置いているパスは正しいですか? または 、/data/misc/bluetooth/パスです??? 2. それが /data/misc/bluetooth/ の場合、そのパスの権限はどこに言及すべきか。 私に答えてください、 よろしくお願いいたします。 Mutyala rao.
查看全文
Freescale Kinetis K70 MCU: FPU Demo <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> Kinetis K70マイクロコントローラ・ファミリには、512KB〜1MBのフラッシュ・メモリ、1つの高精度浮動小数点ユニット、グラフィックLCDコントローラ、IEEE 1588イーサネット、デバイス充電検出機能、ハードウェア暗号化、タンパー検出機能、NANDフラッシュ・コントローラを備えたフルスピードおよびハイスピードUSB 2.0 On-The-Goが含まれています。256ピンデバイスには、システム拡張用のDRAMコントローラが含まれています。Kinetis K70ファミリには、196ピンと256ピンのMAPPIGAパッケージがあります。 詳細については、www.freescale.com/kinetis をご覧ください。 Kinetis KシリーズMCU
查看全文
誇大広告を超えた本格的なIoT!#1 BtoB IoTプロジェクトを開始するには? <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> エアバス社が市場投入までの時間を短縮するコネクテッドファクトリー、偽造を防ぐためのレミー社のマーティン社製コネクテッドボトル、セキュリティを向上させるためのシュリンドラー社のエレベータースマートセンサー、コロンビアのシスコとIBMのコネクテッドポートによる予知保全を可能にするなど、 B2B IoTが価値とビジネスを創造する成功例であり、今後も多くの成功例が発表される予定です。 マッキンゼーは、IOTによって実現される潜在的な価値の70%はB2Bからもたらされるべきだと評価しています。 マッキンゼー・グローバル・インスティテュート – 「モノのインターネット: 誇大広告を超えた価値のマッピング」 – 2015 年 6 月 B2B 市場における IoT の可能性と、2020 年に予想される数兆ドルの収益 (情報源や研究により 3 から 20) を理解している企業が増えています。 そうは言っても、Bluetoothキーホルダーは、人里離れた場所で紛失し、99.9%の可用性を必要とする高温の苛性反応器の温度を監視するように設計されたセンサーと同じ方法で開発することはありません。B2C IoTの主な課題は依然としてビジネスアプリケーションとデータマイニングですが、B2Bはデバイスとその直接環境(ゲートウェイ、他のIoTデバイス、ITなど)にさらなる複雑さをもたらします。そのため、B2Cとその課題(マーケティング、ビジネスモデル、リテンションなど)に焦点を当てた「セクシーな」IoTと、産業およびB2Bの利害関係により関連する「シリアスIoT」と呼ばれるものを区別しています。 この記事は、ビジネスの観点からだけでなく、技術的な観点からも、IoTプロジェクト開発の全プロセスを説明することを目的としたシリーズの第1回目であり、BtoBまたはインダストリアルIoTプロジェクトを開始するための最良の方法論であると私が信じているものを提供することから始めます。 本格的なIoTの課題とは?製品を発売するための主な成功要因は何ですか?何から始め、どの手順に従うべきですか? IoTプロジェクトで成功するための4つの柱 このプロセスを詳しく説明する前に、私が見たり実行したりしたすべての IoT プロジェクトで特定した主要な成功要因をいくつか共有しましょう。 デザイン思考 IoTは「誇大広告」であるため、多くの企業はIoTがプロジェクトを開始し、「痛みなくして利益なし」という単純なことわざを忘れることを望んでいます。プロジェクトで対処すべき問題がなければ、それは確かにデータルームのアーカイブボックスに収まります。デザイン思考は、開発の各段階で消費者中心のアプローチをとることを可能にし、プロジェクト/製品が痛みを和らげ、顧客に利益をもたらすことを保証します(顧客が内部にいる場合でも)。 幅広いテクノロジーをマスター マッキンゼーは、システムの相互運用性がIoT収益の潜在的価値の40%を占めていると評価しています。相互運用性の「インター」とは、企業がすべてのレイヤー/デバイスを連携させるためには、多くの異なるテクノロジーを習得したパートナーが必要になることを意味します。組み込み/IoTの世界では、これは50のテクノロジー(HWアーキテクチャ、OS、無線およびネットワークプロトコル、フレームワーク、アプリケーションなど)を簡単に超える可能性があります。したがって、IoTプロジェクトの成功、そしてより広くは組み込みプロジェクトの成功は、技術的な「サイロ」の専門知識から、技術的な専門知識と組み合わせたシステムアプローチに移行しています。また、デバイス自体の設計には、幅広い専門知識と、ビジネスアプリケーションの要件に基づいてシステム全体を最適化するためのシステムアプローチが必要です。 信頼できるパートナー(テクノロジーまたは流通チャネル) これはしばしば「オープンイノベーション」と呼ばれ、CEOやCTOを驚かせる言葉です。それは単に、より多くの価値を生み出すために、各段階でパートナーを巻き込んでプロジェクトを構築するという事実です。IoTはビジネスモデルのすべてのブロック(流通チャネル、収益モード、通信、主要な活動、主要なリソースなど)に影響を与えるため、1つの企業がすべての関連資産を社内に持つことはできません。そのため、適切なパートナーを見つけ、彼らと価値を共有することが、プロジェクトの管理と展開の鍵となります アジャイルなアプローチ これも「流行」の言葉です。しかし、ソフトウェア業界出身でない企業や、純粋な組み込みソフトウェアの考え方とその「ウォーターフォールアプローチ」を採用している企業にとっては、それほど明白ではありません。IoTでは、多くの新参者がソフトウェアの課題を発見し、通常の開発プロセス(Vサイクルなど)をIoTプロジェクトに適用しようとしています。これは、製品の範囲に関する終わりのない議論でそれを燃やし、物事の再開発に多額のお金を費やし、プロジェクトの立ち上げを永遠に遅らせるための最良の方法です。 IoTプロジェクトをどこからどのように開始しますか? 今、あなたは考えています:「うーん、興味深い。コンサルタントさん、この完全に非運用的なアドバイスに感謝します。でも、それではスタートに役立たない」あなたは今離れませんか、ここからが実用的な部分です! IoT プロジェクトを管理する場合に従うべき最初のステップは次のとおりです。 1. 「なぜ」から始める Simon Sinekが言うように、役に立たないプロジェクトを立ち上げる前に、「なぜ」から始めるのが良いでしょう。では、なぜIoTプロジェクトを立ち上げたいのですか? 私は自分の会社をトレンディで革新的に見せる何かを立ち上げたいですか? ビジネスプロセス(保守、運用、生産など)を最適化することでコストを削減したいですか? IoT の機会 (レンタルと販売、データ価値、新しいサービス、サービスと製品など) のおかげで、新しいビジネス モデルを会社のオファーに組み込みたいですか? 一部の製品を更新するために、段階的なイノベーションが必要ですか? プロジェクトをトロイの木馬として使用して、会社をデジタル化しますか? 過去数年間、私は経営陣の間でこれらすべてのモチベーションを見てきましたが、それらはすべて問題ありません。しかし、これらすべての目標を同時に追求することはできず、選択によっては同じプロジェクトを設計することもできません。フランス語で「choisir, c'est renoncer」と言うように、これは「選択はあきらめること」のようなものに翻訳されます。ですから、時間をかけて自分のモチベーションを明確に述べ、今後数ヶ月であなたの焦点を導く必要があるものを選んでください。 2. ユースケースを設計し、仮定を立てる 言うは易く行うは難しですが、まずテクノロジー/製品を忘れて、IoTがあなたの環境で何を可能にするか、そしてこれが最も価値のある顧客にとってどの顧客にとって価値があるかを考えてみてください。いくつかの顧客の「ジャーニー」を描き、イノベーションが鎮痛剤として、または利益を生み出すために使用できる場所を確認します。 メンテナンス シナリオの例を見てみましょう。アイデアは、フィールドデバイスに対するリモートアクションを許可することです。たとえば、ヨーロッパ中のガソリンスタンドに設置されたコーヒーマシン。その場合、IoTによってメンテナンスをより効率的にするにはどうすればよいか、自問してみてください。時間利益、お金利益、セキュリティ利益を評価し、定量化してみてください。 たとえば、設置された 1000 台のコンピューターのうち、1 週間に 5 件の顧客クレームが発生する可能性が高いため、1 週間に 5 件の診断が行われることが確認されたとします。IoT は診断をリモートで実行するのに役立ちますか?IoTは問題をリモートで解決するのに役立ちますか?その場合、すべてのオンサイト出張を節約できますか?それは、機械を運用する会社にとってどれだけのお金を節約するのでしょうか? それを知っていると、仮定を立ててビジネスモデルの最初のドラフトを作成し始めることができます:その価値をどれだけ取ることができるでしょうか?それを中心に構築できるビジネスモデルは何ですか?それはあなたの顧客プロセスにどの程度影響しますか?この新しいオファーを販売するための適切な流通チャネルはありますか?現在の状況とこのイノベーションとの間のギャップを埋めるためには、どのような主要な資産と活動が必要ですか? 3.建物から出る ユースケースと主要な前提条件をポケットに入れたら、今度は潜在的な顧客やパートナーに会いに行く必要があります。共有すればするほど、プロジェクトは信頼できるシナリオに進化します。既存のベースで誰がアーリーアダプターになれますか?あなたが最高レベルで和らげる痛みを抱えている顧客は誰ですか(そして、彼らが回避策で自分でそれを解決しようとするとさらに良いです)。リモートメンテナンスの例では、各サイトに職人技のWebカメラシステムを設置して、マシンの状態を確認し、現場の介入なしにいくつかの問題を検出します。 5人から10人の連絡先を特定したら、彼らに会いに行き、いくつかのことを理解しようとします:高レベルの利害関係、彼らが現場で抱えている問題、それを解決しようとした方法、変更プロセスと利害関係者、そして(そしてそうして初めて)イノベーションを提示し、フィードバックを収集することができます。プレゼンテーションには数枚のスライドで十分です。プロトタイプや大きな投資は必要ありません。その方法で収集できる情報の量に驚かれることでしょう。そして、何かを覚えてお いてください:人々が言うことに耳を傾けず、彼らが実際に何をしているのかを見る(または理解しようとする)ことです。 4. ビジネスモデルと機能仕様 初めてのイテレーションができましたね、おめでとうございます!仮定を書き留め、現地でテストし、ターゲットとする顧客から貴重なインサイトを収集しました。もしかしたら、あなたの思い込みが完全に間違っていたことが証明されたのかもしれませんが、その後はステージ2に戻ってください。そうでなければ、幸運なことに、ビジネスモデルのv1を書き留めて、製品の機能仕様をより適切に定義することができます。 ここから、機能、機能、価格、オファー、チャネル、技術的な制約、コスト、財務数値などの定義を開始できます。このステージの最後には、IoTプロジェクトの何らかのビジネスプラン、セールスピッチ、機能仕様、さらには技術仕様が作成されます。 5. POC, POC, POC  これは、革新的なプロジェクトで最も難しい部分の 1 つであり、概念実証を構築してテストすることです。質問は、自分のコンセプトが顧客にとって理にかなっていることを証明するためにテストする必要がある主要な機能/属性は何ですか?実際の製品の予算を維持するために、どうすればできるだけ安くそれを行うことができますか? あなたは非常に賢い、またはいくつかの賢いプロバイダーを支払う必要があります、あなたがテストしたい主要な属性を保持するためにあなたの最終的な視力を非常に低下させることができるように。リモートメンテナンスの例に戻ると、マシンに接続されたRaspberryパイボード上にいくつかの基本的なソフトウェアを構築し、マシンに関する重要な情報(消費電力、実行時間、温度など)を提供する基本的なWebインターフェイスと組み合わせることができます。最終製品がラズベリーを使用しない場合でも、Webインターフェイスをアプリに埋め込む場合、および2倍のインジケーターが必要な場合は、主要な要素に焦点を当てます。 そしてテスト。 そうすることで、顧客は実際の進捗状況を確認し、開発プロセスに関与していると感じ、最終的な結果に影響を与えることができます。そして、あなたの側では、実際の製品でそれを行っていた場合、収集するのに数か月または数年かかる重要な情報を収集します。概念実証は、機能プロトタイプ、設計プロトタイプ、またはその両方です。これは、プロジェクトによって大きく異なり、テストしたい主要な属性/機能にもよります。 6. 別のループが来る おめでとうございます、あなたは別のループを作りました。あなたはいわゆる「反復開発」の専門家になろうとしています!そう感じなくても、同じプロセスに従って他の多くのループが発生するので心配しないでください:仮定を立てる、テストする、測定する、学習する、調整する、新しい仮定を立てる、テストする、測定する...各ループにより、ビジネスモデル、機能仕様、顧客エンゲージメントを調整し、製品開発をさらに進めることができます。 完全な「リーンスタートアッププロセス」 重要なのは、ここでの目標は完璧な製品を手に入れることではないことを心に留めておくことです。それは、各ループでできるだけ多くのことを学び、できるだけ少ない費用で済むようにすることです。満足のいくv1製品概要に到達するまで、できるだけ多くのループを作成します。しかし、それは第2章のためである... もともとは、WITEKIOの最高販売責任者であるSamir BounabによってWITEKIOテクニカルブログに書かれました 2017年9月15日 全般
查看全文
在 Ubuntu 18.04 LTS 上编译 L4.14.98-2.0.0 BSP <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 近日有部分客户在Ubuntu 18.04环境下编译l4.14.98-2.0.0 fsl-imx-waylan + fsl-image-qt5-validation-imx时遇到编译失败的问题。其实编译QT镜像是一个非常耗时的过程,特别是在编译的过程中需要处理错误,这会更加耗时。以下编译耗时四天完成。 1.环境 Linux主机:ubuntu 18.04 LTS 虚拟机:VMware Workstation Player 12 images: fsl-imx-waylan + fsl-image-qt5-validation-imx Hardware: imx8mqevk Linux BSP版本:L4.14.98-2.0.0 2. 步骤 (1) Ubuntu 18.04的安装 2.更新软件 3.安装编译BSP的软件包 # sudo apt-get 安装 flex # sudo apt-get 安装 bison # sudo apt-get 安装 gperf # sudo apt-get install build-essential # sudo apt-get 安装 zlib1g-dev # sudo apt-get 安装 lib32ncurses5-dev # sudo apt-get install x11proto-core-dev # sudo apt-get install libx11-dev # sudo apt-get install lib32z1-dev # sudo apt-get install libgl1-mesa-dev # sudo apt-get install tofrodos # sudo apt-get 安装 python-markdown # sudo apt-get install libxml2-utils # sudo apt-get 安装 xsltproc # sudo apt-get install uuid-dev:i386 liblzo2-dev:i386 # sudo apt-get 安装 gcc-multilib g++-multilib # sudo apt-get 安装 subversion # sudo apt-get 安装 openssh-server openssh-client # sudo apt-get 安装 uuid uuid-dev # sudo apt-get 安装 zlib1g-dev liblz-dev # sudo apt-get install liblzo2-2 liblzo2-dev # sudo apt-get 安装 lzop # sudo apt-get 安装 git-core curl # sudo apt-get 安装 u-boot-tools # sudo apt-get install mtd-utils # sudo apt-get 安装 android-tools-fsutils # sudo apt-get install openjdk-8-jdk # sudo apt-get 安装设备树编译器 # sudo apt-get install aptitude # sudo aptitude install libcurl4-openssl-dev nss-updatedb   来自 i.MX_Yocto_Project_User's_Guide.pdf : # sudo apt-get install gawk wget git-core diffstat unzip texinfo gcc-multilib \ 构建必需的 chrpath socat libsdl1.2-dev   4. 根据 i.MX_Yocto_Project_User's_Guide.pdf 中的步骤下载 Yocto BSP 5 .编译 L4.14.98-2.0.0 BSP # cd ~/imx-yocto-bsp # DISTRO=fsl-imx-wayland MACHINE=imx8mqevk 源 fsl-setup-release.sh -b build-wayland #bitbake fsl-image-qt5-validation-imx 在编译过程中,出现过多次“fetch错误”,这些错误都是由于网络连接断开或者超时导致的。 我们只需要在 build Wayland 子目录中再次运行 bitmake 命令即可继续编译。 #bitbake fsl-image-qt5-validation-imx 下面是我遇到的获取错误: 下图是 在出现获取错误后 重新运行“ bitbake fsl-image-qt5-validation-imx ”。 为了提高编译速度,我重新配置了vmware player,为Ubuntu分配了6个CPU核心。 编纂是一个漫长而艰辛的过程。花了4天时间才能够正常编译并处理错误。最终编译完成。 NXP TIC 团队 Weidong Sun 2019-11-02 i.MX 8M | i.MX 8M Mini | i.MX 8M Nano
查看全文
Guide to using the display module spread spectrum technology on the i.MX 8QuadMax and i.MX 8QuadXPlus development boards <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> [Chinese translation] See attachment   Original link: https://community.nxp.com/docs/DOC-343521 i.MX 8 Family | i.MX 8QuadMax (8QM) | 8QuadPlus
查看全文
Q&A: i.MX6 JTAG reset <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 質問: i.MX6 ハードウェアで GHS MULTI プローブを使用して JTAG リセットを行った後、 対応するリセット ソース ビット (JTAG リセット) が設定されていないSRC_SRSRレジスタを読み取ります。 内容: SRSR = 0x1 ウォームブーツ = 0x0 jtag_sw_rst = 0x0      jtag_rst_b = 0x0 wdog_sw_rst = 0x0      ipp_user_reset_b = 0x0 cpu_reset_b = 0x0 ipp_reset_b = 0x1 DSTRAMプローブでこれを再現しようとし、「reset reset.system」を発行しました。DS-5デバッガのコマンドですが、プログラムカウンタは現在の値にとどまります。 明らかに、私のSRSRビットも変わりません。 答え: 「jtag_rst_b」はHWリセットのようですので、JTAGポートとi.Mx6 JTAG_TRSTピンの接続を確認してください。また、JTAGリセット実行時のレストピンの波形を確認します。 i.MX6_All
查看全文
P1025リファレンスデザインボードでのSDインターフェイスの有効化 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> P1025RDB の SPI ブートで SD インターフェイスを有効にするには: 1. u-boot で次の更新を実行します a) SPI ブートの場合に pm uxcr を変更して SD バスを有効にします b) u-boot 2 の対応する静的マルチプレクサ インプリメンテーションを更新します。Linuxで次の更新を実行しますa)デバイスツリーとカーネルdefconfigからIFCを無効にします SDインターフェースを有効にするためのパッチの詳細を以下に示します。zip ファイル AN4336SW.zipu-boot と Linux のパッチは、このアプリケーションノートに付属しています。ファイルはからダウンロードできます [1]. U-Boot QorIQ SDK 1.0.1 isoからu-bootコードを抽出します。 パッチ u-boot-p1025rdb-enabling-sd-in-spi-boot.patch を適用します。 SPI フラッシュの "make" コマンドを使用して u-boot をコンパイルします    make ARCH=powerpc   CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu- p1025RDB_SPIFLASH boot_format ユーティリティを使用して、スピイメージを生成します。詳細については、SDK マニュアルを参照してください。 上記のビルドされた spiimage で SPI フラッシュを更新します Linux QorIQ SDK 1.0.1 isoからのLinuxソース・コードの抽出 パッチ linux-p1025rdb-enabling-sd-in-spi-boot.patch を適用します。 makeコマンドを使用してLinuxをコンパイルします #make ARCH=powerpc  CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnuarch/  powerpc/configs/qoriq_sdk_nonsmp_defconfig  #make ARCH=powerpc  CROSS_COMPILE=/opt/freescale/usr/local/gcc-4.5.55-eglibc-2.11.55/powerpc-linux-gnu/bin/powerpc-linux-gnu- dts をコンパイルします ./sripts/dtc/dtc -f -I dts -O dtb -R 8 -S 0x3000  arc/powerpc/boot/dts/p1025rdb.dts.dts > p1025rdb.dtb.dtb 更新されたSPIブートローダー、Linux uImage、p1025rdb.dtbを使用すると、ユーザーは、p1025RDBでSDインターフェースを有効にできる必要があります。 手記 上記の変更は、ユーザーが SPI ブートを使用する SD インターフェイスを特に必要とする場合にのみ行う必要があります。 他のすべてのブート方法では、これらのパッチを使用しないでください。 QorIQ P1デバイス
查看全文