问题标签 [nxp-microcontroller]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - J3D081 个性化全球平台
我从一家中国供应商处购买了 J3D081 智能卡。我只有不兼容的 J3A081 文档。
由于卡处于预个性化阶段,我需要 APDU 序列来将卡定义为 T1。
我能够启动根小程序,但由于我的文档是针对不同芯片的,所以寄存器是错误的。
有人知道如何设置卡以使用全球平台吗?
我想简单地融合卡会使其永久损坏,因为默认状态不适合通信,对吧?
这是一个业余爱好者项目,所以我没有恩智浦的支持。
c++ - 微控制器中的静态 C++ 成员
我正在编写一些将在微控制器上运行的 C++ 代码。更具体地说,目标 mcu 是 K22,我为此使用 NXP 的 MCUXpresso 编译器。
我注意到静态类成员在启动时没有被初始化。例如,请看下面的代码:
如果你在没有优化的情况下或在常规 Linux 目标中构建它并运行它,你会看到它会输出Init B
,因为 B 是一个静态成员,它正在由 libc 启动代码初始化。
如果我在我的 K22 单片机中做同样的事情,我看不到 A::b 在任何时候被初始化。当然,如果我访问 A::getInstance()->b,b 为空。
这可能是 MCUXpresso 家伙的一个问题,但是当涉及到微控制器上的 C++ 时,这是一个常见的限制吗?也许我需要一个特定的 C++ 启动文件?
编辑
无法复制启动文件,因为它太大。无论如何,我得到了一个示例项目,它是data_init,bss_init部分等。
gdb - GDB PEMicro 接口调试未显示
我最近在 Mac OSX High Sierra 上安装了 Kinetis Deign Studio 3.2.0,我是否正在尝试刷新 FRDM-KL26Z(我在大学学习这个,不幸的是每个人都使用 Windows)。我安装了 GDB PEMicro 包,但问题是出现在 Flash 配置中的唯一配置是 GDB Segger J-Link 调试。我试图从启动配置中选择和取消选择几个选项,但没有成功;唯一改变的是 J-Link 从 Flash 配置中消失。有什么帮助或建议吗?
c - 为什么 SHELL_Main() 在 FreeRTOS 的 xTaskCreate 中不起作用?
简短的问题:
这个表达是什么意思?
看起来它真的只是在询问结构的退出值是否为真,我不明白的是,在下面描述的场景中,似乎有一个假值进入了 if 条件。
为什么要问这个
我正在阅读实用程序文件夹中 fsl_shell.c 文件中 NXP LPC54018 SDK 的 shell 脚本的源代码
代码看起来像这样
...
我注意到这个 SHELL_Main() 在直接从 Main.c 调用时可以直接工作。但是,如果我将它包装在 xTaskCreate 中,然后运行 vTaskStartScheduler(),即使传入的指针相同,也会触发退出条件。
方法 A:直接从 Main.c 调用(有效)
安慰
方法 B:被 FreeRTOS 任务包裹,触发退出条件
安慰
为什么相同的指针会触发不同的条件?
PS按照ODYN-Kon和Ashelly的建议,我仔细检查了指针指向的退出值,结果对我来说没有意义......
结果
arm - CMSIS DSP 返回硬故障 (Cortex M0)
我正在尝试调试此代码并确定在调用 fft 方法时导致硬故障的原因。程序通过中断从 ADC 读取数据,每 128 个周期计算前一组周期的 FFT。
我已经指出了导致故障的线路。谁能确定我做错了什么?
c - 读取输入引脚的状态并显示在 LED 上 - LPC1115
该代码应该通过按钮读取数字输入引脚的状态并将状态输出到 LED。即当输入为高时,LED 亮,反之亦然。由于按钮连接到上拉电阻,当按下按钮时,输入应该读取为低,反之亦然。
我的代码:
执行这部分代码时,除非按下按钮,否则 PIO0_7 保持低电平。但是,由于上拉开关,它是否意味着以相反的方式工作?我还用电压表仔细检查了这一点。
我试着改变
至
即使按下按钮,LED 输出仍保持高电平。
embedded - CAN随机接收,暂时失败
我正在为我的主人MK60FX512VMD15
使用处理器并使用总线与波特率通信。CAN
1Mbps
在闪烁序列期间,主设备以非常简单的模式与从设备通信:
主发送
PROGRAM THIS DATA
d0 06 ef 4e 6a d1 94 4e
和奴隶回复SUCCESS
ff
重复数千次
问题
绝大多数刷机尝试,都没有问题。但是,每隔一段时间,主人就不会收到奴隶的SUCCESS
aka 0xFF
。
我的意思是即使master的控制器+收发器确实在物理 CAN 级别上确认消息,master上的接收中断也不会触发。
为了调试这个问题,我在发送命令时增加counter_prg
Tx 中断,并在接收时增加Rx 中断。PROGRAM
counter_ack
0xFF
当由于未收到预期而发生超时时0xFF
,应用程序 sw 级别中会出现断点,我看到了,counter_prg != counter_ack
即counter_ack = counter_prg - 1
即使我可以在总线上看到从机的 0xFF 并且在物理级别上看到控制器+收发器 ACKS
此 CAN 总线上没有其他流量。
问题
发生这种情况的可能原因有哪些?
我也很感激任何调试策略。
embedded - LPC824微控制器ADC演示HardFault问题
我正在尝试使用 LPCOpen 对LPC824微控制器板([ https://www.switch-science.com/catalog/2265/][1])进行编程。我将它与 LPCLink 2 调试器板一起使用。
我的目标是从带有 ADC 的“压力传感器”中获取一些信息。
执行函数时,我的代码以HardFaultNVIC_EnableIRQ
停止(第 92 行)。
如果我不使用“NVIC 中断控制器”,那么我的代码就可以工作,我可以从带有 ADC 的传感器中获取值。
我做错了什么?
这是我的 adc.c 代码:
python - Yocto Project Bitbake 意外终止
我刚拿到我的i.MX 8M 评估套件,我按照教程为我的电路板制作系统。
我在使用 Ubuntu 16.04 的主机上构建系统,并按照第 3 节中的所有说明设置我的主机。
我正在尝试构建启用 OPTEE 的 Wayland 映像,因此命令是:
该问题发生在“bitbake”命令之后,即脚本会突然停止,主机将被挂起并需要重新登录。bitbake 命令可以使用“-k”参数继续,而未知的终止和重新登录过程对我来说真的很烦人。
通过查看 bitbake 日志文件bitbake-cookerdeamon.log,我发现每次在意外终止之前,bitbake 命令都会生成相同的日志:
根据我目前的理解,上面的命令应该只有在所有任务都准备好之后才能执行。但是,现在我的主机可能会在其他任务仍在运行期间调用这些命令,而这个不正确的顺序会导致我的意外终止问题。
我想知道是否有人遇到类似问题或知道我的问题的解决方案?
欢迎任何建议。先感谢您。
西蒙
-----补充信息这里是配置文件的内容fsl-imx-wayland.conf
# 没有 X11 的 Wayland 的 i.MX DISTRO
包括 conf/distro/include/fsl-imx-base.inc 包括 conf/distro/include/fsl-imx-preferred-env.inc
DISTRO =“fsl-imx-wayland”
# 删除冲突的后端 DISTRO_FEATURES_remove = "directfb x11 " DISTRO_FEATURES_append = " wayland pam systemd"
linux-kernel - Linux I2C 通信问题
我正在开发基于 iMX6Q 处理器的定制板,它使用 linux-imx 内核 4.9.11 ( http://git.freescale.com/git/cgit.cgi/imx/linux-imx.git/?h =imx_4.9.11_1.0.0_ga)。但是,当我向其中一个外围设备发送 I2C 消息(我在 i2c-2 总线上有 4 个从设备,处理器是唯一的主设备)时,控制器会出现以下错误:
用示波器看一下,我可以看到总线处于空闲状态时为高电平(如预期的那样)。然而,当我尝试开始传输时,主机设置总线上的启动条件,然后,总线保持低电平(SDA 和 SCL)直到传输超时并且驱动程序警告总线正忙于超时错误(虽然它真的不是!)。我知道这不是硬件问题/错误,因为我可以通过 U-Boot(以及较旧的内核版本,例如 4.1.15)通过 I2C 进行通信。
我已经检查了 I2C 内核配置,似乎没问题。此外,I2C 总线控制器已在设备树中正确配置。
PD:默认内核配置 (imx_v7_defconfig) 不起作用。
谢谢!
干杯,
丹尼尔